Download presentation
Presentation is loading. Please wait.
1
بسم الله الرحمن الرحيم
2
نام منبع: مفاهيم بنيادي پايگاه دادهها
نام درس: اصول طراحي پايگاه دادهها تعداد واحد: 4 نام منبع: مفاهيم بنيادي پايگاه دادهها مولف: سيد محمد تقي روحاني رانكوهي تهيهكننده: دكتر احمد فراهي
3
فهرست جلسات جلسه اول: مفاهيم پايگاه دادهها
جلسه دوم: مدلسازي معنايي دادهها جلسه سوم: محدوديتهاي روش ER جلسه چهارم: پايگاه داده در محيط انتزاعي جلسه پنجم: معماري پايگاه دادهها جلسه ششم: سيستم مديريت پايگاه دادهها جلسه هفتم: DBMS در يك سيستم كامپيوتري جلسه هشتم: معماري سيستم پايگاه دادهها
4
فهرست جلسات جلسه نهم: مدل رابطهاي
جلسه دهم: قواعد جامعيت پايگاه دادهها جلسه يازدهم: زبان SQL جلسه دوازدهم: ادامه زبان SQL جلسه سيزدهم: ديد در مدل رابطهاي جلسه چهاردهم: طراحي پايگاه دادههاي رابطهاي جلسه پانزدهم: نرمالترسازي رابطهها جلسه شانزدهم: طراحي فيزيكي پايگاه دادهها
5
اهداف اين درس در اين درس به بخشي از مفاهيم مبنايي دانش و تكنولوژي پايگاه دادهها و اصول مدلسازي و طراحي آن پرداخته ميشود. پايگاه داده و عناصر اصلي محيط آن معرفي ميشود. با مدلسازي معنايي دادهها و محيط انتزاعي آشنا ميشويم. سطوح معماريهاي پايگاه دادهها بيان ميشود. سيستم مديريت پايگاه دادهها (DBMS) و اجزاء آن شرح داده ميشود. به انواع معماريهاي سيستم پايگاهي و مفاهيم اساسي مدل رابطهاي پرداخته ميشود. با زبان SQL به عنوان يك زبان رابطهاي و همچنين با ديدهاي رابطهاي آشنا ميشويم و در نهايت طراحي پايگاه دادهها به روش بالا به پايين، سنتز و طراحي فيزيكي را خواهيم ديد.
6
جلسه اول مفاهيم پايگاه دادهها
7
آنچه در اين جلسه مي خوانيد:
1- سيستم ذخيره و بازيابي اطلاعات در معناي عام 2- ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها 3- داده 4- تعريف اطلاع 5- تعريف دانش 6- تعريف پايگاه دادهها
8
آنچه در اين جلسه مي خوانيد:
7- مراحل كلي كار در مشي فايلينگ 8- معايب مشي فايلينگ 9- مراحل كلي كار در مشي پايگاهي 10- عناصر محيط پايگاه دادهها 11- انواع سختافزارهاي محيط پايگاه داده 12- انواع نرمافزارهاي موجود در محيط پايگاه دادهها
9
هدفهاي كلي: مقدمه و آشنايي با مفاهيم پايگاه دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: داده، اطلاع، شناخت، سيستم ذخيره و بازيابي و پايگاه دادهها را تعريف كند. ردههاي تكنولوژيكي پايگاه داده را بيان كند. رهيافتهاي ايجاد يك سيستم كاربردي را ارائه كند.
10
اصطلاح پايگاه دادهها يكي از رايجترين اصطلاحات در دانش و فن كامپيوتر است
در اين درس دانشجويان تنها با بخشي از مفاهيم بنيادي دانش وفن پايگاه دادهها آشنا شده، آگاهي پايهاي لازم را براي مطالعه بيشتر و يا كار در اين زمينه كسب ميكنند.
11
سيستم مديريت پايگاه دادهها يكي از سيستمهاي ذخيره و بازيابي اطلاعات است.
12
سيستم ذخيره و بازيابي اطلاعات در معناي عام:
هر سيستمي كه به كاربر برنامهساز يا نابرنامهساز امكان دهد تا اطلاعات خود را ذخيره، بازيابي و پردازش كند.
13
ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها
1- سيستم فايلينگ 2- سيستم مديريت دادهها 3- سيستم مديريت پايگاه دادهها 4- سيستم مديريت پايگاه شناخت 5- سيستم مديريت پايگاه دادههاي شيئگرا 6- سيستم هوشمند مديريت پايگاه دادهها 7- سيستم معنايي مديريت پايگاه دادهها 8- سيستم مديريت پايگاه دادههاي زمانبند 9- سيستم مديريت پايگاه دادههاي نيمساختمند و ناساختمند ادامه
14
ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها
10- سيستم مديريت پايگاه دادههاي بي درنگ 11- سيستم دادهكاوي و كشف شناخت 12- سيستم مديريت چند پايگاهي 13- سيستم اطلاعات اجرائي 14- سيستم فعال مديريت پايگاه دادهها 15- سيستم مديريت پايگاه دادههاي شيئ-رابطهاي
15
داده تعريف اول- نمايش ذخيرهشده اشياء فيزيكي، چيزهاي مجرد، بودهها، رويدادها يا چيزهاي قابل مشاهده كه در تصميمسازي بكار ميآيند.
16
داده تعريف دوم- هر مجموعهاي از بودهها
17
داده تعريف سوم- بودههاي خام كه معناي اندكي دارند مگر اينكه به صورت منطقي سازماندهي شده باشند
18
تعريف داده از ديدگاه ANSI
نمايش بودهها، پديدهها، مفاهيم يا شناختهها به طرزي صوري و مناسب براي برقراري ارتباط، تفسير يا پردازش توسط انسان يا هر امكان خودكار هر نمايشي اعم از كاراكتري يا كميتهاي قياسي كه معنايي به آن قابل انتساب باشد.
19
اطلاع، داده پردازششده است.
تعريف اطلاع اطلاع به دادهاي اطلاق ميشود كه توسط يك فرد يا سازمان براي تصميمگيري بكار ميرود اطلاع، داده پردازششده است. اطلاع عبارت است از داده سازمان يافتهاي كه شناختي را منتقل ميكند
20
دانش عبارتست از نمايش نمادين جنبههايي از بخشي از خرد جهان واقع
تعريف دانش دانش عبارتست از نمايش نمادين جنبههايي از بخشي از خرد جهان واقع
21
تعريف پايگاه دادهها مجموعهاي است از دادههاي ذخيره شده و پايا، به صورت مجتمع(يكپارچه) (نه لزوما فيزيكي، بلكه حداقل به طور منطقي)، بهم مرتبط، با كمترين افزونگي، تحت مديريت يك سيستم كنترل متمركز، مورد استفاده يك يا چند كاربر از يك يا بيش از يك ”سيستم كاربردي“، به طور همزمان و اشتراكي
22
براي ايجاد يك سيستم كاربردي دو رهيافت وجود دارد:
1- رهيافت سنتي يا مشي فايلينگ 2- رهيافت (مشي) پايگاهي
23
نمايش سادهشده مشي فايلينگ
كاربران نمايش سادهشده مشي فايلينگ نابرنامهساز برنامهساز FILES OS U F I برنامههاي ايجاد، كنترل و پردازش فايلها محيط ذخيرهسازي اطلاعات خاص اداره ثبت نام: U1 U1 اداره امور آموزش FS يا DMS OS FILES محيط ذخيرهسازي اطلاعات خاص اداره فارغالتحصيلان: U2 U F I برنامههاي ايجاد، كنترل و پردازش فايلها U2 FS يا DMS اداره امور فارغ التحصيلان FILES OS U F I برنامههاي ايجاد، كنترل و پردازش فايلها محيط ذخيرهسازي اطلاعات خاص اداره امور رفاهي: U3 FS يا DMS U3 اداره امور رفاهي دانشجويان محيط فايلينگ منطقي و يا مجازي محيط فيزيكي ذخيره و بازيابي اطلاعات
24
مراحل كلي كار در مشي فايلينگ
- تحليل و بررسي نيازهاي اطلاعاتي و پردازشي هر قسمت به طور جداگانه - اجراي مراحل كلاسيك اوليه لازم براي طراحي و توليد يك سيستم كاربردي - تعيين مشخصات هر سيستم و وظايف آن - طراحي تعدادي فايل - نوشتن مجموعهاي از برنامههاي ايجاد، كنترل و پردازش فايل ادامه
25
مراحل كلي كار در مشي فايلينگ
- استفاده از يك پيكربندي سختافزاري و نرمافزاري مشخص - انجام تستهاي لازم و تنظيم سيستم كاربردي - ايجاد يك سيستم كاربردي براي هر قسمت و برپايي محيط فيزيكي ذخيره و بازيابي اطلاعات و سيستم بهرهبرداري از آن خاص همان قسمت.
26
1- عدم وجود محيط مجتمع ذخيرهسازي اطلاعات و عدم وجود سيستم يكپارچه
معايب مشي فايلينگ 1- عدم وجود محيط مجتمع ذخيرهسازي اطلاعات و عدم وجود سيستم يكپارچه 2- عدم وجود سيستم كنترل متمركز روي كل دادهها 3- افزونگي 4- عدم وجود ضوابط ايمني كارا و مطمئن 5- خطر بروز پديده ناسازگاري دادهها ادامه
27
معايب مشي فايلينگ 6- عدم امكان اشتراكي شدن دادهها 7- مصرف نابهينه امكانات سختافزاري و نرمافزاري 8- حجم زياد برنامهسازي 9- وابستگي برنامههاي كاربردي به محيط ذخيرهسازي دادهها
28
نمايش سادهشده مشي پايگاهي
كاربران برنامهساز نمايش سادهشده مشي پايگاهي نابرنامهساز تيم بهرهبردار تيم پيادهساز U F I تعريف دادهها و برنامههاي عمليات در دادهها (AP1) OS فايلهاي ذخيرهشده بهم مرتبط (FILES) D B M S پايگاه دادهها تعريف و كنترل دادهها به طور جامع و برنامههاي عمليات در دادهها U F I تعريف دادهها و برنامههاي عمليات در دادهها (AP2) F S U F I تعريف دادهها و برنامههاي عمليات در دادهها (AP3) محيط واحد، مجتمع و اشتراكي ذخيرهسازي كثرت و تنوع ديدها نسبت به دادههاي ذخيرهشده محيط فرافايلي
29
مراحل كلي كار در مشي پايگاهي
- بررسي و تحليل نيازهاي پردازشي و اطلاعاتي همه قسمتها توسط يك گروه - مدلسازي معنايي دادهها - تعيين مشخصات جامع (يكپارچه) كاربردي و وظايف آن - انتخاب يك يا چند پيكربندي سختافزاري-نرمافزاري - استفاده از يك يا چند DBMS - طراحي پايگاه دادهها در سطوح لازم ادامه
30
مراحل كلي كار در مشي پايگاهي
- توليد مجموعهاي از برنامههاي ايجاد و كنترل پايگاه داده - ايجاد محيط واحد و مجتمع ذخيرهسازي و مشترك بين كاربران - طراحي و توليد واسطهاي كاربرپسند مورد نياز - تعريف پايگاه داده هر قسمت توسط كاربر مربوطه - طراحي برنامههاي عمليات در پايگاه داده - بهرهبرداري واقعي از سيستم پس از تستهاي لازم
31
عناصر محيط پايگاه دادهها
1- سختافزار 2- نرمافزار 3- كاربر 4- داده كاربران سيستم عامل يكجا سيستم مديريت پايگاه دادهها پايگاه دادهها دادههاي ذخيرهشده: مجموعهاي از فايلها پيوسته (برخط) سختافزار ذخيرهسازي
32
انواع سختافزارهاي محيط پايگاه داده
1- سختافزار ذخيرهسازي دادهها 2- سختافزار پردازشگر 3- سختافزار همرسانش (ارتباط)
33
انواع نرمافزارهاي موجود در محيط پايگاه دادهها
1- سيستم مديريت پايگاه دادهها (DBMS) 2- برنامههاي كاربردي قابل اجرا در محيط DBMS 3- رويههاي ذخيرهشده 4- نرمافزار شبكه
34
مدلسازي معنايي دادهها
جلسه دوم مدلسازي معنايي دادهها
35
آنچه در اين جلسه مي خوانيد:
1- مدلسازي معنايي دادهها 2- انواع روشهاي مدلسازي معنايي دادهها 3- سه مفهوم معنايي موجود در روش ER 4- تعريف موجوديت 5- سه ضابطه در رابطه با تشخيص يك نوع موجوديت 6- موجوديت مستقل و وابسته 7- تعريف صفت
36
آنچه در اين جلسه مي خوانيد:
8- انواع صفت و تعاريف هريك 9- ارتباط 10- خصوصيات نوع ارتباط 11- نمودار ER 12- نمادهاي رسم نمودار ER 13- وضع مشاركت در ارتباط 14- درجه آن ارتباط 15- چندي يا ماهيت نوع ارتباط
37
هدفهاي كلي: آشنايي با مدلسازي معنايي دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: مدلسازي معنايي پايگاه دادهها و انواع آن را بيان كند. روش مدلسازي ER و مفاهيم آن را تشريح كند. نمودار ER و نمادهاي آن را رسم كند.
38
مدلسازي معنايي دادهها
دادههاي ذخيرهشدني در پايگاه دادهها ابتدا بايد در بالاترين سطح انتزاع مدلسازي معنايي شوند.
39
انواع روشهاي مدلسازي معنايي دادهها
روش موجوديت- ارتباط (ER) روش زبان عمومي مدلسازي (UML) روش تكنيك مدلسازي شيئي (OMT)
40
سه مفهوم معنايي موجود در روش ER
نوع موجوديت ارتباط صفت
41
تعريف موجوديت مفهوم كلي شيئ، چيز، پديده و به طور كلي هر آنچه كه ميخواهيم در موردش اطلاع داشته باشيم و شناخت خود را در موردش افزايش دهيم.
42
سه ضابطه در رابطه با تشخيص يك نوع موجوديت
1- معمولا نمونههايي متمايز از يكديگر دارند. 2- معمولا بيش از يك صفت دارد و كاربر به مجموعهاي از اطلاعات در مورد آن نياز دارد. 3- معمولا حالت كنشگري (فاعليت) يا حالت كنشپذيري (مفعوليت) دارد.
43
موجوديت مستقل و وابسته موجوديت مستقل (قوي)، موجوديتي است كه مستقل از هر موجوديت ديگر و به خودي خود، در يك محيط مشخص مطرح باشد. موجوديت وابسته (ضعيف)، موجوديتي است كه وجودش وابسته به يك نوع موجوديت ديگر است.
44
تعريف صفت خصيصه يا ويژگي يك نوع موجوديت است و هر نوع موجوديت مجموعهاي از صفات دارد. هر صفت يك نام، يك نوع و يك معناي مشخص دارد.
45
ساده يا مركب تكمقداري يا چندمقداري انواع صفت شناسه يا ناشناسه موجوديت هيچمقدارپذير يا ناپذير ذخيرهشده يا مشتق
46
مقدار صفت ساده از لحاظ معنايي تجزيهنشدني يا اتوميك است.
صفت مركب از چند صفت ساده تشكيل شده است.
47
صفت چندمقداري بيش از يك مقدار از دامنه مقادير ميگيرد.
صفت تكمقداري، صفتي است كه براي يك نمونه از يك نوع موجوديت حداكثر يك مقدار از دامنه مقادير را ميگيرد صفت چندمقداري بيش از يك مقدار از دامنه مقادير ميگيرد.
48
صفت شناسه موجوديت كه گاه به آن كليد هم گفته ميشود، دو ويژگي دارد:
1- يكتايي مقدار دارد. 2- حتي الامكان طول مقاديرش كوتاه است.
49
هيچ مقدار يعني مقدار ناشناخته، مقدار غيرقابل اعمال، مقدار تعريفنشده.
صفت هيچ مقدارپذير هيچ مقدار يعني مقدار ناشناخته، مقدار غيرقابل اعمال، مقدار تعريفنشده. اگر مقدار يك صفت در يك يا بيش از يك نمونه از يك نوع موجوديت، برابر با هيچمقادر باشد، آن صفت هيچمقدارپذير است.
50
صفت ذخيرهشده صفتي است كه مقاديرش در پايگاه دادهها ذخيره شده باشد.
صفت ذخيرهشده و مشتق صفت ذخيرهشده صفتي است كه مقاديرش در پايگاه دادهها ذخيره شده باشد. صفت مشتق، صفتي است كه مقاديرش در پايگاه دادهها ذخيره نشده باشد، بلكه حاصل يك پردازش روي فقرههايي از دادههاي ذخيره شده باشد.
51
ارتباط تعريف- اندركنش (تعامل) بين دو يا بيش از دو نوع موجوديت است و ماهيتا نوعي بستگي بين انواع موجوديتهاست
52
خصوصيات نوع ارتباط 1- هر ارتباط يك نام دارد 2- هر ارتباط يك معناي مشخص دارد و اين معنا با معناي هر ارتباط ديگر متفاوت است. 3- هر ارتباط نمونههايي دارد.
53
نمودار ER نموداري است كه سه مفهوم اساسي مدل ER، يعني نوع موجوديت، صفت و ارتباط نمايش داده ميشوند
54
نمادهاي رسم نمودار ER نوع موجوديت نوع موجوديت ضعيف نوع ارتباط
نوع ارتباط با موجوديت ضعيف مشاركت نوع موجوديت در نوع ارتباط
55
نمادهاي رسم نمودار ER مشاركت الزامي صفت صفت شناسه اول صفت شناسه دوم
صفت شناسه مركب صفت چندمقداري
56
نمادهاي رسم نمودار ER صفت مركب صفت مشتق چندي ارتباط
N 1 R 1 به N 1 به 1 M به N چندي ارتباط E1 E2 1 1 N M E1 E2 ارتباط ”گونهاي است از“
57
وضع مشاركت در ارتباط مشاركت يك نوع موجوديت در يك نوع ارتباط را الزامي گويند، اگر تمام نمونههاي آن نوع موجوديت در آن نوع ارتباط شركت كنند. در غير اين صورت مشاركت غيرالزامي است. انتخاب دانشجو درس نمايش مشاركت الزامي
58
تعداد شركتكنندگان در يك ارتباط را درجه آن ارتباط ميگويند.
دانشجو درس استاد انتخاب نمره ترم سال آموزشي ارتباط بين سه موجوديت
59
چندي يا ماهيت نوع ارتباط عبارتست از چگونگي تناظر بين دو مجموعه نمونههاي آن دو نوع موجوديت.
يك به يك 1:1 يك به چند 1:N انواع چندي ارتباط: چند به چند N:M
60
نمايش چندي ارتباط ترم سال آموزشي نمره N انتخاب M درس دانشجو N 1 حذف
61
جلسه سوم محدوديتهاي روش ER
62
آنچه در اين جلسه مي خوانيد:
1- مشكلات روش ER (سه نوع دام) 2- تجزيه و تركيب 3- تخصيص و تعميم 4- تجمع 5- وراثت صفت 6- دستهبندي 7- مراحل مدلسازي معنايي دادهها 8- روش مدلسازي UML 9- نمادها 10- خصوصيات کلي روش مدلسازي معنايي داده ها
63
هدفهاي كلي: مشكلات و محدوديتهاي روش ER
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: مشكلات روش ER (انواع دامها) را تشريح كند. محدوديتهاي روش ER را كه در روش EER برطرف شدند، بيان كند. مراحل مدلسازي معنايي دادهها را توصيف كند. مدلسازي UML و نمادهاي به كار رفته در آن را شرح دهد. خصوصيات كلي مدلسازي معنايي دادهها را بيان كند.
64
مشكلات روش ER 1- دام حلقهاي
هنگامي ايجاد ميشود كه با داشتن مثلا سه ارتباط دو موجوديتي، وجود يك ارتباط سه موجوديتي را نتيجه بگيريم در وضعي كه اين استنتاج درست نباشد
65
مشكلات روش ER 2- دام چندشاخه (چتري) اين نوع دام وقتي ايجاد ميشود كه بين يك نوع موجوديت E و هريك از ديگر انواع موجوديت F، G و ... ارتباط 1:N با مشاركت الزامي وجود داشته باشد، ولي ارتباط بين مثلا F و G، در مدلسازي ديده نشده باشد.
66
مشكلات روش ER 3- دام شكاف هنگامي ايجاد ميشود كه بين دو نوع موجوديت E و F، يك ارتباط باچندي 1:N و مشاركت الزامي وجود داشته باشد، ولي F خود با نوع موجوديت G، ارتباط 1:N با مشاركت غيرالزامي داشته باشد. به دليل غير الزامي بودن ارتباط بين F و G، نميتوان همه اطلاعات دوموجوديتي در مورد ارتباط بين نمونههاي دو نوع موجوديت E و G را بدست آورد
67
تجزيه تركيب محدوديتهاي روش ER كه در روش EER برطرف گرديدند: تخصيص تعميم تجمع وراثت صفت
68
تجزيه تجزيه يا جداسازي يعني يك شيئ كل را به اجزاء تشكيلدهنده آن تقسيم كنيم. شيئ كل صفات، ساختار و رفتار خود را دارد و هريك از اجزاء نيز صفات، ساختار و رفتار خاص خود را دارند. شيئ كل شامل اجزاء خود است و بين شيئ كل و اجزايش، ارتباط شمول وجود دارد. به اين نوع ارتباط در EER، ارتباط ”جزئي است از ...“ گفته ميشود.
69
تركيب تركيب، عكس عمل تجزيه است و در اين عمل، با داشتن
Ei(i=1 , 2 , …) يك نوع موجوديت E را بازشناسي ميكنيم به نحوي كه Eiها اجزاء تشكيلدهنده آن باشند
70
مثال تجزيه و تركيب COMPUTER Mother Board Monitor RAM Hard . . . . . .
71
تخصيص تخصيص عبارتست از مشخص كردن گونههاي خاص يك شيئ براساس يك يا چند ضابطه مشخص، مثلا اگر شيئ موجود زنده را درنظر بگيريم، سه گونه خاص آن عبارتند از: انسان، حيوان و نبات. در روش EER هر يك نوع موجوديت ميتواند خود زيرنوع موجوديتهايي داشته باشد. بين هر زيرنوع و زبرنوع ارتباط ”گونهاي است از ...“ وجود دارد.
72
تعميم تعميم، عكس عمل تخصيص است، به اين معنا كه با داشتن زيرنوعهاي خاص، صفات مشترك بين آنها را در يك مجموعه صفات براي يك زبرنوع موجوديت درنظر ميگيريم
73
مثال تخصيص و تعميم . . . . . . . . . . . . . شماره دانشجو زبرنوع
صفات مشترك نام و نام خانوادگي . دانشجوي دوره دكترا دانشجوي دوره كارشناسي دانشجوي دوره كارشناسي ارشد زيرنوعها صفات خاص صفات خاص صفات خاص
74
وراثت چندگانه يك زيرنوع موجوديت، ميتواند در عين حال زيرنوع يك زبرنوع موجوديت ديگر هم باشد. با اين ترتيب ميتوان مفهوم وراثت چندگانه را در روش EER نمايش داد.
75
دانشجوي دوره كارشناسي ارشد
مثال وراثت چندگانه دانشجو دانشجوي دوره روزانه دانشجوي دوره شبانه دانشجوي دوره كارشناسي ارشد دانشجوي دوره كارشناسي
76
دستهبندي يك زيرنوع ميتواند زيرنوع بيش از يك زبرنوع باشد. ممكن است زبرنوعهاي اين زيرنوع، از يك نوع نباشند. به اين زيرنوع اصطلاحا دسته (طبقه) گويند. براي نمايش دسته، از نماد U استفاده ميشود.
77
دستهبندي E1ID E2ID E1 E2 U E3
78
تجمع تجمع عبارتست از ساختن يك نوع موجوديت جديد با ديدن دو يا بيش از دو نوع موجوديت، كه خود باهم در يك ارتباط شركت دارند، به صورت يك نوع موجوديت واحد. در واقع مجموعهاي از موجوديتهاي مرتبط را باهم مجتمع كرده و به عنوان يك نوع موجوديت واحد، درنظر ميگيريم و اين نوع موجوديت واحد خود ميتواند با نوع موجوديت ديگري ارتباط داشته باشد.
79
نمايش تجمع
80
مراحل مدلسازي معنايي دادهها
1- مطالعه، تحليل و شناخت محيط 2- برآورد خواستهها و نيازهاي اطلاعاتي و پردازشي همه كاربران و تشخيص محدوديتهاي معنايي 3- بازشناسي انواع موجوديتهاي مطرح و تعيين وضع هريك 4- تعيين مجموعه صفات هر نوع موجوديت ادامه
81
مراحل مدلسازي معنايي دادهها
5- بازشناسي انواع ارتباطات بين انواع موجوديتها، تشخيص نوع مشاركت و چندي ارتباط 6- رسم نمودار ER 7- فهرست كردن پرسشهايي كه پاسخ آنها از نمودار ER بدست ميآيد. 8- وارسي مدلسازي انجام شده تا اطمينان حاصل شود كه مدلسازي پاسخگوي نياز كاربران است.
82
روش مدلسازي UML در اين روش از چند نمودار براي نمايش مدلسازي و طراحي نرمافزار استفاده ميشود مفاهيم اصلي در اين مدلسازي: رده صفت بستگي
83
تناظر بين مفاهيم UML و مفاهيم EER
نوع موجوديت رده نمونه موجوديت شيئ صفت ارتباط بستگي نمونه ارتباط پيوند ارتباط بازگشتي بستگي انعكاسي نوع موجوديت ضعيف بستگي مقيد صفت مركب ميدان ساختمند صفت ارتباط صفت پيوند چندي ارتباط چندي بستگي
84
نمادها رده با يك مربع يا مستطيل نشان داده ميشود وبه شكل زير به سه قسمت تقسيم ميشود: نام رده نام صفات پردازشها
85
نمادها بستگي بين دو رده، به صورت يك خط متصلكننده دو رده نمايش داده ميشود و نام ارتباط روي خط نوشته ميشود. تجمع به صورت زير نشان داده ميشود: شيئ كل شيئ جزء
86
چندي بستگي به صورت min…max نوشته ميشود
چندي بستگي به صورت min…max نوشته ميشود. اگر به جاي max علامت ستاره باشد، به اين معنا است كه مقدار max محدوديت ندارد. صفت چندمقداري به صورت يك رده جداگانه نشان داده ميشود، ولي فاقد قسمت مربوط به پردازش است.
87
نام ميدان بعد از نام صفت نوشته ميشود و بين اين دو نام علامت : گذاشته ميشود.
صفت پيوندي در يك مربع (مستطيل) نوشته ميشود و اين مربع با خطچين به خط نشاندهنده بستگي متصل ميشود. نام پيوند و نام صفات پيوند در دو قسمت از اين مربع گذاشته ميشود.
88
Min…max نام بستگي min…max
نمايش صفت پيوند در UML نام رده نام رده Min…max نام بستگي min…max نام صفت نام صفت پردازشها پردازشها نام بستگي نام صفات
89
خصوصيات کلي روش مدلسازي معنايي دادهها
گويايي صوري بودن سادگي مفاهيم قابليت نمايش نموداري ايجاز جامع بودن مفاهيم قابليت نمايش ساختار، حالت و رفتار نوع موجوديت گسترشپذيري
90
پايگاه داده در محيط انتزاعي
جلسه چهارم پايگاه داده در محيط انتزاعي
91
آنچه در اين جلسه مي خوانيد:
1- پايگاه دادهها در محيط انتزاعي 2- سطوح محيط انتزاعي 3- گونههاي موجود ساختار دادهاي 4- مفهوم ساختار دادهاي در سطوح مختلف پايگاه دادهها 5- ساختار دادهاي رابطهاي 6- شماي پايگاه جدولي 7- عمليات در پايگاه جدولي
92
آنچه در اين جلسه مي خوانيد:
8- عملگرهاي جبر رابطهاي 9- برخي ويژگيهاي ساختار دادهاي جدولي 10- ساختار دادهاي سلسلهمراتبي 11- برخي ويژگيهاي ساختار دادهاي سلسلهمراتبي 12- ساختار دادهاي شبكهاي 13- مجموعه كوداسيل 14- برخي ويژگيهاي ساختار دادهاي شبكهاي
93
هدفهاي كلي: آشنايي با پايگاه داده در محيط انتزاعي
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: پايگاه داده در محيط انتزاعي و سطوح اين محيط را بيان كند. ساختار دادهاي رابطهاي و ويژگيهاي آن را بيان كند. ساختار دادهاي شبكهاي و ويژگيهاي آن را بيان كند. ساختار دادهاي سلسلهمراتبي و ويژگيهاي آن را بيان كند.
94
پايگاه دادهها در محيط انتزاعي
در مقوله پايگاه دادهها وقتي از محيط انتزاعي سخن ميگوييم، منظور محيطي است فراتر از محيط فايلينگ منطقي و فايلينگ فيزيكي. مفاهيمي كه در اين محيط مطرح ميشوند بايد از جنبههاي فايلينگ پايگاه مستقل و ماهيتا انتزاعي باشند.
95
مدل معنايي پايگاه داده ها طرح منطقي پايگاه داده ها در:
سطوح محيط انتزاعي خرد جهان واقع مدل معنايي پايگاه داده ها بالاترين سطح انتزاع طرح منطقي پايگاه داده ها در: سطوح انتزاعي در پايگاه داده ها سطح خارجي محيط انتزاعي سطح ادراکي
96
هر ساختار دادهاي حداقل يك عنصر ساختاري اساسي دارد.
ساختار دادهاي امكاني است براي نشان دادن دادههاي در مورد انواع موجوديتها و انواع ارتباطات بين آنها هر ساختار دادهاي حداقل يك عنصر ساختاري اساسي دارد. پايگاه دادهها در محيط انتزاعي، گردايهاي است از نمونههاي متمايز عنصر (عناصر) ساختاري اساسي يك ساختار دادهاي مشخص.
97
گونههاي موجود ساختار دادهاي
- ساختار دادهاي رابطهاي - ساختار دادهاي سلسلهمراتبي - ساختار دادهاي شبكهاي - ساختار دادهاي جعبهاي - ساختار دادهاي هايپرگرافي - ساختار دادهاي ليستهاي وارون
98
مفهوم ساختار دادهاي در سطوح مختلف پايگاه دادهها
E.DS C.DS I/P.DS ساختار دادهاي داخلي/فيزيكي ساختار دادهاي ادراكي ساختار دادهاي خارجي
99
رابطه مفهومي رياضي است. اما از ديد كاربر، رابطه نمايشي جدولي دارد.
ساختار دادهاي رابطهاي رابطه مفهومي رياضي است. اما از ديد كاربر، رابطه نمايشي جدولي دارد. مفاهيم ساختار جدولي عبارتند از: ستون جدول سطر عنصر ساختاري اساسي در اين ساختار دادهاي، جدول است.
100
شماي پايگاه جدولي شماي پايگاه دادهها عبارتست از تعريف (توصيف) ساختهاي انتزاعي طراحيشده و نوعي برنامه است شامل دستورات تعريف دادهها و كنترل دادهها، و دستورات عمليات در دادهها در آن وجود ندارد.
101
عمليات در پايگاه جدولي درج (INSERT) حذف (DELETE) بهنگامسازي (UPDATE)
بازيابي (SELECT)
102
مثال درج يك نمونه دانشجو
INSERT INTO STT VALUES(‘ ’,’AHMADI’,’bs’,’Comp’,’D222’) مثال حذف يك نمونه درس DELETE FROM COT WHERE COID=‘COM777’
103
مثال بهنگامسازي تك سطر
مثال حذف چند سطر DELETE FROM STT WHERE STDEG=‘ms’ با اين دستور مشخصات دانشجويان دوره كارشناسي ارشد از جدول STT حذف ميشود مثال بهنگامسازي تك سطر UPDATE COT SET COID=‘Com303’ WHERE COID=‘Com202’; با اين دستور شماره درس Com202 عوض ميشود.
104
مثال بهنگامسازي چند سطر
UPDATE COT SET CREDIT=‘1’ WHERE COTYPE=‘Lab’; با اين دستور، تعداد واحد تمام درسهاي آزمايشگاهي، يك ميشود. مثال بازيابي SELECT DOID FROM STCOT WHERE STID=‘ ’ با اين دستورشماره درسهاي يك دانشجو بازيابي ميشود.
105
عملگرهاي جبر رابطهاي كه براي بازيابي از محيط جدولي بكار ميروند:
1- عملگر گزينش (تحديد) RESTRICT: زيرمجموعهاي افقي (تعدادي سطر) را بازيابي ميكند. 2- عملگر پرتو PROJECT: زيرمجموعهاي عمودي (تعدادي ستون) را بازيابي ميكند. 3- عملگر پيوند JOIN: دو جدول را بهم پيوند ميزند، يعني سطرهايي كه شرايط مورد نظر را داشته باشند، با يكديگر پيوند ميشوند.
106
برخي ويژگيهاي ساختار دادهاي جدولي
1- از نظر كاربر نمايش سادهاي دارد. 2- محيطش مسطح است. 3- عنصر ساختاري اساسي آن جدول است. 4- همه چيز با فقره دادههاي ساده نمايش داده ميشود. 5- ارتباطات با چنديهاي مختلف در آن قابل نمايش است. 6- منطق بازيابي آن ساده است. 7- ساختار منطقي دستور بازيابي آن ساده است. 8- براي پرسشهاي قرينه، رويه پاسخگوي قرينه دارد. 9- مبناي تئوريك قوي دارد.
107
1- نوع ركورد 2- نوع پيوند پدر- فرزندي
ساختار دادهاي سلسلهمراتبي عناصر ساختاري اساسي 1- نوع ركورد 2- نوع پيوند پدر- فرزندي نوع ركورد براي نمايش نوع موجوديت به كار ميرود. ارتباط بين دو نوع موجوديت به وسيله پيوند پدر–فرزندي نمايش داده ميشود. N Y T V U M P
108
برخي ويژگيهاي ساختار دادهاي سلسلهمراتبي
1- سادگي نمايش ساختار جدولي را ندارد. 2- مبناي رياضي ندارد. 3- دو عنصر ساختاري اساسي دارد. 4- ارتباط يك به چند را نمايش ميدهد. 5- نمايش ارتباط چند به چند در آن دشوار است. 6- ساخت منطقي رويه بازيابي آن به سادگي منطق رويه بازيابي در ساختار جدولي نيست. ادامه
109
برخي ويژگيهاي ساختار دادهاي سلسلهمراتبي
7- در عمليات ذخيرهسازي مشكلاتي دارد. 8- تقارن ساختار جدولي را ندارد. 9- تعدادي قاعده جامعيت ذاتي دارد. 10- در مواقعي كه در ذخيرهسازي نمونههاي فرزند، افزونگي پديد آيد، پايگاه در معرض ناسازگاري قرار ميگيرد.
110
ساختار دادهاي شبكهاي
عناصر ساختاري اساسي 1- نوع ركورد 2- نوع مجموعه نوع ركورد براي نمايش نوع موجوديت به كار ميرود. نوع مجموعه براي نمايش ارتباط 1:N بين دو (چند) نوع موجوديت به كار ميرود. A D B C G E F H
111
نوع مجموعه (مجموعه كوداسيل) از سه جزء تشكيل شده است:
1- نام مجموعه 2- يك نوع ركورد مالك 3- يك نوع ركورد عضو
112
يك نوع مجموعه كوداسيل DEPT مالك DEID ….. عضو STID STID E-TERM …..
113
1- سادگي ظاهري ساختار دادهاي جدولي را ندارد. 2- مبناي رياضي ندارد.
برخي ويژگيهاي ساختار دادهاي شبكهاي 1- سادگي ظاهري ساختار دادهاي جدولي را ندارد. 2- مبناي رياضي ندارد. 3- دو عنصر ساختاري اساسي دارد. 4- ماهيتا خاص نمايش ارتباطات ”يك به چند“ نيست. 5- ساخت منطقي دستور بازيابي آن پيچيدهتر از ساختارهاي ديگر است. ادامه
114
برخي ويژگيهاي ساختار دادهاي شبكهاي
6- مثل ساختار دادهاي جدولي تقارن دارد. 7- خطر بروز ناسازگاري دادهها نسبت به ساختار سلسلهمراتبي، كمتر است. 8- قواعد جامعيت ذاتي دارد. 9- به علت حجم زياد اشارهگرها، ايجاد يا اصلاح آنها ميتواند سبب بروز فزونكاري در سيستم شود. 10- بعضي آنوماليهاي مدل سلسلهمراتبي در عمليات ذخيرهسازي را ندارد.
115
جلسه پنجم معماري پايگاه دادهها
116
آنچه در اين جلسه مي خوانيد:
1- معماری پشنهادی ANSI 2- ديد ادراكي (مفهومي) 3- ديد خارجي 4- ديد داخلي 5- سطوح معماري در محيط ناپايگاهي و محيط پايگاهي و نقش DBMS در ايجاد، مديريت و پردازش فايلها 6- كاربر 7- زبان ميزبان
117
آنچه در اين جلسه مي خوانيد:
8- نقش افزايش تعداد زبانهاي ميزبان مورد پذيرش DBMS 9- زبان دادهاي فرعي 10- دستورهاي DSL براي سه سطح معماري پايگاه دادهها 11- تقسيمبندي زبان دادهاي فرعي از نظر نياز به زبان ميزبان 12- روند كلي مرحله كامپايل برنامه دوزباني 13- ويژگيهاي زبان دادهاي فرعي
118
هدفهاي كلي: آشنايي با معماري پايگاه دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: معماري پايگاه دادهها را تشريح كند. ديدهاي ادراكي، خارجي و داخلي را توضيح دهد. سطوح معماري در محيط ناپايگاهي و پايگاهي را مقايسه كند. كاربر، زبان ميزبان، زبان دادهاي فرعي و ويژگيهاي آن را بيان نمايد.
119
معماري پايگاه دادهها معماري پشنهادي ANSI کاربر 1 HL + DSL کاربر 2
OS D B M S سطح خارجي ديد خارجي 1 ديد خارجي 1 ديد خارجي j سطوح انتزاعي سطح ادراکي ديد ادراکي (مفهومي) D B A سطح داخلي ديد داخلي فايل 1 فايل 2 فايل K سطح فيزيکي
120
ديد ادراكي (مفهومي) 1- ديد طراح پايگاه دادهها نسبت به دادههاي ذخيرهشده است. 2- جامع است. 3- در يك محيط انتزاعي مطرح است. 4- با عناصر ساختاري اساسي همان ساختار دادهاي طراحي ميشود. 5- شماي ادراكي نوعي برنامه است حاوي دستورات تعريف و كنترل دادهها. سطح ادراكي در واقع همين شماي ادراكي است. 6- شماي ادراكي به سيستم داده ميشود و در كاتالوگ سيستم نگهداري ميشود.
121
ديد خارجي 1- ديد كاربر خاص نسبت به دادههاي ذخيرهشده در پايگاه داده است. 2- جزئي است. 3- در سطح انتزاعي مطرح است. 4- روي ديد ادراكي طراحي و تعريف ميشود. 5- شماي خارجي نوعي برنامه است حاوي دستورات تعريف و كنترل دادهها در سطح خارجي كه توسط كاربر اين سطح نوشته ميشود. ادامه
122
ديد خارجي 6- به تعريف مجموعه ديدهاي خارجي كاربر، سطح خارجي گفته ميشود. 7- هر كاربر ميتواند تعدادي ديد داشته باشد. 8- چند كاربر ميتوانند در يك ديد مشترك باشند.
123
ديد داخلي 1- ديد DBMS و طراح پايگاه دادهها است و در سطحي پايينتر از سطح ادراكي، نسبت به كل دادههاي ذخيرهشده است. 2- در سطح فايلينگ منطقي مطرح است. 3- مبتني بر يك ساختار فايل است كه با نظر طراح پايگاه طراحي ميشود و به طراحي، طراحي فيزيكي موسوم است. 4- در سطح داخلي پايگاه دادهها، فايلينگ منطقي تعريف ميشود. 5- شماي داخلي نوعي برنامه است كه توسط خود DBMS توليد ميشود و شرح فايلينگ منطق پايگاه است.
124
سطوح معماري در محيط ناپايگاهي و محيط پايگاهي و نقش DBMS در ايجاد، مديريت و پردازش فايلها
شماي خارجي سطوح انتزاعي شماي ادراكي طراح و پيادهساز پايگاه دادهها شماي داخلي: دستورات تعريف و كنترل فايلها برنامههاي پردازش فايلها برنامههاي تعريف، كنترل و پردازش فايلها برنامهساز فايلپرداز DBMS OS FS AM FS AM FILES دادههاي ذخيرهشده در محيط فيزيكي FLIES دادههاي ذخيرهشده در محيط فيزيكي DB
125
در معناي عام، هر استفادهكننده از پايگاه دادهها را كاربر گوييم.
كاربر فرمي كاربر منويي كاربر نقشهاي كاربر فرماني كاربر پارامتري كاربر گرافيكي كاربر با زبان طبيعي كاربر صوتي QL HL + QL برنامهساز نابرنامهساز هميشگي: منظم موردي: نامنظم در اسلوب تعاملي در اسلوب پيوسته در اسلوب يكجا كاربر: پاياني ابزارساز سيستمساز (پيادهساز) كاربردساز جزء تيم مديريت پايگاه جزء تيم اجرائي
126
زبان ميزبان يكي از زبانهاي برنامهسازي متعارف مانند كوبول، PL1، فرترن، پاسكال، C و زبانهايي مثل ADA، LISP، JAVA و نيز زبان اسمبلي است.
127
زبانهاي ميزبان مورد پذيرش
كاهش هزينه سازمان افزايش تعداد زبانهاي ميزبان مورد پذيرش DBMS انعطافپذيري بيشتر تنوع كاربر تنوع كاربرد
128
شامل سه دسته دستور زير است:
زبان دادهاي فرعي شامل سه دسته دستور زير است: 1- دستورات تعريف دادهها Data Definition Language (DDL) 2- دستورات عمليات روي دادهها Data Manipulation Language (DML) 3- دستورات كنترل دادهها Data Control Language (DCL)
129
دستورهاي DSL براي سه سطح معماري پايگاه دادهها
سطح خارجي DLL معماري ANSI DSL سطح ادراكي DML سطح داخلي DCL
130
تقسيمبندي زبان دادهاي فرعي از نظر نياز به زبان ميزبان
مستقل (I.DSL): به زبان ميزبان نياز ندارد و به صورت تعاملي استفاده ميشود. در واقع يك زبان پرس وجو است. ادغامشدني (E.DSL): دستورهايش در متن برنامهاي به زبان ميزبان به كار ميرود و مستقلا قابل استفاده نيست. هم مستقل و هم ادغامشدني (I/E.DSL)
131
روند كلي مرحله كامپايل برنامه دوزباني
برنامه به HL: كامپايل شده كامپايلر HL دستورهاي HL دستورهاي HL و DSL پيش كامپايلر اجرا دستورهاي DSL: كامپايل شده كامپايلر DSL دستورهاي DSL
132
ويژگيهاي زبان دادهاي فرعي
1- تعداد دستورهايش بايد كم باشد. 2- دستورهايش بايد شبه زبان طبيعي باشد. 3- يادگيري و استفاده آن بايد ساده باشد. 4- در طراحي آن بايد اصل وحدت دستور رعايت شود. 5- دستورهايش بايد مبتني بر عناصر ساختاري اساسي ساختار دادهاي طراحي شوند. ادامه
133
ويژگيهاي زبان دادهاي فرعي
6- بهتر است نارويهاي (ناروشمند) باشند. 7- بهتر است كامپايلري باشد و نه مفسري. 8- بهتر است از نظر ساختاري كامل باشد. 9- بهتر است از نظر برنامهسازي و محاسباتي كامل باشد. 10- زبان بايد از نظر تعداد دستورهاي كنترل دادهها و عملكرد هردستور، غني و قوي باشد. 11- بايد از نظر انواع دادهاي و به ويژه انواع دادهاي انتزاعي و انواع دادهاي پيچيده غني باشد.
134
سيستم مديريت پايگاه دادهها
جلسه ششم سيستم مديريت پايگاه دادهها
135
آنچه در اين جلسه مي خوانيد:
1- سيستم مديريت پايگاه دادهها DBMS 2- DBMS به كاربر امكان ميدهد تا 3- ردهبندي سيستمهاي DBMS از نظرهاي مختلف 4- اجزاي DBMS از نماي بيروني 5- نماي بيروني (سادهشده) DBMS 6- اجزاي DBMS از نماي دروني 7- واحدهاي لايه هسته 8- واحدهاي لايه مديريت محيط پايگاه دادهها 9- ساختار يك سيستم پايگاهي
136
هدفهاي كلي: سيستم مديريت پايگاه دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: سيستم مديريت پايگاه دادهها را توصيف كند. ردهبندي DBMS را از ديدگاههاي مختلف بيان كند. اجزاء DBMS از نماي دروني و بيروني را برشمارد. واحدهاي لايه هسته و مديريت پايگاه داده را نام ببرد.
137
سيستم مديريت پايگاه دادهها
DBMS تعريف: يكي از انواع نرمافزارهاي واسط بين محيط فيزيكي ذخيره و بازيابي اطلاعات و محيط منطقي برنامهسازي است.
138
DBMS به كاربر امكان ميدهد تا:
1- پايگاه دادههاي خود را تعريف كند. 2- در پايگاه دادههاي خود عمليات انجام دهد. 3- روي پايگاه دادههاي خود تا حدي كنترل داشته باشد.
139
ردهبندي سيستمهاي DBMS
از نظر نوع ساختار دادهاي سيستم رابطهاي سيستم سلسلهمراتبي سيستم شبكهاي جز اينها
140
ردهبندي سيستمهاي DBMS
از نظر محيط سختافزاري وابسته به يك محيط خاص ناوابسته به يك محيط خاص
141
ردهبندي سيستمهاي DBMS
از نظر رده كامپيوتر خاص محيط كامپيوترهاي شخصي خاص محيط كامپيوترهاي متوسط (Mini Computer) خاص محيط كامپيوترهاي بزرگ (Main Computer) خاص محيط كامپيوترهاي خيلي بزرگ (Super Computer) اجراشونده درچند رده كامپيوتر
142
ردهبندي سيستمهاي DBMS
از نظر محيط سيستم عامل وابسته به يك سيستم عامل خاص اجراشونده در محيط چند سيستم عامل از نظر نوع معماري سيستم پايگاه دادهها با توانش ايجاد پايگاه متمركز با توانش ايجاد پايگاه نامتمركز
143
ردهبندي سيستمهاي DBMS
از نظر معماري مشتري- خدمتگزار با توانش ايجاد معماري چند مشتري – يك خدمتگزار با توانش ايجاد معماري چند مشتري – چند خدمتگزار از نظر زبان سيستم داراي SQL سيستم فاقد SQL
144
ردهبندي سيستمهاي DBMS
از نظر نوع زبان دادهاي فرعي داراي I.DSL داراي E.DSL داراي E/I.DSL از نظر ماهيت زبان دادهاي فرعي با زبان رويهاي با زبان نارويهاي
145
ردهبندي سيستمهاي DBMS
از نظر سيستم فايل خودكفا وابسته به سيستم فايل محيط سيستم عامل از نظر نوع كاربرد تك منظوره همه منظوره
146
ردهبندي سيستمهاي DBMS
از نظر قيمت از حدود ده هزار دلار تا صد هزار دلار و گاه بيشتر از نظر طرز برپايي با محدوديت برپايي يكپارچه داراي امكان برپايي گزينشي
147
ردهبندي سيستمهاي DBMS
از نظر واسط كاربر با واسط زباني با واسط غير زباني با هر دو واسط
148
ردهبندي سيستمهاي DBMS
از نظر رفتار در قبال رويدادها سيستم فعال سيستم غير فعال از نظر متدولوژي زبان بدون متدولوژي شيئگرايي داراي متدولوژي شيئگرايي
149
ردهبندي سيستمهاي DBMS
از نظر بهينهسازي پرسش داراي بهينهسازي متعارف داراي بهينهسازي مبتني بر قاعده، معنايي و ... از نظر نوع تراكنش پذيرنده تراكنشهاي ساده پذيرنده تراكنشهاي با مدل پيشرفته
150
ردهبندي سيستمهاي DBMS
از نظر نوع پردازش با قابليت پردازش بيدرنگ فاقد اين قابليت از نظر رسانه ذخيرهسازي پايگاه دادهها با قابليت ايجاد MMDB فاقد اين قابليت
151
ردهبندي سيستمهاي DBMS
از نظر قابليت تعامل بين سيستمها فاقد اين قابليت داراي قابليت تعامل با سيستمهاي همگن داراي قابليت تعامل با سيستمهاي ناهمگن از نظر پردازش دادههاي زمانمند فاقد جنبههاي يك سيستم زماني سيستم مديريت پايگاه دادههاي زماني
152
اجزاي DBMS از نماي بيروني
واحد پردازشگر پرسشها و برنامههاي كاربردي واحد ايجاد و مديريت دادهاي ذخيرهشده
153
نماي بيروني (سادهشده) DBMS
كاربر برنامههاي كاربردي/ پرسشها سيستم مديريت پايگاه دادهها واحد پردازشگر برنامه كاربردي و پرسشها واحد دستيابي به دادههاي ذخيرهشده دادههاي ذخيرهشده DB متا داده
154
اجزاي DBMS از نماي دروني
لايه هسته (سيستم كنترل يا موتور پايگاه دادهها) لايه مديريت محيط پايگاه دادهها لايه تسهيلات نرمافزاري (ابزارها)
155
1- واحد دريافت درخواست كاربر و وارسيهاي اوليه 2- واحد توليد شماها
واحدهاي لايه هسته 1- واحد دريافت درخواست كاربر و وارسيهاي اوليه 2- واحد توليد شماها 3- پيشكامپايلرها براي DML 4- كامپايلرها (پردازنده DML) 5- پردازشگر پرسش و بهينهساز پرسش 6- واحد مديريت سطح داخلي ادامه
156
واحدهاي لايه هسته 7- واحد مديريت بافر 8- واحد مديريت فضاي ديسك 9- واحد ناظر زمان اجرا 10- واحد مديريت همروندي تراكنشها 11- واحد مديريت انتقال دادهها 12- واحد مديريت كاتالوگ
157
واحدهاي لايه مديريت محيط پايگاه دادهها
1- واحد كنترل جامعيت پايگاه دادهها 2- واحد ترميم پايگاه دادهها 3- واحد ايمني و حفاظت پايگاه دادهها 4- واحد توليد نسخههاي پشتيبان 5- واحد توليد فايلهاي ثبت تراكنشها
158
ساختار يك سيستم پايگاهي
كاربر نابرنامهساز كاربر موردي برنامهساز APها مدير پايگاه دادهها UFI واسط APها واسط DML CLI DDL ساختار يك سيستم پايگاهي فرمانهاي زبان پايگاهي DBMS واحد پردازشگر پرسشها واحد مديريت دادههاي ذخيرهشده مدير فايلينگ منطق مدير تراكنشها و قفلها مدير بافر مدير ترميم كامپايلر DDL مدير فضاي ديسك شاخصها فايل ثبت تراكنشها متادادهها دادههاي ذخيرهشده
159
DBMS در يك سيستم كامپيوتري
جلسه هفتم DBMS در يك سيستم كامپيوتري
160
آنچه در اين جلسه مي خوانيد:
1- جايگاه DBMS در يك سيستم كامپيوتري 2- سه طرح كاربرد DBMS در برنامههاي كاربردي 3- اسلوبهاي عملياتي 4- كاتالوگ سيستم و ديكشنري دادهها: متا دادهها 5- اطلاعاتي كه در ديكشنري دادهها نگهداري ميشود 6- ديكشنري دادهها و استفادهكنندگان آن 7- پارامترهاي شناخت DBMS 8- مدير پايگاه دادهها
161
آنچه در اين جلسه مي خوانيد:
9- برخي مسئوليتهاي در تيم مديريت پايگاه دادهها 10- پنج سرمايه در مديريت نوين سازمانها 11- مزايا و معايب تكنولوژي پايگاه دادهها 12- مزايا و معايب سيستم تككاربري 13- مزايا و معايب سيستم چندكاربري 14- شرايط استفاده از تكنولوژي پايگاه دادهها 15- كاربردهاي جديد تكنولوژي پايگاه دادهها 16- استقلال دادهاي و انواع آن
162
هدفهاي كلي: DBMS در يك سيستم كامپيوتري و مدير پايگاه دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: ارتباط DBMS با ساير عناصر نرمافزاري را بيان كند اسلوبهاي عملياتي، و پارامترهاي شناخت را نام ببرد. مسئوليتهاي تيم مديريت پايگاه دادهها را شرح دهد. مزايا و معايب سيستم تككاربره و چندكاربره را توصيف كند. استقلال دادهاي و انواع آن را توضيح دهد.
163
جايگاه DBMS در يك سيستم كامپيوتري
برنامههاي كاربردي ابزارهاي توليد برنامههاي كاربردي DBMS سيستم عامل سختافزار
164
يك DBMS براي هر برنامه كاربردي
درخواست كاربر سيستم عامل AP1 DBMS1 AM DB1 DB2
165
يك DBMS براي چند برنامه كاربردي تحت كنترل سيستم عامل
درخواست كاربر سيستم عامل AP1 DBMS1 AM DB
166
يك DBMS براي چند برنامه كاربردي با اجراي تحت كنترل DBMS
درخواست كاربر سيستم عامل DBMS1 AP1 AM DB
167
اسلوبهاي عملياتي به طور كلي سه اسلوب عملياتي وجود دارد: اسلوب يكجا اسلوب برخط اسلوب تعاملي
168
كاتالوگ سيستم و ديكشنري دادهها: متا دادهها
حاوي دادههايي است در مورد دادههاي ذخيرهشده در پايگاه دادههاي كاربر و اين دادهها به متادادهها موسومند ديكشنري دادهها معمولا جزئي از خود سيستم است و به دو صورت فعال و غيرفعال توليد ميشود.
169
اطلاعاتي كه در ديكشنري دادهها نگهداري ميشود:
شماهاي خارجي شماي ادراكي شماي داخلي رويههاي مربوط به تبديلات بين سه سطح معماري شرح ساختار فيزيكي دادههاي ذخيرهشده مشخصات و حقوق دستيابي كاربران به دادهها مشخصات برنامههاي كاربردي توليد شده و ارتباط آنها با درخواستهاي كاربران مشخصات پايانههاي متصل به سيستم ادامه
170
اطلاعاتي كه در ديكشنري دادهها نگهداري ميشود:
ارتباط بين برنامههاي كاربردي و دادههاي ذخيرهشده قواعد جامعيت ضوابط كنترل ايمني دادهها مشخصات پيكربندي سختافزاري سيستم و رسانههاي ذخيرهسازي اطلاعات متنوع آماري پايگاه داده و كاربران توابع تعريفشده توسط كاربران
171
تيم مديريت پايگاه دادهها
ديكشنري دادهها و استفادهكنندگان آن برنامهسازان سيستمي كاربران پاياني تيم مديريت پايگاه دادهها برنامهسازان كاربردي ديكشنري دادهها زيرسيستمهاي ايمني و مجازشماري كامپايلر/ پيشكامپايلر برنامه كاربردي مولد گزارش زيرسيستم جامعيت پايگاه دادهها بهينهساز پرس و جو زيرسيستم و ترميم پايگاه دادهها
172
پارامترهاي شناخت DBMS پارامترهاي مربوط به توانشها و كارايي سيستم تسهيلات و جنبههاي ديگر مشخصات كلي سيستم پارامترهاي مربوط به معماري پايگاه دادهها پارامترهاي مربوط به زبان دادهاي فرعي
173
مدير پايگاه دادهها فردي است متخصص در پايگاه دادهها و با مسئوليت علمي، فني و نيز اداري در محدوده وظايفي كه عهدهدار است اين مدير همراه با يك تيم تخصصي كار ميكند كه به آن تيم مديريت پايگاه دادهها ميگويند.
174
برخي مسئوليتهاي در تيم مديريت پايگاه دادهها
مدير پايگاه دادهها مدير دادهها مدير امور پژوهش-توسعه مدير سيستمهاي كاربردي مسئول تيمهاي برنامهسازي مسئول كنترل كارايي DBMS مسئول كنترل كارايي خود سيستم پايگاه دادهها مسئول نظارت بر عمليات روي پايگاه دادهها مسئول تماس با كاربران زيرمحيطهاي سازمان مسئول تنظيم مستندات و وضع استاندهها
175
در مديريت نوين سازمانها، هر سازمان داراي پنج سرمايه است:
1- سختافزار 2- نرمافزار 3- داده 4- بودجه 5- تخصص
176
مزايا و معايب تكنولوژي پايگاه دادهها
مزاياي اين تكنولوژي بستگي به نوع سيستم (DBMS) و معماري سيستم پايگاه دادهها و ماهيت كاربردها دارد.
177
سيستم تككاربري مزايا 1- هر بخش از سازمان، دادههاي خود را نگهداري و پردازش ميكند. 2- با استفاده از كامپيوترهاي شخصي، حجم دادههاي سيستم مركزي كاهش ميآيد. 3- پايگاه دادههاي ايجادشده روي كامپيوترهاي شخصي معمولا كوچك و مدلسازي، طراحي و پيادهسازي آنها ساده است. 4- كار با اين سيستمها و برنامهسازي در محيط آنها ساده است. 5- با پيشرفت كامپيوترهاي شخصي، اين سيستمها ميتوانند بسياري از كارهاي سيستمهاي كامپيوتري بزرگ را انجام دهند.
178
سيستم تككاربري معايب 1- وجود تعداد زيادي از اين سيستمها در يك سازمان باعث بروز افزونگي، ناسازگاري دادهها و ناايمني آنها ميشود. 2- محوديتهاي سختافزاري سبب محدوديت اندازه فايلها و نيز محدوديت سرعت پردازش باعث محدود شدن حجم پايگاه دادهها ميشود. 3- خود سيستم نميتواند قوي و كارا باشد. ادامه
179
سيستم تككاربري معايب 4- ميزان ايمني و حفاظت در آنها ضعيف است.
5- امكانات توليد نسخه پشتيبان در آنها معمولا كم است. 6- اشتراكي كردن آنها مشكلات تكنيكي جدي دارد. 7- اعمال مجموعه واحدي از استاندهها در كل سازمان ناممكن است. 8- معمولا كاربر اين محيط مهارت كافي در مدلسازي و طراحي بهينه پايگاه دادهها ندارد. 9- ايجاد يك سيستم جامع و يكپارچه، براساس اين سيستمها، دشوار و پرهزينه است.
180
سيستم چندكاربري مزايا 1- اشتراك دادهها 2- كاهش افزونگي
3- تعدد شيوههاي دستيابي به دادهها 4- اجتناب از ناسازگاري دادهها 5- تامين همروندي بهتر 6- تسهيل پردازش تراكنشها 7- تضمين جامعيت دادهها ادامه
181
سيستم چندكاربري مزايا 8- حفظ محرمانگي دادهها
9- امكان اعمال استاندهها 10- تعدد زبانها 11- كاهش حجم برنامهها 12- تنوع كاربران 13- تسريع در دريافت پاسخ پرسشها 14- استفاده بهتر از سختافزار و ...
182
سيستم چندكاربري معايب 1- هزينه بالاي نرمافزار و سختافزار
2- هزينه بيشتر براي برنامهسازي 3- هزينه بالا براي انجام مهندسي دوباره به منظور تبديل سيستم از مشي ناپايگاهي به مشي پايگاهي 4- كند شدن اجراي بعضي از برنامههاي كاربردي 5- خطر آسيبپذيري دادهها 6- تاثيرات گستردهتر خرابيها و دشواري بيشتر ترميم آنها 7- پيچيده بودن سيستم و نياز به تخصص بيشتر
183
شرايط استفاده از تكنولوژي پايگاه دادهها
1- نياز به ايجاد يك سيستم يكپارچه اطلاعاتي 2- حجم زياد دادههاي سازمان و رشد پوياي آن 3- تغييرات مداوم در دادههاي ذخيرهشده 4- بالا بودن بسامد درخواستهاي كاربران 5- نياز به اعمال كنترل متمركز و دقيق روي كل دادهها 6- وجود ارتباطات پيچيده بين دادهها ادامه
184
شرايط استفاده از تكنولوژي پايگاه دادهها
7- زياد بودن ميزان دادههاي مشترك بين برنامههاي كاربردي 8- مدنظر بودن صحت، دقت و سازگاري دادهها 9- زياد بودن گزارشها 10- نياز به انجام پردازشهاي تحليلي برخط 11- نياز به سيستم دادهكاوي و كشف دانش در سازمان
185
كاربردهاي جديد تكنولوژي پايگاه دادهها
سيستم پشتيبان تصميم سيستم دادهكاوي چندرسانهاي سيستم انبارش دادهها حيطههاي فضايي و جغرافيايي پايگاه دادههاي شخصي و همراه سيستم پايگاه دادهها در شبكه جهاني اطلاعرساني سيستم اطلاعات اجرايي سيستم اطلاعات طراحي سيستم پردازش تحليلي برخط چندبعدي ...
186
يعني وابسته نبودن برنامههاي كاربردي به دادههاي ذخيرهشده
استقلال دادهاي يعني وابسته نبودن برنامههاي كاربردي به دادههاي ذخيرهشده دادههاي ذخيرهشده برنامههاي كاربردي DB
187
انواع استقلال دادهاي - استقلال دادهاي فيزيكي - استقلال دادهاي منطقي
188
استقلال دادهاي فيزيكي
عبارتست از مصونيت ديدهاي كاربران و برنامههاي كاربردي در قبال تغييرات در سطح داخلي-فيزيكي پايگاه دادهها
189
چرا استقلال دادهاي فيزيكي در سيستمهاي رابطهاي جديد
كاملا تامين است؟ زيرا: 1- كاربران سطح خارجي در محيطي كاملا انتزاعي عمل ميكنند و برنامههاي كاربردي در اين سطح با فايلينگ پايگاه دادهها تماس ندارند. 2- بين سطح خارجي و داخلي، يك سطح انتزاعي ديگر واسط است و مانع تاثيرپذيري برنامههاي سطح خارجي از تغييرات درفايلينگ پايگاه دادهها ميشود.
190
استقلال دادهاي منطقي عبارتست از مصونيت ديدهاي كاربران و برنامههاي كاربردي در قبال تغييرات در سطح ادراكي پايگاه دادهها
191
اين تغيير معمولا منجر به تغيير مناسب در سطح فايلينگ پايگاه ميشود.
تغيير در سطح ادراكي يعني تغيير در طراحي منطقي پايگاه دادهها و تغيير در شماي ادراكي اين تغيير معمولا منجر به تغيير مناسب در سطح فايلينگ پايگاه ميشود.
192
تغيير در سطح ادراكي دو وجه دارد:
1- رشد پايگاه در سطح ادراكي 2- سازماندهي مجدد پايگاه در سطح ادراكي
193
معماري سيستم پايگاه دادهها
جلسه هشتم معماري سيستم پايگاه دادهها
194
آنچه در اين جلسه مي خوانيد:
1- معماري سيستم پايگاه دادهها 2- انواع معماري 3- معماري متمركز 4- معماري مشتري - خدمتگزار 5- طرحهاي معماري مشتري - خدمتگزار 6- مزاياي معماري مشتري – خدمتگزار در مقايسه با معماري متمركز 7- معماري توزيعشده
195
آنچه در اين جلسه مي خوانيد:
8- ويژگيهاي معماري توزيعشده 9- مزايا و معايب معماري توزيعشده 10- معماري با پردازش موازي 11- طرح هاي معماري با پردازش موازي 12- معماري سيستم چندپايگاهي 13- معماري سيستم پايگاههاي همراه
196
هدفهاي كلي: معماري سيستم پايگاه دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: گونههاي مختلف معماري پايگاه دادهها شامل معماري متمركز و نامتمركز و انواع معماري نامتمركز و ويژگيهاي هريك را شرح دهد.
197
معماري سيستم پايگاه دادهها
منظور، چندي و چوني اجزاء تشكيلدهنده سيستم و نيز پيكربندي يا طرز تركيب اجزاء سيستم و چگونگي تعامل اجزاء با يكديگر است. در اين معماري حداقل يك پايگاه دادهها، يك سيستم مديريت پايگاه دادهها، يك سيستم عامل، يك كامپيوتر با دستگاههاي جانبي و تعدادي برنامه كاربردي و كاربر وجود دارند.
198
معماري متمركز انواع معماري معماري مشتري-خدمتگزار معماري توزيعشده معماري نامتمركز معماري چندپايگاهي معماري با پردازش موازي معماري موبايل
199
معماري متمركز در اين معماري يک پايگاه داده روي يک سيستم کامپيوتري و بدون ارتباط با سيستم ديگر ايجاد مي شود .
200
نمايش معماري متمركز . . كاربران پايانهاي نزديك كاربران پايانهاي دور
كامپيوتر بزرگ كنترولر ديسك . . كنترولر چاپگر كنترولر نوار پايگاه دادههاي متمركز . . .
201
معماري مشتري - خدمتگزار
هر معماري که در آن قسمتي از پردازش را يک برنامه، سيستم يا ماشين انجام دهد و انجام قسمت ديگري از پردازش را از برنامه ، سيستم يا ماشين ديگر بخواهد معماري مشتري خدمتگزار ناميده مي شود
202
معماري مشتري - خدمتگزار
OS D B M S DBMS AP DB OS ماشين خدمتگزار ماشين مشتري
203
طرحهاي معماري مشتري - خدمتگزار
از نظر تعداد مشتري و خدمتگزار 1- چند مشتري – يك خدمتگزار 2- يك مشتري – چند خدمتگزار 3- چند مشتري – چند خدمتگزار
204
طرحهاي معماري مشتري - خدمتگزار
از نظر پيكربندي سختافزاري الف- معماري حول كامپيوتر بزرگ مشتري PCi PC2 PC1 MAIN DB خدمتگزار
205
طرحهاي معماري مشتري - خدمتگزار از نظر پيكربندي سختافزاري
ب- معماري حول شبكه مشتري PCi PC2 PC1 شبكه Files DB PCi PCk PCn خدمتگزاران Printer
206
مزاياي معماري مشتري – خدمتگزار در مقايسه با معماري متمركز
تقسيم پردازش كاهش ترافيك شبكه استقلال ايستگاههاي كار اشتراك دادهها
207
معماري توزيعشده مجموعه اي از داده هاي ذخيره شده که منطقا به يک سيستم تعلق دارند ولي در مانه هاي مختلف يک يا بيش از يک شبکه توزيع شده اند.
208
نماي يك مانه در معماري توزيعشده
OS DB D B M S D C LAN WAN MNET NETWORK
209
معماري توزيعشده با سه مانه
كاربران دور كاربران دور كاربران نزديك كاربران نزديك … … … … OS1 OS2 DB1 DDBMS1 DDBMS2 DB2 APs DC DC APs NETWORK . LAN . WAN . MNET APs DC DB3 DDBMS3 OS3 … … DDB = {DB1+DB2+DB3}
210
ويژگيهاي معماري توزيعشده
مجموعهاي است از دادههاي منطقا مرتبط و اشتراكي دادهها به بخشهايي تقسيم و در مانهها توزيع شدهاند. بعضي بخشها ممكن است به طور تكراري در مانهها ذخيره شده باشند. مانهها از طريق شبكه بهم مرتبطاند. دادههاي هر مانه تحت كنترل يك DBMS است. DMBS هر مانه، ميتواند برنامههاي كاربردي محلي را به طور خودكار اجرا كند. هر DBMS حداقل دراجراي يك برنامه كاربردي سرتاسري مشاركت دارد.
211
مزاياي معماري توزيع شده
سازگاري و هماهنگي با ماهيت سازمانهاي نوين. كارايي بيشتر در پردازش دادهها. دستيابي بهتر به دادهها. اشتراك دادهها. افزايش پردازش موازي. كاهش هزينه ارتباطات. تسهيل گسترش سيستم. استفاده از پايگاه دادههاي از قبل موجود.
212
معايب معماري توزيعشده
پيچيدگي طراحي سيستم. پيچيدگي پيادهسازي. كاهش كارايي در برخي موارد. هزينه بيشتر. مصرف حافظه بيشتر.
213
معماري با پردازش موازي در اين گونه سيستمها معمولا تعداد زيادي تراکنش در ثانيه و بطور موازي اجرا ميشود .
214
طرح كلي معماري با پردازش موازي
خدمتگزاران برنامههاي كاربردي برنامه كاربر 1 برنامه كاربر 2 برنامه كاربر n مدير تماسهاي اجرايي كاربران مدير درخواست برنامه كاربر 1 مدير درخواست برنامه كاربر 2 مدير درخواست برنامه كاربر n مدير دادههاي برنامه 1 مدير دادههاي برنامه 2 مدير دادههاي برنامه m-1 مدير دادههاي برنامه m خدمتگزار پايگاه دادهها
215
طرح هاي معماري با پردازش موازي
الف- معماري با حافظه مشترك P M P P P
216
معماري با حافظه مشترك مزيت: ارتباط بين پردازندهها به طور كارا انجام ميشود. عيب: نميتوان بيش از 32 يا 64 پردازنده داشت. زيرا احتمال بروز تنگنا در باسهاي حافظهاي يا شبكه ارتباطي افزايش مييابد.
217
طرح هاي معماري با پردازش موازي
ب- معماري با ديسكهاي مشترك P M P M P M P M
218
معماري با ديسكهاي مشترك
مزيت: 1- عدم بروز تنگنا در باسهاي حافظهاي 2- تسهيل تحمل خرابي عيب: دشواري در گسترش سيستم.
219
طرح هاي معماري با پردازش موازي
ج- معماري بياجزاء مشترك P M P M P M P M P M
220
معماري بياجزاء مشترك مزيت: تسهيل گسترش
عيب: هزينه ارتباط و دستيابيهاي غيرمحلي زياد است.
221
طرح هاي معماري با پردازش موازي
د- معماري سلسلهمراتبي P P P M M M P P P P P P P P P
222
معماري سيستم چندپايگاهي
S1 Sn شماي خارجي سراسري شماي خارجي سراسري شماي ادراكي سراسري S1 شماي خارجي محلي شماي خارجي محلي شماي خارجي محلي شماي خارجي محلي شماي ادراكي محلي شماي ادراكي محلي شماي داخلي محلي شماي داخلي محلي DB DB
223
معماري سيستم پايگاههاي همراه
سيستم عامل پايگاه دادههاي ميزبان DBMS برنامههاي كاربردي امكانات همرسانش امكانات همرسانش امكانات همرسانش D B M S سيستم عامل D B M S برنامههاي كاربردي سيستم عامل برنامههاي كاربردي كامپيوتر همراه پايگاه دادههاي همراه پايگاه دادههاي همراه
224
جلسه نهم مدل رابطهاي
225
آنچه در اين جلسه مي خوانيد:
1- مفاهيم اساسي مدل رابطهاي 2- بخشهاي اساسي مدل دادهاي 3- تعريف رابطه 4- تناظر بين مفاهيم رابطه اي و مفاهيم جدولي 5- ويژگيهاي رابطه 6- انواع رابطه 7- ميدان (دامنه)
226
آنچه در اين جلسه مي خوانيد:
8- مزاياي ميدان 9- رابطه نرمال و غير نرمال 10- دليل لزوم نرمال بودن رابطه 11- معايب رابطه نرمال 12- مزايا و معايب رابطه غيرنرمال 13- انواع کليد در مدل رابطه اي
227
هدفهاي كلي: آشنايي با مدل رابطهاي
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: مدل رابطهاي و بخشهاي اساسي آن را توضيح دهد. رابطه را تعريف و ويژگيهاي آن را بيان نمايد. انواع رابطه را نام برده و توضيح دهد. روابط نرمال و غيرنرمال را شرح دهد. كليد و انواع آن را توضيح دهد.
228
مفاهيم اساسي مدل رابطهاي
مدل رابطهاي در سال 1970 توسط كاد ابداع شد. مدل داده اي امکاني است براي طراحي منطقي پايگاه دادهها، تعريف و کنترل آن و نيز انجام عمليات درآن و امکان مي دهد تا اين هر سه عمل اساسي در محيط انتزاعي انجام شود. بنابراين ميتوان گفت که مدل دادهاي تامين کننده محيط انتزاعي پايگاه داده هاست .
229
بخشهاي اساسي مدل دادهاي
1- بخش ساختاري 2- بخش عملياتي (پردازشي) 3- بخش جامعيتي
230
بخش ساختاري، نشاندهنده عناصر ساختاري مدل است كه همان ساختار دادهاي اصلي و مفاهيم مرتبط با آن است.
بخش عملياتي، مجموعه امكاناتي است كه به وسيله آنها عمليات مورد نظر كاربر انجام ميشود. بخش جامعيتي، از مجموعهاي از قواعد و محدوديتهاي جامعيتي تشكيل شده است كه به وسيله آنها سيستم مديريت پايگاه داده ميتواند صحت، دقت و سازگاري دادهها را كنترل و تضمين كند.
231
تعريف رابطه با فرض وجود n ميدان D1 تا Dn، نه لزوما متمايز، رابطه R از دو قسمت تشكيل شده است: 1- سرآيند: مجموعهاي نامدار از n صفت به صورت Ai:Di كه در آن هر Ai نام يك صفت است و هر Di نام ميدان صفت 2- پيكر (بدنه): مجموعهاي است از m تاپل t به نحوي كه t خود مجموعهاي است از n عنصر هريك به صورت Ai:vi كه در آن vi مقداري است از نوع ميدان. مقدار n را درجه (همان تعداد صفات) و مقدار m را كارديناليتي رابطه ميگويند
232
تناظر بين مفاهيم رابطه اي و مفاهيم جدولي
جدول زير تناظر بين مفاهيم رابطه اي و مفاهيم جدولي را نشان مي دهد : مفهوم تئوريک مفهوم جدولي رابطه جدول تاپل سطر صفت ستون ميدان مجموعه مقادير ستون درجه تعداد ستونها کارديناليتي تعدادسطرها
233
ويژگيهاي رابطه ويژگيهاي رابطه عبارتند از: 1- رابطه تاپل تکراري ندارد
2- تاپلها نظم ندارند 3- صفات رابطه نظم مكاني ندارند 4- تمام صفات تكمقداري هستند.
234
انواع رابطه 1- مبنا: استقلال وجودي دارد و از رابطههاي ديگر مشتق نيست و دادههاي ذخيرهشده متناظر دارد. 2- نامدار: با يك نام به سيستم معرفي ميشود. 3- ديد: نوعي رابطه نامدار كه مشتق از رابطههاي ديگر است و ماهيتا مجازي است. 4- لحظهاي: نامدار و مشتق است ولي مجازي نيست. 5- مشتق: به كمك يك عبارت رابطهاي بر حسب رابطههاي مبنا تعريف ميشود. ادامه
235
انواع رابطه 6- عبارتي: از مجموعهاي از رابطههاي نامدار و به وسيله يك عبارت رابطهاي به دست ميآيد. 7- نتيجه پرسش: بينام و مشتق است كه حاصل اجراي يك پرسش مشخص است. 8- بينابيني: بينام و مشتق است كه حاصل ارزيابي يك عبارت رابطهاي است كه درون يك عبارت بزرگتر جاي دارد 9- مشتق: رابطهاي عبارتي است كه به طور مستقيم و كارا ذخيره شده است.
236
ميدان (دامنه) از نظر رياضي، مجموعهاي است از مقادير كه يك يا بيش از يك صفت از آن مقدار ميگيرند. در مدل رابطهاي، اين مجموعه: نامدار است. مقاديرش نوع مشخص دارند. مقاديرش فرمت مشخص دارند.
237
مزاياي ميدان سبب سادهترشدن و كوتاهتر شدن شماي پايگاه دادهها ميشود.
تغيير در شماي پايگاه را تسهيل ميكند. امكاني است براي كنترل مقداري عمليات در پايگاه دادهها. امكاني است براي كنترل معنايي درخواستها. پاسخگويي به بعضي پرسشها را آسان ميكند. با استفاده از مفهوم ميدان ميتوان امكانات و جنبههاي موجود در سيستم مديريت پايگاه دادههاي شيئگرا را به سيستم مديريت پايگاه دادههاي رابطهاي افزود.
238
رابطه نرمال و غير نرمال رابطه نرمال :
رابطه اي است که مقادير هيچيک از ميدانهايش ، يک مقدار رابطه اي با کارديناليتي بزرگتر از يک نباشد رابطه غير نرمال : رابطه اي است که در آن مقادير حداقل يک صفت ، خود مقادير رابطهاي هستند (رابطه اي که حداقل يک صفت چند مقداري داشته باشد)
239
دليل لزوم نرمال بودن رابطه
1- سادگي در نمايش ظاهري رابطه (جدول با سطرهاي سادهتر) 2- سادگي دستورات DSL (بويژه DML و DDL) 3- سادگي در اجراي عمليات در پايگاه دادهها
240
معايب رابطه نرمال 1- بروز پديده افزونگي كه ميتواند فيزيكي هم باشد.
2- طولانيتر شدن كليد رابطه. 3- عدم امكان نمايش دادههاي پيچيده. 4- دشواري در نمايش طبيعي مفهوم سلسله مراتب. 5- دشواري در نمايش مفهوم وراثت.
241
مزايا و معايب رابطه غيرنرمال
مزايا: 1- كاهش ميزان افزونگي 2- كوتاه شدن كليد 3- امكان نمايش دادههاي پيچيده 4- دشواري كمتر در نمايش مفهوم سلسلهمراتب و مفهوم وراثت 5- افزايش سرعت عملياتي سيستم در بازيابي اطلاعات 6- عدم نياز به نرمالترسازي رابطه معايب: 1- پيچيدگي 2- عدم تقارن صفات
242
کليد در مدل رابطهاي ابر کليد (super key) کليد کانديد (candidate key)
در مدل رابطه اي چند مفهوم در بحث کليد داريم که عبارتند از: ابر کليد (super key) کليد کانديد (candidate key) کليد اصلي (primary key) کليد ديگر (alternate key) کليد خارجي (foreign key)
243
ابر كليد تعريف- هر زيرمجموعه از مجموعه عنوان رابطه كه يكتايي مقدار در گستره رابطه داشته باشد.
244
كليد كانديد تعريف- هر زيرمجموعه از مجموعه عنوان رابطه كه دو خاصيت زير را داشته باشد كليد كانديد رابطه است: 1- يكتايي مقدار 2- كاهشناپذيري
245
كليد اصلي تعريف- يكي از كليدهاي كانديد رابطه كه طراح انتخاب ميكند و به سيستم معرفي ميشود. ضابطههاي انتخاب: 1- از نظر كاربر، شناسه معمول نوع موجوديت باشد. 2- طول كوتاهتر داشته باشد.
246
تعريف- هر كليد كانديد، غير از كليد اصلي، كليد ديگر نام دارد.
كليد ديگر (بديل) تعريف- هر كليد كانديد، غير از كليد اصلي، كليد ديگر نام دارد.
247
كليد خارجي براي نمايش ارتباطات بين انواع موجوديتها بهكار ميرود.
تعريف- دورابطه و را در نظر ميگيريم. هر زيرمجموعه از صفات رابطه كه هر مقدار معلومش با يك مقدار از كليد كانديد برابر باشد، كليد خارجي در رابطه است. كليد خارجي براي نمايش ارتباطات بين انواع موجوديتها بهكار ميرود.
248
قواعد جامعيت پايگاه دادهها
جلسه دهم قواعد جامعيت پايگاه دادهها
249
آنچه در اين جلسه مي خوانيد:
1- جامعيت پايگاه دادهها 2- عوامل نقض جامعيت 3- انواع قواعد جامعيت 4- قواعد كاربري و انواع آن 5- متاقواعد و انواع آن 6- راههاي اعمال قواعد جامعيت
250
آنچه در اين جلسه مي خوانيد:
7- عملگرهاي جبر رابطهاي 8- كاربردهاي جبر رابطهاي 9- حساب رابطهاي 10- مزايا و معايب مدل رابطهاي 11- كاتالوگ در مدل رابطهاي 12- اشيائي كه اطلاعات آنها در كاتالوگ نگهداري ميشود
251
هدفهاي كلي: آشنايي با قواعد جامعيت پايگاه دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: جامعيت پايگاه دادهها و عوامل نقض آن را توضيح دهد. انواع قواعد جامعيت را نام برده و راههاي اعمال آن را شرح دهد. جبر رابطهاي و حساب رابطهاي را توضيح دهد. مزايا و معايب مدل رابطهاي را نام ببرد.
252
يعني: صحت، دقت و سازگاري دادههاي ذخيرهشده در پايگاه در تمام لحظات
جامعيت پايگاه دادهها يعني: صحت، دقت و سازگاري دادههاي ذخيرهشده در پايگاه در تمام لحظات
253
عواملي كه سبب نقض جامعيت ميشوند:
اشتباه در برنامههاي كاربردي اشتباه در وارد كردن دادهها وجود افزونگي كنترل نشده توارد تراكنشها به گونهاي كه داده نامعتبر ايجاد شود. خرابيهاي سختافزاري و نرمافزاري
254
انواع قواعد جامعيت 1- قواعد كاربري (قواعد خاص) 2- متا قواعد (قواعد عام)
255
1- قواعد كاربري قواعدي هستند كه توسط كاربرمجاز تعريف ميشوند. وابسته به دادههاي خردجهان واقع هستند، به اين معنا كه در مورد يك پايگاه داده خاص مطرح ميشوند و عموميت ندارند. به اين قواعد، قواعد محيطي يا وابسته به داده و يا محدوديتهاي جامعيت معنايي ميگويند.
256
نماي سادهشده يك DBMS فعال
تعاريف قواعد ارزياب شرايط موتور قواعد تحليلگر قواعد مجري اقدامات مونيتور رويدادها هسته DBMS پرسشها ديكشنري قواعد (بخشي از متاداده)
257
انواع قواعد كاربري در مدل رابطهاي
1- محدوديت ميداني: ناظر بر يك ميدان است و مقادير مجاز آن را مشخص ميكند. 2- محدوديت صفتي (ستوني): ناظر به يك صفت است و بيانكننده نوع آن صفت است. 3- محدوديت رابطهاي: ناظر بر يك رابطه است و مقادير مجاز يك تغيير رابطهاي را مشخص ميكند. 4- محدوديت پايگاهي: ناظر بر دو يا بيش از دو متغير رابطهاي است و به نحوي آنها را به يكديگر مرتبط ميكند.
258
2- متاقواعد قواعدي هستند كه بايد توسط هرسيستم رابطهاي در هر پايگاه داده رابطهاي اعمال شود، ناوابسته به دادههاي خاص هستند و عموميت دارند.
259
انواع متاقواعد 1- قاعده (جامعيت موجوديتي) 2- قاعده (جامعيت ارجاعي)
260
قاعده ناظر به كليد اصلي است و چنين است:
هيچ جزء تشكيلدهنده كليد اصلي نميتواند هيچمقدار داشته باشد.
261
قاعده ناظر بر كليد خارجي است و چنين است:
اگر صفت خاصه Ai در رابطه R2 كليد خارجي باشد در اين صورت: Ai در R2 ميتواند هيچمقدار داشته باشد يا اينكه بايد حتما مقداري داشته باشد كه در رابطه مرجع R1 وجود دارد. به عبارت ديگرمقدار كليد خارجي يك رابطه نميتواند در رابطه مرجع وجود داشته باشد.
262
وابستگيهاي چندمقداري وابستگيهاي شمول وابستگي زماني وابستگي برابري
به قواعد C1 و C2 محدوديتهاي ساختاري ميگويند وابستگيهاي تابعي وابستگيهاي چندمقداري وابستگيهاي شمول وابستگي زماني وابستگي برابري محدوديتهاي ناساختاري
263
راههاي اعمال قواعد جامعيت
1- معرفي كليد اصلي 2- اعلام هيچ مقدارناپذيري صفت 3- معرفي كليد خارجي 4- اعلان محدوديتهاي مورد نظر، در شماي پايگاه دادهها 5- نوشتن رهانا 6- اعلان محدوديتها با استفاده از مكانيسم اظهار
264
1- اجتماع 2- اشتراك 3- تفاضل 4- ضرب كارتزين عملگرهاي معمولي
عملگرهاي جبر رابطهاي 1- گزينش (تحديد) 2- پرتو 3- پيوند 4- تقسيم عملگرهاي خاص
265
عملگر گزينش تاپلهايي از يك رابطه را گزينش ميكند (سطرهايي از جدول را)
عملگر گزينش تاپلهايي از يك رابطه را گزينش ميكند (سطرهايي از جدول را). اين عملگر تك عملوندي است و به صورت زير نوشته ميشود: R WHERE cond(s) * cond(s) شرط يا شرايط گزينش را مشخص ميكند.
266
علمگر پرتو، مقادير صفت (صفاتي) از يك رابطه را به دست ميدهد
علمگر پرتو، مقادير صفت (صفاتي) از يك رابطه را به دست ميدهد. تك عملوندي بوده و چنين نوشته ميشود: PROJECT R OVER(A1,A2,…,Ai)
267
عملگر پيوند دو عملوندي است و چنين نوشته ميشود:
R1 JOIN cond(s) R2 كه در آن cond(s) چنين است: R1.Ai theta R2.Bi Ai يك صفت از رابطه R1 و Bi يك صفت از رابطه R2 است كه از يك ميدان مقدار ميگيرند و بايد ناهمنام باشند.
268
كاربردهاي جبر رابطهاي
1- بازيابي دادهها 2- ذخيرهسازي دادهها 3- تعريف انواع رابطههاي مشتق 4- تعريف قواعد براي كنترل پايگاه دادهها 5- تعريف دادهها به عنوان حيطه بعضي عمليات كنترل همروندي تراكنشها 6- ضابطه تشخيص كامل بودن زبانهاي رابطهاي
269
حساب رابطهاي حساب رابطهاي، با جبر رابطهاي منطقا معادل است، يعني براي هر عبارت جبر رابطهاي، يك عبارت معادل در حساب رابطهاي وجود دارد و برعكس. تفاوت آنها اين است كه جبر رابطهاي، دستوري است، اما حساب رابطهاي توصيفي است.
270
حساب تاپلي: در اين حساب مفهوم مهمي به نام متغير تاپلي وجود دارد كه تنها مقادير مجازش، تاپلهاي رابطه هستند. حساب ميداني: در اين حساب، متغير ميداني وجود دارد كه از يك ميدان مقدار ميگيرد. در اين حساب يك شرط اضافي به نام شرط عضويت وجود دارد. حساب رابطهاي
271
در حساب رابطهاي تاپلي دو سور وجود دارد:
1- سور وجودي: به صورت نوشته ميشود، به اين معنا كه حداقل يك مقدار براي متغير T وجود دارد به نحوي كه f به ”درست“ ارزيابي شود. 2- سور همگاني: به صورت نوشته ميشود. يعني به ازاء تمام مقادير متغير T، f به ”درست“ ارزيابي ميشود.
272
مزاياي مدل رابطهاي 1- نمايش ساده 2- مبناي رياضي دارد.
3- تامينكننده استقلال دادهاي است. 4- يك عنصر ساختاري اساسي به نام رابطه دارد. 5- كامل است. 6- عدم نياز به مفهوم كلاسيك نظم. 7- براي بهترسازي طراحي، ابزار طراحي بهتر دارد. .
273
معايب مدل رابطهاي 1- دشواري در نمايش دادههاي پيچيده
2- دشواري در نمايش مفاهيمي مانند وراثت، تعميم و ... 3- نداشتن قواعد جامعيت ذاتي 4- عدم امكان مدلسازي رفتار اشياء 5- فقدان اكمال برنامهسازي و اكمال محاسباتي 6- دشواري در يافتن كليد كانديد 7- جدا بودن دادهها از روشها 8- مشكلات ناشي از وجود مفهوم هيچمقدار .
274
كاتالوگ در مدل رابطهاي
كاتالوگ در مدل رابطهاي، تعدادي رابطه است: يك پايگاه رابطهاي كه خود سيستم ايجاد ميكند
275
در كاتالوگ اطلاعاتي در مورد اشياء ذيل نگهداري ميشود:
ميدان رابطه صفت ديد قواعد جامعيت توابع و رويههاي تعريفشده توسط كاربر رهاناهاي تعريفشده توسط كاربر كاربر شاخص و ساختارهاي مرتبط با آن ضوابط ايمني پرسشها برنامههاي كاربردي
276
جلسه يازدهم زبان SQL
277
آنچه در اين جلسه مي خوانيد:
1- انواع زبانهاي رابطه اي 2- امكانات مهم زبان SQL 3- دستورات تعريف داده ها، دستور ايجاد و حذف جدول و ديد 4- دستور مجازشماري 5- دستورات پردازش داده ها 6- توابع جمعي (گروهي)
278
آنچه در اين جلسه مي خوانيد:
7- امكان LIKE و NOTLIKE 8- آزمون تست وجود هيچمقدار در يك ستون 9- امكان UNION و UNION ALL 10- امكان GROUP BY: (گروهبندي) 11- امكان HAVING 12- امكان BETWEEN
279
هدفهاي كلي: آشنايي با زبان SQL
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: امكانات زبان SQL را بيان كند. انواع دستورات تعريف دادهها و پردازش دادهها ياد گرفته و ميتواند استفاده كند.
280
آشنايي با يک زبان رابطه اي : SQL
انواع زبانهاي رابطهاي SQUARE SEQUEL SQL QUEL QBE DATALOG
281
امكانات مهم زبان SQL دستورات تعريف دادهها دستورات مجازشماري
دستورات پردازش دادهها دستورات پردازش دادهها به طور ادغامشدني دستورات نوشتن ماژول و رويه دستورات كنترل جامعيت دستورات كنترل تراكنشها
282
دستورات تعريف دادهها 1- 1- تعريف شما : CREATE SCHEMA
AUTHORIZATION USER {base – table definition , view definition , grant-operation }
283
دستورات تعريف دادهها 1- 2- انواع دادهاي: CHARACTER[(length)] INTEGER
DECIMAL [(precision[,scale])] SMALLINT DOUBLE PRECISION REAL FLOAT [(precision)] NUMERIC [(precision[,scale])]
284
دستورات تعريف دادهها 1- 3- دستور ايجاد جدول : CREATE SCHEMA
AUTHORIZATION … CREATE TABLE …
285
دستورات تعريف دادهها 1- 4- دستور حذف جدول: DROP TABLE table-name
286
دستورات تعريف دادهها 1- 5- دستور ايجاد و حذف ديد: CREATE VIEW …
DROP VIEW …
287
دستورات تعريف دادهها 1- 6- دستور مجاز شماري:
GRANT , REVOKE با اين دستور حق انجام يك يا بيش از يك عمل به كاربر (كاربراني) داده ميشود.
288
2- دستورات پردازش داده ها
2- 1- دستور بازيابي ( SELECT ): SELECT [ALL | DISTINCT] item(s)-list FROM table(s)-name [WHERE condition(s)] [GROUP BY column(s)] [HAVING conditions(s)]
289
توابع جمعي (گروهي) COUNT: تعداد مقادير اسكالر را به دست ميدهد.
SUM: حاصل جمع مقادير اسكالر در يك ستون را به دست ميدهد. AVG: ميانگين مقادير اسكالر در يك ستون را به دست ميدهد. MAX: بيشترين مقدار اسكالر در يك ستون را به دست ميدهد. MIN: كمترين مقدار اسكالر در يك ستون را به دست ميدهد.
290
يك مثال در مورد استفاده از توابع جمعي
SELECT MIN(GRADE) , MAX(GRADE) FROM STCOT WHERE TR=‘2’ AND YRYR=’78-79’ COID=‘COM222’; بالاترين و پايين ترين نمره در درس COM222 در ترم دوم را بازيابي ميكند.
291
امكان LIKE و NOTLIKE با اين دو امكان ميتوان دادههاي مورد نظر را با دادن يك رشته كاراكتري به عنوان نشانوند جستجو و بيان شرايط مورد نظر، بازيابي كرد.
292
مثال: مشخصات استاداني را بدهيد كه نام آنها با AR شروع شده باشد.
SELECT * FROM PROF WHERE PRNAME LIKE ‘AR%’;
293
ميتوان با امكان IS NULL وجود هيچ مقدار در يك ستون را تست كرد.
آزمون تست وجود هيچمقدار در يك ستون ميتوان با امكان IS NULL وجود هيچ مقدار در يك ستون را تست كرد.
294
مثال: شماره دانشجوياني را بدهيد كه نمره آنها در درس SOC333 در ترم دوم 79-78 هنوز اعلام نشده است؟
SELECT STID FROM STCOT WHERE COID=‘SOC333’ AND TR=‘2’ YRYR=’78-79’ GRADE IS NULL
295
امكان UNION و UNION ALL با اين امكان، ميتوان عملكرد عملگر UNION جبري را برنامهسازي كرد. حاصل اين عملكرد، جدولي است كه سطرهاي تكراري ندارد. اگر از گزيدار ALL استفاده شود، سيستم ديگر سطرهاي تكراري را در صورت وجود، حذف نميكند.
296
امكان GROUP BY: (گروهبندي)
با اين امكان ميتوان سطرهاي جدول را حسب مقادير يك ستون ساده گروهبندي كرد به نحوي كه در هر گروه، مقدار آن ستون يكسان باشد.
297
مثال: جدول STCOT را برحسب مقادير ستون COID منطقا گروهبندي كنيد.
SELECT COID, AVG(GRADE) AS AVGGR FROM STCOT GROUP BY COID;
298
امكان HAVING با اين امكان ميتوان شرط (شرايطي) ناظر به گروه سطرها اعلان كرد. نقش اين امكان در واقع همان نقش WHERE در سطر است. توجه داشته باشيد كه HAVING هميشه با GROUP BY ميآيد.
299
مثال: شماره درسهايي را بدهيد كه در ترم دوم 79-78 كمتر از 10 دانشجو در آنها ثبت نام كرده باشند.
SELECT STCOT.COID FROM STCOT WHERE TR=‘2’ AND YRYR=’78-79’ GROUP BY COID HAVING COUNT(*)<10
300
شكل كلي اين امكان چنين است:
امكان BETWEEN شكل كلي اين امكان چنين است: Scalar-expression [NOT] BETWEEN Scalar-expression AND Scalar-expression
301
مثال: شماره دانشجوياني را بدهيد كه نمره آنها در درس HIS444 در ترم اول 78-77 بين 15 و 19 باشد.
SELECT STCOT.STID FROM STCOT WHERE TR=‘1’ AND YRYR=’78’79’ GRADE BETWEEN ’15’ AND ’19’
302
جلسه دوازدهم ادامه زبان SQL
303
آنچه در اين جلسه مي خوانيد:
1- دستورات عمليات ذخيرهسازي (درج، حذف و بهنگامسازي) 2- جمعبندي در مورد امكانات نسخه SQL1 3- دستوراتي كه در نسخه SQL2 تغيير كردند يا به آن اضافه شدند 4- امكانات جامعيتي 5- امكانات ايمني 6- امتيازها
304
آنچه در اين جلسه مي خوانيد:
7- دستوراتي كه در نسخه SQL3 تغيير كردند يا به آن اضافه شدند 8- نوع داده مجرد 9- تعريف رهانا و مزايا و موارد كاربرد آن 10- تراكنش 11- طرحهاي اجراي تراكنشها 12- تكنيكهاي كنترل همروندي
305
هدفهاي كلي: آشنايي با زبان SQL
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: از دستورات ذخيرهسازي استفاده كند. امكانات اضافهشده در نسخه SQL2 را بيان كند. امكانات اضافهشده در نسخه SQL3 را بيان كند.
306
2- دستورات پردازش داده ها
2- 2- دستورات عمليات ذخيرهسازي : براي انجام عمليات سهگانه ذخيرهسازي سه دستور DELETE، INSERT و UPDATE وجود دارد.
307
دستور UPDATE شكل كلي اين دستور چنين است: UPDATE table-name
SET assignment-commalist [WHERE Condition(s)]
308
مثال: تعداد واحد درسهاي عملي را يك واحد كاهش دهيد.
UPDATE COT SET CREDIT=CREDIT-1 WHERE COTYPE=‘p’;
309
دستور DELETE شكل كلي اين دستور چنين است: DELETE FROM table-name
[WHERE Cond(s)]
310
مثال: درسهاي دانشجوي با شماره 78110555 را در ترم دوم سال 79-78 حذف كنيد
DELETE FROM STCOT WHERE STID=‘ ’ AND TR=‘2’ YRYR=’78-79’;
311
اين دستور دو شكل كلي دارد:
دستور INSERT اين دستور دو شكل كلي دارد: INSERT INTO table-name Values(one row); INSERT INTO table-name Subquery; در شكل دوم، تعدادي سطر در جدول درج ميشوند.
312
مثال: اطلاعات درسي زير را در جدول درج نمائيد.
< ,COM888,2,78-79,12> INSERT INTO STCOT VALUES <‘ ’, ‘COM888’, 2, 78-79, 12>;
313
جمعبندي در مورد امكانات نسخه SQL1
1- نارويهاي است. 2- داراي كمال ساختاري است. 3- زبان استانده سيستمهاي رابطهاي موجود است. 4- تمام انواع دادهاي ساده را دارد. 5- عملگرهاي بسيار قوي دارد. 6- يادگيري آن ساده است. 7- استقلال دادهاي را تامين ميكند. 8- هم به صورت مستقل و هم به صورت ادغامشده قابل استفاده است.
314
دستوراتي كه در نسخه SQL2 تغيير كردند يا به آن اضافه شدند:
8. دستور حذف جدول 9. تعريف جدول موقت 10. دستور بازيابي امكانات جامعيتي امكانات ايمني SQL پويا دستور تعريف دادهها دستور تعريف ميدان انواع دادهاي دستور تغيير ميدان دستور حذف ميدان دستور ايجاد جدول دستور تغيير جدول
315
امكانات جامعيتي كاربر ميتواند زمان وارسي جامعيت پايگاه را (براساس محدوديتها و قواعد دادهشده) خود مشخص كند. ميتواند درخواست كند كه اين وارسي بلافاصله باشد يا با تاخير. براي اين منظور از امكان زير استفاده ميشود: SET CONSTRAINTS (constraint-name) {DEFERRED | IMMEDIATE}
316
امكانات ايمني كاربر ميتواند امتياز دستيابي به اشياء تعريفشده در شما را به منظور انجام عمل مشخص، به كاربر ديگري بدهد. براي اعطاي امتياز از دستور GRANT و براي لغو آن از دستور REVOKE استفاده ميشود.
317
امتيازها امتيازهايي كه يك كاربر ميتواند به يك كاربر ديگر بدهد:
USAGE: اجازه استفاده از يك ميدان SELECT: اجازه دستيابي به تمام ستونهاي يك جدول INSERT(X): اجازه درج يك مقدار در ستون X از يك جدول INSERT: اجازه درج تمام ستونهاي يك جدول UPDATE(X): اجازه بهنگامسازي ستون X از يك جدول UPDATE: اجازه بهنگامسازي تمام ستونهاي يك جدول DELETE: اجازه حذف سطر(ها) از يك جدول REFRENCES(X): اجازه ارجاع به ستون X از يك جدول در تعريف محدوديتهاي جامعيتي
318
دستوراتي كه در نسخه SQL3 تغيير كردند يا به آن اضافه شدند:
تعريف نوع داده مجرد تعريف زيرنوع امكان تعريف زيرجدول و زبرجدول امكان ارثبري ستونهاي جدول جديد از ستونهاي جدول نامدار موجود رويهاي شدن زبان رهانا نوشتن رويه SQL ادغامشده واسط درخواست فراخوان دستورات كنترل تراكنشها
319
نوع داده مجرد شايد مهمترين قابليتي كه در زمينه انواع دادهاي در SQL3 افزوده شد، امكان تعريف نوع داده مجرد (ADT) باشد. با اين نوع داده ميتوان مجموعهاي از صفات و روالها را تعريف كرد. نوع داده مجرد نمونههايي دارد و هر نمونه هم به نوبه خود، همه صفات و روالهاي تعريفشده را دارد.
320
ساختهاي زباني افزودهشده به SQL3، كه در تعريف توابع و رويهها استفاده ميشود:
احكام مركب (تودرتو) احكام حلقهگرداني) احكام شرطي احكام انتساب احكام اعلان اشتباهات در برنامه
321
رهانا تعريف- قاعده (محدوديت) يا قواعدي است كه قبل يا بعد از بروز يك رويداد در پايگاه دادهها (معمولا يك عمل تغييردهنده دادهها) بايد اعمال شود. اين قاعده در سطح برنامهسازي، به صورت يك رويه از پيش تعريفشده است كه به طور شرطي يا غيرشرطي، قبل يا بعد از انجام يك عمل در پايگاه دادهها، به طور اتوماتيك اجرا ميشود.
322
رهانا مزايا اجراي آن تحت كنترل متمركز سيستم و نظارت مدير پايگاه دادهها است. با وجود آن ديگر نيازي نيست كه محدوديتهاي مورد نظر در هر برنامه كاربردي اعمال شوند و كنترلهاي لازم انجام شود. براي معماري C/S DB بسيار مناسب است.
323
كاربرد رهانا اعمال قواعد جامعيت. اعمال قواعد ايمني مبتني بر مقادير
درج ركوردهاي ثبت عمليات در فايل ثبت تراكنشها توليد نسخهاي از دادههاي ذخيرهشده در يك سايت ديگر. در انتشار اتوماتيك عمليات در پايگاه دادههاي توزيعشده. در بهنگامسازي ديدها در سيستمهاي رابطهاي
324
تراكنش تعريف: به بيان ساده عملي است كه تغييري در پايگاه دادهها ايجاد كند. اين عمل كه طبعا به صورت يك برنامه يا بخشي از يك برنامه است، يا بايد به تمامي اجرا شود و يا اصلا اجرا نشود و ميگوييم كه تراكنش خاصيت تجزيهناپذيري دارد. خواص تجزيهناپذيري سازگاري جدايي (انفراد) مانايي (دوام)
325
طرحهاي اجراي تراكنشها طرح اجراي متوالي طرح اجراي همروند
326
تكنيكهاي كنترل همروندي
تكنيك قفلگذاري تكنيك زمانمهر تكنيك چند نسخهسازي تكنيك تاييد (تصديق)
327
جلسه سيزدهم ديد در مدل رابطهاي
328
آنچه در اين جلسه مي خوانيد:
1- ديدهاي رابطهاي 2- ديد در SQL 3- مزايا و معايب ديد 4- عمليات در ديدهاي رابطهاي 5- انواع ديد از نظر پذيرش عمليات ذخيرهسازي 6- انواع ديدهاي پذيرا 7- انواع ديدهاي ناپذيرا 8- ويژگيهاي ديدهاي قابل بهنگامسازي
329
هدفهاي كلي: آشنايي با ديد در مدل رابطهاي
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: ديد را تعريف كند و دستورات SQL مرتبت با آن را بكار برد. مزاياي استفاده از ديد را برشمارد. عمليات قابل انجام روي ديد را شرح دهد. انواع ديد از لحاظ پذيرا و ناپذيرا را نام ببرد.
330
ديدهاي رابطهاي ديد در مدل رابطهاي نوعي رابطه است، بنابراين ميتوان آن را به كمك يك عبارت جبر رابطهاي يا حساب رابطهاي به شكل زير تعريف كرد: View name= Relational expression
331
ديد در SQL دستور ايجاد ديد CREATE VIEW Viewname [(Column-name(s))]
AS Subquery . [WITH [CASCADE|LOCAL] CHECK OPTION];
332
مثال CREATE VIEW MAPHSTUD( STNUM, STLEV, STAREA)
AS SELECT STID, STDEG, STMJR FROM STT WHERE STMJR=‘Math’ OR STMJR=‘Phys’ WITH LOCAL CHECK OPTION;
333
ديد در SQL دستور حذف ديد DROP VIEW Viewname {restrict | cascade}
334
مثال: DROP VIEW MAPHSTUD CASCADE;
335
مزاياي ديد تامينكننده محيط انتزاعي براي كاربران سطح خارجي
تامينكننده پويايي بالا در تعريف پايگاه توسط كاربر تسهيلكننده واسط كاربر برنامهساز با پايگاه امكاني است براي كوتاهنويسي يا ماكرونويسي پرسشها تامينكننده اشتراك دادهاي تامينكننده نوعي مكانيسم خودكار ايمني دادهها تامينكننده استقلال دادهاي فيزيكي و منطقي امكان تعريف شيئ با اندازههاي مختلف
336
معايب ديد ايجاد فزونكاري در سيستم براي انجام تبديل خارجي/ادراكي و احيانا خارجي/خارجي عدم امكان انجام عمليات ذخيرهسازي در بسياري از گونههاي ديد و در نتيجه ايجاد محدوديت براي كاربر
337
عمليات در ديدهاي رابطهاي
بازيابي از ديد رابطهاي چون ديد خود نوعي رابطه است، پس براي بازيابي از ديد هم يك عبارت جبري يا حسابي مينويسيم
338
مثال بازيابي از يك ديد با استفاده از دستورات SQL
CREATE VIEW AS SELECT STID, STDEG FROM STT WHERE STPROG=‘Math’ SELECT STID FROM WHERE STDEG=‘bs’;
339
عمليات در ديدهاي رابطهاي
عمليات ذخيرهسازي در ديدهاي رابطهاي براي انجام عمليات ذخيرهسازي در ديد از همان دستورات سهگانه INSERT، UPDATE و DELETE استفاده ميشود.
340
ديدها از نظر پذيرش عمليات ذخيرهسازي
ديدهاي پذيرا ديدهاي ناپذيرا
341
ديدهاي گزينشي ديد گزينش – پرتوي داراي كليد رابطه مبنا ديد پيوندي CK-CK ديد پيوندي CK-FK ديد حاصل اجتماع، اشتراك و تفاضل دو رابطه ديدهاي پذيرا
342
ديد گزينشي حاصل عملگر گزينش در يك رابطه است.
343
در ديد ”گزينش-پرتوي داراي كليد رابطه مبنا“ علاوه بر گزينش تاپلهايي از رابطه مبنا، عملگر پرتو نيز اعمال شده است. اين نوع ديد را اصطلاحا ديد داراي كليد با تاپلهاي ناقص ميگوئيم.
344
ديد پيوندي CK-CK، حاصل پيوند دو رابطه روي كليد كانديد مشترك آنها است و در عمليات ذخيرهسازي مشكلي ندارد
345
ديد پيوندي CK-FK، حاصل پيوند روي كليد كانديد يك رابطه و كليد خارجي رابطه ديگر است. اين ديد در حذف مشكل دارد، زيرا با حذف يك تاپل از اين ديد، در هريك از دو رابطه مبنا، يك تاپل حذف ميشود و چنانچه كاربر بخواهد محتواي ديد خود را نمايش دهد، تاپلهاي ديگر هم از ديد او حذف ميشوند كه درخواست نكرده است.
346
ديد حاصل اجتماع، اشتراك و تفاضل دو رابطه در عمليات ذخيرهسازي مشكلي ندارد، به شرط آنكه سيستم بتواند تشخيص دهد كه عمل درخواستشده، در كداميك از دو رابطه مبنا انجام شود.
347
مشكلات مهمتر ديدهاي پذيرا
بروز عارضه جانبي در خود ديد بروز عارضه جانبي در ديدهاي ديگر نقض قاعده جامعيت بروز فزونكاري در سيستم تغيير ماهيت عمل درخواست شده تعدد تبديلات و مشكل تصميمگيري
348
ديد پرتوي يا گزينشي فاقد كليد رابطه مبنا
ديد پيوندي NK-NK ديد پيوندي FK-FK ديد حاوي صفت مجازي ديد حاصل تقسيم ديدهاي ناپذيرا
349
ويژگيهاي ديدهاي قابل بهنگامسازي
عبارت تعريفكننده محدوده ديد، يك عبارت معتبر SELECT باشد. در كلاز FROM، عبارت SELECT، فقط يك جدول وجود داشته باشد. جدول قيدشده در كلاز FROM، يك جدول مبنا يا يك ديد قابل بهنگامسازي باشد. در item-list عبارت SELECT، ستونهاي مورد نظر بايد در جدول مبنا متناظر باشد. در عبارت SELECT نبايد كلاز GROUP BY و HAVING و گزينه DISTINCT وجود داشته باشد. در كلاز WHERE عبارت SELECT نبايد عبارتي حاوي كلاز FROM باشد، به گونهاي كه در آن به همان جدولي ارجاع داده شده باشد كه در كلاز FROM قبلي به آن ارجاع شده است.
350
طراحي پايگاه دادههاي رابطهاي
جلسه چهاردهم طراحي پايگاه دادههاي رابطهاي
351
آنچه در اين جلسه مي خوانيد:
1- مراحل طراحي پايگاه دادهها 2- نمودار مراحل اساسي طراحي پايگاه دادهها 3- روشهاي طراحي منطقي پايگاه دادهها 4- روش طراحي بالا به پايين 5- روش سنتز رابطهاي 6- روش تركيبي 7- خصوصيات طراحي خوب 8- چهارده روش تبديل نمودار ERبه رابطهها
352
هدفهاي كلي: آشنايي با طراحي پايگاه دادههاي رابطهاي
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: مراحل طراحي پايگاه دادهها را بيان كند. روشهاي طراحي منطقي پايگاه را شرح دهد. روشهاي تبديل نمودار ER به رابطه را نام برده و توضيح دهد. خصوصيات يك طراحي خوب را بيان كند.
353
طراحي پايگاه دادههاي رابطهاي (روش بالا به پايين)
مراحل طراحي پايگاه دادهها مطالعه و شناخت خرد جهان واقع انجام عمليات مهندسي نيازها مدلسازي معنايي دادهها طراحي منطقي پايگاه دادهها طراحي فيزيكي پايگاه دادهها انجام تحليل عملكردي: تعيين تراكنشها طراحي برنامههاي كاربردي و واسطهاي كاربري
354
مراحل اساسي طراحي پايگاه دادهها
خرد جهان ولقع تشخيص نيازها و تحليل آنها نيازهاي عملياتي نيازهاي پايگاهي تحليل عملكردي مدلسازي معنايي دادهها مشخص كردن تراكنشها در سطح بالا نمودار ER ناوابسته به DBMS طراحي منطقي وابسته به DBMS طراحي برنامههاي كاربردي و واسطهاي كاربري شماي ادراكي (منطقي) و شماي خارجي طراحي فيزيكي پيادهسازي تراكنشها شماي داخلي برنامههاي كاربردي
355
روشهاي طراحي منطقي پايگاه دادهها
روش بالا به پايين روش سنتز رابطهاي روش تركيبي
356
روش طراحي بالا به پايين در اين روش ابتدا مدلسازي معنايي دادهها انجام ميشود. سپس مدلسازي را به مجموعهاي از رابطهها تبديل ميكنيم. حاصل اين فرايند، معمولا مجموعهاي از رابطههاي خوشطرح است
357
روش سنتز رابطهاي در اين روش مجموعه صفات خردجهان واقع را مشخص ميكنيم. سپس با تحليل قواعد و محدوديتهاي ناظر به صفات و تشخيص وابستگيهاي بين آنها، صفات را متناسبا باهم سنتز ميكنيم. هر گروه از صفات عنوان يك رابطه را به ما ميدهد به گونهاي كه حتيالامكان در مطلوبترين صورت نرمال باشد. هر رابطه بدستآمده نمايشگر بخشي از خردجهان واقع بوده، ضوابط يك طرح خوب و قابل دفاع را خواهد داشت.
358
روش تركيبي در اين روش، ابتدا طراحي را با روش بالا به پايين انجام ميدهيم و سپس با دخالت دادن برخي محدوديتهاي جامعيتي كه در مرحله مدلسازي معنايي دادهها منظور نشدهاند و با تحليل هر رابطه، مرحله نرمالترسازي رابطهها را انجام ميدهيم تا به مجموعهاي از نرمالترين رابطهها برسيم.
359
خصوصيات طراحي خوب 1- نمايش واضحي از خردجهان واقع باشد.
2- نمايش صحيحي از خردجهان واقع باشد. 3- نمايش جامعي از خردجهان واقع باشد. 4- تمام قواعد جامعيتي كه قابل اعمال در هر مرحله از طراحي منطقي باشند، در طراحي منظور شده باشند. 5- معناي هريك از صفات از هر نوع موجوديت به درستي رعايت شده باشد. 6- كمترين ميزان افزونگي را داشته باشد. ادامه
360
خصوصيات طراحي خوب 7- كمترين ميزان اختلاط اطلاعات را داشته باشد.
8- انعطافپذيري داشته باشد. 9- كمترين دشواري در انجام عمليات ذخيرهسازي 10- كمترين ميزان هيچمقدار 11- هيچ اطلاع جعلي در اثر انجام عمليات در پايگاه دادهها پديد نيايد. 12- با درنظر گرفتن طراحي فيزيكي و تاثير آن در طراحي منطقي، بيشترين كارايي براي سيستم كاربردي پايگاه دادهها تامين شود.
361
روش تبديل نمودار ER به رابطهها
حالت اول تعداد نوع موجوديت: n>=2 وضع موجوديتها: مستقل چندي ارتباط: N:M در اين حالت، n+1 رابطه لازم است. n رابطه براي n موجوديت مستقل و يك رابطه براي نمايش ارتباط بين آنها. اگر ارتباط بين انواع موجوديتها، صفت ساده يا مركب چندمقداري نداشته باشد، در اين صورت كليد كانديد رابطه نمايشگر ارتباط بين n موجوديت، از تركيب كليدهاي كانديد n رابطه نمايشگر n موجوديت به دست ميآيد. سپس كليدهاي خارجي، اجزاء تشكيلدهنده كليد كانديد رابطه نمايشگر ارتباط هستند.
362
روش تبديل نمودار ER به رابطهها
حالت دوم تعداد نوع موجوديت: دو وضع موجوديتها: مستقل چندي ارتباط: 1:N در اين حالت، دو رابطه كفايت ميكند: يك رابطه براي نمايش نوع موجوديت طرف يك، يك رابطه براي نمايش نوع موجوديت طرف N و نيز ارتباط 1:N. در رابطه اخير، كليد كانديد رابطه اول، به عنوان كليد خارجي رابطه دوم، ارتباط مورد نظر را نشان ميدهد و جزء تشكيلدهنده كليد كانديد رابطه نيست.
363
روش تبديل نمودار ER به رابطهها
حالت سوم تعداد نوع موجوديت: دو وضع موجوديتها: مستقل چندي ارتباط: 1:1 در اين حالت، دو رابطه لازم است: يك رابطه براي نمايش يكي از دو نوع موجوديت و رابطهاي ديگر براي نمايش نوع موجوديت ديگر و ارتباط بين دو نوع موجوديت.
364
روش تبديل نمودار ER به رابطهها
حالت چهارم تعداد نوع موجوديت: يك وضع موجوديتها: مستقل چندي ارتباط: N:M در اين حالت، ارتباط با خود داريم. دو رابطه لازم است: يك رابطه براي نمايش خود نوع موجوديت و ديگري براي نمايش ارتباط، اعم از اينكه مشاركت الزامي باشد يا نباشد.
365
روش تبديل نمودار ER به رابطهها
حالت پنجم تعداد نوع موجوديت: يك وضع موجوديتها: مستقل چندي ارتباط: 1:N در اين حالت، هم ”ارتباط با خود“ داريم و يك رابطه كفايت ميكند.
366
روش تبديل نمودار ER به رابطهها
حالت ششم تعداد نوع موجوديت: يك وضع موجوديتها: مستقل چندي ارتباط: 1:1 در اين حالت يك رابطه كفايت ميكند، به شرط آنكه مشاركت در ارتباط الزامي باشد. البته ميتوان با دو رابطه هم طراحي كرد.
367
روش تبديل نمودار ER به رابطهها
حالت هفتم نمايش موجوديت ضعيف موجوديت ضعيف داراي شناسه يكتا نيست، بلكه صفت مميزه دارد. براي نمايش اين نوع موجوديت در طراحي پايگاه رابطهاي، يك رابطه طراحي ميكنيم كه در عنوان آن، صفات موجوديت ضعيف و كليد كانديد موجوديت قوي كه با آن ارتباط دارد (موجوديت شناسا)، وجود دارند.
368
روش تبديل نمودار ER به رابطهها
حالت هشتم وجود صفت چندمقداري اگر MVA، يك صفت (ساده يا مركب) چندمقداري، EID شناسه موجوديت E و ، و ساير صفات تكمقداري موجوديت E باشند، در اين صورت براي نمايش اين نوع موجوديت، دو رابطه لازم است:
369
روش تبديل نمودار ER به رابطهها
حالت نهم ارتباط IS-A يا ”گونهاي است از ...“ در اين حالت يك روش اين است كه موجوديت سطح بالاتر با يك رابطه نشان داده ميشود و هر نوع موجوديت سطح پايينتر با صفات خاص خودش همراه با شناسه اصلي موجوديت سطح بالاتر، در رابطه ديگري نمايش داده ميشود.
370
روش تبديل نمودار ER به رابطهها
حالت دهم وجود دسته (طبقه) در ارتباط IS-A در اين ارتباط وقتي زيرنوع دسته (طبقه) داريم و صفات شناسه زبرنوعها، متفاوت باشند، يك طرز طراحي اين است كه اين زيرنوع را با يك رابطه نشان دهيم. كليد اين رابطه، يك كليد جايگزين (شناسه ساختگي) است و بعلاوه يك صفت ديگر در آن درنظر ميگيريم نشاندهنده نوع آن (از نوع كدام زبرنوع است). هر زبرنوع را هم با يك رابطه نشان ميدهيم و صفت كليد زيرنوع را به هريك از رابطههاي نشاندهنده زبرنوعها اضافه ميكنيم.
371
روش تبديل نمودار ER به رابطهها
حالت يازدهم ارتباط IS – A PART – OF يا ”جزئي است از ...“ در اين حالت، براي موجوديت كل (شامل) يك رابطه و براي هريك از موجوديتهاي جزء (مشمول) نيز يك رابطه طراحي ميشود. در رابطه نشاندهنده موجوديت جزء، كليد كانديد رابطه نشاندهنده موجوديت كل، آورده ميشود و بقيه صفات اين رابطه، خاص خود موجوديت جزء هستند.
372
روش تبديل نمودار ER به رابطهها
حالت دوازدهم بيش از يك ارتباط بين دو نوع موجوديت فرض ميكنيم هر دو نوع موجوديت مستقل هستند. تعداد رابطهها، بستگي به چندي هر ارتباط دارد. به صورت زير عمل ميكنيم: هر ارتباط با چندي N:M با يك رابطه نمايش داده ميشود. نوع موجوديت سوي N و همه ارتباطهاي با چندي 1:N، اگر مشاركت دو نوع موجوديت در همه ارتباطها الزامي باشد، را ميتوان با يك رابطه نمايش داد. ادامه
373
روش تبديل نمودار ER به رابطهها
حالت دوازدهم بيش از يك ارتباط بين دو نوع موجوديت اگر مشاركت دو نوع موجوديت در يك ارتباط 1:N، الزامي نباشد، بهتر است براي چنين ارتباطي يك رابطه جداگانه طراحي شود كه صفات آن، شناسه دو نوع موجوديت و در صورت وجود، صفات خود ارتباط هستند. در صورت وجود بيش از يك ارتباط 1:1 و الزامي بودن مشاركتها، هر دو نوع موجوديت و همه اين ارتباطها را ميتوان با يك رابطه نمايش داد. اگر مشاركت در يك ارتباط 1:1 الزامي نباشد، بهتر است اين ارتباط را با يك رابطه جداگانه نمايش داد.
374
روش تبديل نمودار ER به رابطهها
حالت سيزدهم ارتباط سلسلهمراتبي (پدر- فرزندي) در تبديل اين نوع ارتباط بين موجوديتها به طراحي رابطهاي يك روش چنين است: 1- براي نوع موجوديت ريشه، يك رابطه در نظر ميگيريم. 2- كليد كانديد اين رابطه همان شناسه ريشه است. 3- براي هر نوع موجوديت فرزند يك رابطه در نظر ميگيريم و كليد كانديد هر نوع موجوديت فرزند، تركيب شناسه آن نوع موجوديت با كليد كانديد نوع موجوديت پدرش است.
375
روش تبديل نمودار ER به رابطهها
حالت چهاردهم تجمع (ارتباط با ارتباط) در اين حالت، ابتدا نمودار ER جزئي درون مستطيل نشاندهنده نوع موجوديت حاصل از عمل تجميع را به رابطههاي لازم تبديل ميكنيم. سپس با توجه به چندي ارتباط بين نوع موجوديت مرتبط با ارتباط و چگونگي مشاركت در ارتباط با ارتباط، طراحي را كامل ميكنيم.
376
جلسه پانزدهم نرمالترسازي رابطهها
377
آنچه در اين جلسه مي خوانيد:
1- آنومالي در عمليات ذخيرهسازي 2- صورتهاي نرمال 3- وابستگي تابعي 4- وابستگي تابعي نامهم (بديهي) 5- قواعد استنتاج آرمسترانگ 6- مجموعه كاهشناپذير وابستگيهاي تابعي 7- وابستگي تابعي تام (كامل) 8- رابطه 1NF 9- رابطه 2NF
378
آنچه در اين جلسه مي خوانيد:
10- رابطه 3NF 11- صورت نرمال بايس-كاد 12- وابستگي تابعي چندمقداري 13- رابطه 4NF 14- وابستگي تابعي چندمقداري ادغامشده 15- رابطه 5NF 16- مزايا و معايب نرمالترسازي 17- انواع افزونگي در پايگاه دادهها
379
هدفهاي كلي: آشنايي با نرمالترسازي رابطهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: صورتهاي مختلف نرمالسازي را نام برده و هريك را توصيف كند. مزايا و معايب روش نرمالترسازي را شرح دهد.
380
طراحي پايگاه دادههاي رابطهاي روش سنتز: نرمالترسازي رابطهها
يك رابطه، هرچند نرمال، بازهم ممكن است در عمليات ذخيرهسازي (درج، حذف و بهنگامسازي) مشكلاتي داشته باشد.
381
آنومالي در عمليات ذخيرهسازي به هريك از سه وضع زير گفته ميشود:
عدم امكان انجام يك عمل (كه منطقا بايد قابل انجام باشد) بروز پيامد بد پس از انجام يك عمل بروز فزونكاري در سيستم در انجام يك عمل
382
صورتهاي نرمال صورت نخست نرمال (1NF) صورت دوم نرمال (2NF)
صورت نرمال بايس-كاد (BCNF) صورت چهارم نرمال (4NF) صورت پنجم نرمال (5NF) صورت نرمال ميدان-كليدي (DKNF) صورت نرمال تحديد-اجتماع (RUNF)
383
وابستگي تابعي تعريف- فرض كنيد كه R يك متغير رابطهاي و A و B دو زيرمجموعه دلخواه از عنوان R باشند. ميگوييم B با A وابستگي تابعي دارد و چنين نمايش ميدهيم: اگر و فقط اگر در هر ميدان ممكن از متغير رابطهاي R، به هر مقدار A فقط يك مقدار B متناظر باشد.
384
وابستگي تابعي نامهم (بديهي)
اگر در R(A,B,C,…) داشته باشيم: ، در اين صورت: يك وابستگي تابعي نامهم است. به بيان ديگر اگر B زيرمجموعهاي از A باشد، در اين صورت يك وابستگي نامهم است.
385
قواعد استنتاج آرمسترانگ
فرض: A، B، C و D زيرمجموعههايي از صفات رابطه R باشند. قواعد زير برقرارند: قاعده انعكاس: اگر آنگاه: قاعده تعدي(تراگذري): اگر و آنگاه قاعده افزايش: اگر آنگاه قاعده تجزيه: اگر آنگاه و قاعده اجتماع: اگر و آنگاه قاعده تركيب: اگر و آنگاه قاعده شبه تعدي: اگر و آنگاه قاعده يگانگي عمومي: اگر و آنگاه
386
مجموعه كاهشناپذير وابستگيهاي تابعي
مجموعهاي از وابستگيهاي تابعي R، به نام F را كاهشناپذير گوييم اگر: در F وابستگي تابعي افزونه نباشد. در سمت راست هر FD از F صفت ساده وجود داشته باشد. هيچ صفتي در سمت چپ FDهاي F افزونه نباشد.
387
وابستگي تابعي تام (كامل)
اگر X و Y دو زيرمجموعه از مجموعه عنوان رابطه R باشند، ميگوييم Y با X وابستگي تابعي تام دارد و چنين نشان ميدهيم: اگر و فقط اگر Y با X وابستگي داشته باشد. ولي با هيچ زيرمجموعهاي از X وابستگي تابعي نداشته باشد.
388
رابطه 1NF تعريف- رابطهاي 1NF است اگر هر صفت خاصه آن در هر تاپل، تكمقداري باشد، به بيان ديگر، صفت چندمقداري نداشته باشد.
389
رابطه 2NF تعريف- رابطهاي 2NF است اگر اولا 1NF باشد و ثانيا تمام صفات غيركليد با كليد اصلي وابستگي تابعي تام داشته باشند. به عبارت ديگر هر صفت غيركليد با كليد اصلي بطور كاهشناپذير وابسته باشد.
390
رابطه 3NF تعريف- رابطهاي 3NF است اگر 2NF باشد و هر صفت غيركليد با كليد اصلي، وابستگي تابعي بيواسطه داشته باشد.
391
صورت نرمال بايس-كاد تعريف اول: رابطهاي BCNF است اگر در آن هر دترمينان، كليد كانديد باشد. اين تعريف سادهشده و غير صوري است.
392
صورت نرمال بايس-كاد تعريف دوم: رابطه R(H)، با مجموعه وابستگيهاي تابعي F، در BCNF است اگر براي هر وابستگي تابعي در به صورت كه در آن و است، حداقل يكي از دو حالت زير برقرار باشد: a: يك وابستگي نامهم باشد يعني b: A سوپركليد رابطه R باشد.
393
صورت نرمال بايس-كاد تعريف سوم: رابطه R در BCNF است هرگاه يك وابستگي تابعي به صورت در مجموعه FDهاي R وجود داشته باشد، A سوپركليد R باشد.
394
صورت نرمال بايس-كاد تعريف چهارم: رابطهاي BCNF است اگر و فقط اگر سمت چپ هر FD مهم (مطرح) و كاهشناپذير، كليد كانديد رابطه باشد.
395
وابستگي تابعي چندمقداري
تعريف اول- در رابطه R(X,Y,Z) با صفات ساده يا مركب X، Y و Z ميگوييم كه Y با X وابستگي تابعي چندمقداري دارد و چنين نمايش ميدهيم: اگر به يك مقدار X، مجموعهاي از مقادير Y متناظر باشند.
396
وابستگي تابعي چندمقداري
تعريف دوم- در رابطه R، صفت Y با X وابستگي تابعي چندمقداري دارد اگر و فقط اگر مجموعه مقادير Y متناظر با يك مقدار از جفت (X,Z) در R فقط به مقدار X بستگي داشته باشد و وابسته به مقدار Z نباشد.
397
رابطه 4NF تعريف- رابطهاي 4NF است اگر BCNF باشد و در آن وابستگي تابعي چند مقداري مهم وجود نداشته باشد.
398
وابستگي تابعي چندمقداري ادغامشده
در رابطه R(X,Y,Z,U,V,…)، پديده وابستگي تابعي چندمقداري ادغام شده وجود دارد اگر در پرتوي از اين رابطه، پديده وابستگي تابعي چندمقداري وجود داشته باشد. توجه داشته باشيد كه اين پرتو بايد روي سه صفت (ساده يا مركب) باشد.
399
رابطه 5NF تعريف- رابطهاي 5NF است اگر تمام وابستگيهاي پيوندي آن ناشي از كليدهاي كانديد آن باشد. در نتيجه: اگر بتوانيم يك وابستگي پيوندي در رابطه R پيدا كنيم كه در همه پرتوهايش كليد كانديد R وجود نداشته باشد، رابطه 5NF نيست.
400
مزاياي نرمالترسازي ارائه يك طراحي بهتر و واضحتر با كمترين اختلاط اطلاعات كاهش بعضي انواع افزونگي كاهش بعضي آنوماليها تسهيل اعمال بعضي قواعد جامعيت
401
انواع افزونگي در پايگاه دادهها:
افزونگي طبيعي افزونگي تكنيكي ناشي از وجود كليد خارجي يا هرصفت مشترك ديگر در دو يا بيش از دو رابطه افزونگي ناشي از وابستگي بين صفات
402
معايب روش نرمالترسازي 1- بروز فزونكاري در سيستم در عمل بازيابي
2- ايجاد نوعي افزونگي از نوع افزونگي در سطح ادراكي 3- زمانگير بودن فرآيند نرمالترسازي به ويژه اگر محيط عملياتي بزرگ و تعداد رابطهها زياد باشد. 4- تصميمگيري دشوار در اثر تعدد تجزيهها 5- ممكن وابستگي بين مجموعه صفات يك خردجهان، وابستگيهاي به جز وابستگي تابعي و پيوندي باشد و بنابراين سبب مطرح شدن قواعد جامعيت ديگر و نيز ضوابط ديگري براي تجزيه رابطهها شود و . . .
403
طراحي فيزيكي پايگاه دادهها
جلسه شانزدهم طراحي فيزيكي پايگاه دادهها
404
آنچه در اين جلسه مي خوانيد:
1- تحليل عوامل 2- تحليل پرسشها 3- تحليل تراكنشها 4- تصميمات در طراحي فيزيكي 5- اهداف تنظيم پايگاه دادهها 6- اطلاعات لازم در تنظيم پايگاه دادهها
405
آنچه در اين جلسه مي خوانيد:
7- مسائل مطرح در تنظيم 8- نكات قابل توجه در بازبيني طراحي منطقي پايگاه دادهها پس از عملياتي شدن آن 9- كارهاي لازم براي اصلاح شاخصهاي ايجادشده در مرحله تنظيم پايگاه دادهها
406
هدفهاي كلي: آشنايي با طراحي فيزيكي پايگاه دادهها
هدفهاي رفتاري: دانشجو در پايان اين جلسه ميتواند: عواملي كه در طراحي فيزيكي پايگاه دادهها موثر هستند را بيان كند. پرسشهايي را كه در تحليل پرسشها و تراكنش مطرح ميشوند، بشناسد. اطلاعات لازم در تنظيم پايگاه دادهها را بيان كند.
407
طراحي فيزيكي پايگاه دادهها
طراحي فيزيكي به عواملي از جمله حجم و ماهيت دادهها، تعداد كاربران و از آنجا تعداد و ماهيت تراكنشها و نهايتا تعداد و ماهيت برنامههاي كاربردي و فركانس اجراي هر برنامه بستگي دارد.
408
تحليل عوامل تحليل پرسشها
در اين تحليل بايد به پرسشهاي زير پاسخ داده شود: چه رابطههايي در پرسش دخيل هستند نوع رابطهها چيست صفات موجود در مسند گزينش صفات موجود در مسند پيوند صفات مورد نظر در پرسش فركانس اجراي هر پرسش اسلوب اجراي پرسش: اندركنشي يا كامپايلشده
409
تحليل عوامل تحليل تراكنشها
در اين تحليل بايد به پرسشهاي زير پاسخ داده شود: رابطههاي دخيل در تراكنش و نوع هر رابطه نوع هر عمل در تراكنش صفات موجود در مسند گزينش صفاتي كه مقدارشان تغيير ميكند
410
تصميمات در طراحي فيزيكي
روي چه فايلهايي شاخص ايجاد شود يا تابع درهمساز اعمال شود. روي چه صفاتي از فايل، شاخص ايجاد شود. شاخص ساده باشد يا مركب. شاخص خوشهساز باشد يا نباشد.
411
اهداف تنظيم پايگاه دادهها
تسريع اجراي برنامههاي كاربردي كاهش زمان پاسخدهي پرسشها بهبود توان عملياتي سيستم مديريت پايگاه دادهها اجتناب از خريد سختافزار بيشتر كاهش اندازه پيكربندي سختافزاري رضايت بيشتر كاربران سيستم
412
اطلاعات لازم در تنظيم پايگاه دادهها
اطلاعات در مورد خود DBMS اطلاعات اوليه مورد استفاده در طراحي منطقي و فيزيكي پايگاه آمار جمعآوريشده توسط DBMS و DBA در مورد رفتار سيستم مانند: كارديناليتي هر رابطه تعداد مقادير متمايز براي هرصفت و درصد هيچمقدار براي هر صفت فركانس عرضه هر پرسش به سيستم و فركانس اجراي آن فركانس اجراي هر تراكنش اندازه صفحات زمان اجراي پرسشها و تراكنشها . . .
413
مسائل مطرح در تنظيم چگونگي اجتناب از بروز تنگنا در قفلگذاري روي دادهها به منظور افزايش همروندي اجراي تراكنشها چگونگي كاهش سربار ناشي از ايجاد فايلهاي ثبت تراكنشها چگونگي بهينهسازي اندازه بافرها چگونگي بهينهسازي زمانبندي اجراي تراكنشها چگونگي بهينهسازي تخصيص منابع
414
در بازبيني طراحي منطقي پايگاه دادهها پس از عملياتي شدن آن، بايد به نكات زير توجه شود:
آيا رابطههايي بايد تجزيه شوند؟ آيا سطح نرماليتي رابطههايي بايد كاهش يابد؟ آيا مجموعه ديگري از رابطهها، با همان سطح نرماليتي، بايد طراحي شوند؟ آيا صفاتي با پذيرش ميزاني از افزونگي، بايد در رابطههايي تكرار شوند؟ آيا در طراحي ديدهاي خارجي بايد تغييراتي داده شود؟
415
كارهاي لازم براي اصلاح شاخصهاي ايجادشده در مرحله تنظيم پايگاه دادهها
ايجاد شاخصهاي جديد حذف برخي از شاخصها كاهش تعداد شاخصها روي صفاتي كه مقاديرشان مرتب تغيير ميكنند. اصلاح شاخصهايي كه در كنترل همروندي تراكنشها تاثير دارند بازسازي شاخصها ميتواند در كارايي سيستم تاثير مثبت داشته باشد در بعضي از RDBMSها بهينهساز، اگر در پرسش، عبارت محاسباتي، مقايسه يا هيچ مقدار و محاسبه تفاوت مقادير وجود داشته باشد، از شاخص استفاده نميكند.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.