مدلسازی و طراحی پایگاه داده sql
- 1400/3/10
- 2940
- نرم افزار های تخصصی
طراحی و پیاده سازی پایگاه داده SQL
در این مقاله قصد داریم تا شما را با طراحی پایگاه داده SQL آشنا کنیم، چنانچه تا کنون با مفهوم دیتابیس یا پایگاه داده آشنایی ندارید توصیه میکنیم مقاله معرفی کاملی از پایگاه داده SQL و بررسی ویژگی ها آن را مطالعه نمایید.
طراحی پایگاه داده SQL ، سازماندهی دادهها مطابق با مدل پایگاه داده است. طراح تعیین میکند که چه داده هایی باید ذخیره شود و چگونه عناصر داده با یکدیگر رابطه دارند. با این اطلاعات، آن ها می توانند داده ها را در یک پایگاه داده پردازش کنند. طراحی پایگاه داده شامل طبقهبندی و شناسایی روابط متقابل است. این ارائه نظری از پایگاه داده را هستیشناسی (Ontology) میگویند. هستی شناسی نظریه نهفته در پس طراحی پایگاه داده است.
طراحی پایگاه داده SQL یک مجموعه از فرایندها است که طراحی، توسعه، پیاده سازی و نگهداری سیستم های مدیریت داده کسب و کار را ساده می کند. یک پایگاه داده با طراحی مناسب، سازگاری دادهها را بهبود می بخشد و در زمینه فضای ذخیره سازی دیسک مقرون به صرفه است.
اسکیواِل که عبارتی اختصاری برای زبان کوئری ساختاریافته (structured query language) است یک زبان استاندارد برای بازیابی و دستکاری داده ها در سیستم های مدیریت پایگاههای داده رابطه ای (RDBMS) محسوب میشود. داده ها از طریق اجرای کوئریها (پرس و جوها) مورد دسترسی قرار می گیرند و بدین ترتیب امکان چهار عمل ایجاد، خواندن، بروز رسانی و حذف (که به اختصار CRUD نامیده میشود) فراهم میآید.
پایگاه های داده در موقعیت های مختلفی مورد استفاده قرار می گیرند، اما یکی از مهم ترین پیکربندی های یک پایگاه داده جهت خدمت رسانی به عنوان یک برنامه وب است. زمانی که اعمال خاصی مانند ورود به وب سایت و جستجو صورت می گیرد، کوئری هایی از برنامه وب به سمت پایگاه داده فرستاده می شود. برای آشنایی بیشتر با کوئر نویسی می توانید از آموزش رایگان کوئری نویسی بهره مند شوید.
آناتومی پایگاه داده SQL
داده هایی که در یک پایگاه داده SQL نگه داری میشوند، در اشیایی به نام جداول ذخیره شدهاند. این جداول بازنمایی های مجازی از روابط بین عناصر مختلف هستند که شامل ردیف و ستون می شوند. ردیف ها به نام رکورد خوانده می شوند. فیلدها که ستون های جدول هستند، معرف اطلاعات هر رکورد هستند. هر کاربر در پایگاه داده یک ID، نام، نام کاربری، و رمز عبور دارد. در واقعیت جداول معمولاً بسیار بزرگ تر از این نمونه هستند و ممکن است شامل میلیون ها رکورد باشند و خود پایگاه داده می تواند جداول بسیاری را در خود داشته باشد، با توجه به داده های زیادی که در این جداول ذخیره شدهاند.
اهداف اصلی طراحی پایگاه داده SQL چیست ؟
اهداف اصلی طراحی پایگاه داده تولید مدلهای طراحی فیزیکی و منطقی از سیستم پایگاه داده مطرح شده است. مدل منطقی روی نیازمندی های داده و داده هایی متمرکز میشوند که به صورت مستقل از ملاحظات فیزیکی ذخیره می شوند. این مورد خودش را با چگونگی ذخیره داده ها درگیر نمیکند. مدل طراحی فیزیکی داده ، ترجمه طراحی منطقی پایگاه داده با استفاده از منابع سختافزاری و سیستمهای نرمافزاری مانند سیستم مدیریت پایگاه داده (Database Management Systems DBMS) است.
مدل سازی و طراحی پایگاه داده SQL چیست؟
اولین کاری که طراح پایگاه داده باید انجام دهد تولید یک مدل داده مفهومی است که ساختار اطلاعاتی که باید در پایگاه داده نگهداری شوند، منعکس می کند. یک رویکرد برای طراحی این مدل مفهومی، مدل موجودیت-رابطه است. برای طراحی این مدل معمولا از ابزارهای طراحی استفاده می کنند.
رویکرد دیگری که برای تولید مدل داده مفهومی برای طراحی پایگاه داده SQL قابل استفاده است، زبان مدل سازی یکپارچه (Unified Modeling Language | UML) نام دارد. یک مدل داده موفق به طور صحیحی وضعیت جهان خارجی که مدل شده است، منعکس می کند.
گام بعدی Database Schema اسکیمای پایگاه داده است که ساختار داده مرتبط با داده ها را در پایگاه داده پیاده سازی می کند. به این فرایند معمولا طراحی منطقی پایگاه داده (Logical Database Design) گفته میشود و خروجی آن یک مدل داده منطقی (Logical Data Model) است که به شکل یک اسکیما توصیف می شود.
گاهی تولید یک مدل مفهومی داده شامل ورودی هایی از فرایندهای کسب و کار یا تحلیل جریان کاری در سازمان می شود. این کار می تواند به تبیین این مورد کمک کند که چه اطلاعاتی در پایگاه داده مورد نیاز و چه چیزی قابل صرف نظر است. چنین داده های برای مثال برای تعیین این که داده های تاریخی باید مانند داده های حال حاضر در پایگاه داده ذخیره شوند یا خیر، مورد استفاده قرار می گیرند.
محبوبترین مدل پایگاه داده SQL مدل رابطه ای یا Relational است. فرایند ساخت یک طراحی پایگاه داده منطقی با استفاده از این مدل، از یک رویکرد روشمند با عنوان نرمال سازی استفاده می کند. هدف از نرمال سازی آن است که هر «حقیقت» ابتدایی، تنها در یک جا ثبت می شود. بنابراین، درج، بروز رسانی و حذف به صورت خودکار سازگاری را در پایگاه داده حفظ می کنند.
گام نهایی در طراحی پایگاه دادهSQL اتخاذ تصمیماتی است که کارایی، مقیاس پذیری، بازیابی و امنیت را تغییر می دهد که وابسته به یک سیستم مدیریت پایگاه داده خاص هستند. این مورد معمولا با عنوان طراحی پایگاه داده فیزیکی (Physical Database Design) شناخته شده و خروجی آن، مدل داده فیزیکی است.
چرخه حیات پایگاه داده یا در واقع طراحی پایگاه داده گام هایی را در بر می گیرد که هنگام توسعه پایگاه داده دنبال می شوند. گام های موجود در مرحله چرخه حیات توسعه الزاما به دنبال شدن به صورت متوالی نیاز ندارد. در سیستم های پایگاه داده کوچک، چرخه حیات سیستم پایگاه داده معمولا بسیار آسان است و گام های زیادی را شامل نمیشود
طراحی فیزیکی و منطقی در SQL
طراحی فیزیکی اساسا از نیازمندی های کارایی مشتق می شود و نیاز به دانش خوبی پیرامون حجم کار و الگوهای دسترسی و همچنین، دانش عمیقی پیرامون ویژگی های ارائه شده توسط آن سیستم مدیریت پایگاه داده دارد. جنبه دیگر در طراحی پایگاه دادهSQL امنیت آن است. امنیت پایگاه داده شامل تعریف کنترل دسترسی به اشیای پایگاه داده و همچنین، تعیین سطوح امنیتی و روش هایی برای حفظ امنیت داده ها می شود.
طراحی منطقی پایگاه داده SQL
قبل از اجرای یک پایگاه داده ، باید آن را طوری برنامه ریزی یا طراحی کنید که همه نیازها را بر آورده کند. اولین کار طراحی پایگاه داده ، طراحی منطقی نامیده می شود.
مدل سازی داده ها
مدل سازی منطقی داده ها فرآیند مستند سازی نیازهای جامع اطلاعات کسب و کار در یک قالب دقیق و سازگار است.
موجودیت ها برای انواع مختلف روابط
در یک پایگاه داده رابطه ای ، موجودیت ها یا همان جداول جداگانه ای باید برای انواع مختلف روابط تعریف شود.
کاربرد قوانین در روابط بین جداول
چه یک رابطه یک به چند باشد و چه یک به یک و یا چند به چند، روابط شما باید در تجارت درست پیاده سازی شده باشد.
ویژگی های موجودیت در طراحی پایگاه داده
وقتی ویژگی ها را برای موجودیت ها تعریف می کنید ، معمولاً با مدیر داده کار می کنید تا در مورد نام ها ، انواع داده ها و مقادیر مناسب برای ویژگی ها تصمیم بگیرید.
نرمال سازی در طراحی پایگاه داده
نرمال سازی به شما کمک می کند از اضافه کاری و ناسازگاری در داده های خود جلوگیری کنید. اشکال مختلفی از عادی سازی وجود دارد.
طراحی فیزیکی پایگاه داده SQL
طراحی فیزیکی پایگاه داده شما ضمن جلوگیری از اضافه کاری های غیر ضروری ، عملکرد را بهینه می کند و داده ها را یکپارچه می کند. در طراحی فیزیکی ، موجودیت ها را به جدول ، نمونه ها را به سطر و صفات را به ستون تبدیل می کنید.
طراحی فیزیکی معمولا بعد از طراحی منطقی انجام می شود و شما و همکارانتان باید تصمیمات بسیاری بگیرید که بر طراحی فیزیکی تأثیر می گذارد ، برخی از آن ها در زیر ذکر شده است.
نحوه تبدیل موجودیت ها به جداول فیزیکی
چه ویژگی هایی برای ستون جداول فیزیکی استفاده شود
کدام ستون های جدول را به عنوان کلید تعریف کنید
چه شاخص هایی برای تعریف در جداول وجود دارد
چه View هایی را می توان روی جدول تعریف کرد
چگونه می توان جداول را از حالت نرمال خارج کرد یا اصطلاحا denormal کرد
چگونه روابط چند به چند را حل کنیم
چه طرح هایی می توانند از دسترسی هش استفاده کنند
شغل ساخت طرح فیزیکی شغلی است که واقعاً هرگز به پایان نمی رسد. با گذشت زمان باید به طور مستمر بر عملکرد و ویژگی های یکپارچگی داده پایگاه داده نظارت داشته باشید. بسیاری از فاکتورها اصلاحات دوره ای در طراحی فیزیکی را ضروری می کنند.
هر چقدر شما در خصوص طراحی منطقی و فیزیکی جداول مقاله و مطلب بخوانید حق مطلب را ادا نمیکند، توصیه LH به شما این است که آموزش رایگان طراحی و پیاده سازی SQL را با دقت ملاحظه کنید.
کلام آخر
همان طور که در مقاله خواندید، قبل از ایجاد یک پایگاه داده باید ابتدا هدف کاربر را از ایجاد دیتابیس بدانید و با متخصصان و مسئولان یا اصطلاحان کاربران مجموعه جلساتی متوالی بگذارید تا با سیستم به طور کلی آشنا شوید، مرحله ی اول طراحی منطقی دیتابیس SQL است طراحی منطقی یعنی موجودیت ها شناسایی شوند روابط بین موجودیت ها شناسایی شوند، ویژگی های موجودیت ها شناسایی شوند. مرحله ی دوم طراحی فیزیکی پایگاه داده SQL است، اگر بخواهم ساده بیان کنم این مرحله یعنی تبدیل موجودیت ها در طراحی منطقی به جداول، ایجاد کلید ها، ایجاد ستون ها و دیتا تایپ های مربوط به هر فیلد. به طور کلی طراحی فیزیکی ترجمه طراحی منطقی و مرحله ای قابل فهم برای ماشین یا همان پایگاه داده SQL است.