۳.۱ مدل تخت
مدل تخت یا جدولی (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 ) را بیابد و سپس در جدول نشانیها، دنبال آن كليد بگردد. اگر چه این وضعیت از نظر كاربر، فقط يك عملیات محسوب، اما به جستجو درجداول نیازمند است كه این كار پیچیده و زمان بر خواهد بود. راه كار این مشكل این است كه پایگاه دادهها اطلاعات صریح درباره ارتباط بین دادهها را ذخیره نماید. میتوان به جای یافتن نشانی دیوید با جستجو ی كليد در جدول نشانی، اشارهگر به دادهها را ذخیره نمود. در واقع، اگر ركورد اصلی، مالك داده باشد، در همان مكان فیزيكی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت.
![پایگاه داده های چند بعدی پایگاه داده های چند بعدی](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
چنین سیستمی را پایگاه دادههای چند بعدی مینامند. این سیستم در هنگامی كه از مجموعه دادههای بزرگ استفاده میشود، بسیار سودمند خواهد بود. از آنجاييكه این سیستم برای مجموعه دادههای بزرگ به كار میرود، هیچگاه در بازار به طور مستقیم عمومیت نخواهد یافت.