جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
پايگاه داده ها (3)
-(5 Body) 
پايگاه داده ها (3)
Visitor 829
Category: دنياي فن آوري

سطح ادراکي

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

سطح داخلي

سطح داخلي درگير چگونگي نمايش فيزيکي پايگاه داده روي سيستم کامپيوتري است و شرح مي دهد چگونه داده واقعا در پايگاه داده و سخت افزار ذخيره مي شود.
سطح داخلي ديد طراح پايگاه داده از محيط فيزيکي ذخيره سازي و درواقع فايل هاي محيط فيزيکي است که توسط شماي داخلي (internal schema) توصيف مي شود. شماي داخلي نحوه نمايش فيزيکي داده هايي را که در شماي ادراکي شرح داده شده را مشخص مي کند. انواع مختلف رکوردها، فيلدهاي داده، فايل ها، نحوه نمايش رکوردها در فايل، استراتژي دستيابي، شاخص ها و چگونگي ترتيب رکوردها در فايل توسط شماي داخلي تشريح مي شوند.
جزئيات تبديل به منبع ذخيره سازي در معماري سه سطحي بيان نمي شود و از اين سطح به پائين در اختيار DBMS نيست و به عهده سيستم عامل و درايورهاي دستگاه ذخيره سازي است.
مثال. در يک سازمان موجوديت کارمند را درنظر بگيريد. دوکاربرUser1 و User2 با دو ديد مختلف با اين موجوديت کار مي کنند. تعريف ديدهاي خارجي، ادراکي و داخلي مي توانند چنين باشند:

خارجي.

User View 1(PL/1):
DCL 1 EMPP,
2 Emp# Char(6),
2 Sal Fixed Bin (31);
User View 2(COBOL):
01 EMPC.
02 Empano Pic x(6).
02 Pic x(4).

ادراکي.

Employee
Employee_Number Character(6)
Department_Number Character(4)
Salary Numeric (5)

داخلي.

Stored_Emp
Prefix Type=Byte(6), Offset = 0
Emp# Type = Byte (6), Offset = 6, Index = Empx
Dept# Type = Byte (4), Offset = 12
Pay Type = FullWord, Offset = 16

تبديلات بين سطوح

در معماري سه سطحي روش هائي براي تبديل سطوح به يکديگر وجود دارد. دو سطح از تبديل موجود است:
• تبديل ادراکي/داخلي ارتباط ديد داخلي و ادراکي را تعريف مي کند. تعيين مي کند رکوردها و فيلدهاي سطح ادراکي چگونه در سطح داخلي نمايش داده شوند. تغييرات در سطح داخلي باعث عوض شدن تبديل ادراکي/داخلي مي شود. بنابراين شِماي ادراکي ممکن است ثابت بماند تا استقلال فيزيکي حاصل شود.
تبديل خارجي/ادراکي ارتباط ديد ادراکي و يک ديد خاص خارجي را برقرار مي کند. مثلا يک صفت خاصه از ديد کاربري ممکن است ترکيبي از چندين فيلد در سطح ادراکي باشد. تغيير در تعاريف ادراکي باعث تغيير نگاشت ادراکي/خارجي مي شود. از اين رو شِماي خارجي ممکن است ثابت بماند تا استقلال داده منطقي بدست بيايد.

استقلال داده

سيستم هاي قديمي وابسته به داده بودند به اين معني که روش سازماندهي داده در دستگاه جانبي و روش دسترسي به آن توسط برنامه و در منطق آن ساخته مي شدند. در چنين سيستمي تغيير در ساختار دخيره سازي يا استراتژي دستيابي بدون تاثير روي برنامه غيرممکن است.
يکي از مزاياي سيستم پايگاه داده استقلال داده است. استقلال داده به معني مصونيت برنامه ها از تغييرات ساختار ذخيره سازي و استراتژي دستيابي است. ساختار ذخيره سازي بدون تاثير روي ديدهاي کاربران است مي تواند تغيير کند. پايگاه داده و برنامه هاي کاربري هم مي توانند مستقل از يکديگر تغيير کنند.
دو نوع استقلال داده وجود دارد:

1. استقلال فيزيکي داده :

• استقلال فيزيکي داده نشان مي دهد تا چه اندازه شماي داخلي مي تواند بدون تاثير روي برنامه هاي کاربردي تغيير کند.

2. استقلال منطقي داده :

• استقلال منطقي داده نشان مي دهد تا چه اندازه شماي ادراکي مي تواند بدون تاثير روي برنامه کاربردي تغيير کند.

زبان ميزبان و زبان فرعي داده

برنامه نويسان، برنامه هاي کاربردي را با استفاده از يک زبان هاي سطح بالا نظير Visual basic، Java و Visial C پياده سازي مي کنند. زبان سطح بالائي که علاوه بر داشتن امکانات گوناگون داراي دستوراتي براي تعريف و کار با داده هستند زبان ميزبان (host language) ناميده مي شوند.
زيرمجموعه اي از زبان ميزبان که مختص عمليات ذخيره و بازيابي اطلاعات از پايگاه داده است زبان فرعي داده (Data Sub Language) نام دارد.
هر DSL ترکيبي از سه زبان ديگر است:
1. احکام تعريف داده (DDL)
2. احکام کارکردن با داده (DML)
3. احکام کنترلي (DCL)
زبان تعريف داده
DDL مخفف Data Definition Language امکان تعريف يا توصيف اشياي پايگاه داده را مي دهد. ساختار رکوردها، تعريف فيلدها، محل فايل ها و شيوه ذخيره سازي داده ها در بانک به وسيله احکام DDL انجام مي پذيرد.
مثال. نوع رکور زير را درنظر بگيريد.

create table account (
account-number  char(10),
balance    integer)

زبان دستکاري داده

DML مخفف Data Manipulation Language عمليات پردازشي و دستکاري اشياي پايگاه داده مانند insert، select، update را پشتيباني مي کند.
DML به عنوان زبان پرس و جو هم شناخته مي شود واغلب داراي قابليت انجام محاسبات رياضي و آماري است که عمليات گزارش گيري از پايگاه داده را آسان تر مي کند.

زبان کنترل داده

DCL مخفف Data Control Language امکان تعيين نوع استراتژي هاي دستيابي، تعريف شاخص ها و مرتب سازي داده هاي پايگاه داده را مي دهد.
دو دسته زبان DSL وجود دارد:
• رويه اي (Procedural). کاربر داده اي که نياز دارد و نحوه دريافت آن را تعيين مي کند.
غيررويه اي (nonprocedural) يا (Declarative). کاربر تعيين مي کند چه داده اي مورد نياز است ولي نحوه حصول آن را بيان نمي کند.
هر سيستم پايگاه داده DSL خاص خود را دارد به عبارت ديگر هر مدل داده زبان فرعي خاص دارد. يک DSL خاص که توسط اغلب سيستم هاي فعلي پستيباني مي شود SQL است. SQL يک زبان غير رويه اي است.
سطوح داخلي، ادراکي و خارجي هريک DSL خاص خود را دارند. شِماي هر سطح توسط DSL مربوطه نوشته مي شود.
XML مخفف Extensible Markup Language که توسط کنسرسيم W3C معرفي شده است زبان نشانه گذاري مستندات است تا زبان پايگاه داده. اما توانائي آن در تعيين تگ هاي جديد و توليد ساختارهاي تودرتو باعث شد روش مهمي براي تبادل داده بشود و اکنون XML اساس کليه فرمت هاي تبادل داده نسل جديد شده است. ابزارهاي گوناگوني براي تجزيه، مرور و پرس و جو داده/مستندات XML موجود است.

کاربران پايگاه داده

کاربران يک سيستم پايگاه داده توسط روش هائي که با سيستم تعامل مي کنند از هم تفکيک مي شوند.

تحليل گران سيستم

تحليل گران سيستم (system analysts) با گروه کاربران پايگاه داده به منظور درک نيازهاي اطلاعاتي و پردازشي آنها ارتباط دارند. نياز هاي اطلاعاتي و پردازشي هر گروه را مجتمع مي کنند و مستندسازي مي کنند.

طراحان پايگاه داده

طراحان پايگاه داده (database designers) ساختار مناسبي را براي نمايش اطلاعات مشخص شده توسط تحليل گر سيستم به طريق نرمالسازي شده به منظور تضمين جامعيت و سازگاري داده انتخاب مي کنند و با استفاده از DDL داده هاي پايگاه داده را تعريف مي کنند.

پياده سازان برنامه هاي کاربردي

برنامه نويسان برنامه هاي کاربردي (Application Developers) براي برآوردن نيازهاي کاربران و کار با پايگاه داده برنامه هايي را آماده مي کنند. تست، اشکالزدائي و مستندسازي برنامه و پايگاه داده از وظايف برنامه نويسان است. برنامه نويسان با سيستم توسط احکام DML ارتباط برقرار مي کنند.

مدير پايگاه داده

مدير پايگاه داده (database administrator) يا بطور خلاصه DBA فردي است که مسئول کنترل عمليات کل سيستم پايگاه داده است. DBA کليه فعاليت هاي سيستم پايگاه داده را هماهنگ مي کنند. اين فرد بايد درک خوبي از منابع و نيازهاي اطلاعاتي کل سازمان داشته باشد و براي حصول اطمينان از اينکه داده موردنياز قابل دسترس کاربران قرار مي گيرد با آنها در ارتباط باشد.
بعضي از وظايف DBA شامل:
* تعريف شِماها توسط DDL
* تعريف ساختار ذخيره سازي و متدهاي دسترسي توسط DDL
* اصلاح شِما و سازماندهي فيزيکي
* اعطاي مجوز دسترسي پايگاه داده به کاربران
* تعيين قيدهاي جامعيت
* عامل ارتباطي کاربران
* نظارت اجرا و واکنش براي تغيير درصورت نياز

• برقراري ديکشنري داده

کاربران نهائي

کاربران نهائي (End Users) شامل:
* کاربران پارامتري : که توسط برنامه هاي کاربردي نوشته شده با سيستم سروکار دارند. مانند تحويلدار بانک و کارکنان دفتري.
کاربران ماهر : که نياز هاي پيچيده تري دارند و با قابليت هاي DBMS آشنائي کامل دارند. درخواست هاي خود از پايگاه داده را توسط يک زبان پرس و جو مي سازند.
کاربران نهائي اتفاقي : کساني که دسترسي گاه و بيگاه به پايگاه داده دارند اما ممکن است هر بار نيازهاي متفاوتي داشته باشند. از زبان هاي پرس و جوي و مرورگرهاي حرفه اي تر استفاده مي کنند.

ديکشنري داده

ديکشنري داده ها (Data Catalog) يکي از امکاناتي است که در سيستم پايگاه داده در اختيار DBA قرار مي گيرد. ديکشنري داده ها که به آن راهنماي سيستم نيز مي گويند يک متا داده است يعني اطلاعاتي درباره خود پايگاه داده و داده هاي ذخيره شده در آن را نگهداري مي کند.
ديکشنري داده تعيين مي کند چه داده اي موجود است و چه معني دارد، داده چگونه ذخيره مي شود و در کجا قرار دارد، مالک آن چه کسي است و چه کساني اجازه دسترسي به داده را دارند، تاريخچه و آمار استفاده از داده را دربردارد.
مدل کردن داده (data modeling) تحليل و توصيف داده هاي محيط عملياتي و ارتباط بين آنها و شرح معني و قيدهاي داده است.
يک مدل داده قالب قراردادي براي ساخت و کارکردن با داده دراختيار مي گذارد.
يک مدل داده پديده هاي دنياي واقعي را توصيف مي کند و ساختار داده مورد نياز براي حل مسئله خاص و ارتباط دروني بين ساختارها را تعريف مي کند. دياگرام ER مثالي از اين نوع است که بيشتر توسط طراحان و تحليل گران سيستم به کار مي رود.
علاوه براين مدل داده تعيين مي کند يک DBMS چگونه داده را درون خود، به کاربران و برنامه هاي کاربردي نمايش دهد. مدل رابطه اي مثالي براي اين نوع از مدل داده است.

عناصر مدل داده

هر مدل داده بايد جنبه هاي زير را دارا باشد و نمادهائي براي بيان آنها داشته باشد:
• ساختمان هاي داده. که راهي براي سازماندهي داده هاي محيط عملياتي است و به DBMS مي گويد چگونه داده نمايش داده مي شود.
جامعيت. براي تضمين سازگاري و اعتبار داده در پايگاه داده است و به DBMS مي گويد چگونه مانع ورود داده نامعتبر به پايگاه داده بشود.
عمليات. مجموعه روش هايي که امکان کار با داده را مي دهند مانند عمليات اضافه، حذف، اصلاح و بازيابي داده.

ساختمان هاي داده

لازمه هر مدل داده اي وجود يک ساختار داده اي است. ساختار هاي داده نحوه سازماندهي داده هاي محيط عملياتي و نمايش داده در DBMS را تعيين مي کند.
هر مدل داده بايد شامل نمادهائي براي تعريف انواع موجوديت، انواع صفات خاصه و انواع ارتباط بين موجوديت ها باشد.

جامعيت

در هر مدل داده بايد امکان تعريف قيدهاي جامعيت وجود داشته باشد. قيدها قوانيني را براي تضمين سازگاري و اعتبار داده در پايگاه داده است وضع مي کنند و به DBMS مي گويند چگونه مانع ورود داده نامعتبر به پايگاه داده بشود.

عمليات

يک مدل داده علاوه بر ساختمان داده، مجموعه عملياتي را تعريف مي کند که مي تواند روي داده انجام شود.
عمليات امکان کار با داده را مي دهند مانند اضافه، حذف، اصلاح و بازيابي داده.
البته اين عمليات ممکن است صريحا در زبان پرس و جو خاصي نباشند. بلکه اساسي را فراهم کنند که بر پايه آن زبان پرس و جو ساخته مي شود.
انواع مدل هاي داده
• مدل موجوديت-ارتباط
مدل سلسله مراتبي
• مدل شبکه اي
• مدل هاي داده شيء گرا
• مدل داده نيمه ساختيافته (XML)
• مدل رابطه اي
مدل سلسله مراتبي
قديمي ترين مدل براي طراحي پايگاه داده مدل سلسله مراتبي ( hierarchical model) است، که در اوايل دهه 60 توسط IBM براي سازماندهي دنياي تجارت به شکل سلسله مراتبي پيشنهاد شد.
در مدل سلسله مراتبي داده ها و ارتباط بين آنها به کمک يک درختواره نمايش داده مي شوند.
درختواره گرافي است داراي يک ريشه و تعدادي گره که بين هر دو گره پيوندي وجود دارد. پيوند يک مسير منطقي را از يک گره در سطح بالا به يک گره ديگر در سطح پايين برقرار مي کند. مسيري از گره سطح پايين تر به گره سطح بالاتر وجود ندارد.
مدل اجازه تکرار اطلاعات را توسط ارتباطات والد/فرزند مي دهد؛ يعني هر گره در هر سطح مي تواند تعدادي گره وابسته يا فرزند داشته باشد که بعنوان والد آنها محسوب مي شود. هر گره فرزند تنها داراي يک گره والد است.
مثال. شرکتي چند شعبه دارد. هر شعبه احتياج به چندين قطعه براي ساخت محصولاتش دارد. هر قطعه از چند تهيه کننده تهيه مي شود.
در ساختار سلسله مراتبي دو نوع رکورد قطعه و موجوديت به صورت زير تعريف مي شوند:

Product ( P#, Pname, Color, Weight, City)
Supplier (S#, Sname, Status, City, QTY)

خواص مدل
* هر گره درختواره حاوي کليه صفات خاصه يک نوع رکورد تحت يک نوع موجوديت است.
* درختواره مجموعه اي از رکوردها با انواع مختلف مي تواند باشد.
• مجموعه اي از پيوندها را دارد که کليه انواع رکورد را در ساختار بهم متصل مي کند.
• حداکثر يک پيوند بين دو نوع رکورد وجود دارد بنابراين پيوندها نامگذاري نمي شوند.
* هر رکورد تنها والد در سطح بالاتر در درخت وجود دارد.
• اتصالي بين رکوردهاي هم نوع وجود ندارد. بين رکوردهاي هم سطح نمي توان حرکت کرد مگر اينکه والدشان يکي باشد.
* نقطه ورود به ساختار هميشه ريشه است و مسير منطقي هميشه از بالا به پايين است.
• دو عملگر جداگانه براي يافتن داده اي در ريشه و پرس و جو در فرزندان مورد نياز است.
ادامه دارد .....
مارسال مقاله توسط عضو محترم سايت با نام کاربري : davidfattahi
User Comments تعداد نظرات کاربران : 1
مهدي

خوب است عالي مفيد

1392/7/28-12:52

0
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image