1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

انواع پایگاه داده ها

شروع موضوع توسط minaaa ‏26/1/11 در انجمن برنامه نویسی

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    انواع پایگاه داده ها

    پایگاه داده ها از نظر ساختار مفهومی و شیوه‌ای رفتار با داده‌ها بر دو نوع هستند :

    1. پایگاه داده رابطه‌ای
    2. پایگاه داده شی‌گرا


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

    شگردهای مختلفی برای مدل‌های داده‌ای وجود دارد. بیشتر سیستم‌های پایگاه داده‌ای هر چند بطور معمول بیشتر از یک مدل را مورد حمایت قرار می‌‌دهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهای‌های منطقی (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 این مدل را پیاده سازی می‌کند.


    مدل شبکه ای(Network)

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


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


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


     
  2. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    مدل رابطه‌ای

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

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    پایگاه داده‌های شیء گرا

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

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    ویژگی‌های سیستم مدیریت پایگاه داده‌ها dbms

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