طراحی پایگاه داده چیست؟ | اصول طراحی دیتابیس – به زبان ساده


در این مطلب به مفهوم پایگاه داده یا همان بانک اطلاعاتی پرداخته و به پرسش طراحی پایگاه داده چیست پاسخ داده شده است. در مطلب طراحی پایگاه داده چیست پیش از پرداختن به مفهوم پایگاه داده، ابتدا به بررسی درس طراحی پایگاه داده که یکی از درسهای مهم مقطع کارشناسی و کارشناسی ارشد رشته مهندسی کامپیوتر گرایش نرمافزار به شمار میآید پرداخته شده است. سپس، طراحی پایگاه داده به طور کامل و جامع مورد بررسی قرار گرفته و در نهایت، فیلمهای آموزش پایگاه داده به زبان فارسی و همراه با مثال، معرفی شدهاند.
درس اصول طراحی پایگاه داده
طراحی پایگاه داده یکی از دروسی است که دانشجویان مقطع کارشناسی رشته مهندسی کامپیوتر گرایش نرمافزار آن را در فهرست دروس اصلی خود دارند. در مقطع کارشناسی ارشد نیز این درس در فهرست دروس اصلی دانشجویان مهندسی کامیپوتر-نرمافزار قرار دارد.
در درس اصول طراحی پایگاه داده به مباحث زیر پرداخته شده است.
- مفهوم سیستم مدیریت پایگاه داده (Database Management System | DBMS)
- مفهوم داده، اطلاعات و دانش
- مفهوم پایگاه داده
- مولفههای پایگاه داده
- انواع رابطه و خصوصیات آنها
- ردهبندی صفتها
- مفهوم ساختار داده و انواع آن
- مدلسازی با روش موجودیت-رابطه (Entity-Relationship)
- مدلسازی با روش موجودیت رابطه بهبودیافته (Enhanced Entity–Relationship | EER)
- تخصیص و تعمیم
- مدلسازی معنایی
- مدلسازی با روش زبان مدلسازی یکپارچه (Unified Language Model | UML)
- انواع عملگرها در پایگاه داده
- معرفی زبان پرسمان ساختیافته (Structured Query Language | SQL)
- معماری پایگاه داده و انواع آن
- ردهبندی انواع سیستمهای مدیریت پایگاه داده
- مزایا و معایب سیستمهای مدیریت پایگاه داده
- مفاهیم مدل داده رابطهای
- جبر رابطهای و حساب رابطهای
- طراحی منطقی پایگاه داده
- طراحی فیزیکی پایگاه داده
به طور کلی، دانشجویان مقطع کارشناسی باید پس از مطالعه کتاب طراحی پایگاه داده یک درک کلی از مفهوم سیستم مدیریت پایگاه داده، مدلسازی پایگاه داده، معماری پایگاه داده، طراحی پایگاه داده و زبان پرسمان ساختیافته یا SQL داشته باشند. در مقطع کارشناسی ارشد، افراد مباحث یاد شده را با عمق بیشتری میآموزند.
کتاب طراحی پایگاه داده
در حال حاضر یک کتاب به زبان فارسی، مرجع اصلی آموزش طراحی پایگاه داده به طور خاص در مقطع کارشناسی است.
- مفاهیم بنیادی پایگاه داده، محمدتقی روحانی رانکوهی، نشر جلوه
یکی از کتابهای محبوب برای افرادی که علاقهمند به شرکت در کنکور کارشناسی ارشد هستند، در ادامه آمه است.
- کتاب درس و کنکور پایگاه دادهها، حمیدرضا مقسمی، نشر گسترش علوم پایه
کتاب مفاهیم بنیادی پایگاه داده و یا جزوههای آن به طور معمول به عنوان مرجع اصلی درسی در دانشگاهها مورد استفاده قرار میگیرد. در مقطع کارشناسی ارشد معمولا از کتب زبان اصلی برای تدریس درس طراحی پایگاه داده پیشرفته استفاده میشود. برخی از متداولترین مراجع برای درس طراحی پایگاه داده پیشرفته در ادامه آورده شدهاند.
- پایگاه داده پیشرفته، علی طوفانزاده مژدهی، نشر اورنگ
- پایگاه دادههای پیشرفته، محمد کریم سهرابی، نشر: پوران پژوهش
- Publisher: Addison-Wesley ,Ramez Elmasri and Shamkant b. Navathe ,Fundementals of Database Systems
- Publisher: Connect Learn Succeed, Abraham Silberschatz and Henry F. Korth and s. Sudarshan, Database System Concepts
- Hugh Darwen ,An Introduction to Relational Database Theory
کتاب پایگاه داده دکتر فرشید شیرافکن
در کتاب رایگان پایگاه دادهها که توسط دکتر فرشید شیرافکن تالیف شده است، ابتدا مفاهیم اولیه پایگاه داده تشریح میشوند. سپس در فصل دوم، «نمودار موجودیت رابطه» (Entity Relationship Diagram | ER) و در فصل سوم مدل رابطهای تدریس می شود.
در ادامه، جبر رابطهای و SQL و در انتها، وابستگی و نرمالسازی به زبانی بسیار ساده بیان شده است. از این کتاب میتوان برای آمادگی برای کنکور ارشد استفاده کرد. همچنین، میتوان از آن در کنار آموزشهای پایگاه داده فرادرس استفاده کرد. در ادامه، لینک دانلود رایگان کتاب آموزش پایگاه دادهها ارائه شده است.
دانلود رایگان کتاب آموزش پایگاه دادهها + کلیک کنید.
پایگاه داده چیست؟
پایگاه داده (Database) یک مجموعه سازماندهی شده از دادهها است که به طور معمول به صورت الکترونیکی در یک سیستم کامپیوتری ذخیره میشوند و به آنها میتوان به صورت الکترونیکی دسترسی داشت. با توجه به آنکه پایگاه دادهها امروزه شکل پیشرفته و پیچدهای به خود گرفتهاند، طراحی پایگاه داده معمولا با بهرهگیری از روشهای طراحی و مدلسازی رسمی انجام میشود.
سیستم مدیریت پایگاه داده (DBMS) معمولا نرمافزاری است که با کاربر نهایی، برنامههای کاربردی و خود پایگاه داده برای ثبت و تحلیل داده ارتباط دارد. DBMS نرمافزاری است که علاوه قابلیتهای مبنایی و اصلی برای سیستم مدیریت پایگاه داده، قابلیتهای لازم برای مدیریت پایگاه داده را نیز در اختیار کاربر قرار میدهد.
دانشمندان کامپیوتری سیستمهای مدیریت پایگاه داده را بر مبنای مدلهای پایگاه دادهای که از آن بهره میبرند، دستهبندی میکنند. در دهه ۱۹۸۰ میلادی، سیستمهای پایگاه داده رابطهای (Relational Database Systems) متداولترین نوع پایگاه داده محسوب میشدند. در نوع طراحی پایگاه داده به صورت رابطهای، دادهها در یک مجموعه از سطرها و ستونهای جدولها مدل میشوند و اغلب افراد از زبان SQL برای نوشتن دادهها در پایگاه داده و کوئری زدن (پرسش و پاسخ) در آن استفاده میکنند.
در دهه ۲۰۰۰ میلادی، پایگاه دادههای غیررابطهای (Non-Relational Databases) که به آنها NoSQL گفته میشود به محبوبیت زیادی دست پیدا کردند. دلیل آنکه به این نوع از پایگاه دادهها NoSQL گفته میشود آن است که در این نوع از پایگاه دادهها از نوع دیگری از زبان پرسمان یا کوئری (Query Language) استفاده میشود.
طراحی پایگاه داده چیست ؟
طراحی پایگاه داده، سازماندهی دادهها مطابق با مدل پایگاه داده است. طراح تعیین میکند که چه دادههایی باید ذخیره شود و چگونه عناصر داده با یکدیگر پیوند دارند. با این اطلاعات، آنها میتوانند دادهها را در یک مدل پایگاه داده برازش کنند. طراحی پایگاه داده شامل طبقهبندی و شناسایی روابط متقابل است. این ارائه نظری از پایگاه داده را «هستیشناسی» (Ontology) میگویند. هستیشناسی نظریه نهفته در پس طراحی پایگاه داده است.
طراحی پایگاه داده شامل دستهبندی دادهها و شناسایی روابط متقابل است. طراحی پایگاه داده یک مجموعه از فرایندها است که طراحی، توسعه، پیادهسازی و نگهداری سیستمهای مدیریت داده کسب و کار را تسهیل می کند. یک پایگاه داده با طراحی مناسب، سازگاری دادهها را بهبود میبخشد و در زمینه فضای ذخیرهسازی دیسک مقرون به صرفه است. طراح پایگاه داده تصمیم میگیرد که عناصر داده چگونه با یکدیگر ارتباط دارند و چه دادههایی باید ذخیره شوند.
اهداف اصلی طراحی پایگاه داده تولید مدلهای طراحی فیزیکی و منطقی از سیستم پایگاه داده مطرح شده است. مدل منطقی روی نیازمندیهای داده و دادههایی متمرکز میشوند که به صورت مستقل از ملاحظات فیزیکی ذخیره میشوند. این مورد خودش را با چگونگی آنکه دادهها ذخیره میشوند درگیر نمیکند. مدل طراحی داده فیزیکی شامل ترجمه طراحی منطقی پایگاه داده در یک رسانه فیزیکی با استفاده از منابع سختافزاری و سیستمهای نرمافزاری مانند سیستم مدیریت پایگاه داده (Database Management Systems | DBMS) است.
مدلسازی و طراحی پایگاه داده چیست؟
اولین کاری که طراح پایگاه داده باید انجام دهد تولید یک مدل داده مفهومی است که ساختار اطلاعاتی که باید در پایگاه داده نگهداری شوند را منعکس می کند. یک رویکرد برای طراحی این مدل مفهومی، مدل موجودیت-رابطه است. برای طراحی این مدل معمولا از ابزارهای طراحی استفاده میکنند.
رویکرد دیگری که برای تولید مدل داده مفهومی برای طراحی پایگاه داده قابل استفاده است، زبان مدلسازی یکپارچه (Unified Modeling Language | UML) نام دارد. یک مدل داده موفق به طور صحیحی وضعیت جهان خارجی که مدل شده است را منعکس میکند. برای مثال، اگر در دنیای واقعی افراد میتوانند بیشتر از یک شماره تلفن داشته باشند، در مدل امکان این مورد وجود دارد که برای یک فرد بیش از یک شماره تلفن ثبت شود. طراحی یک مدل مفهومی نیازمند کسب درک کامل و دقیق سازنده مدل پیرامون دامنه کاربردی است که قصد ساختن مدل برای آن وجود دارد.
کسب چنین درکی معمولا نیازمند آن است که طراح، پرسشهای عمیقی را پیرامون موارد مد نظر سازمانی مطرح کند که قصد ساخت پایگاه داده در SQL برای آن وجود دارد. به عنوان مثالی از این پرسشها میتوان به طرح این پرسش از یک کارخانه تولیدی اشاره کرد که «آیا مشتریان میتوانند نقش تامینکننده نیز داشته باشند؟» و یا «اگر یک محصول با دو شکل مختلف از بستهبندی به فروش برسند، آیا به عنوان یک محصول واحد در نظر گرفته میشوند یا باید به عنوان دو محصول مستقل و متفاوت محسوب شوند؟». به عنوان مثالی دیگر در این رابطه میتوان به طرح این پرسش از یک سازمان هواپیمایی اشاره کرد که «اگر هواپیمایی از نیویورک به دبی از مسیر فرانکفورت حرکت کند، به عنوان یک پرواز در نظر گرفته میشود یا دو پرواز (و یا حتی سه پرواز)؟». پاسخ این پرسشها تعاریف واژهشناختی مورد استفاده برای موجودیتها (مشتریان، محصولات، پروازها، بخشبندی پروازها) را فراهم میکند.
گاهی تولید یک مدل مفهومی داده شامل ورودیهایی از فرایندهای کسب و کار یا تحلیل جریان کاری در سازمان میشود. این کار میتواند به تبیین این مورد کمک کند که چه اطلاعاتی در پایگاه داده مورد نیاز و چه چیزی قابل صرفنظر است. چنین دادههای برای مثال برای تعیین اینکه دادههای تاریخی باید مانند دادههای حال حاضر در پایگاه داده ذخیره شوند یا خیر، مورد استفاده قرار میگیرند.
ساخت یک مدل داده مفهومی که کاربر از آن راضی باشد، گام بعدی برای ترجمه مدل به طرحواره پایگاه داده (Database Schema | اسکیمای پایگاه داده) است که ساختار داده مرتبط با دادهها را در پایگاه داده پیادهسازی میکند. به این فرایند معمولا «طراحی منطقی پایگاه داده» (Logical Database Design) گفته میشود و خروجی آن یک «مدل داده منطقی» (Logical Data Model) است که به شکل یک اسکیما توصیف میشود.
در حالی که مدل داده مفهومی مستقل از انتخاب فناوری پایگاه داده است (دسکتم به لحاظ نظری)، مدل داده منطقی به صورت یک مدل پایگاه داده خاص توصیف میشود که توسط سیستم مدیریت پایگاه داده پشتیبانی میشود. گاه از عبارتهای مدل داده و مدل پایگاه داده به عنوان معادلی برای یکدیگر استفاده میشود، در حالی که در حقیقت این دو عبارت بر دو مفهوم مجزا دلالت دارند. در این مطلب، از این دو عبارت برای معانی مجزای آنها استفاده شده است.
محبوبترین مدل پایگاه داده برای پایگاه دادههای همهمنظوره مدل رابطهای است که معمولا به وسیله زبان SQL ارائه میشود. فرایند ساخت یک طراحی پایگاه داده منطقی با استفاده از این مدل، از یک رویکرد روشمند با عنوان «نرمالسازی» (Normalization) استفاده میکند. هدف از نرمالسازی حصول اطمینان از آن است که هر «حقیقت» ابتدایی، تنها در یکجا ثبت میشود. بنابراین، درج، بهروزرسانی و حذف به صورت خودکار سازگاری را در پایگاه داده حفظ میکنند.
گام نهایی در طراحی پایگاه داده اتخاذ تصمیماتی است که کارایی، مقیاسپذیری، بازیابی و امنیت را دستخوش تغییر میکنند و وابسته به یک سیستم مدیریت پایگاه داده خاص هستند. این مورد معمولا با عنوان «طراحی پایگاه داده فیزیکی» (Physical Database Design) شناخته شده و خروجی آن، مدل داده فیزیکی است. هدف کلیدی در طول این گام مستقل از داده بودن است، بدین معنا که تصمیمات اتخاذ شده با هدف بهینهسازی کارایی باید برای کاربر نهایی و برنامههای کاربردی غیرقابل مشاهده باشند.
دو نوع از استقلال دادهها وجود دارد: استلال داده فیزیکی و استقلال داده منطقی. طراحی فیزیکی اساسا از نیازمندیهای کارایی مشتق میشود و نیاز به دانش خوبی پیرامون حجم کار و الگوهای دسترسی و همچنین، دانش عمیقی پیرامون ویژگیهای ارائه شده توسط آن سیستم مدیریت پایگاه داده دارد. جنبه دیگر در طراحی پایگاه داده امنیت آن است. امنیت پایگاه داده شامل تعریف کنترل دسترسی به اشیای پایگاه داده و همچنین، تعیین سطوح امنیتی و روشهایی برای حفظ امنیت دادهها میشود.
طراحی فیزیکی پایگاه داده چیست؟
طراحی فیزیکی پایگاه داده پیکربندی فیزیکی پایگاه داده را روی رسانه ذخیرهسازی تعیین میکند. این کار شامل مشخصهسازی همراه با جزئیات برای عناصر داده، انواع داده، گزینههای اندیسگذاری و دیگر پارامترهایی میشود که در دیکشنری داده سیستم مدیریت پایگاه داده وجود دارند. این طراحی جزئیات طراحی یک سیستم است که شامل ماژولها، مشخصهسازی سختافزارها و نرمافزارهای پایگاه داده میشوند.
برخی از جنبههایی که به لایه فیزیکی ارجاع دارند عبارتند از:
- امنیت: امنیت کاربر نهایی و امنیت مدیر پایگاه داده تامین شود.
- تکثیر: چه بخشهایی از دادهها در دیگر پایگاه دادهها کپی میشوند و این کار در چه بازهای انجام میشود.
- دسترسیپذیری بالا: صرفنظر از اینکه پیکربندی به صورت اکتیو (Active) است یا پسیو (Passive)، توپولوژی، اسکیمای مختصات، اهداف قابلیت اطمینان و دیگر مواردی که باید تعریف شوند با در نظر داشتن دسترسیپذیری بالا طراحی شوند.
- بخشبندی: اگر پایگاه داده توزیع شده است، برای یک موجودیت یکتا، توزیع داده در میان همه بخشهای پایگاه داده چگونه انجام میشود و شکست بخشبندی چطور در نظر گرفته میشود.
- تهیه پشتیبان و بازیابی اسکیماها
در سطح کاربرد، همه جنبههای طراحی فیزیکی میتوانند شامل نیاز به تعریف روالهای ذخیره شده، نمای کوئری تحقق یافته، کیوبهای OLAP و دیگر موارد بشوند.
چرا طراحی پایگاه داده حائز اهمیت است؟
طراحی پایگاه داده به تولید سیستمهای پایگاه دادهای کمک میکند که:
- نیازمندیهای کاربر را برآورده میکنند.
- دارای کارایی بالا هستند.
طراحی پایگاه داده برای سیستمهای پایگاه داده با کارایی بالا امری حیاتی محسوب میشود. شایان توجه است که نبوغ موجود در پایگاه داده در طراحی آن نهفته است. انجام عملیات روی دادهها با استفاده از SQL نسبتا آسان است.
چرخه حیات توسعه پایگاه داده (مراحل طراحی پایگاه داده) چیست؟
چرخه حیات پایگاه داده یا در واقع مراح طراحی پایگاه داده گامهایی را دربرمیگیرد که هنگام توسعه پایگاه داده دنبال میشوند. گامهای موجود در مرحله چرخه حیات توسعه الزاما نیازی به دنبال شدن به صورت متوالی را ندارد. در سیستمهای پایگاه داده کوچک، چرخه حیات سیستم پایگاه داده معمولا بسیار آسان است و گامهای زیادی را شامل نمیشود.
در ادامه، مولفههای فهرست شده در هر گام از طراحی پایگاه داده بیان شدهاند.
تحلیل نیازمندیها
- برنامهریزی: این مرحله با برنامهریزی کل چرخه حیات پایگاه داده سر و کار دارد. این مورد، استراتژی سیستمهای اطلاعاتی سازمان را مد نظر قرار میدهد.
- تعریف سیستم: این گام دامنه و مرزهای سیستم پایگاه داده مطرح شده را تعریف میکند.
طراحی پایگاه داده
- مدل منطقی: این گام به توسعه یک مدل پایگاه داده بر اساس نیازمندیها میپردازد. طراحی کامل، روی کاغذ و بدون پیادهسازی فیزیکی یا در نظر داشتن سیستم مدیریت پایگاه داده خاصی است.
- مدل فیزیکی: این گام، مدل منطقی از پایگاه داده را با در نظر داشتن فاکتورهای سیستم مدیریت پایگاه داده و پیادهسازی فیزیکی مدل میکند.
پیادهسازی
- تبدیل و بارگذاری داده: پیادهسازی نرمافزاری با بهرهگیری از کدنویسی انجام میشود. در این گام به وارد کردن (Importing) و تبدیل دادهها از سیستمهای قدیمی در پایگاه دادههای جدید پرداخته میشود.
- تست کردن: در این گام به شناسایی خطاها در یک سیستم پیادهسازی شده (جدید) پرداخته میشود. این مورد، پایگاه داده را در برابر مشخصهسازی خواستهها بررسی میکند.
در واقع، میتوان گفت که کار ساخت و طراحی پایگاه داده با تعیین دادهها، ارتباطات و ایجاد ساختار منطقی برای آنها انجام میشود. هر یک از این موارد در ادامه تشریح شدهاند.
تعیین دادهها برای ذخیرهسازی آنها
اغلب مواقع، کسی که به کار طراحی پایگاه داده میپردازد شخصی با تخصص در حوزه طراحی پایگاه داده است؛ نه کسی که در دامنهای که داده از آن دریافت شده (مثلا اطلاعت مالی، زیستشناسی و دیگر موارد) تخصص دارد. بنابراین، دادههایی که در پایگاه داده ذخیره میشوند باید در تعامل با فردی تعیین شوند که در آن دامنه تخصص دارد و همچنین، کسی که از این موضوع آگاه است که چه دادههایی باید در سیستم ذخیره شوند.
این فرایند، چیزی است که عموما به عنوان بخشی از تحلیل خواستهها انجام میشود و نیازمند مهارتهایی در بخش طراحی پایگاه داده برای استخراج اطلاعات مورد نیاز از افرادی با دانش دامنه است. این کار بدین دلیل انجام میشود که افراد دارای دانش دامنه لازم اغلب نمیتوانند به طور شفاف بیان کنند که نیازمندیهای سیستمی آنها برای طراحی پایگاه داده چه چیزی است زیرا آنها با بحث (عناصر داده گسسته که شکل ذخیرهسازی دادهها هستند) ناآشنا هستند. دادههایی که باید ذخیره شوند را میتوان طی فرایند مشخصهسازی خواستهها پیدا کرد.
تعیین ارتباطات دادهها
هنگامی که طراح پایگاه داده از دادههایی که در پایگاه داد ذخیره میشوند آگاهی دارد، باید وابستگیهای دادهها را مورد بررسی قرار دهد. گاهی اوقات هنگامی که دادهها تغییر کردند میتوان دیگر دادههایی که قابل مشاهده نیستند را تغییر داد. برای مثال، در یک لیست از نامها و اسامی، موقعیتی مفروض است که در آن افراد گوناگون میتوانند آدرسهای مشابهی داشته باشند، اما یک فرد نمیتواند بیشتر از یک آدرس داشته باشند و آدرس وابسته به اسم است.
هنگامی که یک نام تعیین شود فهرست آدرس یکتا قابل تعیین است. هرچند که معکوس این موضوع ممکن نیست، یعنی با یک آدرس و فهرست، نام را نمیتوان به طور یکتا پیدا کرد زیرا افراد گوناگون ممکن است در یک آدرس واحد مستقر شده باشند. به دلیل آنکه یک اسم بر اساس یک آدرس تعیین میشود، یک آدرس میتواند وابسته به یک اسم در نظر گرفته شود.
یک تصور غلط در این راستا این است که مدل رابطهای به این دلیل مدل رابطهای نامیده شده است که در آن بین عناصر داده رابطه وجود دارد. اما این موضوع صحت ندارد. مدل رابطهای بدین دلیل اینطور نامگذاری شده است که وابسته به ساختار ریاضی است که به آن روابط گفته میشود.
ساختاردهی منطقی دادهها
هنگامی که روابط و وابستگیهای موجود در میان بخشهای گوناگون اطلاعات مشخص شد این امکان وجود دارد که دادهها در یک ساختار منطقی سازماندهی شوند که بعدا قابل نگاشت به شی ذخیرهسازی پشتیبانی شده توسط سیستم مدیریت پایگاه داده است.
در پایگاه دادههای رابطهای، اشیای ذخیرهسازی جداولی هستند که دادهها را در سطرها و ستونها ذخیرهسازی میکنند. در پایگاه داده شی، اشیای ذخیرهسازی به طور مستقیم با اشیای استفاده شده توسط زبان برنامهنویسی شیگرا (Object Oriented Programming Language) مطابقت دارند. روابط ممکن است به عنوان خصیصهای از کلاسهای اشیا یا به عنوان روشهایی تعریف شوند که روی کلاسهای اشیا عمل میکنند.
راهکاری که عموما این نگاشت با بهرهگیری از آن انجام میشود بدین شکل است که هر مجموعه از دادههای مرتبط که وابسته به یک شی تنها هستند، چه واقعی و چه انتزاعی باشند، در یک جدول قرار میگیرند. هر پایگاه دادهای ممکن است یک پیادهسازی از شی منطقی یا یک رابطه باشد که یک یا تعداد بیشتری شی منطقی را به یکدیگر متصل میکنند. روابط بین جدولها ممکن است به عنوان پیوندهایی ذخیره شوند که جداول فرزند را با والدین آنها ارتباط میدهند. از آنجا که روابط پیچیده منطقی خودشان جدول هستند، این احتمال وجود دارد که به بیش از یک والد اتصال داشته باشند.
مدل طراحی منطقی پایگاه داده چیست؟
مدل پایگاه داده نوعی از مدل داده است که ساختار منطقی طراحی پایگاه داده را تعیین میکند و اساسا تعیین میکند که دادهها به چه شکلی ذخیره، سازماندهی و دستکاری میشوند. معروفترین نوع از مدل پایگاه داده مدل رابطهای (Relational Model) است که از قالب مبتنی بر جدول استفاده میکند.
مدلهای داده منطقی متداول عبارتند از:
- پایگاه داده مبتنی بر ردیابی (Navigational Databases)
- مدل پایگاه داده سلسلهمراتبی (Hierarchical Database Model)
- مدل شبکه (Network Model)
- پایگاه داده گراف (Graph Database)
- مدل رابطهای (Relational Model)
- مدل موجودیت رابطه (Entity–Relationship Model)
- مدل موجودیت رابطه بهبودیافته (Enhanced Entity–Relationship Model)
- مدل شی (Object Model)
- مدل سند (Document Model)
- مدل موجودیت-خصیصه-ارزش (Entity–Attribute–Value Model)
- اسکیمای ستارهای
پایگاه داده شی-رابطه دو ساختار مرتبط را ترکیب میکند. مدل داده فیزیکی شامل موارد زیر است:
- اندیس معکوس (Inverted Index)
- فایل مسطح (Flat File)
مدلهای دیگر عبارتند از:
- مدل مشارکتی
- مدل چندبُعدی
- مدل آرایه
- مدل چندارزشی
مدلهای سفارشی که برای انواع خاصی از دادهها بهینهسازی شدهاند که عبارتند از:
- پایگاه داده XML
- مدل داده معنایی
- مخزن محتوا
- ذخیره رویداد
- پایگاه داده سری زمانی
در ادامه این بخش از مطلب طراحی پایگاه داده برخی از محبوبترین مدلهای پایگاه داده معرفی شدهاند.
مدل موجودیت رابطه
طراحی پایگاه داده شامل نمودارهای موجودیت رابطه (Entity-Relationship Model | ER) میشود. یک مدل موجودیت رابطه معمولا به عنوان یک پایگاه داده مورد استفاده قرار میگیرد. هر سطر از جدول نشانگر یک نمونه یکتا از هر موجودیت در یک پیادهسازی ساده پایگاه داده است که در آن، هر فیلد در جدول نوع یک خصیصه را نشان میدهد. رابطه بین موجودیتها با ذخیرهسازی کلید خارجی (Foreign Key) یک موجودیت در جدول دیگر اتفاق میافتد.
به بیان فنیتر، یک مدل موجودیت رابطه، نموداری است که به طراحی پایگاه داده به شکلی موثر کمک میکند. خصیصهها در یک مدل موجودیت رابطه معمولا به صورت یک بیضی با نام خصیصه مدلسازی میشوند که به موجودیت یا رابطهای که شامل خصیصه میشود پیوند خورده است. مدلهای موجودیت رابطه معمولا در طراحی سیستمهای اطلاعاتی مورد استفاده قرار می گیرند. برای مثال، از مدل موجودیت رابطه برای توصیف نیازمندیهای اطلاعاتی و یا دیگر انواع اطلاعاتی استفاده میؤود که باید در طول فاز طراحی مفهومی ساختار ذخیره شوند.
نرمالسازی در طراحی پایگاه داده چیست؟
در زمینه پایگاه دادههای رابطهای، نرمالسازی یک راهکار سیستماتیک برای حصول اطمینان از آن است که ساختار یک پایگاه داده برای پرسش و پاسخ (کوئری) عمومی مناسب و فاقد برخی از ویژگیهای غیرقطعی ناخواسته مانند درج (Insrt)، بهروزرسانی (Update) و حذف (Delete) ناهنجاریهایی است که میتوانند منجر به حذف دادهها شوند. یک بخش استاندارد از راهنمای طراحی پایگاه داده آن است که طراح باید یک طراحی کاملا نرمال داشته باشد. غیرعادیسازی (Denormalization) میتواند متعاقبا اتفاق بیفتد؛ اما کار صرفا با هدف بهبود کارایی قابل انجام است و توجیه دارد.
موازنه بین فضای ذخیرهسازی و کارایی است. هرچه طراحی نرمالتر باشد، تکرار دادههای کمتری نیز وجود دارد (و بنابراین، فضای کمتری برای ذخیرهسازی نیاز است). اگرچه، الگوهای متداول بازیابی اطلاعات ممکن است اکنون نیاز به اعمال اتصالات، ادغامها و مرتبسازیهای پیچیده داشته باشند که نیاز به خواندن دادههای بیشتر و چرخههای کامپیوتری بیشتر داشته باشد.
برخی از اصول مدلسازی مانند رویکرد «مدلسازی بُعدی» (Dimensional Modeling) برای طراحی انبار داده (Data Warehouse)، صراحتا طراحی غیرنرمال را توصیه میکنند؛ یعنی طراحی که به طور گسترده به 3NF پایبند نیست. نرمالسازی شامل اشکال نرمالی است که عبارتند از: 1NF ،2NF ،3NF ،BOYCE-CODD NF (3.5NF) ،4NF و 5NF.
پایگاه دادههای سند (Document Databases) رویکرد متفاوتی دارند. سندی که در چنین پایگاه دادهای ذخیرهسازی میشود، عموما حاوی بیش از یک واحد داده نرمال شده است و معمولا رابطه بین واحدها نیز به هم صورت است. اگر همه واحدهای داده و روابط بین آنها در پرسش (Question) با یکدیگر بازیابی شوند، این رویکرد تعداد بازیابیها را بهینهسازی میکند. همچنین، روشی که دادهها تکرار میشوند تسهیل میشود.
دیگر مفروضات آن است که خواندن و نوشتن یک سند یکتا در چنین پایگاه دادهای نیاز به یک تراکنش یکتا دارد که این مورد میتواند فرض مهمی در معماری میکروسرویسها باشد. در چنین موقعیتی، معمولا بخشی از سند از دیگر سرویسها با یک API بازیابی میشود، سپس یک خواندن (یا نوشتن) برای پشتیبانی از مصرف کننده خدمت ممکن است نیاز به بیش از یک تماس سرویس داشته باشد و این میتواند منجر به مدیریت چندین تراکنش بشود که کاری ترجیح داده شده نیست.
مدل پایگاه داده رابطهای
در هر جدول، پایگاه داده رابطهای یک فیلد کلید دارد که به طور یکتا به آن سطر ارجاع داد و برای متصل کردن جدولها با یکدیگر مورد استفاده قرار میگیرد. میتوان به سادگی جزئیات را با گروهبندی دادهها در ستونها با استفاده زا یک پایگاه داده مشابه مقایسه کرد. این یکنواختی به وسیله مدل پایگاه داده رابطهای برای ساخت جداول جدید از اطلاعات مورد نیاز در جداول موجود به کار گرفته میشود.
پایگاه داده اسناد
پایگاه داده NoSQL که دادهها را به صورت اسناد ذخیره میکند، یک پایگاه داده اسناد (Document Database) محسوب میشود. اطلاعاتی که این پایگاه داده به دیگر عناصر داده پیوند میدهد و خصیصههای داده در هر سندی نمایش داده میشوند. این پایگاه داده یک شکل کلید-مقدار (Key-Value) را برای پایگاه داده اسناد تعریف میکند. به خاطر خصوصیات NoSQL بودن و ذخیرهسازی اسناد، پایگاه داده اسناد اخیرا از محبوبیت به سزایی برخوردار شده است. ذخیرهسازی اسناد در NoSQL یک مکانیزم ذخیرهسازی سریعتر و جستجو را برای اسناد فراهم میکند.
پایگاه داده شبکه
در پایگاه داده شبکه (Network DBMS)، ساختار شبکه برای ساخت روابط بین موجودیتها به وسیله سیستم مدیریت پایگاه داده مورد استفاده قرار میگیرد. اساسا در کامپیوترهای دیجیتال بزرگ، پایگاه داده شبکه به کار گرفته میشود. پایگاه داده شبکه یک پایگاه داده سلسله مراتبی است. اما یک گره شبکه میتواند پیوندی بین چندین موجودیت داشته باشد و برخلاف پایگاه دادههای سلسله مراتبی است که یکگره تنها میتواند یک والد یکتا داشته باشد. در پایگاه داده شبکهای دادهها در روابط گوناگونی سازماندهی میشوند.
پایگاه داده گراف
پایگاه داده گراف یک سیستم پایگاه داده NoSQL است و از ساختار گراف کوئری نیمههادی (Semiconductor Query Graph Structure) استفاده میکند. یک گره یک مشتری، فرد یا خودرو را در پایگاه داده گرافیکی به تصویر میکشد. یک یال در پایگاه داده رابطهای اتصال بین گرهها است. اطلاعات اضافی پیرامون گرهها در خصیصههای آن ذخیره میشود.
فرایند طراحی پایگاه داده در مایکروسافت اکسس چگونه است؟
در ادامه، فرایند پیشنهادی برای طراحی پایگاه داده در مایکروسافت اکسس بیان شده است.
- تعیین هدف پایگاه داده: این کار کمک میکند تا فرد برای گامهای بعدی طراحی نمودار موجودیت رابطه آماده شود.
- یافتن و سازماندهی اطلاعاتی مورد نیاز: گردآوری همه انواع داده برای ثبت کردن در پایگاه داده، برای مثال نام محصول و شماره سفارش.
- تقسیم اطلاعات به جداول گوناگون: تقسیمبندی اقلام به موجودیتها یا موضوعهای جداگانه مانند «محصولات» (Products) یا «سفارشات» (Orders). هر موضوعی بعدا به جدول مبدل میشود.
- تبدیل اقلام اطلاعات به ستونها: ابتدا باید تصمیم گرفته شود که چه اطلاعاتی باید در هر جدول ذخیره شوند. هر قلم (Item) به یک فیلد (Field) مبدل و به صورت ستونی در جدول نمایش داده شوند. برای مثال، جدول کارکنان ممکن است شامل فیلدهایی مانند Last Name (نام خانوادگی) و Hire Date (تاریخ استخدام) باشد.
- تعیین کلیدهای اصلی: کلید اصلی (Primary Key) هر جدول باید انتخاب شود. کلید اصلی یک ستون یا یک مجموعه از ستونها است که برای تعیین هر سطر به صورت یکتا مورد استفاده قرار میگیرد. یک مثال از این مورد Product ID یا Order ID است.
- راهاندازی روابط جدول: به هر جدول نگاه انداخته و تصمیم گرفته میشود که دادهها در یک جدول چگونه به دادههای موجود در جدولهای دیگر مرتبط میشوند. فیلدهایی به جدولها اضافه و یا جدولهای جدیدی برای شفاف کردن روابط در حد لزوم استفاده میشود.
- پالایش طراحی: طراحی از جهت خطاهای احتمالی موجود مورد بررسی قرار می گیرد و رکوردهایی از دادههای نمونه به آن اضافه میشوند. سپس، بررسی میشود که آیا نتایج از جداول به شکل مورد انتظار استخراج میشوند یا خیر. تنظمیات مورد نیاز نیز در طراحی انجام میشود.
- اعمال قوانین نرمالسازی: قوانین نرمالسازی دادهها روی جداول اعمال میشود تا مشاهده شود که آیا جدولها دارای ساختار درستی هستند. همچنین، تنظیمات به صورت مورد نیاز روی جدولها باید انجام شوند.
سلام ودرود
مطالب شما بسیار مفید بودند متشکرم