• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

پایگاه داده‌ها

parniann

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

معمولا DBMS ها بر اساس مدل هایی که استفاده می‌‌کنند تقسیم بندی می‌‌شوند: ارتباطی،شی گرا، شبکه‌ای و امثال آن. مدل های داده‌ای به تعیین زبانهای دسترسی به پایگاه‌های داده علاقه مند هستند. بخش قابل توجهی از مهندسی DBMS مستقل از مدل های می‌‌باشد و به فاکتور هایی همچون اجرا، همزمانی،جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطح تفاوت های بسیاری بین محصولات وجود دارد.
موارد زیر به صورت خلاصه شرح داده می شود:
•۱ تاریخچه پایگاه داده
•۲ انواع دادگان ها
•۳ مدل های پایگاه داده
۳.۱ مدل تخت
۳.۲ مدل شبکه ای(Network)
۳.۳ مدل رابطه ای
۳.۴ پایگاه داده‌های چند بعدی
۳.۵ پایگاه داده‌های شیء
•۴ ویژگی‌های سیستم مدیریت پایگاه داده‌ها
•۵ فهرست سیستم‌های متداول مدیریت دادگان

1- تاریخچه پایگاه داده
اولین کاربردهای اصطلاح پایگاه داده به June 1963 باز می‌گردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام "توسعه و مدیریت محاسباتی یک پایگاه داده‌ای مرکزی" را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهه 70 در اروپا و در اواخر دهه 70 در خبر نامه‌های معتبر آمریکایی به کار رفت.(بانک داده‌ای یا Databank در اوایل سال 1966 در روزنامه واشنگتن کار رفت)
تصویر:اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت. از پیشگامان این شاخه چارلز باخمن می‌‌باشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را محیا می‌‌کند. در آن زمانها پردازش داده بر پایه کارت های منگنه و نوار های مغناطیسی بود که پردازش سری اطلاعات را مهیا می‌‌کند. دو نوع مدل داده‌ای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکه‌ای شدکه ریشه در نظریات باخمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباس از آن شرکت IBM محصولIMS را تولید نمود.
مدل رابطه‌ای توسط E. F. Codd در سال 1970 ارائه شد.او مدل های موجود را مورد انتقاد قرار می‌‌داد. برای مدتی نسبتا طولانی این مدل در مجامع علمی مورد تایید بود. اولین محصول موفق برای میکرو کامپیوتر ها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال 1980 پژوهش بر روی مدل توزیع شده (distributed database) و ماشین های دادگانی (database machines) متمرکز شد، اما تاثیر کمی بر بازار گذاشت. در سال 1990 توجهات به طرف مدل شی گرا(object-oriented databases) جلب شد. این مدل جهت کنترل داده‌های مرکب لازم بود و به سادگی بر روی پایگاه داده‌های خاص، مهندسی داده(شامل مهندسی نرم افزار منابع) و داده‌های چند رسانه‌ای کار می‌‌کرد.

در سال 2000 نوآوری تازه‌ای رخ داد و دادگان اکس‌ام‌ال (XML) به وجود آمد. هدف این مدل از بین بردن تفاوت بین مستندات و داده ها است و کمک می‌‌کند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند.


2- انواع دادگان ها
دادگان‌ها از نظر ساختار مفهومی و شیوه‌ای رفتار با داده‌ها بر دو نوع هستند :
1.دادگان رابطه‌ای
2.دادگان شی‌گرا


3- مدل های پایگاه داده
شگرد های مختلفی برای مدل های داده‌ای وجود دارد. بیشتر سیستم های پایگاه داده‌ای هر چند که طور معمول بیشتر از یک مدل را مورد حمایت قرار می‌‌دهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهای های منطقی (logical model) اجراهای فیزیکی مختلفی قابل پیاده شدن است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران محیا می‌‌کند. یک انتخاب مناسب تاثیر موثری بر اجرا دارد. مثالی از موارد الگوی رابطه‌ای (relational model) است: همه رویدادهای مهم در مدل رابطه‌ای امکان ایجاد نمایه‌هایی که دسترسی سریع به سطرها در جدول را می‌‌دهد،فراهم می‌‌شود.

یک مدل داده‌ای تنها شیوه ساختمان بندی داده ها نیست بلکه معمولا به صورت مجموعه‌ای از عملیات ها که می‌‌تواند روی داده ها اجرا شود تعریف می‌‌شوند. برای مثال در مدل رابطه‌ای عملیاتی همچون گزینش (selection)، طرح ریزی (projection) و اتصال (join) تعریف می‌‌گردد.

۳.۱ مدل تخت
مدل تخت یا جدولی (flat (or table) model ) تشکیل شده است از یک آرایه دو بعدی با عناصر داده‌ای که همه اجزای یک ستون به صورت داده‌های مشابه فرض می‌‌شود و همه عناصر یک سطر با هم در ارتباط هستند. برای نمونه در ستون هایی که برای نام کاربری و رمز عبور در جزئی از سیستم های پایگاه داده‌ای امنیتی مورد استفاده قرار می‌‌گیرد هر سطر شامل رمز عبوری است که مخصوص یک کاربر خاص است. ستون های جدول که با آن در ارتباط هستند به صورت داده کاراکتری، اطلاعات زمانی، عدد صحیح یا اعداد ممیز شناور تعریف می‌‌شوند. این مدل پایه برنامه‌های محاسباتی(spreadsheet) است.

پایگاه داده ها با فایل های تخت به سادگی توسط فایل های متنی تعریف می‌‌شوند. هر رکورد یک خط است و فیلد ها به کمک جدا کننده هایی از هم مجزا می‌‌شوند. فرضا به مثال زیر دقت کنید:
id name team
1 Amy Blues
2 Bob Reds
3 Chuck Blues
4 Dick Blues
5 Ethel Reds
6 Fred Blues
7 Gilly Blues
8 Hank Reds
داده‌های هر ستون مشابه هم است ما به این ستونها فیلد ها (fields) گوییم. و هر خط را غیر از خط اول یک رکورد(record) می‌‌نامیم. خط اول را که برخی پایگاه‌های داده‌ای آنرا ندارند رکورد برچسب(field labels) گوییم. هر مقدار داده‌ای اندازه خاص خود را دارد که اگر به آن اندازه نرسد می‌‌توان از کاراکنر فاصله برای این منظور استفاده کرد اما این مسئله مخصوصا زمانی که بخواهیم اطلاعات را بر روی کارت های منگنه قرار دهیم مشکل ساز خواهد شد. امروزه معمولا از نویسه TAB برای جداسازی فیلد ها و کاراکتر خط بعد برای رکورد بعدی استفاده می‌‌کنیم. البته شیوه‌های دیگری هم وجود دارد مثلا به مثال زیر دقت کنید:
"1","Amy","Blues"
"2","Bob","Reds"
"3","Chuck","Blues"
"4","Dick","Blues"
"5","Ethel","Reds"
"6","Fred","Blues"
"7","Gilly","Blues"
"8","Hank","Reds"
این مثال از جدا کننده کاما استفاده می‌‌کند.در این نوع مدل تنها قابلیت حذف،اضافه،دیدن و ویرایش وجود دارد که ممکن است کافی نباشد.Microsoft Excel این مدل را پیاده سازی می‌کند.

۳.2 مدل شبکه ای(Network)
در سال 1969 و در کنفرانس زبانهای سیستم های داده‌ای (CODASYL) توسطCharles Bachman ارائه شد. در سال 1971 مجددا مطرح شد و اساس کار پایگاه داده‌ای قرار گرفت و در اوایل دهه 80 با ثبت آن درسازمان بين المللي استانداردهاي جهاني یا ISO به اوج رسید.

مدل شبکه‌ای (database model) بر پایه دو سازه مهم یعنی مجموعه ها و رکورد ها ساخته می‌‌شود و برخلاف روش سلسله مراتبی که از درخت استفاده می‌‌کند، گراف را به کار می‌‌گیرد. مزیت این روش بر سلسله مراتبی این است که مدل های ارتباطی طبیعی بیشتری را بین موجودیت ها فراهم می‌‌کند. الی رغم این مزیت ها به دو دلیل اساسی این مدل با شکست مواجه شد: اول اینکه شرکت IBM با تولید محصولات IMS و DL/I که بر پایه مدل سلسله مراتبی است این مدل را نادیده گرفت. دوم اینکه سرانجام مدل رابطه‌ای (relational model) جای آن را گرفت چون سطح بالاتر و واضح تر بود. تا اوایل دهه 80 به علت کارایی رابط های سطح پایین مدل سلسله مراتبی و شبکه‌ای پیشنهاد می‌‌شد که بسیاری از نیاز های آن زمان را برطرف می‌‌کرد. اما با سریعتر شدن سخت افزار به علت قابلیت انعطاف و سودمندی بیشتر سیستم های رابطه‌ای به پیروزی رسیدند.

رکورد ها در این مدل شامل فیلد هایی است( ممکن است همچون زبان کوبول (COBOL) به صورت سلسله مراتب اولویتی باشد). مجموعه ها با ارتباط یک به چند بین رکورد ها تعریف می‌‌شود: یک مالک و چند عضو. عملیات های مدل شبکه‌ای از نوع هدایت کننده است: یک برنامه در موقعیت جاری خود باقی می‌‌ماند و از یک رکورد به رکورد دیگر می‌‌رود هر گاه که ارتباطی بین آنها وجود داشته باشد. معمولا از اشاره‌گرها(pointers) برای آدرس دهی مستقیم به یک رکورد در دیسک استفاده می‌‌شود. با این تکنیک کارایی بازیابی اضافه می‌‌شود هر چند در نمایش ظاهری این مدل ضروری نیست .

۳.3 مدل رابطه ای
مدل رابطه ای (relational model) در یک مقاله تحصیلی توسط E. F. Codd در سال 1970 ارائه گشت. این مدل یک مدل ریاضیاتی است که با مفاهیمی چون مستندات منطقی (predicate logic) و تئوری مجموعه ها (set theory) در ارتباط است. محصولاتی همچون اینگرس،اراکل، DB2 وسرور اس‌کیوال (SQL Server) بر این پایه ایجاد شده است. ساختار داده ها در این محصولات به صورت جدول است با این تفاوت که می‌‌تواند چند سطر داشته باشد. به عبارت دیگر دارای جداول چند گانه است که به طور صریح ارتباطات بین آنها بیان نمی‌شود و در عوض کلید هایی به منظور تطبیق سطر ها در جداول مختلف استفاده می‌‌شود. به عنوان مثال جدول کارمندان ممکن است ستونی به نام "موقعیت" داشته باشد که کلید جدول موقعیت را با هم تطبیق می‌‌دهد.

۳.4 پایگاه داده‌های چند بعدی
پایگاه داده‌های رابطه‌ای توانست به سرعت بازار را تسخیر كند، هرچند كارهایی نیز وجود داشت كه این پایگاه داده‌ها نمی‌توانست به خوبی انجام دهد. به ویژه به كارگیری كليدها در چند ركورد مرتبط به هم و در چند پایگاه داده مشترك، كندی سیستم را موجب می‌شد. برای نمونه برای یافتن نشانی كاربری با نام دیوید، سیستم رابطه‌ای باید نام وی را در جدول كاربر جستجو كند و كليد اصلی (primary key ) را بیابد و سپس در جدول نشانی‌ها، دنبال آن كليد بگردد. اگر چه این وضعیت از نظر كاربر، فقط يك عملیات محسوب، اما به جستجو درجداول نیازمند است كه این كار پیچیده و زمان بر خواهد بود. راه كار این مشكل این است كه پایگاه داده‌ها اطلاعات صریح درباره ارتباط بین داده‌ها را ذخیره نماید. می‌توان به جای یافتن نشانی دیوید با جستجو ی كليد در جدول نشانی، اشاره‌گر به داده‌ها را ذخیره نمود. در واقع، اگر ركورد اصلی، مالك داده باشد، در همان مكان فیزيكی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت.
چنین سیستمی را پایگاه داده‌های چند بعدی می‌نامند. این سیستم در هنگامی كه از مجموعه داده‌های بزرگ استفاده می‌شود، بسیار سودمند خواهد بود. از آنجاييكه این سیستم برای مجموعه داده‌های بزرگ به كار می‌رود، هیچگاه در بازار به طور مستقیم عمومیت نخواهد یافت.

۳.5 پایگاه داده‌های شیء
اگر چه سیستم‌های چند بعدی نتوانستند بازار را تسخیر نمایند، اما به توسعه سیستم‌های شیء منجر شدند. این سیستم‌ها كه مبتنی بر ساختار و مفاهیم سیستم‌های چند بعدی هستند، به كاربر امكان می‌دهند تا اشیاء را به طور مستقیم در پایگاه داده‌ها ذخیره نماید. بدین ترتیب ساختار برنامه نویسی شیء گرا (object oriented ) را می‌توان به طور مستقیم و بدون تبدیل نمودن به سایر فرمت‌ها، در پایگاه داده‌ها مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالكيت (ownership) در سیستم چند بعدی، رخ می‌دهد. در برنامه شیء گرا (OO)، يك شیء خاص "مالك " سایر اشیاء در حافظه است، مثلا دیوید مالك نشانی خود می‌باشد. در صورتی كه مفهوم مالكيت در پایگاه داده‌های رابطه‌ای وجود ندارد.


4- ویژگی‌های سیستم مدیریت پایگاه داده‌ها
پس از این مقدمه به توصیف سیستم مدیریت پایگاه داده‌ها می‌پردازیم. سیستم مدیریت پایگاه داده‌ها، مجموعه‌ای پیچیده از برنامه‌های نرم‌افزاری است كه ذخیره سازی و بازیابی داده‌های (فیلدها، ركوردها و فایل‌ها) سازمان را در پایگاه داده‌ها، كنترل می‌كند. این سیستم، كنترل امنیت و صحت پایگاه داده‌ها را نیز بر عهده دارد. سیستم مدیریت پایگاه داده‌ها، درخواست‌های داده را از برنامه می‌پذیرد و به سیستم عامل دستور می‌دهد تا داده‌ها ی مناسب را انتقال دهد. هنگامی كه چنین سیستمی مورد استفاده قرار می‌گیرد، اگر نیازمندیهای اطلاعاتی سازمانی تغییر یابد، سیستم‌های اطلاعاتی نیز آسانتر تغییر خواهند یافت. سیستم مذكور از صحت پایگاه داده‌ها پشتیبانی می‌كند. بدین ترتیب كه اجازه نمی‌دهد بیش از يك كاربر در هر لحظه، يك ركورد را به روز رسانی كند. این سیستم ركوردهای تكراری را در خارج پایگاه داده‌ها نگاه می‌دارد. برای مثال، هیچ دو مشترك با يك شماره مشتری، نمی‌توانند در پایگاه داده‌ها وارد شوند. این سیستم روشی برای ورود و به روز رسانی تعاملی پایگاه داده‌ها فراهم می‌آورد. يك سیستم اطلاعات كسب و كار از موضوعاتی نظیر (مشتریان، كارمندان، فروشندگان و غیره) و فعالیت‌هایی چون (سفارشات، پرداخت‌ها، خریدها و غیره) تشكيل شده است. طراحی پایگاه داده‌ها، فرایند تصمیم گیری درباره نحوه سازماندهی این داده‌ها در انواع ركوردها و برقراری ارتباط بین ركوردهاست.سیستم مدیریت پایگاه داده‌ها می‌تواند ساختار داده‌ها و ارتباط آنها را در سازمان به طور اثر بخش نشان دهد. سه نوع مدل متداول سازمانی عبارتند از: سلسله مراتبی، شبكه‌ای و رابطه‌ای. يك سیستم مدیریت پایگاه داده‌ها ممكن است يك، دو یا هر سه روش را فراهم آورد. سرورهای پایگاه داده‌ها، كامپیوترهایی هستند كه پایگاه داده‌های واقعی را نگاه می‌دارند و فقط سیستم مدیریت پایگاه داده‌ها و نرم‌افزار مربوطه را اجرا می‌كنند. معمولا این سرورها رایانه‌های چند پردازنده‌ای با آرایه‌های ديسك RAID برای ذخیره سازی می‌باشند.


5- فهرست سیستم‌های متداول مدیریت دادگان
معروف‌ترین این نرم‌افزارهای مدیریت دادگان‌ها می‌توان به چند نمونه زیر اشاره کرد:

1.Oracle
2.Microsoft SQL Server
3.MySQL
4.PostregSQL
5.DB2
6.Microsoft Access
 

parniann

کاربر ويژه
پيشرفت سريع علم كامپيوتر و كاربرد وسيعي كه اين تكنولوژي در كليه امور زندگي بشر دارد از يك سو و حجم زياد اطلاعات و نياز بشر به سرعت،دقت و انسجام اطلاعات از سوي ديگر ،موجب گرديد تا اينجا بانك هاي اطلاعاتي به عنوان يكي از موضوعات مهم و اساسي جامعه بشري مطرح شود. بانك اطلاعاتي با ساختار خاص خود،ذخيره ساختن اطلاعات را براحتي ممكن ساخته و كاربران مجاز نيز به سادگي به اطلاعات دسترسي مي يابند. سعي داريم شما را با مفهوم بانك اطلاعاتي،سيستم مديريت بانك اطلاعاتي و فوايد استفاده از اين سيستمها آشنا سازيم.

داده ( Data ) و اطلاعات (‌ Information )
دو اصطلاح داده و اطلاعات كه بيشتر اوقات به جاي يكديگر برده مي شوند در سيستمهاي اطلاعاتي مفاهيم متفاوتي دارند. داده ها در اين سيستمهاي اطلاعاتي عبارتند از : كلمات و ارزشهاي واقعي كه از طريق مشاهده و تحقيق بدست مي آيند در حالي كه اطلاعات داده هاي پردازش شده مي باشند كه براي گيرنده قابل درك بوده و با دانستن آن شروع به تصميم گيري مي كند. به عبارت ديگر داده نمودي از وقايع، معلومات،رخدادها ،پديده ها و مفاهيم مي باشد در حاليكه اطلاعات تكوين و پردازش يا تفسير داده بوده و شامل خواص ارتباط دهندگي و انتقال دهندگي مي باشد.
موجوديت ( Entity )

موجوديت مصداق كلي هر پديده،فرد يا شي ء يا مفهومي است كه مي خواهيم در مورد آن اطلاعاتي داشته باشيم به عنوان مثال اگر در نظر داريم يك سيستم پايگاه داده براي يك دبيرستان پياده سازي كنيم مواردي چون دانش آموزان ، دبيران، دروس ،كلاسها و …. جزء موجوديت هاي سيستم بشمار مي روند.
صفت خاصه ( Attribute )
هر موجوديت از يكسري صفات تشكيل شده است كه داراي مقادير واقعي هستند و به عباراتي وجه تمايز يك موجوديت از موجوديت ديگر بشمار مي رود. به عنوان مثال در سيستم دانشگاه اگر موجوديت دانشجو را در نظر بگيريم مي توانيم صفات خاصه: نام ،نام خنوادگي،سن،سال تولد،رشته تحصيلي،سال ورود و … را برگزينيم و يا براي موجوديت درس: نوع موجوديت: درس صفات خاصه: كد درس،نام درس، تعداد واحد ‎ايجاد سيستم خودكار ذخيره و بازيابي داده ها دو روش كلي براي ذخيره ساختن و بازيابي خودكار داده ها وجود دارد:
1- روش استفاده از سيستمهاي اطلاعاتي ساده يا روش غير بانك اطلاعاتي
2- روش استفاده از بانكهاي اطلاعاتي
روش غير بانك اطلاعاتي

در اين روش ،داده ها در فايلهاي جداگانه اي قرار مي گيرند و براي استفاده از داده هاي موجود در آن فايلها،سيستمهاي جداگانه اي طراحي مي شوند. به اين نوع سيستمها سيستم پردازش فايل ( File-System ) گفته مي شود. در اين سيستمها هر برنامه ي كاربردي به فايل اطلاعاتي مربوط به خود مراجعه مي كند.
فايل 1« برنامه كاربردي 1 «كاربر 1
فايل 2« برنامه كاربردي 2 «كاربر 2
فايل 3« برنامه كاربردي 3 «كاربر 3​
در اين روش بسياري از داده هاي مورد نياز كاربر 1 در بين داده هاي در اختيار كاربر 2 و 3 وجود دارد و در نتيجه عدم تجمع داده ها و عدم وحدت ذخيره سازي اطلاعات مورد نياز كاربر 1 در فايل 1 با تكرار ذخيره سازي اطلاعات روبرو هستيم و اين به معني افزونگي داده است. از طرفي حفظ امنيت اين سيستم مشكل است در صورت ايجاد تغييراتي در فايل 1 در زمينه اطلاعات موجود در آن، برنامه كاربردي مربوط نيز بايد تغيير پيدا كند.
روش بانك اطلاعاتي

در اين روش كليه داده ها به صورت مجتمع يا بانك ذخيره شده ولي هر كاربر ديد خاص خود را نسبت به داده ها دارد. در اين صورت كاربران مختلف مي توانند بصورت مشترك با بانك كار كنند همچنين افزونگي داده ها به حداقل ممكن كاهش مي يابد. در اين روش نرم افزار مديريت بانك اطلاعاتي ( DBMS ) به عنوان واسطه بين برنامه هاي كاربردي و بانك اطلاعاتي ايفاي نقش مي كند لذا امنيت داده ها در اين روش بيشتر است.
« برنامه كاربردي 1 «برنامه كاربردي1
فايل« DBMS « برنامه كاربردي 2 «برنامه كاربردي2
«برنامه كاربردي 3 «برنامه كاربردي 3​

تعريف بانك اطلاعاتي ( Date Base )

به صورت جامع مي توان گفت: « بانك اطلاعاتي مجموعه اي سازمان يافته از اطلاعات و داده هاي مرتبط به هم است ” و در يك تعريف كاملتر بانك اطلاعاتي عبارت است از ” مجموعه اي از داده هاي ذخيره شده بصورت مجتمع و مبتني بر يك ساختار، با حداقل افزونگي، تحت كنترل متمركز كه استفاده از آن بصورت اشتراكي و همزمان نيز مسير مي باشد.
•مجتمع و مبتني بر يك ساختار بدين معني است كه كل داده هاي عملياتي محيط مورد نظر در يك ساختار مشخص به صورت يكجا ذخيره شده باشند و لازمه هر تجمعي وجود يك ساختار است.
•منظور از عدم افزونگي در يك تعبير ساده به حداقل رساندن ذخيره داده هاي تكراري و بهينه سازي استفاده از محيط هاي ذخيره اطلاعات مي باشد.
سيستم مديريت بانك اطلاعات ( DBMS )

DBMS مهمترين جزء نرم افزاري در سيستم بانك اطلاعاتي است كه به عنوان رابط بين بانك اطلاعاتي و كاربر عمل مي نمايد، به طوريكه كليه فايلهاي بانك اطلاعاتي فقط در اختيار اين نرم افزار قدرتمند قرار گرفته و كليه دستيابي ها به بانك از طريق DBMS صورت مي پذيرد. آنچه در مورد يك سيستم مديريت بانك اطلاعاتي اتفاق مي افتد عبارت است از :
1-كاربر با استفاده از بعضي زير زبان داده ها مانند SQL ( كه به تفضيل در فصل هاي آتي به آن اشاره خواهد شد) در خواست يك دسترسي مي نمايد.
2-DBMS در خواست مورد نظر را دريافت وآن را تحليل مي كند.
3-DBMS بترتيب ديد كاربر از داده هاي ذخيره شده و حفظ امنيت داده در محيط بانك اطلاعاتي را بازرسي و مرور مي كند. (‌كنترل امنيت و جامعيت داده ها )‌
4-DBMS عملكردهاي لازم را براي داده هاي ذخيره شده اجرا مي كند.
فايل و داده ها« سيستم عامل « DBMS «برنامه هاي كاربران​

محيط DBMS

اجزاء اصلي سيستم بانك اطلاعاتي عبارتند از : داده ها، سخت افزار، نرم افزار و كاربران كه در اين جا به تشريح آنها خواهيم پرداخت. داده ها ( Data )‌ داده كه قبلا به آن شاره گرديد از مهمترين اجزاء DBMS مي باشد. مجتمع و اشتراكي بودن داده ها به عنوان مزاياي اصلي سيستم پايگاه داده ها در محيط هاي بزرگ بشمار مي رود.
سخت افزار ( Hardware )

سخت افزار مورد نياز DBMS معمولا عبارتند از:
1-سخت افزار ذخيره سازي داده: در عمليات ذخيره سازي اده ها در محيط هاي بانك اطلاعاتي از ديسكهاي سريع و با ظرفيت بالا استفاده مي شود.
2-سخت افزار پردازنده هاي مركزي: با پيشرفت فناوري انفورماتيك، سيستم هايي به بازار عرضه شده اند كه از نظر معماري پردازنده مركزي، حافظه اصلي و ساير قسمتها از پيكربندي ويژه اي جهت ذخيره و بازيابي اطلاعات برخوردارند و به لحاظ اين ويژگي ها كاربرد بيشتري در محيط هاي بانك اطلاعاتي خواهند داشت.
3-سخت افزار ارتباطي: مجموعه امكانات سخت افزاري كه براي برقراري ارتباط بين كامپيوترها و دستگاهها جانبي و همچنين مابين چندين كامپيوتر ( به صورت شبكه اي ) استفاده مي شوند را تحت عنوان سخت افزارهاي ارتباطي بانك هاي اطلاعاتي مي شناسند.
نرم افزار ( Software )
نرم افزار شامل خود DBMS و برنامه هاي كاربردي، سيستم عامل و نيز نرم افزارهاي شبكه اي است. براي استفاده DBMS در محيط شبكه عمدتا از برنامه هاي كاربردي نوشته شده به زبانهاي برنامه نويسي نسل سوم مانند C ، كوبول، پاسكال و …. و يا زبانهاي نسل چهارم مانند SQL استفاده مي شود. هدف نرم افزارهاي DBMS ارائه چهار ابزار اصلي است كه عبارتند از :
1-زبانهاي پرس و جو (‌Query Language )
2-گزارش ها ( Report )
3-فرم ها ( Forms )
4-تصاوير ( Graphics )‌
كاربران (‌Users )

كاربران يا كساني كه به نحوي با سيستم در ارتباط هستند به چهار دسته مهم تقسيم مي شوند:
1-مديران بانك اطلاعاتي يا DBA
2-طراحان بانك اطلاعاتي يا DBD
3-برنامه نويسان بانك اطلاعاتي يا DBP
4-كاربران نهايي يا ساتفاده كنندگان سيستم ( End Users )

اصول معماري سيستم هاي بانك اطلاعاتي
با توجه به گفته هاي بالا در مي يابيم كه سيستم بانك اطلاعاتي ،سيستمي چند سطحي است. اين سيستم بوسيله امكانات سيستم مديريت بانك اطلاعاتي ايجاد شده و در اختيار كاربران قرار مي گيرد. در نظر داشته باشيد كه اين سيستم چند سطحي داراي يك معماري خاص مي باشد كه بيانگر نحوه تعريف داده ها در سطوح مورد نظر است.
وظايف DBMS
وظايف سيستم مديريت بانك اطلاعاتي بستگي به نوع كاربران آن دارد اين وظايف در چارچوب واحدهاي نرم افزاري طراحي و پياده سازي مي شوند. هر چند وظايف DBMS در سيستم هاي مختلف تا حدودر متفاوت است، اما به طور كلي اين وظايف عبارتند از:
•تعريف داده ها
•تامين امكان دستكاري داده ها
•ايجاد ديكشنري داده ها
•كنترل امنيت و جامعيت داده ها
•ايجاد امكان بازيابي از بانك اطلاعاتي
•بهنگام سازي داده ها
•تامين امكان كنترل كارايي
•تامين تسهيلاتي براي كاربران به منطور توسعه سيستم براي انجام اين وظايف مي بايست واحدهاي نرم افزاري مربوط در سيستم مديريت بانك اطلاعاتي وجود داشته باشد. هر كدام از اين واحدها ممكن است مركب از چند واحد كوچكتر باشند. توجه داشته باشيد كه هر سيستم نيازمند يك بخش كنترلي است. در سيستم مديريت بانك اطلاعاتي ، مجموعه واحدهايي كه وظايف كنترلي را بر عهده دارند اصطلاحا به سيستم كنترل بانك اطلاعاتي معروف مي باشند. به طور كلي واحدهاي زير در سيستم كنترل بانك اطلاعاتي وجود دارند:
•واحد نظارت بر اجراي برنامه كاربر
•واحد كامپايل كننده احكام و درخواستها
•واحد دستيابي به بانك فيزيكي
•واحد ثبت رويدادها و تغيراتي كه در بانك ايجاد مي شوند

زبان تعريف داده ها DDL
همانطور كه اشاره شد تعريف داده ها يكي از وظايف DBMS است. DDL از زبانهاي فرعي داده اي جهت تعريف داده ها است كه از آن جهت تعريف صفحات مشخصه و خصوصيات يك بانك استفاده مي شود. ساختار ركوردها، تعريف فيلدها، محل فايلها و شيوه ذخيره سازي داده ها در بانك به وسيله احكام DDL انجام مي پذيرد.
زبان پردازش و مديريت داده ها DML

تامين امكان دستكاري داده ها نيز از وظايف DBMS عنوان شد. زبان دستكاري ،پردازش و مديريت بانك اطلاعاتي به زباني گفته مي شود كه براي درج داده ها بروز رساني آنها و اجراي پرس و جو از يك بانك اطلاعاتي مورد استفاده قرار مي گيرد. اين زبانها اغلب داراي قابليت انجام محاسبات رياضي و آماري مي باشند كه به وسيله آنها عمليات گزارش گيري از بانك اطلاعاتي آسان تر خواهد شد.
ديكشنري داده ها
يكي ديگر از وظايف DBMS ، ايجاد ديكشنري يا فرهنگ داده است. ديكشنري داده ها يكي از امكاناتي است كه در محيط هاي بانك اطلاعاتي در اختيار اداره كنندگان بانك قرار مي گيرد. ديكشنري داده ها كه به آن راهنماي سيستم نيز مي گويند در واقع بانكي در مورد خود بانك و داده هاي ذخيره شده در آن است. بطور كلي اطلاعات و محتواي ديكشنري داده ها بشرح زير مي باشد:
• شرح ساختار و پيكر بندي فيزيكي بانك .
• تاريخ ايجاد داده ها .
• مكانسيم ورود داده ها به بانك .
• ارتباط بين برنامه هاي كاربردي و داده ها .
• مشخصات كاربران و چگونگي حق دستيابي آنها . آشنايي با جداول و اجزاء تشكيل دهنده آنها در بانك هاي اطلاعاتي
جدول مهمترين ساختار داده اي در سيستم بانك هاي اطلاعاتي رابطه اي است (‌در ادامه اين فصل به تشريح سيستم هاي رابطه اي خواهيم پرداخت. ) جدول در سيستم رابطه اي تشكيل شده از چندين سطر و ستون مي باشد كه مقادير داده در هر سطر و ستون در طول زمان متغير خواهد بود. به طور كلي جداول ساختار بنيادين رابطه ها هستند. سطرهاي موجود در جداول را « ركورد» و ستونهاي آن را « فيلد» مي نامند.

ركورد
ركورد يك ساختار داده اي متشكل از مجموعه فيلدهاست كه هر يك از اين فيلدها نام و نوع خاص خود را دارند. برخلاف يك آرايه كه تمام عناصر آن نمايانگر انواع يكساني از اطلاعات هستند و دستيابي به آنها با يك شاخص (‌ايندكس )‌انجام مي شود، عناصر يك ركورد نمايانگر انواع مختلفي از اطلاعات مي باشد كه بوسيله نامشان مورد دستيابي قرار مي گيرند.
فيلد
فيلد محلي است در يك ركورد كه نوع خاصي از داده ها در آن ذخيره مي شود. به عنوان مثال چنانچه قرار باشد براي ذخيره سازي اطلاعات كارمندان يك سازمان از جداول استفاده شود،ركورد اين جداول ممكن است فيلدهايي براي ذخيره سازي نام خانوادگي، نام، نشاني ،مدرك تحصيل و …. داشته باشد. فيلدها بوسيله بيشينه طول و نوع داده هايشان (‌كاراكتري ، عددي، تاريخ و … )‌ از يكديگر تميز داده مي شوند. توجه داشته باشيد كه امكان تعريف اين مشخصات معمولا در زبان تعريف داده ها (‌DDL )‌ قرار دارد.
آشنايي با روشهاي ارتباط و مدلهاي بانك هاي اطلاعاتي
سه مدل داده اي براي سيستم هاي بانك اطلاعاتي وجود دارد. لازمه هر مدل داده اي وجود يك ساختار داده اي است كه علاوه بر مدل داده عناصر ديگري را نيز در بردارد. عناصر مدل داده اي عبارتند از ساختارداده اي ، عملگرهاي عمل كننده روي ساختار و قواعد عام براي تامين جامعيت مي باشند. در ادامه اين بحث قصد داريم مدلهاي موجود را مورد مطالعه قرار دهيم. از آنجا كه بانك اطلاعاتي اوراكل مبتني بر مدل رابطه اي است، لذا بيشتر بحث خود را بر مدل رابطه اي معطوف مي داريم .
مدل سلسله مراتبي

اين ساختار ،قديمي ترين مدل براي طراحي بانك هاي اطلاعاتي است، در اين ساختار داده ها و ارتباط بين آنها به كمك يك درختواره نمايش داده مي شوند. در رختواره گرافي است داراي يك ريشه و N گره كه در حالت بسته و غير چرخشي قرار دارد. منظور از حالت بسته اين است كه بين هر دو گره پيوندي وجود دارد كه يك مسير منطقي را از گرهي به گره ديگر تامين مي كند و هميشه از سطح بالاتر به سطح پايين تر است . غير چرخشي نيز يعني مسيري از گره سطح پايين تر به گره سطح بالاتر وجود ندارد. هر گره از هر سطح مي تواند تعدادي گره وابسته يا فرزند داشته باشد ولي هر گره فرزند فقط يك گره پدر دارد. هر گره از رختواره مي تواند ركوردي حاوي يك نوع موجوديت باشد. از آنجا كه ريشه سلسله مراتب، نقطه ورود به ساختار بوده و مسير منطقي از سمت بالاتر به سمت پايين تر است، براي عمليات بازيابي ، علاوه بر دستيابي به ريشه، امكان دستيابي به فرزند نيز بايد وجود داشته باشد. در بحث ذخيره سازي نيز اين سيستم داراي اشكال است.
مدل شبكه اي

در اين ساختار موجوديت ها به كمك انواع ركوردها،و ارتباطات به كمك پيوندهاي بين ركوردها نمايش داده مي شوند. چنانچه خواسته باشيم اين ساختار را با مفاهيم موجود در رختواره توضيح دهيم، بايد گفت كه در اين ساختار، هر گره فرزند مي تواند بيش از يك گره پدر داشته باشد. بنابراين به كمك اين ساختار مي توان ارتباطات يك به چند را نمايش داد. مدل شبكه اي پيچيده تر از مدل سلسله مراتبي است و به همان نسبت عمليات ذخيره و بازيابي پيچيده تري دارد.
مدل رابطه اي
پايگاه داده رابطه اي از ديد كاربران يك مجموعه از جدولهايي است كه به درستي قابل درك مي باشند. چهار مفهوم اساسي در اين مدل به شرح زير وجود دارد:
1- جدول 2- ستونها 3- رديفها 4- فيلدها
اين مدل داده ها را در روابط سازماندهي نموده و از قوانين رياضي تبعيت مي كند. صفات خاصه يك موجوديت در يك سيستم به عنوان يك رابطه در اين مدل مطرح مي شود. به عنوان مثال در سيستم دانشگاه مي توانيم رابطه دانشجو را در نظر بگيريم :
( شماره شناسنامه، سال ورود، رشته، نام ، شماره دانشجويي ) دانشجو
صفت خاصه نام رابطه اين رابطه بر طبق مدل رابطه اي بصورت زير نمايش داده مي شود:
شماره شناسايي سال ورود رشته نام
1012 1379 كامپيوتر علي 245
2578 1380 رياضي حسين 265
3920 1379 آمار رضا 327
17 1381 كامپيوتر بهرام 493
هر ستون در مدل رابطه اي همچنان كه در بالا مشاهده مي كنيد نشان دهنده يك صفت خاصه ( فيلد)‌ از يك نوع موجوديت ( دراين مثال دانشجو)‌ و هر سطر نمايانگر يك نمونه از يك موجوديت (‌ركورد)‌ مي باشد.

خواص ارتباطات رابطه اي
يك جدول يا رابطه شامل خواص زير است:
• رديفهاي تكراري در آن وجود ندارد.
• ترتيب رديفها مهم نيست.
• ترتيب ستونها مهم نيست.
• مقادير اتميك (‌Atomic )‌ مي باشند ( يا به عبارتي همه مقادير صفات غير قابل تجزيه هستند.)
كليد در مدل رابطه اي

كليد در مدل رابطه اي صفت خاصه يا نام ستوني است كه براي هر كدام از سطرهاي مقدار منحصر بفردي دارد به عنوان مثال در رابطه دانشجو شماره دانشجويي مي تواند يك كليد باشد زيرا هر دانشجو شماره دانشجويي مخصوص به خود را دارد اما نام را نمي توان يك كليد در نظر گرفت . كليد مي تواند تركيبي از صفات باشد به عنوان مثال در رابطه دانشجو مجموعه نام و شماره شناسنامه نيز مي توانند به عنوان كليد در نظر گرفته شوند. كليد كانديد: از مجموعه كليدهايي كه مي توانيم براي يك رابطه در نظر بگيريم آنهايي كه در دو ويژگي زير صدق كنند به عنوان كليد كانديد در رابطه مذكور مطرح مي شوند.
1- منحصر به فرد بودن: مقدار اين صفت براي هر سطر منحصر به فرد است.
2- خاصيت غير قابل كاهش بودن: هيچ زير مجموعه مناسبي از صفات تشكيل دهنده كليد. داراي خاصيت منحصر به فرد بودن نباشد.
به عنوان مثال اگر مجموعه دو صفت شماره دانشجويي و نام را به عنوان كليد در نظر بگيريم شرط اول در مورد اين كليد صادق است ولي شرط دوم برقرار نيست زيرا شماره دانشجويي به عنوان زير مجموعه اي از دو صفت شماره دانشجويي و نام داراي خاصيت منحصر به فرد بودن است. پس اين مجموعه كليد كانديد نيست. اما كليد اصلي، كليد كانديدي است كه توسط طراح بانك اطلاعاتي انتخاب و معرفي مي شود يا به عبارتي طراح بانك،يكي از كليدهاي كانديد را به عنوان كليد اصلي بر ميگزيند در تعيين كليد اصلي از بين كليدهاي كانديد بايد دو ضابطه زير را در نظر گرفت:
1- در نظر گرفتن اهميت كليد اصلي نسبت به ساير كليدهاي كانديد كه در پاسخگويي به نيازهاي متنوع كاربران از اهميت بيشتري برخوردار است.
2- كوتاهتر بودن طول كليد كانديد از نظر طول رشته بايتي.
سيستم بانك اطلاعاي رابطه اي
سيستم مديريت بانك اطلاعاتي رابطه اي داراي شرايط زير است:
1- بانك اطلاعاتي مبتني بر رابطه ها ( بطوريكه كاربر بانك را بصورت مجموعه اي از جداول ببينيد. جداولي كه دو سطر تكراري در آن وجود ندارد. ترتيب رديفها و ستونها در آن مهم نيست و ستونها قابل تجزيه نيستند.)
2- حداقل سه عمل زير روي جداول آن قابل انجام باشديا به عبارتي داراي عملگرهايي جهت انجام سه مورد زير بر روي جداول باشد.
1) عملگري جهت انتخاب سطرهاي خاصي از بانك اطلاعاتي (‌ عملگر گزينش )‌
2) عملگري جهت انتخاب ستونهايي از بانك اطلاعاتي (‌ عملگر گزينش)‌
3) عملگري جهت تركيب دو جدول اطلاعاتي و ايجاد جدول جديد (‌ عملگر پيوند)‌
مزاياي مهم سيستم هاي بانك اطلاعاتي
اهميت و اعتباري كه فن آوري بانكهاي اطلاعاتي در سالهاي اخير كسب كرده است به حدي است كه اينك به مثابه فن آوري برتر هم در محيط هاي تك كاربردي و هم در محيطهاي چند كاربردي ، بطور فراگير مورد استفاده قرار مي گيرد. مهمترين مزاياي سيستم بانك اطلاعاتي به شرح زير مي باشد:
• وحدت ذخيره سازي داده هاي عملياتي .
• كاهش افزونگي: در صورت عدم استفاده از سيستمهاي بدون پايگاه داده، به دليل آنكه هر برنامه كاربردي داراي فايلهاي خاص خودش مي باشد، تكرار اطلاعات در برنامه هاي كاربردي سبب افزونگي شده و موجب هدر رفتن فضاي منبع ذخيره سازي مي گردد.
• پرهيز از ناسازگاري: با كنترل و كاهش افزونگي، سيستم پايگاه داده ها سازگاري و يكپارچگي داده ها را تضمين مي كند.
• به اشتراك گذاتشتن داده ها: در سيستم پايگاه داده ها برنامه هاي كاربردي موجود قادر به اشتراك گذاردن داده ها در بانك اطلاعاتي بوده و برنامه هاي كاربردي جديد نيز مي توانند از اين داده ها استفاده كنند. در واقع عليرغم ديدگاههاي متفاوت كاربران، چند كاربر مي توانند در يك زمان به بانك دسترسي داشته باشند.
• اعمال محدوديتهاي امنيتي : وجود سيستمهاي امنيتي در پايگاه داده ها كه از مهمترين مشخصه هاي اين گونه سيستمها است امكان اعمال كنترل هاي مختلف را براي هر نوع دسترسي (‌ بازيابي،اصلاح، حذف و غيره) بر روي بانك اطلاعاتي را فراهم مي كند.
• ايجاد تعادل بين درخواستهاي تداخلي: در سيستمهاي بانك اطلاعاتي، ساختاري جهت دسترسي سريع به منبع ذخيره سازي وجود دارد كه بهترين و بهينه ترين امكانات را براي سيستم فراهم مي آورد. خلاصه: در اين فصل شما را با مفهوم بانك اطلاعاتي ، اجزاء و عناصر مهم بانك اطلاعاتي و سيستم مديريت بانك اطلاعاتي آشنا ساختيم همچنين سه مدل سلسله مراتبي، شبكه اي و رابطه اي براي سيستم هاي بانك اطلاعاتي معرفي شد كه با بيان مزايا و تعريف مدل رابطه اي اهميت و لزوم استفاده از بانك هاي اطلاعاتي رابطه اي جهت طراحي نرم افزاري و سخت افزاري سيستم هاي اطلاعاتي مشاهده گرديد.
 
بالا