پایگاه داده

مفهوم پایگاه داده

مفهوم پایگاه داده از دههٔ ۱۹۶۰ برای کاهش مشکلات فزاینده در طراحی، ساخت، و نگهداشت سسیستم‌های اطلاعاتی (معمولاً با تعداد زیادی کاربرِ نهایی همزمان، و با تعداد زیادی دادهٔ مختلف) ایجاد شده‌است. این مفهوم به همراه مفهوم سیستم‌های مدیریت پایگاه داده که دستکاری مؤثر و کارا به پایگاه داده‌ها را ممکن می‌کند رشد کرده‌است.
اولین کاربردهای اصطلاح پایگاه داده به ژوئن ۱۹۶۳ بازمی‌گردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام «توسعه و مدیریت محاسباتی یک پایگاه داده‌ای مرکزی» را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهه ۷۰ در اروپا و در اواخر دهه ۷۰ در خبر نامه‌های معتبر آمریکایی به کار رفت. (بانک داده‌ای یا در اوایل سال ۱۹۶۶ در روزنامه واشینگتن پست کار رفت)
اولین سیستم مدیریت پایگاه داده در دهه ۶۰ گسترش یافت. از پیشگامان این شاخه چارلز بکمن است. مقالات بکمن این را نشان داد که فرضیات او کاربرد بسیار مؤثرتری برای دسترسی به وسایل ذخیره‌سازی را مهیا می‌کند. در آن زمان‌ها پردازش داده بر پایه کارت‌های منگنه و نوارهای مغناطیسی بود که پردازش سری اطلاعات را مهیا می‌کند. دو نوع مدل داده‌ای در آن زمان‌ها ایجاد شد:CODASYL موجب توسعه مدل شبکه‌ای شدکه ریشه در نظریات بکمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعداً با اقتباس از آن شرکت IBM محصولIMS را تولید نمود.
مدل رابطه‌ای توسط E. F. Codd در سال ۱۹۷۰ ارائه شد. او مدل‌های موجود را مورد انتقاد قرار می‌داد. برای مدتی نسبتاً طولانی این مدل در مجامع علمی مورد تأیید بود. اولین محصول موفق برای میکرو کامپیوترها dBASE بودکه برای سیستم‌عامل‌هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال ۱۹۸۰ پژوهش بر روی پایگاه‌های مدل توزیع شده و ماشین‌های پایگاهی (database machines) متمرکز شد، اما تأثیر کمی بر بازار گذاشت. در سال ۱۹۹۰ توجهات به طرف مدل شیء گرا جلب شد. این مدل جهت کنترل داده‌های مرکب لازم بود و به‌سادگی بر روی پایگاه داده‌های خاص، مهندسی داده (شامل مهندسی نرم‌افزار منابع) و داده‌های چند رسانه‌ای کار می‌کرد.
در سال ۲۰۰۰ نوآوری تازه‌ای رخ داد و پایگاه اکس‌ام‌ال (XML) به وجود آمد. هدف این مدل از بین بردن تفاوت بین مستندات و داده‌ها است و کمک می‌کند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند.

نرم‌افزار

پایگاه داده‌ها برای حمایت از عملیات داخلی سازمان‌ها و زیر بنای تعامل آنلاین با مشتریان و تأمین کنندگان (نرم‌افزار شرکت مراجعه کنید). استفاده می‌شود. پایگاه داده‌ها برای نگهداری اطلاعات اداری و اطلاعات تخصصی تر، مانند داده‌های مهندسی یا مدل‌های اقتصادی استفاده می‌شود. نمونه‌هایی از برنامه‌های کاربردی پایگاه داده شامل سیستم کتابخانه کامپیوتری، سیستم رزرو پرواز و سیستم‌های موجودی computerizedparts.

توضیح دی.بی.ام.اس

DBMS یک سیستم نرم‌افزار پیچیده تکامل یافته‌است و توسعه آن به‌طور معمول به هزاران نفر و سال تلاش و توسعه نیاز دارد. برخی از دی. بی. ام. اس مانند Adabas، اوراکل و DB2. هدف دی. بی. ام. اس رفع نیازهای برنامه‌های کاربردی ست. با این حال، این واقعیت است که هزینه توسعه می‌تواند مقرون به صرفه تر باشد. با این حال، DBMS همیشه راه حل بهینه‌ای دارد: در برخی مواردDBMS ممکن سربار غیرضروری را معرفی کند. نمونه‌های بسیاری از سیستم‌های که با استفاده از پایگاه داده‌های خاص وجود دارد. یک مثال رایج سیستم ایمیل است: سیستم‌های ایمیل طراحی شده‌است برای بهینه‌سازی مدیریت پیام‌های ایمیل، و نیازی بخش قابل توجهی از قابلیت DBMS است. بسیاری از بانک‌های اطلاعاتی نرم‌افزار برنامه‌ای است برای دسترسی به پایگاه داده از طرف کاربران نهایی، بدون قرار دادن رابط DBMS به‌طور مستقیم. برنامه نویسان نرم‌افزار ممکن است یک پروتکل سیم به‌طور مستقیم، یا به احتمال زیاد از طریق یک رابط برنامه‌نویسی برنامه استفاده کنند. طراحان پایگاه داده و مدیران پایگاه داده با DBMS از طریق رابط‌های اختصاص داده شده برای ساخت و حفظ برنامه‌های کاربردی ' پایگاه‌های داده، و در نتیجه نیاز به برخی از دانش بیشتر و درک در مورد چگونگی عملکرد دی. بی. ام. اس و رابط خارجی و پارامترهای تنظیم دی. بی. ام. اس تعامل می‌کنند.

مدل‌های پایگاه داده

الگوی کاری کاربران پایگاه داده‌ها را در سطح منطقی مشخص می‌کند. شگردهای مختلفی برای مدل‌های داده‌ای وجود دارد. برای هر یک از مدل‌های منطقی اجراهای فیزیکی مختلفی قابل پیاده‌سازی است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران مهیا می‌کند. این مدل‌ها عبارتند از مدل تخت، مدل سلسله مراتبی، مدل شبکه‌ای و مدل رابطه‌ای. مدل رابطه‌ای اساس کار سامانه مدیریت پایگاه داده‌های امروزی است.

طراحی و مدل‌سازی

اولین وظیفه یک طراح پایگاه داده این است که برای تولید یک مدل داده مفهومی که منعکس‌کننده ساختار اطلاعات در پایگاه داده برگزار می‌شود طرحی پیشنهاد کند. به منظور توسعه یک مدل موجودیت-ارتباط، اغلب با کمک ابزار طراحی. یکی دیگر از روش محبوب زبان مدل‌سازی یکپارچه است. مدل داده موفق به دقت حالت منعکس‌کننده بستگی دارد مدل ممکن از جهان خارج شود: به عنوان مثال، اگر مردم می‌توانند بیش از یک شماره تلفن داشته باشد، در حقیقت اجازه نمی‌دهد که بیش از یک اطلاعات ذخیره شود. طراحی مدل داده مفهومی خوب نیاز به درک خوبی از دامنه کاربرد کاربران دارد. معمولاً شامل پرسیدن سوال‌های عمیق در مورد چیزهایی که یک سازمان به آن علاقه دارد است، مانند " یک مشتری می‌تواند یک عرضه‌کننده کالا باشد؟ "، یا " اگر یک محصول با دو فرم مختلف از بسته‌بندی به فروش می‌رسد، همان محصول یا محصولات مختلف آن است ؟"پرسش تعاریف اصطلاحات برای اشخاص (مشتریان، محصولات، پرواز، بخش پرواز) و روابط آن‌ها و ویژگی‌های ایجاد شده مورد استفاده قرار می‌گیرد. تولید مدل داده مفهومی گاهی اوقات شامل ورودی از فرایندهای کسب و کار، یا تجزیه و تحلیل گردش کار در سازمان است. این می‌تواند به ایجاد اطلاعاتی در پایگاه داده مورد نیاز کمک کند. به عنوان مثال، می‌تواند به تصمیم‌گیری پایگاه داده مورد نیاز برای نگهداری داده‌های تاریخی و همچنین داده‌های فعلی کمک کند. پس از تولید یک مدل داده مفهومی کاربران خوشحال هستند.
مرحله بعدی این است که این طرح را ترجمه کنند که پیاده‌سازی ساختمان داده‌های مربوطه در پایگاه داده‌است. این فرایند اغلب به نام طراحی پایگاه داده‌های منطقی، و خروجی مدل منطقی داده‌ها بیان شده در قالب یک طرح است. در حالی که مدل داده مفهومی (در تئوری حداقل) مستقل از انتخاب فناوری پایگاه داده‌است، مدل منطقی داده‌ها یک مدل پایگاه داده خاص پشتیبانی شده توسط DBMS را انتخاب می‌کند. (مدل شرایط داده‌ها و مدل پایگاه داده می‌باشد اغلب به جای یکدیگر استفاده می‌شود، اما در این مقاله ما با استفاده از مدل داده برای طراحی یک پایگاه داده خاص، و مدل پایگاه داده برای نماد مدل‌سازی بیان طراحی استفاده می‌کنیم) مدل پایگاه داده محبوب‌ترین پایگاه دادهٔ مدل رابطه‌ای، یا دقیق تر، مدل رابطه‌ای به عنوان زبان SQLنشان داده‌است. روند ایجاد یک طراحی پایگاه داده منطقی با استفاده از این مدل با استفاده از روش روشمند شناخته شده به عنوان روش عادی است. اطمینان حاصل می‌شود که در ابتدا «حقیقت» است که تنها در یک مکان ثبت شده، به‌طوری به روزرسانی و حذف به صورت خودکار برای حفظ انسجام انجام می‌شود. مرحله نهایی از طراحی پایگاه داده این است که تصمیم‌گیری برای عملکرد، مقیاس پذیری، بهبود، امنیت، و مانند آن تأثیر می‌گذارد که اغلب طراحی پایگاه داده‌های فیزیکی نامیده می‌شود. هدف کلیدی در این مرحله استقلال داده‌است، به این معنی که تصمیمات اتخاذ شده برای اهداف بهینه‌سازی عملکرد باید نامرئی باشد که برای پایان دادن به کاربران و برنامه‌های کاربردی است. طراحی فیزیکی عمدتاً توسط عملکرد مورد نیاز رانده می‌شود، و نیاز به دانش خوبی از الگوهای حجم کار و دسترسی انتظار می‌رود، و درک عمیق از ویژگی‌های ارائه شده توسط DBMS انتخاب شده‌است. یکی دیگر از جنبه طراحی پایگاه داده‌های فیزیکی امنیتی است. این شامل هر دو تعریف کنترل دسترسی به اشیاء پایگاه داده و همچنین تعریف سطوح امنیتی و روش برای داده‌ها است.

بحث اجرایی و تخصصی

در زمینه ساخت بانک اطلاعاتی برخی کدنویسان غیرمتخصص هستند که در آغاز زندگی حرفه‌ای خود بدون آشنایی ساختاری با پایه‌های سرور بانک اطلاعاتی اقدام به ساخت جداول یا حتی ایجاد ارتباطات بین جدولی می‌کنند (relations یا RDBMS). در طراحی بانک اطلاعاتی چند بحث ثابت همیشه مطرح است از جمله نرمال‌سازی (اجتناب از تکرار برای صرفه‌جویی در حجم)، نانرمال‌سازی (تلاش برای تکرار برای افزایش سرعت)، آشنایی با indexing یا مرتب‌سازی هدفمند بر اساس حروف شامل کلاسترد ایندکس (تقریباً همان PKs) و ایندکس‌های دوم با مبحث لوک‌آپ دوم (برای مثال ایندکس نام پس از یافتن به کلاستردایندکس ردیف خودش که معمولاً PK است مراجعه می‌کند تا ردیف را استخراج کند) و بحث‌هایی مانند B-tree که برخی به اشتباه آن را با درخت باینری اشتباه می‌گیرند اما در واقع درخت خود-متعادل‌شونده است بدان معنی که خود سرور بر اساس تعداد ردیف‌های جدول اطلاعاتی تصمیم می‌گیرد که تا چند مرحله ایندکس‌ها را دسته دسته کند تا بتواند با مقایسه مقدار مورد جستجو در سریع‌ترین زمان ممکن به داده‌های ردیف مورد نظر برسد. سطوح مختلف این دسته‌بندی‌ها به سه گونه گره ریشه یا روت (تنها دسته‌بندی آغازین)، گره‌های شاخه با برنچ (میانی) و گره‌های برگ یا لیفز که به لیف پیجز شناخته‌می‌شوند (پایانی) وجود دارند. از جمله مباحث مهم افزایش کارایی بانک اطلاعاتی ایجاد ایندکس‌های ترکیبی یا کامپوزیت متناسب با نوع جستجو است که در زمان ایجاد ارتباطات بین جداول از اهمیت مهمی برخوردار است. در بین تمام این مباحث در برخی سرورها مانند مای‌اس‌کیوال اینکه از چه نوع موتور اطلاعاتی MyISAM یا InnoDB استفاده شود از اولین سوالات است زیرا اولی نماینده سرعت در ثبت اطلاعات است (معمولاً بایگانی) و دومی نماینده تعادل در سرعت هم ثبت و هم خواندن به این دلیل در اولی در زمان ثبت داده کل جدول را قفل می‌کند و با عنوان غیرتراکنشی یا غیرترزاکشن شناخته می‌شود در حالی که دومی برعکس است و ردیف‌ها را قفل می‌کند.
معمولاً فرایند طراحی بانک اطلاعاتی پس از مرحله طوفان فکر یا مغز آغاز می‌شود که مرحله طراحی مدل نیز ممکن است در همان محیطی انجام شود که برای طوفان فکر استفاده شده مانند MS Visio اما معمولاً پس از قطعی شدن تصمیمات دربارهٔ ساختار پروژه، مرحله مدل‌کشی و طراحی پایگاه داده مستقیم در استودیوهای طراحی بانک اطلاعاتی مانند MySQL Workbench یا SQL server management studio انجام می‌شود از این رو چه پروژه تحت RUP یا اجیل اجرا شود تغییرات می‌تواند بلافاصله در مدل اصلی اعمال شود.
طراحی پایگاه باید به گونه‌ای باشد که از پیش با نحوه عملکرد لایه میانی مدل بانک اطلاعاتی روی برنامه استفاده‌کننده هماهنگ باشد (گاهی برعکس برنامه بر اساس بانک اطلاعاتی موجود ساخته می‌شود اما نه زمانی پایگاه داده مختص پروژه در حال طراحی است) برای مثال بسته به میزان وسعت پروژه و تعداد کاربران ممکن است از لایه الگوی نقشه‌کشی داده ‏(en)‏ (Datamapper) با سرعت بالاتر برای پروژه‌های عظیم‌تر نسبت به الگوی ثبت کنشور (AR) که از سرعت‌پایین‌تری برخوردار است استفاده شود حتی در مواردی ممکن است امکان استفاده از هیچ‌گونه لایه ORM وجود نداشته باشد برای مثال به خاطر مسائل امنیتی هر گونه تراکنش بانک اطلاعاتی بواسطه procedureها و روتین‌های از پیش‌نوشته شده ایمن انجام شود و اجازه افزودن یا ویرایش روی سرور بانک اطلاعاتی برای کاربران سرور وجود نداشته باشد. اکثراً توصیه شده‌است که از AR برای پروژه‌هایی که کاربران بسیار دارند استفاده نشود در عوض دیتامپر گزینه بهتر است. در مبحث بانک‌های اطلاعاتی از عبارت دومین یا دامنه برای امور کاملاً متفاوتی استفاده می‌شود یکی از آن‌ها لایه دومین در تضاد با لایه بیزینس در دیتامپر است که یکی لایه کنترل‌کننده ثبت و ویرایش و بررسی ریلیشن داده‌هاست و دیگری لایه مدل‌سازی در برنامه که از لایه اول استفاده می‌کند.

منابع اطلاعات

یک پایگاه داده که یک مجموعه‌ای از اطلاعات سازمان یافته تشکیل شده‌است.
یک سیستم مدیریت پایگاه داده (DBMS) است که یک نرم‌افزار کامپیوتر، است که تعامل با برنامه‌های کاربردی دیگر و پایگاه داده خود را به تصرف و تجزیه و تحلیل داده‌ها درمی‌آورد. DBMS طراحی شده اجازه می‌دهد تا تعریف ایجاد پرس و جو به روز رسانی و مدیریت پایگاه داده. شناخته شده DBMSs شامل خروجیهای PostgreSQLهای MongoDBهای MariaDBبا مایکروسافت SQL سرورهای اوراکلبا Sybaseهای SAP HANAبا MemSQL و آی بی ام DB2. یک پایگاه داده‌است. سیستم‌های مدیریت پایگاه داده اغلب با توجه به مدل پایگاه داده که آن‌ها پشتیبانی می‌شود طبقه‌بندی شده؛ محبوب‌ترین سیستم‌های پایگاه داده از سال 1980s که همه پشتیبانی‌ها را از مدل رابطهای نشان داده شده توسط زبانSQL می‌کند

برنامه‌های کاربردی

پایگاه‌های داده برای حمایت از عملیات داخلی سازمان و به زیر بنای تعاملات آنلاین با مشتریان و تأمین کنندگان (دیدن Enterprise نرم‌افزار) استفاده می‌شود.
پایگاه‌های داده به نگه داشتن اطلاعات اداری و اطلاعات تخصصی تر داده‌ها مانند داده‌های مهندسی یا مدل‌های اقتصادی. نمونه‌هایی از برنامه‌های کاربردی پایگاه داده شامل کامپیوتری کتابخانه، سیستم، پرواز، رزرو، سیستم هایکامپیوتری قطعات سیستم‌های موجودیو بسیاری از سیستم‌های مدیریت محتوا که ذخیره وب سایت به عنوان مجموعه‌ای از صفحات وب در یک پایگاه داده استفاده می‌شود.

منظوره و خاص منظوره DBMSs

DBMS ممکن است تبدیل به یک مجموعه سیستم نرم‌افزار شود و توسعه آن به‌طور معمول نیاز به هزاران سال دارد. برخی منظوره DBMSs مانند Adabasهای Oracle و DB2 به روز رسانی شده‌است از آنجا که 1970s. منظوره DBMSs با هدف پاسخگویی به نیازهای به عنوان بسیاری از برنامه‌های کاربردی است. . از سوی دیگر یک منظوره DBMS ممکن است.
نرم‌افزار اغلب می‌توانید به دسترسی به یک پایگاه داده از طرف کاربران نهایی بدون افشای رابط DBMS به‌طور مستقیم بینجامد. برنامه نویسان ممکن است استفاده از یک سیم پروتکل به‌طور مستقیم یا به احتمال زیاد از طریق یک رابط کاربردی برنامه‌نویسی به بانک اطلاعاتی طراحان و مدیران پایگاه داده ارتباط برقرار کند

تاریخچه

پس تکنولوژی پیشرفت در زمینه پردازندههای کامپیوتر و حافظههای ذخیره‌سازی کامپیوترو شبکه‌های کامپیوتریبه اندازه قابلیت و عملکرد پایگاه داده‌های مربوطه DBMSs در سفارشات رشد کرده‌است. توسعه فناوری پایگاه داده را می‌توان به سه دوره بر اساس داده‌های مدل یا ساختار: ناوبریهای SQL/رابطهایو پس از رابطهایتقسیم کرد.

۱۹۶۰ ناوبری DBMS

اصطلاح پایگاه داده همزمان با دسترسی مستقیمپ به ذخیره‌سازی (دیسک و درامز) از اواسط دهه ۱۹۶۰ به بعد معرفی شد.

1970s, relational DBMS

ادگار Codd در IBM در سن خوزه کالیفرنیادر یکی از شاخه دفاتر که عمدتاً درگیر در توسعه سیستم هارد دیسک مشغول به کاربود. او با ناوبری مدل CODASYL رویکرد ویژه فقدان یک «جستجو» مرکزنا راضی بود. در سال ۱۹۷۰ او نوشت: تعدادی از مقالات که مشخص شده‌است که با یک رویکرد جدید به پایگاه داده می‌توان نگاه کرد که در نهایت به اوج خود رسید..

رویکرد یکپارچه

در 1970s و 1980s به ساخت پایگاه داده و سیستم‌های یکپارچه با سخت‌افزار و نرم‌افزار تلاش کردند. فلسفه‌ای شد که از ادغام ارائه عملکرد بالاتر و هزینه کمتر استفاده شود.

در اواخر دهه 1970 SQL DBMS

IBM بر روی یک نمونه اولیه سیستم آزادانه در Codd شروع به کار کرد این مفاهیم را به عنوان سیستم R در اوایل 1970s اراییه شد. اولین نسخه آماده بود در ۱۹۷۴/۵ و کار پس از آن آغاز شده در چند جدول به‌طور سیستمی در آن داده‌ها را می‌توان تقسیم کرد .. پس از آن چند نسخه توسط مشتریان در سال ۱۹۷۸ و ۱۹۷۹ که در آن زمان استاندارد query language – SQL– اضافه شده بود تست شد.

تحقیقات

فناوری پایگاه داده فعال بوده‌است و موضوع تحقیق از دهه ۱۹۶۰در دانشگاها و در تحقیق و توسعه گروهی از شرکت‌ها (به عنوان مثال IBM Research) بوده‌است. فعالیت تحقیقاتی شامل تئوری و توسعه نمونه‌های اولیه است.