طراحی پایگاه داده فرآیندی متوالی برای تطبیق دانش و ابزارهای موجود برای نمایش و پردازش اطلاعات است.
دامنه واقعی، وظیفه خاص، شرح جریان اطلاعات ورودی و ایده های کلی در مورد فرآیند پردازش اطلاعات به تدریج به یک ایده مفهومی خاص از اینکه پایگاه داده در یک مورد خاص چیست و چگونه است اضافه می شود. برای کار با آن.
پایگاه داده مدرن
روابط رابطه ای در قلب هر مدل اطلاعاتی قرار دارند. راه حل های اوراکل در اصل معادل MySQL هستند، اما در بسیاری از جنبه ها اساساً متفاوت هستند. طراحی پایگاه داده همچنین یک موضوع امنیتی، حجم اطلاعات و مسئولیت پذیری برای یکپارچگی داده ها است، اما اینها نسبت به موضوع طراحی یک پایگاه داده کارآمد، قابل اعتماد و کاربرپسند در درجه دوم اهمیت قرار دارند.
جدول اکسل در زمینه ساختارهای مستطیلی (رابطه ای) با Oracle و MySQL تفاوتی ندارند: ستون ها و ردیف ها=یک سلول در تقاطع نام ستون (فیلد) و شاخص انتخاب (ردیف). اگر اندازه و مقدار کار دستی را در نظر نگیرید، به لطف ابزارهای توسعه یافته برای ترکیب سلول ها به صورت عمودی و افقی، اکسل حتی از اوراکل جلوتر است!
Excel، طبق ایده اصلی خود، هرگز پویایی، عملکرد اوراکل را "درخشش" نمی کند، و نمی تواند چیزی را از یک صفحه به صفحه دیگر "بر اساس باقیمانده ها" منتقل کند. در اینجا اوراکل امیدوارتر است، اما ملاحظات آن در مورد مسائل مربوط به انتقال حجم زیادی از اطلاعات و ترکیب موقعیتهای رسمی از منابع مختلف، جای تامل دارد. در اینجا MySQL امیدوارکننده تر است: وظایف جهانی را برای خود تعیین نمی کند، اما کار خود را کاملاً انجام می دهد.
روابط ارتباطی ابزارهای مناسب، کاربردی و به خوبی تثبیت شده هستند، از راه حل های خصوصی در سطح اکسل گرفته تا حجم های جهانی Oracle، در همه جا مورد استفاده قرار می گیرند، مورد تقاضا هستند و آینده ای تضمین شده برای کار دارند.
یک پایگاه داده مدرن جداول، ردیفها، ستونها و نمایههایی است که با عملکرد کامل احاطه شدهاند، ابزارهای اضافی توسعهیافته که عملیاتهای متعدد، بارهای سنگین و حجم عظیم را در نظر میگیرند.
دانش و تجربه سیستم های مدیریت پایگاه داده مدرن (DBMS) نه تنها مسائل مربوط به قابلیت اطمینان، قابلیت اطمینان داده ها، مقررات دسترسی و مسائل امنیتی را در نظر می گیرد، بلکه ردیابی تأثیرات منفی خارجی، تجزیه و تحلیل حملات احتمالی را نیز ممکن می سازد.و تلاش می کند به عمد آسیب برساند.
یک پایگاه داده مدرن پایه ای قابل اعتماد برای هر منبع وب و برنامه محلی است، توانایی انتقال اطلاعات، تبدیل و انتقال داده ها، تلاقی و ترکیب نماهای مختلف.
تنها شرط ضروری: توسعه دهنده بسیار ماهر. برای انجام طراحی موثر پایگاه های داده رابطه ای در دسترس متخصصان و اغلب در اختیار تیمی متشکل از متخصصان و متخصصان در زمینه کاربرد مسئله در حال حل است.
دامنه، راه حل های ممکن و موانع
اطلاعات در همه جا پخش می شود. بسیاری از پروژهها مستقیماً به اینترنت متصل هستند، اما عامل داشتن یک نمایش دادههای رسمی در اینجا بهتر از عامل عدم قطعیت هنگام ایجاد یک منبع وب برای یک کارخانه فولاد نیست.
توسعه و علاقه گسترده به فروشگاههای آنلاین، زمینهها و فرصتهایی را برای انتقال تجربه ایجاد یک فروشگاه به ایجاد فروشگاه دیگر فراهم نمیکند. عامل اسرار تجاری موانع زیادی را برای انتقال دانش ایجاد می کند، اگرچه در واقع باید فروشگاه واقعی را از ابزارهای نرم افزاری ایجاد شده برای این فروشگاه جدا کنید.
البته مشتری پرداخت کرده و کد سایت متعلق به اوست. یکی از ویژگی های مدرنیته: انتقال دانش و پیشرفت بین وظایفی از نوع مشابه و زمینه های کاربردی مرتبط غیرممکن است و این یک مشکل است.
Parsing طیف گسترده ای از برنامه های کاربردی برای سیستم های مدیریت پایگاه داده است. اول از همه، اسکن اطلاعات از اینترنت است. مقایسه اطلاعات انباشته شده در آن به همان اندازه مهم استپایگاه داده، و درخواست بازدیدکنندگان وب.
تجزیه و تحلیل کلمه کلیدی همچنین مستلزم ایجاد یک راه حل بهینه است، اما طراحی پایگاه داده در Access ممکن است امیدوارتر از MS SQL Server یا Oracle باشد.
فهرست منابع اطلاعاتی می تواند پویا باشد. دینامیک می تواند در جداول پایگاه داده منبع، نام فیلدهای جدول و قوانین فراخوانی (پرس و جو) ذاتی باشد. طراحی پایگاههای اطلاعاتی رابطهای از منابع متعدد به وضوح شما را مجبور میکند که از دادههای منبع طراحی کنید، نه از سازماندهی بهینه اطلاعات جمعآوریشده.
دو چیز ذاتی در هر پایگاه داده وجود دارد:
- گرایش به محتوا، الگوریتم تولید پایگاه داده پویا در اولویت؛
- جهت استفاده، ساختار پایگاه داده مهمتر است و الگوریتم استفاده از اطلاعات بر اساس آن است.
در هر زمینه کاربردی یک مدل رسمی از جریان اطلاعات ورودی، یک مدل ذخیره سازی اطلاعات - طراحی واقعی پایگاه داده و یک مدل (الگوریتم) برای استفاده از داده ها وجود دارد.
روش ها و مراحل مختلف طراحی
اصول طراحی پایگاه داده معمولاً به سه مرحله تقسیم می شود. متخصصان مختلف به مراحل مختلف کار اشاره می کنند، اما در واقع سه موقعیت وجود دارد:
- برنامه ریزی مفهومی؛
- طراحی منطقی؛
- اجرای فنی.
تمرین به سنت های تثبیت شده کمک می کند. مهم نیست که دامنه و مشکل در حال حل چقدر پیچیده است. همیشه نیاز به انتخاب مناسب داردابزار. به عنوان مثال، شما نیاز به جمع آوری اطلاعات از بازدیدکنندگان یک منبع وب دارید، اما باید آن را با داده های MS SQL Server مقایسه کنید. منبع وب بر روی FreeBSD (اینترنت، سرور آپاچی) میزبانی می شود و MS SQL Server در شهر دیگری از طریق شبکه توزیع شده شرکت در دسترس است.
در این راه حل، ابتدا باید یک مشکل خاص را حل کنید: ایجاد تبادل داده با سرور داخلی.
اجرای فنی یک کار مشترک لزوماً در مرحله اولیه تأثیر می گذارد: به ندرت می توان طراحی پایگاه داده را از ابتدا انجام داد. حتی با وجود فناوری حل مسئله اثبات شده، دامنه در حال تکامل است، همیشه باید کاری متفاوت از آنچه در ابتدا در نظر گرفته شده بود انجام داد.
اخیرا، بسیاری از نظریه پردازان و متخصصان با موجودیت ها به عنوان داده های خاص عمل می کنند. اینها انتزاعی هایی هستند که به شما امکان می دهند مدل اطلاعات را در ورودی، در حین پردازش و در نتیجه نهایی - پایگاه داده توصیف کنید.
نماهای داده و نهاد
طراحی DB از طریق انتزاعات و موجودیت ها: توانایی ایجاد یک تصویر اطلاعاتی، تعریف انواع داده ها و روابط بین آنها.
معمولاً چنین طراحی یک مدل پایگاه داده با یک مدل گرافیکی با استفاده از MS Visio یا ابزارهای بصری DBMS انتخاب شده به پایان می رسد. Access روش خاص خود را برای تشکیل یک تصویر اطلاعاتی دارد، MySQL روش خود را دارد، و برخی از سیستم های مدیریت محتوا پایگاه داده را به طور کلی پنهان می کنند و یک مدل داده را از طریق موجودیت های خود به توسعه دهنده تحمیل می کنند -اشیاء کار در حال حل.
یکی از ویژگی های بارز بسیاری از سیستم های مدیریت محتوا (CMS) این است که آنها یک "برنامه" برای سطحی از انتزاع بیشتر در هنگام توصیف منطقه اطلاعاتی مشکل در حال حل ایجاد می کنند. پایگاه داده واقعی پنهان است، CMS ایده خود را از تصویر اطلاعاتی جهان به توسعه دهنده ارائه می دهد.
در نتیجه مراحل طراحی پایگاه داده به رعایت الزامات اساسی و اجرای مراحل پیشنهادی سازندگان یک CMS خاص کاهش می یابد. استفاده از ایده های پایگاه های داده و طراحی آنها از Symfony یا Bitrix، Zend یا Yii هیچ چیز شرم آور نیست، اما برای توسعه دهنده این یک "سربار" است.
در حالت ایده آل، ابزارهای طراحی پایگاه داده باید به صورت جداگانه، بدون نظر بیرونی، اما با استفاده از تجربه و دانش، انتخاب و اعمال شوند.
ایدهآل برای یک توسعهدهنده با گواهی Oracle، اما برای صلاحیتهای یک توسعهدهنده کاملاً قابل قبول است که شامل بینش در مورد ایدههای اطلاعاتی Oracle و دانش کاربردی برنامههای MySQL باشد.
در پروژه های پیچیده و پردازش اطلاعات توزیع شده، نه تنها پایگاه داده مهم است، بلکه منابع اطلاعاتی، ایده هایی در مورد نیازهای مصرف کنندگان نیز مهم است.
مراحل یا تیم: تعادل اولویت ها
نیاز به یکپارچگی از مهمترین اهمیت است. اصول اولیه طراحی پایگاه داده نیز شامل مرحله بندی کار، نظارت بر نتایج میانی، بازنگری در هر مرحله تکمیل شده بر اساس اجرای نوع کار زیر است:
- سیستماتیک;
- فازبندی؛
- بازخورد از هر نقطه در زمان، تا همان موقعیت شروع.
این مفاد انتزاعی هستند، اما در هر فناوری نظری و عملی برای ایجاد یک پایگاه داده موثر وجود دارند.
هیچ فناوری به خودی خود توسعه نمی یابد، بلکه توسط مردم هدایت می شود. صلاحیت تیم توسعه ضروری است. مدل اطلاعات پایگاه داده نه تنها یک چارچوب، بلکه جریان اطلاعات نیز هست.
چه مهمتر است: گرافیک زیبا در نمایش ساختار پایگاه داده یا توصیف دقیق جریان اطلاعات در دینامیک - موضوعی نه تنها مربوط به کار و محدوده، بلکه همچنین نظر تیم توسعه در دینامیک است.
پرسنل همه چیز است، اما در زمینه: طراحی مفهومی یک پایگاه داده همه چیز واجد شرایط است. همه افراد منحصر به فرد هستند و در زمینه سیستم های اطلاعاتی، بازنمایی از افراد خاص وجود دارد و توسعه می یابد.
ایجاد یک تیم از توسعه دهندگان مهم است، نه برخی از مراحل طراحی پایگاه داده افسانه ای که توسط یک متخصص معتبر پیشنهاد شده است. اختیارات این متخصص بر اساس کارهای مشخص و در زمان مشخصی شکل گرفت. امروز باید کار انجام شود، کار جدید، تجهیزات مدرن، تکنولوژی جدید، …
ممکن است معکوس شود. Excel و Access و دادههای «فراوانی» در این قالبها از زمانهای باستان، زمانی که Windows for Workgoups هنوز زنده و سالم بود، وجود دارد. تا حدی داده های dBase و Quattro باقی مانده است. امروز این کلمات قبلاً فراموش شده اند، اما اطلاعاتباقی مانده است، مورد تقاضا است و نیاز به استخراج و شکل گیری ایده های جدید دارد.
قدیم و جدید: تعادل دانش
فناوری Cloud مانند پایگاه های داده ای که اشتون-تیت انجام داد نیست. آنچه اوراکل زمانی خریداری می کرد به هیچ وجه با آنچه که امروز انجام می دهد قابل مقایسه نیست. اما متغیرها، الگوریتم ها، توابع، حلقه ها و شرایط از همان اوایل دهه 80 در برنامه نویسی باقی مانده اند. مگر اینکه مفهوم رویه به فراموشی سپرده شود و همه چیز مانند زمان های قدیم باقی بماند.
حتی ایده های مدرن برنامه نویسی شی گرا نیز با "بند" کلاسیک نحوی و معنایی قرن گذشته پوشیده شده اند.
چه باید کرد - برنامه نویسی اینرسی است و رسمی کردن اطلاعات و طراحی پایگاه های اطلاعاتی بیشتر یک فرآیند است تا یک نتیجه. کار مرحلهای پیشنیاز دستیابی به نتایج است. اما چه کسی تعداد تکرارها را از مراحل میانی تقریباً تا شروع کار شمارش کرده است؟
اطلاعات همیشه پویا هستند، هیچ چیز ثابت نمی ماند: به ویژه حوزه موضوعی کار و نیازهای کاربر. هر مرحله تکمیل شده از کار به شما امکان می دهد در سطح جدیدی آنچه را که قبلا انجام شده و آنچه باقی مانده است ارزیابی کنید.
در نظر گرفتن طراحی ساختار پایگاه داده به عنوان یک کار و گرفتن نتیجه نهایی بیهوده است. به محض راه اندازی پایگاه داده، مطمئناً یک ایده جدید ظاهر می شود، حتی اگر ابزار ایجاد پایگاه داده اکسل "ساده" باشد، نه یک محصول فوق العاده قدرتمند و همه کاره از Oracle.دستکاری میلیون ها تراکنش، صدها هزار کاربر همزمان و ترابایت اطلاعات.
اولویت ساختار پایگاه داده نیست، بلکه تشکیل یک تیم واجد شرایط از متخصصان است، به علاوه الزام اجباری برای پویایی بیشتر نتیجه، به طوری که پس از اتمام کار، نیازی به تماس با توسعه دهندگان، حداقل چند ماه.
توسعه متوالی و/یا پرش از ارتفاع
ویندوز یک پایگاه داده نیست، اما دارای یک یادگار است - رجیستری. فایل hosts صرفاً شناسایی آدرسهای IP و نامهای نمادین ماشین محلی است. اما از طریق این فایل، جریان اطلاعات از دامنه های مختلف یا به DBMS های مختلف شکل می گیرد.
می توان ویندوز چند وجهی را به عنوان یک رایانه یا سرور در حال کار درک کرد، اما به هیچ وجه برای توجیه منطق نسخه های این محصول کارساز نخواهد بود. PHP نیز یک پایگاه داده نیست، اما استدلال های توسعه دهندگان برای اینکه چرا نسخه 5 بلافاصله پس از نسخه 7 می آید، متناقض است. PHP یک ابزار دسترسی MySQL است، نحو آن نحوه تشکیل پرس و جو و دریافت پاسخ از پایگاه داده با استفاده از گویش SQL را تعریف می کند.
نمونههایی از ناسازگاری بین ابزارهای برنامهنویسی مدرن و پشتیبانی پایگاه داده در سالهای اخیر عادی شده است، اما این اصلیترین نمونه نیست. پشت نسخه ویندوز 10 چه خواهد بود؟ چشم انداز Oracle Database 12c چیست؟
اطلاعات توسعه دهنده-نویسنده: Oracle Database 11g Express Edition (Oracle Database XE) یک DBMS سطح ورودی مبتنی بر کد DBMS پایگاه داده Oracle 11g Release 2 است. این DBMS برای توسعه رایگان است.استقرار و فروش، دانلود سریع و مدیریت آسان.»
دیدگاه یک توسعه دهنده کاربر: در سال 2013، Oracle پایگاه داده Oracle 12c (نسخه 12.1.0.1) را با مزایای کلیدی هزینه های ذخیره سازی کمتر، در دسترس بودن داده های بالا، ادغام آسان پایگاه داده و حفاظت از دسترسی به داده منتشر کرد.
تمرین واقعی: طراحی پایگاه داده منطقی عینی، کارآمد و مؤثر فقط برای تیمی از توسعه دهندگان واجد شرایط در دسترس است. به دست آوردن نتیجه کاری دشوار نیست، رسمی کردن جریان های اطلاعاتی ورودی و تعیین پایه بهینه دشوار است.
به دنیای اشکال صاف از مستطیل های دقیق
با ظهور برنامه نویسی شی گرا، سریال سازی داده ها جان تازه ای به خود گرفته است. در واقع، همه چیز در اطراف فقط خطوط است، ترجیحاً با طول نامحدود. اعداد و تاریخ ها نیز رشته های کاراکتری هستند.
قدرت و عینیت روابط رابطه ای غیرقابل انکار است، اما آیا پویایی ستون ها و ردیف ها به شهرت آنها آسیب می زند؟ یک جدول صرفاً داده ای است که ممکن است دارای سرصفحه (لیستی از ستون ها) یا بدون ردیف باشد. بگذارید جدول فقط مجموعهای از دادهها باشد، نه لزوماً نامگذاری شده.
مجموعه دادهها میتواند ناهمگن باشد و میتوانید دادههایی با ساختارهای مختلف در آن بیابید. اساساً، همگنی داده ها نشان دهنده توسعه دامنه است. توزیع داده ها بر اساس انواع و گونه ها نشانه یک رویکرد سیستماتیک و عینی است، اما همچنان توصیه می شود که امکان پویایی ساختار را پذیرفت.
اگر خروجیطراحی و ایجاد پایگاه داده فراتر از ساختارهای سفت و سخت و با فرض اینکه جدول مجموعه ای از ردیف هایی است که لزوماً از یک نوع و از نظر معنایی مشابه یکدیگر نیستند، طراحی پایگاه داده به شدت تغییر خواهد کرد.
موضوع کار شرح ساختار پایگاه داده نیست، بلکه پویایی حرکت اطلاعات خواهد بود. مراحل کار به سه مرکز ثقل تقسیم می شود:
- جریان اطلاعات ورودی؛
- تغییر و جابجایی اطلاعات در پایگاه داده؛
- انتخاب داده برای استفاده.
مفهومی از ساختار جدول وجود ندارد. هیچ ردیف یا ستونی وجود ندارد. یک انتزاع وجود دارد - یک ساختار معین، که نقطه خاصی در الگوریتم را برآورده می کند. به طور خاص، عملکرد پردازش اطلاعات به اطلاعات خاصی در مقدار مشخصی نیاز دارد.
الزام اجباری بازگشتی بودن همه توابع پردازش اطلاعات و تمرکز بر عملکردها، نه داده ها، به شما امکان می دهد یک پایگاه داده در پویایی اطلاعات انباشته شده و جریان داده های ورودی طراحی کنید که به ابتکار کاربر استفاده می شود. ، فرآیند یا عملکرد دیگر.
در واقع: یک سیگنال استفاده آمد، یک درخواست واکشی دریافت شد، یک ماشه در برنامه فعال شد، و اطلاعات دریافتی، از طریق آنچه قبلاً آنجا بود، راه حل مورد نظر را ارائه کرد.
دانش بنیادی و ساختارهای صلب
دانش حق انسان است، برنامه ها بار کامپیوترها هستند. توسعهدهنده آزاد است که دانش را آنطور که در یک موقعیت خاص مناسب میبیند، به کار ببرد. یک فرد عادی از پایگاه های داده زیادی استفاده می کند، بدون اینکه به آن اهمیت بدهد. چگونهپایگاه های داده در ذهن یک فرد معمولی سازماندهی شده است، هیچ کس نمی داند، اما همه می دانند که او چگونه تجارت خود را انجام می دهد، آنچه را که پیدا می کند، می نویسد و چه زمانی باید از آن استفاده کند.
نتیجه کار برنامه نویس - در سطح یک برنامه در "Basic" که داده ها را از وب سایت یک فروشگاه آنلاین از طریق ODBC بازیابی می کند، معادل یک توسعه دهنده با عنوان Oracle است که درخواست واکشی داده را ارائه می کند. از سالن هوانوردی و فضایی MAKS. هر دو نتیجه از لحظه تکمیل کار در حالت ایستا "یخ می زند". این دانش فعالی نیست که شخص از آن استفاده کند، این راز ایجاد یک سیستم طراحی پایگاه داده است.
الگوریتم را نمی توان ثابت کرد. همه چیز باید به صورت پویا تعریف شود. شایستگی توسعه دهندگان واجد شرایط غیرقابل انکار است، اما آنها به هیچ وجه در اشکال ظریف راه حل های Oracle، MySQL، یا Access، که در قابلیت های آن محدود است، نهفته است. صفحه گسترده اکسل دیگری می تواند محتوای پویا ارائه دهد و نیازی به مشارکت برنامه نویس برای مدت زمان کم و بیش مناسب پس از اتمام کار نداشته باشد.
سوال این است که دینامیک ناحیه برنامه چقدر رسمی است، نه ساختار پایگاه داده.
راه حل های زنده
برنامه ریزی کار به گونه ای غیرممکن است که تیمی از توسعه دهندگان حرفه ای را به یک کار مرتبط کند. نه اینکه تیم توهین شده باشد، اما این رویکرد درستی نیست.
وظیفه طراحی یک پایگاه داده باید به گونه ای فرموله شود که عملکرد توسعه یافته خود را بهبود بخشد، دانش را انباشته کند و در انجام "وظایف" خود از کد شروع نشود،ایجاد شده توسط متخصصان، اما از دانش به دست آمده از طریق این کد.