معماری یک سیستم یعنی چارچوب برای سیستم بعبارتی دیگر معماری یعنی اجزای کلی سیستم و ارتباط بین آنها .معماری یک سیستم یک دید کلی نسبت به سیستم فراهم کرده و به عنوان یک استاندارد می تواند توسط سازندگان آن سیستم استفاده گردد.
ساختار کلی معماری ANSI/SPARC
یکی از معماری های در سیستمهای بانک اطلاعاتی معماری ANSI/SPARC است در این معماری سیستم بانک اطلاعاتی به سه سطح تقسیم می شود:
سطح داخلی(فیزیکی):سطحی که به مفاهیمی مثل رکورد ذخیره شده ،بلوکها،فایل ها و… و تکنیک هایی برای فشرده سازی و رمزگذاری داده ها در سطح سیستم فایل مربوط می شود. نرم افزار مدیریت بانک اطلاعاتی با این سطح سطح سرو کار دارد در حالی که این سطح از دید کاربران و مدیر بانک اطلاعاتی مخفی است.
سطح خارجی: سطحی که شامل دیدگاه های کاربران نسبت به بانک اطلاعاتی است هر کاربر و یا برنامه کاربردی با توجه به وظایف و اختیاراتی که دارد تنها به بخشی از بانک اطلاعاتی وبصورت محدود دسترسی داشته و برداشت خاصی نسبت به اطلاعات دارد.هر کاربر میتواند از یک زبان برنامه نویسی خاص مثل Delphi یا VB یا #C یا … و از یک زبان پرس و جو مثل SQL برای کار با بانک اطلاعاتی استفاده نمایداستفاده کند. گاهی اوقات محدودیتهای زبان برنامه نویسی باعث این تفاوت دیدها می شود. بعنوان مثال ممکن است یک کاربر یک فیلد عددی را به شکل متنی دیده و استفاده کند.
سطح مفهومی:شامل اجتماع دیدگاه کاربران نسبت به بانک اطلاعاتی است که همان دیدگاه مدیر بانک اطلاعاتی است.در این دیدگاه تمام جداول بانک اطلاعاتی و تمام ستون ها و سطرهای آن به همان شکلی که وجود دارند دیده می شوند.بین سطح فیزیکی و سطح مفهومی باید یک نگاشت از بانک اطلاعاتی اراپه شده برای کاربران به فایل های ساختاری که روی رسانه ذخیره سازی ایجاد شده است و نگاشتی هم بین دیدگاههای خارجی و مفهومی وجود داشته باشد.
شکل کامل تر مربوط به سطوح بانک اطلاعاتی و نگاشت های بین سطوح در ذیل آمده است:
همانگونه که شکل فوق نشان داده شده است، هر کاربر از طریق یک زبان میزبان(Host Language) (زبان برنامه نویسی مثل ….., Delphi,VB)ویک زیر زبان داده ها (Data Sub-Language) یا بطور خلاصه DSL مخصوص برای دسترسی به بانک اطلاعاتی استفاده می کند. منظور از DSL مجموعه امکانات و دستوراتی است که در یک زبان برنامه نویسی برای ارتباط با بانک اطلاعاتی و دستکاری داده ها وجود دارد.
DSL شامل دو مجموعه از دستورات است
DDL : Data Definition Language
زبان تعریف داده ها شامل دستوراتی برای ایجاد بانک اطلاعاتی، تعیین ساختار جداول و اصلاح ساختارها .
DML: Data Manipulation Language
زبان دستکاری داده ها شامل دستوراتی برای درج، حذف و ویرایش داده ها و بازیابی آنها.
چند کاربر یا برنامه کاربردی ممکن است دیدگاه خارجی یکسانی نسبت به بانک اطلاعاتی داشته باشند.
برای هر دیدگاه خارجی باید شمای مخصوص آن ایجاد شود.
دیدگاه مفهومی اجتماع دیدگاه خارجی است و از اجتماع شماهای خارجی شمای مفهومی بدست می اید.
در سطح داخلی بانک اطلاعاتی ذخیره شده را داریم با ساختار مخصوص خودش.
ساختار داده ها در هر سطح با استفاده از شماهای مخصوص آن سطح نشان داده می شود. بین دیدگاه های خارجی و مفهومی و نیز بین دیدگاه مفهومی و دیدگاه داخلی نگاشت صورت گیرد. منظور از نگاشت (mapping) تبدیل داده ها، دستورات و ساختارها از یک سطح به سطحی دیگر است. این تبدیلات در زمان ایجاد بانک اطلاعاتی و شکل گرفتن دیدگاه و همچنین در زمان دسترسی به بانک اطلاعاتی و خواندن یا نوشتن داده ها باید انجام شود.
DBA وظیفه تهیه و تدوین شماهای خارجی، شمای مفهومی، نگاشت بین این دیدگاه ها و نظارت بر کیفیت ذخیره سازی بانک اطلاعاتی را بر عهده دارد.
وظایف DBMS
DBMS در تشکیل تمام دیدگاه ها و نگاشت بین دیدگاه ها نقش اساسی را داشته و امکانات لازم را برای آن ها فراهم می نماید. برخی از وظایف DBMS عبارتند از:
- تعریف داده ها
سیستم مدیریت بانک اطلاعاتی قادر به قبول تعاریف داده ها (شمای خارجی، شمای مفهومی، شمای داخلی و تمام نگاشت های متاظر) به شکل منبع بوده و آنها را به شکل مقصد مناسب تبدیل می کند. بخشی از DBMS به نام پردازنده DDL می باشد. دستورات DDL بر اساس شماها و نگاشت ها می باشند به پردازشگر DDL داده شده تا بر اساس آنها تعاریف و اشیایی تولید کرده و به عنوان شبه داده ها ذخیره کند.
- دستکاری داده ها
DBMS باید قادر باشد که درخواست های بازیابی، به هنگام رسانی یا حذف داده های موجود در بانک اطلاعاتی و همچنین اضافه کردن داده های جدیدی را به بانک اطلاعاتی انجام دهد. برای این کار دارای بخشی به نام پردازنده DML است. دستورات DML دو دسته هستند :
دستورات DML برنامه ریزی شده که در زبان طراحی بانک اطلاعاتی مشخص هستند و DBMS سعی می کند ساختار بانک اطلاعاتی را طوری تعیین که این دستورات پرس و جو بهتر اجرا شوند.
دستورات DML برنامه ریزی نشده بر اساس نیازهای پیش آمده اجرا می شوند. این در خواست ها می توانند به یک زبان پرس و جو مثل SQL نوشته شوند.
- بهینه سازی و اجرا
تمام درخواست های DML که توسط پردازشگر DML کمپایل می شود و در خواست های کمپایل شده بهینه سازی می شود تا سریع تر اجرا شوند. پرس و جوهای بهینه شده توسط بخشی به نام مدیر زمان اجرا،اجرا می شوند.در تمام این مراحل از شبه داده ها استفاده می شوند.
- جامعیت و امنیت داده ها
DBMS باید بر درخواست های کاربران نظارت داشته باشد و از هرگونه تلاشی که محدودیت های جامعیت و امنیت تعریف شده توسط DBA را برهم می زند جلوگیری کند.
- ترمیم و سازگاری داده ها
DBMS یا بعضی از نرم افزارهای مرتبط (مدیر تراکنش یا ناظر پردازش تراکنش) باید کنترل های خاصی را برای ترمیم و سازگاری داده ها فراهم کنند.
- فرهنگ داده ها
در بانک اطلاعاتی دو نوع داده ذخیره می شود: 1-داده 2-شبه داده
شبه داده ها : اطلاعاتی در مورد داده ها مثل مشخصات بانک اطلاعاتی،ساختار جداول و… را مشخص می کنند. این اطلاعات عبارتند از:
- تمام دیدگا ههای خارجی و ادراکی
- تمام نگاشت ها
- موجودیت ها (جداول)، صفات خاصه آنها و نوع داده هر فیلد
- ارتباط بین موجودیت ها و شاخص ها
- تاریخ ایجاد بانک اطلاعاتی، تاریخ اصلاح و دسترسی به آن
به کاتالوگ بانک اطلاعاتی، راهنما یا فرهنگ داده ها (Data Dictionary) نیز گفته می شود. کاتالوگ معمولا” بصورت یک بانک اطلاعاتی و یا مجموعه ای از جداول اطلاعاتی پیاده سازی و نگهداری می شود.