پایگاه داده ها (3)
سطح ادراکی
سطح ادراکی دید طراح پایگاه داده از داده های ذخیره شده در پایگاه داده است. داده های دنیای واقعی آنطور که واقعا هستند توسط طراح پایگاده داده مدل می شوندد.
برای تعریف سطح ادراکی از یک ساختار یا مدل داده استفاده می شود که شمای ادراکی (conceptual schema) نامیده می شود. شمای ادراکی کلیه داده ها و ارتباط بین آنها را توصیف می کند. علاوه بر این رویه های شناسائی و قیدهای جامعیت را نیز دربر می گیرد.
برای کسب استقلال داده، شمای ادراکی تنها درگیر معنی داده است و جنبه های نمایش داده، سازماندهی فیزیکی و استراتژی های دستیابی ندیده گرفته می شود.
شمای خارجی از شمای ادراکی مشتق می شود و اگر مدل داده در هر دو سطح یکسان نباشد سیستم پایگاه داده را دوساختاری می نامند.
سطح داخلی
سطح داخلی دید طراح پایگاه داده از محیط فیزیکی ذخیره سازی و درواقع فایل های محیط فیزیکی است که توسط شمای داخلی (internal schema) توصیف می شود. شمای داخلی نحوه نمایش فیزیکی داده هایی را که در شمای ادراکی شرح داده شده را مشخص می کند. انواع مختلف رکوردها، فیلدهای داده، فایل ها، نحوه نمایش رکوردها در فایل، استراتژی دستیابی، شاخص ها و چگونگی ترتیب رکوردها در فایل توسط شمای داخلی تشریح می شوند.
جزئیات تبدیل به منبع ذخیره سازی در معماری سه سطحی بیان نمی شود و از این سطح به پائین در اختیار DBMS نیست و به عهده سیستم عامل و درایورهای دستگاه ذخیره سازی است.
مثال. در یک سازمان موجودیت کارمند را درنظر بگیرید. دوکاربرUser1 و User2 با دو دید مختلف با این موجودیت کار می کنند. تعریف دیدهای خارجی، ادراکی و داخلی می توانند چنین باشند:
خارجی.
User View 1(PL/1): |
Employee |
Stored_Emp |
تبدیلات بین سطوح
• تبدیل ادراکی/داخلی ارتباط دید داخلی و ادراکی را تعریف می کند. تعیین می کند رکوردها و فیلدهای سطح ادراکی چگونه در سطح داخلی نمایش داده شوند. تغییرات در سطح داخلی باعث عوض شدن تبدیل ادراکی/داخلی می شود. بنابراین شِمای ادراکی ممکن است ثابت بماند تا استقلال فیزیکی حاصل شود.
تبدیل خارجی/ادراکی ارتباط دید ادراکی و یک دید خاص خارجی را برقرار می کند. مثلا یک صفت خاصه از دید کاربری ممکن است ترکیبی از چندین فیلد در سطح ادراکی باشد. تغییر در تعاریف ادراکی باعث تغییر نگاشت ادراکی/خارجی می شود. از این رو شِمای خارجی ممکن است ثابت بماند تا استقلال داده منطقی بدست بیاید.
استقلال داده
یکی از مزایای سیستم پایگاه داده استقلال داده است. استقلال داده به معنی مصونیت برنامه ها از تغییرات ساختار ذخیره سازی و استراتژی دستیابی است. ساختار ذخیره سازی بدون تاثیر روی دیدهای کاربران است می تواند تغییر کند. پایگاه داده و برنامه های کاربری هم می توانند مستقل از یکدیگر تغییر کنند.
دو نوع استقلال داده وجود دارد:
1. استقلال فیزیکی داده :
2. استقلال منطقی داده :
زبان میزبان و زبان فرعی داده
زیرمجموعه ای از زبان میزبان که مختص عملیات ذخیره و بازیابی اطلاعات از پایگاه داده است زبان فرعی داده (Data Sub Language) نام دارد.
هر DSL ترکیبی از سه زبان دیگر است:
1. احکام تعریف داده (DDL)
2. احکام کارکردن با داده (DML)
3. احکام کنترلی (DCL)
زبان تعریف داده
DDL مخفف Data Definition Language امکان تعریف یا توصیف اشیای پایگاه داده را می دهد. ساختار رکوردها، تعریف فیلدها، محل فایل ها و شیوه ذخیره سازی داده ها در بانک به وسیله احکام DDL انجام می پذیرد.
مثال. نوع رکور زیر را درنظر بگیرید.
create table account ( |
زبان دستکاری داده
DML به عنوان زبان پرس و جو هم شناخته می شود واغلب دارای قابلیت انجام محاسبات ریاضی و آماری است که عملیات گزارش گیری از پایگاه داده را آسان تر می کند.
زبان کنترل داده
دو دسته زبان DSL وجود دارد:
• رویه ای (Procedural). کاربر داده ای که نیاز دارد و نحوه دریافت آن را تعیین می کند.
غیررویه ای (nonprocedural) یا (Declarative). کاربر تعیین می کند چه داده ای مورد نیاز است ولی نحوه حصول آن را بیان نمی کند.
هر سیستم پایگاه داده DSL خاص خود را دارد به عبارت دیگر هر مدل داده زبان فرعی خاص دارد. یک DSL خاص که توسط اغلب سیستم های فعلی پستیبانی می شود SQL است. SQL یک زبان غیر رویه ای است.
سطوح داخلی، ادراکی و خارجی هریک DSL خاص خود را دارند. شِمای هر سطح توسط DSL مربوطه نوشته می شود.
XML مخفف Extensible Markup Language که توسط کنسرسیم W3C معرفی شده است زبان نشانه گذاری مستندات است تا زبان پایگاه داده. اما توانائی آن در تعیین تگ های جدید و تولید ساختارهای تودرتو باعث شد روش مهمی برای تبادل داده بشود و اکنون XML اساس کلیه فرمت های تبادل داده نسل جدید شده است. ابزارهای گوناگونی برای تجزیه، مرور و پرس و جو داده/مستندات XML موجود است.
کاربران پایگاه داده
تحلیل گران سیستم
طراحان پایگاه داده
پیاده سازان برنامه های کاربردی
مدیر پایگاه داده
بعضی از وظایف DBA شامل:
* تعریف شِماها توسط DDL
* تعریف ساختار ذخیره سازی و متدهای دسترسی توسط DDL
* اصلاح شِما و سازماندهی فیزیکی
* اعطای مجوز دسترسی پایگاه داده به کاربران
* تعیین قیدهای جامعیت
* عامل ارتباطی کاربران
* نظارت اجرا و واکنش برای تغییر درصورت نیاز
• برقراری دیکشنری داده
کاربران نهائی
* کاربران پارامتری : که توسط برنامه های کاربردی نوشته شده با سیستم سروکار دارند. مانند تحویلدار بانک و کارکنان دفتری.
کاربران ماهر : که نیاز های پیچیده تری دارند و با قابلیت های DBMS آشنائی کامل دارند. درخواست های خود از پایگاه داده را توسط یک زبان پرس و جو می سازند.
کاربران نهائی اتفاقی : کسانی که دسترسی گاه و بیگاه به پایگاه داده دارند اما ممکن است هر بار نیازهای متفاوتی داشته باشند. از زبان های پرس و جوی و مرورگرهای حرفه ای تر استفاده می کنند.
دیکشنری داده
دیکشنری داده تعیین می کند چه داده ای موجود است و چه معنی دارد، داده چگونه ذخیره می شود و در کجا قرار دارد، مالک آن چه کسی است و چه کسانی اجازه دسترسی به داده را دارند، تاریخچه و آمار استفاده از داده را دربردارد.
مدل کردن داده (data modeling) تحلیل و توصیف داده های محیط عملیاتی و ارتباط بین آنها و شرح معنی و قیدهای داده است.
یک مدل داده قالب قراردادی برای ساخت و کارکردن با داده دراختیار می گذارد.
یک مدل داده پدیده های دنیای واقعی را توصیف می کند و ساختار داده مورد نیاز برای حل مسئله خاص و ارتباط درونی بین ساختارها را تعریف می کند. دیاگرام ER مثالی از این نوع است که بیشتر توسط طراحان و تحلیل گران سیستم به کار می رود.
علاوه براین مدل داده تعیین می کند یک DBMS چگونه داده را درون خود، به کاربران و برنامه های کاربردی نمایش دهد. مدل رابطه ای مثالی برای این نوع از مدل داده است.
عناصر مدل داده
• ساختمان های داده. که راهی برای سازماندهی داده های محیط عملیاتی است و به DBMS می گوید چگونه داده نمایش داده می شود.
جامعیت. برای تضمین سازگاری و اعتبار داده در پایگاه داده است و به DBMS می گوید چگونه مانع ورود داده نامعتبر به پایگاه داده بشود.
عملیات. مجموعه روش هایی که امکان کار با داده را می دهند مانند عملیات اضافه، حذف، اصلاح و بازیابی داده.
ساختمان های داده
هر مدل داده باید شامل نمادهائی برای تعریف انواع موجودیت، انواع صفات خاصه و انواع ارتباط بین موجودیت ها باشد.
جامعیت
عملیات
عملیات امکان کار با داده را می دهند مانند اضافه، حذف، اصلاح و بازیابی داده.
البته این عملیات ممکن است صریحا در زبان پرس و جو خاصی نباشند. بلکه اساسی را فراهم کنند که بر پایه آن زبان پرس و جو ساخته می شود.
انواع مدل های داده
• مدل موجودیت-ارتباط
مدل سلسله مراتبی
• مدل شبکه ای
• مدل های داده شیء گرا
• مدل داده نیمه ساختیافته (XML)
• مدل رابطه ای
مدل سلسله مراتبی
قدیمی ترین مدل برای طراحی پایگاه داده مدل سلسله مراتبی ( hierarchical model) است، که در اوایل دهه 60 توسط IBM برای سازماندهی دنیای تجارت به شکل سلسله مراتبی پیشنهاد شد.
در مدل سلسله مراتبی داده ها و ارتباط بین آنها به کمک یک درختواره نمایش داده می شوند.
درختواره گرافی است دارای یک ریشه و تعدادی گره که بین هر دو گره پیوندی وجود دارد. پیوند یک مسیر منطقی را از یک گره در سطح بالا به یک گره دیگر در سطح پایین برقرار می کند. مسیری از گره سطح پایین تر به گره سطح بالاتر وجود ندارد.
مدل اجازه تکرار اطلاعات را توسط ارتباطات والد/فرزند می دهد؛ یعنی هر گره در هر سطح می تواند تعدادی گره وابسته یا فرزند داشته باشد که بعنوان والد آنها محسوب می شود. هر گره فرزند تنها دارای یک گره والد است.
مثال. شرکتی چند شعبه دارد. هر شعبه احتیاج به چندین قطعه برای ساخت محصولاتش دارد. هر قطعه از چند تهیه کننده تهیه می شود.
در ساختار سلسله مراتبی دو نوع رکورد قطعه و موجودیت به صورت زیر تعریف می شوند:
Product ( P#, Pname, Color, Weight, City) |
* هر گره درختواره حاوی کلیه صفات خاصه یک نوع رکورد تحت یک نوع موجودیت است.
* درختواره مجموعه ای از رکوردها با انواع مختلف می تواند باشد.
• مجموعه ای از پیوندها را دارد که کلیه انواع رکورد را در ساختار بهم متصل می کند.
• حداکثر یک پیوند بین دو نوع رکورد وجود دارد بنابراین پیوندها نامگذاری نمی شوند.
* هر رکورد تنها والد در سطح بالاتر در درخت وجود دارد.
• اتصالی بین رکوردهای هم نوع وجود ندارد. بین رکوردهای هم سطح نمی توان حرکت کرد مگر اینکه والدشان یکی باشد.
* نقطه ورود به ساختار همیشه ریشه است و مسیر منطقی همیشه از بالا به پایین است.
• دو عملگر جداگانه برای یافتن داده ای در ریشه و پرس و جو در فرزندان مورد نیاز است.
ادامه دارد .....
مارسال مقاله توسط عضو محترم سایت با نام کاربری : davidfattahi
/س