Transcript Slide 1
بسم هللا الرحمن الرحيم
دانشگاه پيام نور
دانشكده فناوري اطالعات
نام درس :اصول طراحي پايگاه دادهها
تعداد واحد4 :
نام منبع:
مفاهيم بنيادي پايگاه دادهها
مولف :سيد محمد تقي روحاني رانكوهي
تهيهكننده:
دكتر احمد فراهي
فهرست جلسات
جلسه اول :مفاهيم پايگاه دادهها
جلسه دوم :مدلسازي معنايي دادهها
جلسه سوم :محدوديتهاي روش ER
جلسه چهارم :پايگاه داده در محيط انتزاعي
جلسه پنجم :معماري پايگاه دادهها
جلسه ششم :سيستم مديريت پايگاه دادهها
جلسه هفتم DBMS :در يك سيستم كامپيوتري
جلسه هشتم :معماري سيستم پايگاه
دادهها
فهرست جلسات
جلسه نهم :مدل رابطهاي
جلسه دهم :قواعد جامعيت پايگاه دادهها
جلسه يازدهم :زبان SQL
جلسه دوازدهم :ادامه زبان SQL
جلسه سيزدهم :ديد در مدل رابطهاي
جلسه چهاردهم :طراحي پايگاه دادههاي رابطهاي
جلسه پانزدهم :نرمالترسازي رابطهها
جلسه شانزدهم :طراحي فيزيكي پايگاه دادهها
اهداف اين درس
در اين درس به بخش ي از مفاهيم مبنايي دانش و تكنولوژي پايگاه دادهها و اصول
مدلسازي و طراحي آن پرداخته ميشود .پايگاه داده و عناصر اصلي محيط آن معرفي
ميشود .با مدلسازي معنايي دادهها و محيط انتزاعي آشنا ميشويم .سطوح معما ريهاي
پايگاه دادهها بيان ميشود .سيستم مديريت پايگاه دادهها ( )DBMSو اجزاء آن
شرح داده ميشود .به انواع معماريهاي سيستم پايگاهي و مفاهيم اساس ي مدل
رابطهاي پرداخته ميشود .با زبان SQLبه عنوان يك زبان رابطهاي و همچنين با
ديدهاي رابطهاي آشنا ميشويم و در نهايت طراحي پايگاه دادهها به روش باال به
پايين ،سنتز و طراحي فيزيكي را خواهيم ديد.
جلسه اول
مفاهيم پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-1سيستم ذخيره و بازيابي اطالعات در معناي عام
-2ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها
-3داده
-4تعريف اطالع
-5تعريف دانش
-6تعريف پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-7مراحل كلي كار در مش ي فايلينگ
-8معايب مش ي فايلينگ
-9مراحل كلي كار در مش ي پايگاهي
-10عناصر محيط پايگاه دادهها
-11انواع سختافزارهاي محيط پايگاه داده
-12انواع نرمافزارهاي موجود در محيط پايگاه دادهها
هدفهاي كلي :مقدمه و آشنايي با مفاهيم پايگاه دادهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• داده ،اطالع ،شناخت ،سيستم ذخيره و بازيابي و پايگاه دادهها را تعريف
كند.
• ردههاي تكنولوژيكي پايگاه داده را بيان كند.
• رهيافتهاي ايجاد يك سيستم كاربردي را ارائه كند.
اصطالح پايگاه دادهها يكي از رايجترين اصطالحات
در دانش و فن كامپيوتر است
در اين درس دانشجويان تنها با بخش ي از مفاهيم
بنيادي دانش وفن پايگاه دادهها آشنا شده ،آگاهي
در اين
پايهاي الزم را براي مطالعه بيشتر و يا كار
زمينه كسب ميكنند.
سيستم مديريت پايگاه دادهها يكي از سيستمهاي ذخيره
و بازيابي اطالعات است.
سيستم ذخيره و بازيابي اطالعات در معناي عام:
نابرنامهساز
هر سيستمي كه به كاربر برنامهساز يا
امكان دهد تا اطالعات خود را ذخيره ،بازيابي و
پردازش كند.
ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها
-1سيستم فايلينگ
-2سيستم مديريت دادهها
-3سيستم مديريت پايگاه دادهها
-4سيستم مديريت پايگاه شناخت
-5سيستم مديريت پايگاه دادههاي شيئگرا
-6سيستم هوشمند مديريت پايگاه دادهها
-7سيستم معنايي مديريت پايگاه دادهها
-8سيستم مديريت پايگاه دادههاي زمانبند
-9سيستم مديريت پايگاه دادههاي نيمساختمند و ناساختمند
ادامه
ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها
-10سيستم مديريت پايگاه دادههاي بي درنگ
-11سيستم دادهكاوي و كشف شناخت
-12سيستم مديريت چند پايگاهي
-13سيستم اطالعات اجرائي
-14سيستم فعال مديريت پايگاه دادهها
-15سيستم مديريت پايگاه دادههاي شيئ-رابطهاي
داده
تعريف اول -نمايش ذخيرهشده اشياء فيزيكي،
چيزهاي مجرد ،بودهها ،رويدادها يا چيزهاي قابل
مشاهده كه در تصميمسازي بكار ميآيند.
داده
تعريف دوم -هر مجموعهاي از بودهها
داده
تعريف سوم -بودههاي خام كه معناي اندكي دارند
مگر اينكه به صورت منطقي سازماندهي شده
باشند
تعريف داده از ديدگاه ANSI
نمايش بودهها ،پديدهها ،مفاهيم يا شناختهها به طرزي
پردازش
صوري و مناسب براي برقراري ارتباط ،تفسير يا
توسط انسان يا هر امكان خودكار
هر نمايش ي اعم از كاراكتري يا كميتهاي قياس ي كه
معنايي به آن قابل انتساب باشد.
تعريف اطالع
اطالع به دادهاي اطالق ميشود كه توسط يك
فرد يا سازمان براي تصميمگيري بكار ميرود
اطالع ،داده پردازششده است.
اطالع عبارت است از داده سازمان يافتهاي كه
شناختي را منتقل ميكند
تعريف دانش
دانش عبارتست از نمايش نمادين
جنبههايي از بخش ي از خرد جهان واقع
تعريف پايگاه دادهها
مجموعهاي است از دادههاي ذخيره شده و پايا ،به صورت
مجتمع(يكپارچه) (نه لزوما فيزيكي ،بلكه حداقل به طور منطقي) ،بهم
مرتبط ،با كمترين افزونگي ،تحت مديريت يك سيستم كنت رل متمركز،
مورد استفاده يك يا چند كاربر از يك يا بيش از يك ”سيستم كاربردي“،
به طور همزمان و اشتراكي
براي ايجاد يك سيستم كاربردي دو
رهيافت وجود دارد:
-1رهيافت سنتي يا مش ي فايلينگ
-2رهيافت (مش ي) پايگاهي
كاربران
نمايش سادهشده مشي فايلينگ
برنامهساز
OS
FILES
FS
يا
DMS
OS
FILES
محيطفيزيكي
ذخيرهوبازيابياطالعات
FS
يا
DMS
برنامههايايجاد،
كنترلو
پردازشفايلها
U
F
I
برنامههايايجاد،
كنترلو
پردازشفايلها
U
F
I
محيطفايلينگ
منطقيويامجازي
U2
U3
ادارهاموررفاهيدانشجويان
محيط
ذخيرهسازياطالعات
خاصاداره
اموررفاهيU3 :
U1
ادارهامورفارغالتحصيالن
محيط
ذخيرهسازياطالعات
خاصاداره
فارغالتحصيالنU2 :
FILES
FS
يا
DMS
U
F
I
ادارهامورآموزش
محيط
ذخيرهسازياطالعات
خاصاداره
ثبتنامU1 :
OS
برنامههايايجاد،
كنترلو
پردازشفايلها
نابرنامهساز
مراحل كلي كار در مش ي فايلينگ
تحليل و بررس ي نيازهاي اطالعاتي و پردازش ي هر قسمت به طو رجداگانه
اجراي مراحل كالسيك اوليه الزم براي طراحي و توليد يك سيستمكاربردي
تعيين مشخصات هر سيستم و وظايف آن طراحي تعدادي فايل -نوشتن مجموعهاي از برنامههاي ايجاد ،كنترل و پردازش فايل
ادامه
مراحل كلي كار در مش ي فايلينگ
استفاده از يك پيكربندي سختافزاري و نرمافزاري مشخص -انجام تستهاي الزم و تنظيم سيستم كاربردي
ايجاد يك سيستم كاربردي براي هر قسمت و برپايي محيط فيزيكيذخيره و بازيابي اطالعات و سيستم بهرهبرداري از آن خاص همان
قسمت.
معايب مش ي فايلينگ
-1عدم وجود محيط مجتمع ذخيرهسازي اطالعات و عدم وجود
سيستم يكپارچه
-2عدم وجود سيستم كنترل متمركز روي كل دادهها
-3افزونگي
-4عدم وجود ضوابط ايمني كارا و مطمئن
-5خطر بروز پديده ناسازگاري دادهها
ادامه
معايب مش ي فايلينگ
-6عدم امكان اشتراكي شدن دادهها
ي
-7مصرف نابهينه امكانات سختافزاري و نرمافزار
-8حجم زياد برنامهسازي
-9وابستگي برنامههاي كاربردي به محيط ذخيرهسازي دادهها
كاربران
برنامهساز
نمايش سادهشده مشي پايگاهي
تيمپيادهساز
پايگاهدادهها
فايلهايذخيرهشده
بهممرتبط
)(FILES
محيطواحد،مجتمعو
اشتراكيذخيرهسازي
F
S
D
B
M
S
تعريفوكنترلدادههابهطور
جامعوبرنامههايعملياتدردادهها
OS
نابرنامهساز
تيمبهرهبردار
U
F
I
تعريفدادهها
وبرنامههاي
عملياتدر
دادهها)(AP1
تعريفدادههاو
برنامههايعملياتدر
دادهها)(AP2
تعريفدادههاو
برنامههايعمليات
دردادهها)(AP3
U
F
I
U
F
I
كثرتوتنوعديدهانسبتبه
دادههايذخيرهشده
محيطفرافايلي
مراحل كلي كار در مش ي پايگاهي
بررس ي و تحليل نيازهاي پردازش ي و اطالعاتي همه قسمتها توسط يك گ روه -مدلسازي معنايي دادهها
تعيين مشخصات جامع (يكپارچه) كاربردي و وظايف آن انتخاب يك يا چند پيكربندي سختافزاري-نرمافزاري استفاده از يك يا چند DBMS -طراحي پايگاه دادهها در سطوح الزم
ادامه
مراحل كلي كار در مش ي پايگاهي
توليد مجموعهاي از برنامههاي ايجاد و كنترل پايگاه داده ايجاد محيط واحد و مجتمع ذخيرهسازي و مشترك بين كاربران طراحي و توليد واسطهاي كاربرپسند مورد نياز -تعريف پايگاه داده هر قسمت توسط كاربر مربوطه
طراحي برنامههاي عمليات در پايگاه داده -بهرهبرداري واقعي از سيستم پس از تستهاي الزم
عناصر محيط پايگاه دادهها
-1سختافزار
-2نرمافزار
-3كاربر -4داده
كاربران
سيستمعامل
سيستم
پايگاه
دادهها
يكجا
مديريت
پايگاه
دادههاي
ذخيرهشده:
مجموعهاي
ازفايلها
سختافزار
ذخيرهسازي
دادهها
پيوسته
(برخط)
انواع سختافزارهاي محيط
پايگاه داده
-1سختافزار ذخيرهسازي دادهها
-2سختافزار پردازشگر
-3سختافزار همرسانش (ارتباط)
انواع نرمافزارهاي موجود در محيط پايگاه دادهها
-1سيستم مديريت پايگاه دادهها ()DBMS
-2برنامههاي كاربردي قابل اجرا در محيط DBMS
-3رويههاي ذخيرهشده
-4نرمافزار شبكه
جلسه دوم
مدلسازي معنايي دادهها
آنچه در اين جلسه مي خوانيد:
-1مدلسازي معنايي دادهها
-2انواع روشهاي مدلسازي معنايي دادهها
-3سه مفهوم معنايي موجود در روش ER
-4تعريف موجوديت
-5سه ضابطه در رابطه با تشخيص يك نوع موجوديت
-6موجوديت مستقل و وابسته
-7تعريف صفت
آنچه در اين جلسه مي خوانيد:
-8انواع صفت و تعاريف هريك
-9ارتباط
-10خصوصيات نوع ارتباط
-11نمودار ER
-12نمادهاي رسم نمودار ER
-13وضع مشاركت در ارتباط
-14درجه آن ارتباط
-15چندي يا ماهيت نوع ارتباط
هدفهاي كلي :آشنايي با مدلسازي معنايي دادهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• مدلسازي معنايي پايگاه دادهها و انواع آن را بيان كند.
• روش مدلسازي ERو مفاهيم آن را تشريح كند.
• نمودار ERو نمادهاي آن را رسم كند.
مدلسازي معنايي دادهها
دادههاي ذخيرهشدني در پايگاه دادهها
ابتدا بايد در باالترين سطح انتزاع
مدلسازي معنايي شوند.
انواع روشهاي مدلسازي معنايي دادهها
روش موجوديت -ارتباط ()ER
روش زبان عمومي مدلسازي ()UML
روش تكنيك مدلسازي شيئي ()OMT
سه مفهوم معنايي موجود در روش ER
نوع موجوديت
صفت
ارتباط
تعريف موجوديت
هر آنچه
مفهوم كلي شيئ ،چيز ،پديده و به طور كلي
كه ميخواهيم در موردش اطالع داشته باشيم و
شناخت خود را در موردش افزايش دهيم.
سه ضابطه در رابطه با تشخيص يك نوع موجوديت
-1معموال نمونههايي متمايز از يكديگر دارند.
-2معموال بيش از يك صفت دارد و كاربر به مجموعهاي از اطالعات در مو رد
آن نياز دارد.
-3معموال حالت كنشگري (فاعليت) يا حالت كنشپذيري (مفعوليت) دارد.
موجوديت مستقل و وابسته
ي) ،موجوديتي است كه
موجوديت مستقل (قو
مستقل از هر موجوديت ديگر و به خودي خود ،در يك
محيط مشخص مطرح باشد.
موجوديت وابسته (ضعيف) ،موجوديتي است كه
وجودش وابسته به يك نوع موجوديت ديگر است.
تعريف صفت
خصيصه يا ويژگي يك نوع موجوديت است و
هر نوع موجوديت مجموعهاي از صفات دارد.
هر صفت يك نام ،يك نوع و يك معناي
مشخص دارد.
ساده يا مركب
ي
تكمقداري يا چندمقدار
انواع صفت
شناسه يا ناشناسه موجوديت
هيچمقدارپذير يا ناپذير
ذخيرهشده يا مشتق
مقدار صفت ساده از لحاظ معنايي تجزيهنشدني يا
اتوميك است.
صفت مركب از چند صفت ساده تشكيل شده
است.
صفت تكمقداري ،صفتي است كه براي يك نم ونه از
يك نوع موجوديت حداكثر يك مقدار از دامنه مقادير
را ميگيرد
صفت چندمقداري بيش از يك مقدار از دامنه
مقادير ميگيرد.
صفت شناسه موجوديت كه گاه به آن
كليد هم گفته ميشود ،دو ويژگي دارد:
-1يكتايي مقدار دارد.
-2حتي االمكان طول مقاديرش كوتاه است.
صفت هيچ مقدارپذير
هيچ مقدار يعني مقدار ناشناخته ،مقدار
غيرقابل اعمال ،مقدار تعريفنشده.
اگر مقدار يك صفت در يك يا بيش از يك نمونه از
يك نوع موجوديت ،برابر با هيچمقادر باشد ،آن
صفت هيچمقدارپذير است.
صفت ذخيرهشده و مشتق
صفت ذخيرهشده صفتي است كه
مقاديرش در پايگاه دادهها ذخيره شده
باشد.
صفت مشتق ،صفتي است كه مقاديرش در پايگاه
دادهها ذخيره نشده باشد ،بلكه حاصل يك پردازش
روي فقرههايي از دادههاي ذخيره شده باشد.
ارتباط
تعريف -اندركنش (تعامل) بين دو يا بيش از دو نوع
موجوديت است و ماهيتا نوعي بستگي بين انواع
موجوديتهاست
خصوصيات نوع ارتباط
-1هر ارتباط يك نام دارد
-2هر ارتباط يك معناي مشخص دارد و اين معنا با
معناي هر ارتباط ديگر متفاوت است.
-3هر ارتباط نمونههايي دارد.
نمودار ER
نموداري است كه سه مفهوم اساس ي مدل ،ERيعني
نوع موجوديت ،صفت و ارتباط نمايش داده ميشوند
نمادهاي رسم نمودار ER
نوع موجوديت
نوع موجوديت ضعيف
نوع ارتباط
نوع ارتباط با موجوديت ضعيف
مشاركت نوع موجوديت در نوع ارتباط
نمادهاي رسم نمودار ER
مشاركت الزامي
صفت
صفت شناسه اول
صفت شناسه دوم
صفت شناسه مركب
صفت چندمقداري
نمادهاي رسم نمودار ER
صفت مركب
صفت مشتق
چندي ارتباط
1به N
1به 1
Mبه N
ارتباط ”گونهاي است از“
N
E2
1
M
E2
R
1
E1
1
N
E1
وضع مشاركت در ارتباط
مشاركت يك نوع موجوديت در يك نوع ارتباط را الزامي
گويند ،اگر تمام نمونههاي آن نوع موجوديت در آن نوع
الزامي
ارتباط شركت كنند .در غير اين صورت مشاركت غير
است.
درس
انتخاب
نمايش مشاركت الزامي
دانشجو
تعداد شركتكنندگان در يك ارتباط را درجه آن ارتباط ميگويند.
استاد
نمره
درس
انتخاب
سالآموزشي
ارتباط بين سه موجوديت
دانشجو
ترم
چندي يا ماهيت نوع ارتباط عبارتست از چگونگي تناظر بين دو مجموعه نمونههاي
آن دو نوع موجوديت.
يك به يك 1:1
انواع چندي ارتباط:
يك به چند 1:N
چند به چند N:M
نمايش چندي ارتباط
سالآموزشي
نمره
درس
M
ترم
N
دانشجو
انتخاب
N
1
حذف
جلسه سوم
محدوديتهاي روش ER
آنچه در اين جلسه مي خوانيد:
-1مشكالت روش (ERسه نوع دام)
-2تجزيه و تركيب
-3تخصيص و تعميم
-4تجمع
-5وراثت صفت
-6دستهبندي
-7مراحل مدلسازي معنايي دادهها
-8روش مدلسازي UML
-9نمادها
-10خصوصيات کلي روش مدلسازي معنايي داده ها
هدفهاي كلي :مشكالت و محدوديتهاي روش ER
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• مشكالت روش ( ERانواع دامها) را تشريح كند.
• محدوديتهاي روش ERرا كه در روش EERبرطرف شدند ،بيان كند.
• مراحل مدلسازي معنايي دادهها را توصيف كند.
• مدلسازي UMLو نمادهاي به كار رفته در آن را شرح دهد.
• خصوصيات كلي مدلسازي معنايي دادهها را بيان كند.
مشكالت روش ER
-1دام حلقهاي
هنگامي ايجاد ميشود كه با داشتن مثال سه ارتباط دو موجوديتي،
وجود يك ارتباط سه موجوديتي را نتيجه بگيريم در وضعي كه اين
استنتاج درست نباشد
مشكالت روش ER
ي)
-2دام چندشاخه (چتر
اين نوع دام وقتي ايجاد ميشود كه بين يك نوع
موجوديت Eو هريك از ديگر انواع موجوديت G ،Fو
...ارتباط 1:Nبا مشاركت الزامي وجود داشته باشد،
ولي ارتباط بين مثال Fو ،Gدر مدلسازي ديده نشده
باشد.
مشكالت روش ER
-3دام شكاف
هنگامي ايجاد ميشود كه بين دو نوع موجوديت Eو ،Fيك ارتباط
باچندي 1:Nو مشاركت الزامي وجود داشته باشد ،ولي Fخود با نوع
موجوديت ،Gارتباط 1:Nبا مشاركت غيرالزامي داشته باشد .به دليل
غير الزامي بودن ارتباط بين Fو ،Gنميتوان همه اطالعات
دوموجوديتي در مورد ارتباط بين نمونههاي دو نوع موجوديت Eو Gرا
بدست آورد
تجزيه
تركيب
محدوديتهاي روش ERكه در
روش EERبرطرف گرديدند:
تخصيص
تعميم
تجمع
وراثت صفت
تجزيه
تجزيه يا جداسازي يعني يك شيئ كل را به اجزاء تشكيلدهنده آن تقسيم
كنيم .شيئ كل صفات ،ساختار و رفتار خود را دارد و هريك از اجزاء نيز
صفات ،ساختار و رفتار خاص خود را دارند .شيئ كل شامل اجزاء خود است و
بين شيئ كل و اجزايش ،ارتباط شمول وجود دارد .به اين نوع ارتباط در
،EERارتباط ”جزئي است از “...گفته ميشود.
تركيب
تركيب ،عكس عمل تجزيه است و در اين عمل ،با داشتن
(… Ei(i=1 , 2 ,يك نوع موجوديت Eرا بازشناس ي ميكنيم
به نحوي كه Eiها اجزاء تشكيلدهنده آن باشند
مثال تجزيه و تركيب
COMPUTER
Mother Board
. . .
Monitor
RAM
Hard
. . .
. . .
تخصيص
تخصيص عبارتست از مشخص كردن گونههاي خاص يك شيئ براساس يك يا چند
ضابطه مشخص ،مثال اگر شيئ موجود زنده را درنظر بگيريم ،سه گونه خاص آن
عبارتند از :انسان ،حيوان و نبات .در روش EERهر يك نوع موجوديت ميتواند
خود زيرنوع موجوديتهايي داشته باشد .بين هر زيرنوع و زبرنوع ارتباط ”گ ونهاي است
از “...وجود دارد.
تعميم
تعميم ،عكس عمل تخصيص است ،به اين معنا كه با
داشتن زيرنوعهاي خاص ،صفات مشترك بين آنها را در
يك مجموعه صفات براي يك زبرنوع موجوديت درنظر
ميگيريم
مثال تخصيص و تعميم
شماره
زبرنوع
دانشجو
دانشجوي دوره
كارشناس ي ارشد
دانشجوي دوره
كارشناس ي
دانشجوي دوره
دكترا
...
...
صفات مشترك
نام و نام
خانوادگي
.
.
.
...
...
صفات خاص
صفات خاص
صفات خاص
زيرنوعها
وراثت چندگانه
يك زيرنوع موجوديت ،ميتواند در عين حال زيرنوع
ترتيب
يك زبرنوع موجوديت ديگر هم باشد .با اين
ميتوان مفهوم وراثت چندگانه را در روش EER
نمايش داد.
مثال وراثت چندگانه
دانشجو
دانشجوي دوره شبانه
دانشجوي دوره روزانه
دانشجوي دوره كارشناس ي
دانشجوي دوره كارشناس ي ارشد
دستهبندي
يك زيرنوع ميتواند زيرنوع بيش از يك زبرنوع باشد.
ممكن است زبرنوعهاي اين زيرنوع ،از يك نوع نباشند .به
اين زيرنوع اصطالحا دسته (طبقه) گويند .براي نمايش
دسته ،از نماد Uاستفاده ميشود.
دستهبندي
E1ID
E2ID
E1
E2
U
E3
تجمع
تجمع عبارتست از ساختن يك نوع موجوديت جديد با ديدن د و يا
بيش از دو نوع موجوديت ،كه خود باهم در يك ارتباط شركت
دارند ،به صورت يك نوع موجوديت واحد .در واقع مجموعهاي از
موجوديتهاي مرتبط را باهم مجتمع كرده و به عنوان يك نوع
موجوديت واحد ،درنظر ميگيريم و اين نوع موجوديت واحد خود
ميتواند با نوع موجوديت ديگري ارتباط داشته باشد.
نمايش تجمع
Ek
E2
R1
R2
E3
E1
مراحل مدلسازي معنايي دادهها
-1مطالعه ،تحليل و شناخت محيط
-2برآورد خواستهها و نيازهاي اطالعاتي و پردازش ي همه
كاربران و تشخيص محدوديتهاي معنايي
-3بازشناس ي انواع موجوديتهاي مطرح و تعيين وضع هريك
-4تعيين مجموعه صفات هر نوع موجوديت
ادامه
مراحل مدلسازي معنايي دادهها
-5بازشناس ي انواع ارتباطات بين انواع موجوديتها ،تشخيص
نوع مشاركت و چندي ارتباط
-6رسم نمودار ER
-7فهرست كردن پرسشهايي كه پاسخ آنها از نمودار ER
بدست ميآيد.
-8وارس ي مدلسازي انجام شده تا اطمينان حاصل شود كه
مدلسازي پاسخگوي نياز كاربران است.
روش مدلسازي UML
در اين روش از چند نمودار براي نمايش مدلسازي و
طراحي نرمافزار استفاده ميشود
ي:
مفاهيم اصلي در اين مدلساز
• رده
• صفت
• بستگي
تناظر بين مفاهيم UMLو مفاهيم EER
مفهوم در UML
مفهوم در EER
رده
نوع موجوديت
شيئ
نمونه موجوديت
صفت
صفت
بستگي
ارتباط
پيوند
نمونه ارتباط
بستگي انعكاس ي
ارتباط بازگشتي
بستگي مقيد
نوع موجوديت ضعيف
ميدان ساختمند
صفت مركب
صفت پيوند
صفت ارتباط
چندي بستگي
چندي ارتباط
نمادها
• رده با يك مربع يا مستطيل نشان داده ميشود وبه
شكل زير به سه قسمت تقسيم ميشود:
نام رده
نام صفات
پردازشها
نمادها
• بستگي بين دو رده ،به صورت يك خط متصلكننده دو
رده نمايش داده ميشود و نام ارتباط روي خط نوشته
ميشود.
• تجمع به صورت زير نشان داده ميشود:
شيئ جزء
شيئ كل
• چندي بستگي به صورت min…maxنوشته
ميشود .اگر به جاي maxعالمت ستاره باشد ،به اين
معنا است كه مقدار maxمحدوديت ندارد.
• صفت چندمقداري به صورت يك رده جداگانه
نشان داده ميشود ،ولي فاقد قسمت مربوط به
پردازش است.
• نام ميدان بعد از نام صفت نوشته ميشود و بين اين دو
نام عالمت :گذاشته ميشود.
• صفت پيوندي در يك مربع (مستطيل) نوشته ميش ود و
اين مربع با خطچين به خط نشاندهنده بستگي متصل
ميشود .نام پيوند و نام صفات پيوند در دو قسمت از اين
مربع گذاشته ميشود.
نمايش صفت پيوند در UML
نام رده
نام صفت
نام رده
Min…maxنام بستگي min…max
پردازشها
نام صفت
پردازشها
نام بستگي
نام صفات
خصوصيات کلي روش مدلسازي معنايي دادهها
•
•
•
•
•
•
•
•
گويايي
صوري بودن
سادگي مفاهيم
قابليت نمايش نموداري
ايجاز
جامع بودن مفاهيم
قابليت نمايش ساختار ،حالت و رفتار نوع موجوديت
گسترشپذيري
جلسه چهارم
پايگاه داده در محيط انتزاعي
آنچه در اين جلسه مي خوانيد:
-1پايگاه دادهها در محيط انتزاعي
-2سطوح محيط انتزاعي
-3گونههاي موجود ساختار دادهاي
-4مفهوم ساختار دادهاي در سطوح مختلف پايگاه دادهها
-5ساختار دادهاي رابطهاي
-6شماي پايگاه جدولي
-7عمليات در پايگاه جدولي
آنچه در اين جلسه مي خوانيد:
-8عملگرهاي جبر رابطهاي
-9برخي ويژگيهاي ساختار دادهاي جدولي
-10ساختار دادهاي سلسلهمراتبي
-11برخي ويژگيهاي ساختار دادهاي سلسلهمراتبي
-12ساختار دادهاي شبكهاي
-13مجموعه كوداسيل
-14برخي ويژگيهاي ساختار دادهاي شبكهاي
هدفهاي كلي :آشنايي با پايگاه داده در محيط انتزاعي
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• پايگاه داده در محيط انتزاعي و سطوح اين محيط را بيان كند.
• ساختار دادهاي رابطهاي و ويژگيهاي آن را بيان كند.
• ساختار دادهاي شبكهاي و ويژگيهاي آن را بيان كند.
• ساختار دادهاي سلسلهمراتبي و ويژگيهاي آن را بيان كند.
پايگاه دادهها در محيط انتزاعي
در مقوله پايگاه دادهها وقتي از محيط انتزاعي سخن
ميگوييم ،منظور محيطي است فراتر از محيط
فايلينگ منطقي و فايلينگ فيزيكي .مفاهيمي كه در اين
محيط مطرح ميشوند بايد از جنبههاي فايلينگ
پايگاه مستقل و ماهيتا انتزاعي باشند.
سطوح محيط انتزاعي
خرد جهان واقع
باالترين سطح انتزاع
مدل معنايي پايگاه داده ها
طرح منطقي پايگاه داده ها در:
سطوح انتزاعي در
پايگاه داده ها
سطح خارجي
سطح ادراکي
محيط انتزاعي
ساختار دادهاي امكاني است براي نشان دادن دادههاي در
مورد انواع موجوديتها و انواع ارتباطات بين آنها
هر ساختار دادهاي حداقل يك عنصر ساختاري اساس ي دارد.
پايگاه دادهها در محيط انتزاعي ،گردايهاي است از
نمونههاي متمايز عنصر (عناصر) ساختاري اساس ي يك
ساختار دادهاي مشخص.
گونههاي موجود ساختار دادهاي
ساختار دادهاي رابطهاي ساختار دادهاي سلسلهمراتبي ساختار دادهاي شبكهاي ساختار دادهاي جعبهاي -ساختار دادهاي هايپرگرافي
-ساختار دادهاي ليستهاي وارون
مفهوم ساختار دادهاي در سطوح
مختلف پايگاه دادهها
E.DS
C.DS
I/P.DS
ساختاردادهاي
داخلي/فيزيكي
ساختاردادهايادراكي
ساختاردادهايخارجي
ساختار دادهاي رابطهاي
رابطه مفهومي رياض ي است .اما از ديد كاربر ،رابطه
نمايش ي جدولي دارد.
مفاهيم ساختار جدولي عبارتند از:
جدو ل
سطر
ستو ن
عنصر ساختاري اساس ي در اين ساختار دادهاي ،جدول است.
شماي پايگاه جدولي
شماي پايگاه دادهها عبارتست از تعريف (توصيف)
ساختهاي انتزاعي طراحيشده و نوعي برنامه است شامل
دستورات تعريف دادهها و كنترل دادهها ،و دستورات
عمليات در دادهها در آن وجود ندارد.
عمليات در پايگاه جدولي
درج ()INSERT
حذف ()DELETE
بهنگامسازي ()UPDATE
بازيابي ()SELECT
مثال درج يك نمونه دانشجو
INSERT
INTO STT
VALUES(‘7413673’,’AHMADI’,’bs’,’Comp’,’D222’)
مثال حذف يك نمونه درس
DELETE
FROM COT
WHERE COID=‘COM777’
مثال حذف چند سطر
DELETE
FROM STT
’WHERE STDEG=‘ms
با اين دستور مشخصات دانشجويان دوره كارشناس ي ارشد از
جدول STTحذف ميشود
مثال بهنگامسازي تك سطر
UPDATE COT
’SET COID=‘Com303
;’WHERE COID=‘Com202
با اين دستور شماره درس Com202عوض ميشود.
مثال بهنگامسازي چند سطر
UPDATE COT
’SET CREDIT=‘1
;’WHERE COTYPE=‘Lab
با اين دستور ،تعداد واحد تمام درسهاي آزمايشگاهي ،يك ميشود.
مثال بازيابي
SELECT DOID
FROM STCOT
’WHERE STID=‘76140444
با اين دستورشماره درسهاي يك دانشجو بازيابي ميش ود.
عملگرهاي جبر رابطهاي كه براي بازيابي از محيط جدولي
بكار ميروند:
-1عملگر گزينش (تحديد) :RESTRICTزيرمجموعهاي افقي
(تعدادي سطر) را بازيابي ميكند.
-2عملگر پرتو :PROJECTزيرمجموعهاي عمودي (تعدادي
ستو ن) را بازيابي ميكند.
-3عملگر پيوند :JOINدو جدول را بهم پيوند ميزند ،يعني
سطرهايي كه شرايط مورد نظر را داشته باشند ،با يكديگر پيوند
ميشوند.
برخي ويژگيهاي ساختار دادهاي جدولي
-1از نظر كاربر نمايش سادهاي دارد.
-2محيطش مسطح است.
-3عنصر ساختاري اساس ي آن جدول است.
-4همه چيز با فقره دادههاي ساده نمايش داده ميشود.
-5ارتباطات با چنديهاي مختلف در آن قابل نمايش است.
-6منطق بازيابي آن ساده است.
-7ساختار منطقي دستور بازيابي آن ساده است.
-8براي پرسشهاي قرينه ،رويه پاسخگوي قرينه دارد.
-9مبناي تئوريك قوي دارد.
ساختار دادهاي سلسلهمراتبي
عناصر ساختاري اساس ي
-2نوع پيوند پدر -فرزندي
-1نوع ركورد
نوع ركورد براي نمايش نوع موجوديت به كار ميرود.
ارتباط بين دو نوع موجوديت به وسيله پيوند پدر–فرزندي نمايش داده ميشود.
N
V
T
P
Y
M
U
برخي ويژگيهاي ساختار دادهاي سلسلهمراتبي
-1سادگي نمايش ساختار جدولي را ندارد.
-2مبناي رياض ي ندارد.
-3دو عنصر ساختاري اساس ي دارد.
-4ارتباط يك به چند را نمايش ميدهد.
-5نمايش ارتباط چند به چند در آن دشوار است.
-6ساخت منطقي رويه بازيابي آن به سادگي منطق رويه بازيابي در
ساختار جدولي نيست.
ادامه
برخي ويژگيهاي ساختار دادهاي سلسلهمراتبي
-7در عمليات ذخيرهسازي مشكالتي دارد.
-8تقارن ساختار جدولي را ندارد.
-9تعدادي قاعده جامعيت ذاتي دارد.
-10در مواقعي كه در ذخيرهسازي نمونههاي فرزند ،افزونگي پديد
آيد ،پايگاه در معرض ناسازگاري قرار ميگيرد.
ساختار دادهاي شبكهاي
عناصر ساختاري اساس ي
-2نوع مجموعه
-1نوع ركورد
نوع ركورد براي نمايش نوع موجوديت به كار ميرود.
نوع مجموعه براي نمايش ارتباط 1:Nبين دو (چند) نوع موجوديت
به كار ميرود.
A
D
B
C
G
H
F
E
نوع مجموعه (مجموعه كوداسيل) از سه جزء تشكيل
شده است:
-1نام مجموعه
-2يك نوع ركورد مالك
-3يك نوع ركورد عضو
يك نوع مجموعه كوداسيل
مالك
DEPT
…..
عضو
E-TERM
DEID
STID
…..
STID
برخي ويژگيهاي ساختار دادهاي شبكهاي
-1سادگي ظاهري ساختار دادهاي جدولي را ندارد.
-2مبناي رياض ي ندارد.
-3دو عنصر ساختاري اساس ي دارد.
-4ماهيتا خاص نمايش ارتباطات ”يك به چند“ نيست.
-5ساخت منطقي دستور بازيابي آن پيچيدهتر از ساختارهاي
ديگر است.
ادامه
برخي ويژگيهاي ساختار دادهاي شبكهاي
-6مثل ساختار دادهاي جدولي تقارن دارد.
-7خطر بروز ناسازگاري دادهها نسبت به ساختار سلسلهمراتبي،
كمتر است.
-8قواعد جامعيت ذاتي دارد.
-9به علت حجم زياد اشارهگرها ،ايجاد يا اصالح آنها ميتواند
سبب بروز فزونكاري در سيستم شود.
-10بعض ي آنوماليهاي مدل سلسلهمراتبي در عمليات ذخيرهسازي را
ندارد.
جلسه پنجم
معماري پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-1معماری پشنهادی ANSI
-2ديد ادراكي (مفهومي)
-3ديد خارجي
-4ديد داخلي
-5سطوح معماري در محيط ناپايگاهي و محيط پايگاهي و نقش
DBMSدر ايجاد ،مديريت و پردازش فايلها
-6كاربر
-7زبان ميزبان
آنچه در اين جلسه مي خوانيد:
-8نقش افزايش تعداد زبانهاي ميزبان مورد پذيرش DBMS
-9زبان دادهاي فرعي
-10دستورهاي DSLبراي سه سطح معماري پايگاه دادهها
-11تقسيمبندي زبان دادهاي فرعي از نظر نياز به زبان ميزبان
-12روند كلي مرحله كامپايل برنامه دوزباني
-13ويژگيهاي زبان دادهاي فرعي
هدفهاي كلي :آشنايي با معماري پايگاه دادهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• معماري پايگاه دادهها را تشريح كند.
• ديدهاي ادراكي ،خارجي و داخلي را توضيح دهد.
• سطوح معماري در محيط ناپايگاهي و پايگاهي را مقايسه كند.
• كاربر ،زبان ميزبان ،زبان دادهاي فرعي و ويژگيهاي آن را بيان نمايد.
معماري پايگاه دادهها
معماري پشنهادي ANSI
D
B
M
S
کاربر i
HL +
DSL
ديد خارجي
j
کاربر 1
کاربر 2
HL +
HL +
DSL
DSL
ديد خارجي
ديد خارجي
1
1
سطح
ادراکي
ديد ادراکي (مفهومي)
OS
سطح داخلي
ديد داخلي
فايل
K
فايل 2
سطح
خارجي
فايل 1
سطح فيزيکي
سطوح
انتزاعي
D
B
A
ديد ادراكي (مفهومي)
-1ديد طراح پايگاه دادهها نسبت به دادههاي ذخيرهشده است.
-2جامع است.
-3در يك محيط انتزاعي مطرح است.
-4با عناصر ساختاري اساس ي همان ساختار دادهاي طراحي ميشود.
-5شماي ادراكي نوعي برنامه است حاوي دستورات تعريف و كنترل دادهها.
سطح ادراكي در واقع همين شماي ادراكي است.
-6شماي ادراكي به سيستم داده ميشود و در كاتالوگ سيستم نگهداري
ميشود.
ديد خارجي
-1ديد كاربر خاص نسبت به دادههاي ذخيرهشده در پايگاه داده است.
-2جزئي است.
-3در سطح انتزاعي مطرح است.
-4روي ديد ادراكي طراحي و تعريف ميشود.
-5شماي خارجي نوعي برنامه است حاوي دستورات تعريف و كنترل دادهها در
سطح خارجي كه توسط كاربر اين سطح نوشته ميشود.
ادامه
ديد خارجي
-6به تعريف مجموعه ديدهاي خارجي كاربر ،سطح خارجي گفته
ميشود.
-7هر كاربر ميتواند تعدادي ديد داشته باشد.
-8چند كاربر ميتوانند در يك ديد مشترك باشند.
ديد داخلي
-1ديد DBMSو طراح پايگاه دادهها است و در سطحي پايينتر از سطح
ادراكي ،نسبت به كل دادههاي ذخيرهشده است.
-2در سطح فايلينگ منطقي مطرح است.
-3مبتني بر يك ساختار فايل است كه با نظر طراح پايگاه طراحي ميشود و
به طراحي ،طراحي فيزيكي موسوم است.
-4در سطح داخلي پايگاه دادهها ،فايلينگ منطقي تعريف ميشود.
-5شماي داخلي نوعي برنامه است كه توسط خود DBMSتوليد
ميشود و شرح فايلينگ منطق پايگاه است.
سطوح معماري در محيط ناپايگاهي و محيط پايگاهي و نقش DBMSدر ايجاد،
مديريت و پردازش فايلها
محيط پايگاهي
محيط ناپايگاهي
شماي خارجي
سطوح انتزاعي
شماي ادراكي
برنامهساز فايلپرداز
برنامههاي تعريف ،كنترل و
پردازش فايلها
FS
AM
OS
شماي داخلي :دستورات تعريف و كنترل فايلها
برنامههاي پردازش فايلها
DBMS
FS
AM
DB
FILES
دادههاي ذخيرهشده
در محيط فيزيكي
FLIES
دادههاي ذخيرهشده
در محيط فيزيكي
طراح و پيادهساز
پايگاه دادهها
كاربر
در معناي عام ،هر استفادهكننده از پايگاه دادهها را كاربر گوييم.
كاربر
كاربر فرمي
كاربر منويي
كاربر نقشهاي
كاربر فرماني
كاربر پارامتري
نابرنامهساز
QL
برنامهساز
HL + QL
كاربر گرافيكي
كاربر با زبان طبيعي
كاربر صوتي
موردي :نامنظم
هميشگي :منظم
در اسلوب
يكجا
در اسلوب
پيوسته
در اسلوب
تعاملي
كاربر :پاياني
كاربردساز
جزء تيم اجرائي
سيستمساز
(پيادهساز)
ابزارساز
جزء تيم
مديريت پايگاه
زبان ميزبان
يكي از زبانهاي برنامهسازي متعارف مانند كوبو ل،
،PL1فرترن ،پاسكال C ،و زبانهايي مثل ،ADA
JAVA ،LISPو نيز زبان اسمبلي است.
كاهش هزينه سازمان
افزايش تعداد
تنوع كاربر
زبانهاي ميزبان مورد پذيرش
DBMS
تنوع كاربرد
انعطافپذيري بيشتر
زبان دادهاي فرعي
شامل سه دسته دستور زير است:
-1دستورات تعريف دادهها )Data Definition Language (DDL
-2دستورات عمليات روي دادهها )Data Manipulation Language (DML
-3دستورات كنترل دادهها )Data Control Language (DCL
دستورهاي DSLبراي سه سطح معماري پايگاه دادهها
DSL
DLL
سطح خارجي
DML
سطح ادراكي
DCL
سطح داخلي
ي
معمار
ANSI
تقسيمبندي زبان دادهاي فرعي از نظر
نياز به زبان ميزبان
مستقل ( :)I.DSLبه زبان ميزبان نياز ندارد و به صورت
تعاملي استفاده ميشود .در واقع يك زبان پرس وجو است.
ادغامشدني ( :)E.DSLدستورهايش در متن برنامهاي به
زبان ميزبان به كار ميرود و مستقال قابل استفاده نيست.
هم مستقل و هم ادغامشدني ()I/E.DSL
روند كلي مرحله كامپايل برنامه دوزباني
برنامه به
:HL
كامپايل شده
كامپايلر
HL
دستورهاي HL
پيش
اجرا
كامپايلر
دستورهاي
:DSL
كامپايل شده
كامپايلر
DSL
دستورهاي DSL
دستورهاي
HLو
دستورهاي
DSL
ويژگيهاي زبان دادهاي فرعي
-1تعداد دستورهايش بايد كم باشد.
-2دستورهايش بايد شبه زبان طبيعي باشد.
-3يادگيري و استفاده آن بايد ساده باشد.
-4در طراحي آن بايد اصل وحدت دستور رعايت شود.
-5دستورهايش بايد مبتني بر عناصر ساختاري اساس ي ساختار
دادهاي طراحي شوند.
ادامه
ويژگيهاي زبان دادهاي فرعي
-6بهتر است نارويهاي (ناروشمند) باشند.
ي.
-7بهتر است كامپايلري باشد و نه مفسر
-8بهتر است از نظر ساختاري كامل باشد.
-9بهتر است از نظر برنامهسازي و محاسباتي كامل باشد.
-10زبان بايد از نظر تعداد دستورهاي كنترل دادهها و عملكرد
هردستور ،غني و قوي باشد.
-11بايد از نظر انواع دادهاي و به ويژه انواع دادهاي انتزاعي و انواع
دادهاي پيچيده غني باشد.
جلسه ششم
سيستم مديريت پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-1سيستم مديريت پايگاه دادهها DBMS
DBMS -2به كاربر امكان ميدهد تا
-3ردهبندي سيستمهاي DBMSاز نظرهاي مختلف
-4اجزاي DBMSاز نماي بيروني
-5نماي بيروني (سادهشده) DBMS
-6اجزاي DBMSاز نماي دروني
-7واحدهاي اليه هسته
-8واحدهاي اليه مديريت محيط پايگاه دادهها
-9ساختار يك سيستم پايگاهي
هدفهاي كلي :سيستم مديريت پايگاه دادهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• سيستم مديريت پايگاه دادهها را توصيف كند.
• ردهبندي DBMSرا از ديدگاههاي مختلف بيان كند.
• اجزاء DBMSاز نماي دروني و بيروني را برشمارد.
• واحدهاي اليه هسته و مديريت پايگاه داده را نام ببرد.
سيستم مديريت پايگاه دادهها
DBMS
تعريف :يكي از انواع نرمافزارهاي واسط بين
محيط فيزيكي ذخيره و بازيابي اطالعات و محيط
منطقي برنامهسازي است.
DBMSبه كاربر امكان ميدهد تا:
-1پايگاه دادههاي خود را تعريف كند.
-2در پايگاه دادههاي خود عمليات انجام دهد.
-3روي پايگاه دادههاي خود تا حدي كنترل داشته باشد.
ردهبندي سيستمهاي DBMS
از نظر نوع ساختار دادهاي
• سيستم رابطهاي
• سيستم سلسلهمراتبي
• سيستم شبكهاي
• جز اينها
ردهبندي سيستمهاي DBMS
ي
از نظر محيط سختافزار
• وابسته به يك محيط خاص
• ناوابسته به يك محيط خاص
ردهبندي سيستمهاي DBMS
از نظر رده كامپيوتر
• خاص محيط كامپيوترهاي شخص ي
• خاص محيط كامپيوترهاي متوسط ()Mini Computer
• خاص محيط كامپيوترهاي بزرگ ()Main Computer
• خاص محيط كامپيوترهاي خيلي بزرگ ()Super Computer
• اجراشونده درچند رده كامپيوتر
ردهبندي سيستمهاي DBMS
از نظر محيط سيستم عامل
• وابسته به يك سيستم عامل خاص
• اجراشونده در محيط چند سيستم عامل
از نظر نوع معماري سيستم پايگاه دادهها
• با توانش ايجاد پايگاه متمركز
• با توانش ايجاد پايگاه نامتمركز
ردهبندي سيستمهاي DBMS
از نظر معماري مشتري -خدمتگزار
• با توانش ايجاد معماري چند مشتري – يك خدمتگزار
• با توانش ايجاد معماري چند مشتري – چند خدمتگزار
از نظر زبان
• سيستم داراي SQL
• سيستم فاقد SQL
ردهبندي سيستمهاي DBMS
از نظر نوع زبان دادهاي فرعي
• داراي I.DSL
• داراي E.DSL
• داراي E/I.DSL
از نظر ماهيت زبان دادهاي فرعي
• با زبان رويهاي
• با زبان نارويهاي
ردهبندي سيستمهاي DBMS
از نظر سيستم فايل
• خودكفا
• وابسته به سيستم فايل محيط سيستم عامل
از نظر نوع كاربرد
• تك منظوره
• همه منظوره
ردهبندي سيستمهاي DBMS
از نظر قيمت
از حدود ده هزار دالر تا صد هزار دالر و گاه بيشتر
از نظر طرز برپايي
• با محدوديت برپايي يكپارچه
• داراي امكان برپايي گزينش ي
ردهبندي سيستمهاي DBMS
از نظر واسط كاربر
• با واسط زباني
• با واسط غير زباني
• با هر دو واسط
ردهبندي سيستمهاي DBMS
از نظر رفتار در قبال رويدادها
• سيستم فعال
• سيستم غير فعال
از نظر متدولوژي زبان
• بدون متدولوژي شيئگرايي
• داراي متدولوژي شيئگرايي
ردهبندي سيستمهاي DBMS
از نظر بهينهسازي پرسش
• داراي بهينهسازي متعارف
• داراي بهينهسازي مبتني بر قاعده ،معنايي و ...
از نظر نوع تراكنش
• پذيرنده تراكنشهاي ساده
• پذيرنده تراكنشهاي با مدل پيشرفته
ردهبندي سيستمهاي DBMS
از نظر نوع پردازش
• با قابليت پردازش بيدرنگ
• فاقد اين قابليت
از نظر رسانه ذخيرهسازي پايگاه دادهها
• با قابليت ايجاد MMDB
• فاقد اين قابليت
ردهبندي سيستمهاي DBMS
از نظر قابليت تعامل بين سيستمها
• فاقد اين قابليت
• داراي قابليت تعامل با سيستمهاي همگن
• داراي قابليت تعامل با سيستمهاي ناهمگن
از نظر پردازش دادههاي زمانمند
• فاقد جنبههاي يك سيستم زماني
• سيستم مديريت پايگاه دادههاي زماني
اجزاي DBMSاز نماي بيروني
• واحد پردازشگر پرسشها و برنامههاي كاربردي
• واحد ايجاد و مديريت دادهاي ذخيرهشده
نماي بيروني (سادهشده) DBMS
كاربر
برنامههاي كاربردي /پرسشها
سيستم مديريت پايگاه دادهها
واحد پردازشگر برنامه كاربردي و پرسشها
واحد دستيابي به دادههاي ذخيرهشده
DB
متا داده
دادههاي
ذخيرهشده
اجزاي DBMSاز نماي دروني
• اليه هسته (سيستم كنترل يا موتور پايگاه دادهها)
• اليه مديريت محيط پايگاه دادهها
• اليه تسهيالت نرمافزاري (ابزارها)
واحدهاي اليه هسته
-1واحد دريافت درخواست كاربر و وارس يهاي اوليه
-2واحد توليد شماها
-3پيشكامپايلرها براي DML
-4كامپايلرها (پردازنده )DML
-5پردازشگر پرسش و بهينهساز پرسش
-6واحد مديريت سطح داخلي
ادامه
واحدهاي اليه هسته
-7واحد مديريت بافر
-8واحد مديريت فضاي ديسك
-9واحد ناظر زمان اجرا
-10واحد مديريت همروندي تراكنشها
-11واحد مديريت انتقال دادهها
-12واحد مديريت كاتالوگ
واحدهاي اليه مديريت محيط پايگاه دادهها
-1واحد كنترل جامعيت پايگاه دادهها
-2واحد ترميم پايگاه دادهها
-3واحد ايمني و حفاظت پايگاه دادهها
-4واحد توليد نسخههاي پشتيبان
-5واحد توليد فايلهاي ثبت تراكنشها
مدير پايگاه دادهها
DDL
ساختار يك
سيستم
پايگاهي
كاربر موردي
برنامهساز APها
واسط DML
CLI
واسط APها
كاربر نابرنامهساز
UFI
فرمانهاي زبان پايگاهي
واحد پردازشگر پرسشها
واحد مديريت دادههاي ذخيرهشده
مدير فايلينگ منطق
كامپايلر
DDL
مدير
ترميم
مدير بافر
DBMS
.......
مدير
تراكنشها
و
قفلها
مدير فضاي ديسك
......
فايل
ثبت
تراكنشها
متادادهها
شاخصها
دادههاي ذخيرهشده
جلسه هفتم
DBMSدر يك سيستم كامپيوتري
آنچه در اين جلسه مي خوانيد:
-1جايگاه DBMSدر يك سيستم كامپيوتري
-2سه طرح كاربرد DBMSدر برنامههاي كاربردي
-3اسلوبهاي عملياتي
-4كاتالوگ سيستم و ديكشنري دادهها :متا دادهها
-5اطالعاتي كه در ديكشنري دادهها نگهداري ميشود
-6ديكشنري دادهها و استفادهكنندگان آن
-7پارامترهاي شناخت DBMS
-8مدير پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-9برخي مسئوليتهاي در تيم مديريت پايگاه دادهها
-10پنج سرمايه در مديريت نوين سازمانها
-11مزايا و معايب تكنولوژي پايگاه دادهها
-12مزايا و معايب سيستم تككاربري
-13مزايا و معايب سيستم چندكاربري
-14شرايط استفاده از تكنولوژي پايگاه دادهها
-15كاربردهاي جديد تكنولوژي پايگاه دادهها
-16استقالل دادهاي و انواع آن
هدفهاي كلي DBMS :در يك سيستم كامپيوتري و مدير پايگاه دادهها
ي :دانشجو در پايان اين جلسه ميتواند:
هدفهاي رفتار
• ارتباط DBMSبا ساير عناصر نرمافزاري را بيان كند
• اسلوبهاي عملياتي ،و پارامترهاي شناخت را نام ببرد.
• مسئوليتهاي تيم مديريت پايگاه دادهها را شرح دهد.
• مزايا و معايب سيستم تككاربره و چندكاربره را توصيف كند.
• استقالل دادهاي و انواع آن را توضيح دهد.
جايگاه DBMSدر يك سيستم كامپيوتري
برنامههاي كاربردي
ابزارهاي توليد برنامههاي كاربردي
DBMS
سيستم عامل
سختافزار
يك DBMSبراي هر برنامه كاربردي
درخواست كاربر
سيستم عامل
APi
.....
......
AP1
DBMS1
DBMSi
AM
DB2
DB1
يك DBMSبراي چند برنامه كاربردي تحت كنترل سيستم عامل
درخواست كاربر
سيستم عامل
APi
.....
......
DBMS1
AM
DB
AP1
يك DBMSبراي چند برنامه كاربردي با اجراي تحت كنترل DBMS
درخواست كاربر
سيستم عامل
DBMS1
APi
.....
......
AM
DB
AP1
اسلوبهاي عملياتي
به طور كلي سه اسلوب عملياتي وجود دارد:
• اسلوب يكجا
• اسلوب برخط
• اسلوب تعاملي
كاتالوگ سيستم و ديكشنري دادهها :متا دادهها
حاوي دادههايي است در مورد دادههاي ذخيرهشده در پايگاه
دادههاي كاربر و اين دادهها به متادادهها موسومند
ديكشنري دادهها معموال جزئي از خود سيستم است و به د و
صورت فعال و غيرفعال توليد ميشود.
اطالعاتي كه در ديكشنري دادهها نگهداري ميشود:
• شماهاي خارجي
• شماي ادراكي
• شماي داخلي
• رويههاي مربوط به تبديالت بين سه سطح معماري
• شرح ساختار فيزيكي دادههاي ذخيرهشده
• مشخصات و حقوق دستيابي كاربران به دادهها
• مشخصات برنامههاي كاربردي توليد شده و ارتباط آنها با
درخواستهاي كاربران
• مشخصات پايانههاي متصل به سيستم
ادامه
اطالعاتي كه در ديكشنري دادهها نگهداري ميشود:
• ارتباط بين برنامههاي كاربردي و دادههاي ذخيرهشده
• قواعد جامعيت
• ضوابط كنترل ايمني دادهها
• مشخصات پيكربندي سختافزاري سيستم و رسانههاي
ذخيرهسازي
• اطالعات متنوع آماري پايگاه داده و كاربران
• توابع تعريفشده توسط كاربران
ديكشنري دادهها و استفادهكنندگان آن
برنامهسازان سيستمي
كاربران پاياني
تيم مديريت پايگاه دادهها
برنامهسازان كاربردي
ديكشنري دادهها
زيرسيستم جامعيت
پايگاه دادهها
برنامه كاربردي
مولد گزارش
زيرسيستم و
ترميم پايگاه دادهها
كامپايلر/
پيشكامپايلر
بهينهساز
پرس و جو
زيرسيستمهاي ايمني
و مجازشماري
پارامترهاي شناخت DBMS
• پارامترهاي مربوط به توانشها و كارايي سيستم
• تسهيالت و جنبههاي ديگر
• مشخصات كلي سيستم
• پارامترهاي مربوط به معماري پايگاه دادهها
• پارامترهاي مربوط به زبان دادهاي فرعي
مدير پايگاه دادهها
فردي است متخصص در پايگاه دادهها و با مسئوليت
علمي ،فني و نيز اداري در محدوده وظايفي كه عهدهدار
است
اين مدير همراه با يك تيم تخصص ي كار
ميكند كه به آن تيم مديريت پايگاه دادهها
ميگويند.
برخي مسئوليتهاي در تيم مديريت پايگاه دادهها
• مدير پايگاه دادهها
• مدير دادهها
• مدير امور پژوهش-توسعه
• مدير سيستمهاي كاربردي
ي
• مسئول تيمهاي برنامهساز
• مسئول كنترل كارايي DBMS
• مسئول كنترل كارايي خود سيستم پايگاه دادهها
• مسئول نظارت بر عمليات روي پايگاه دادهها
• مسئول تماس با كاربران زيرمحيطهاي سازمان
• مسئول تنظيم مستندات و وضع استاندهها
در مديريت نوين سازمانها ،هر سازمان داراي پنج
سرمايه است:
-1سختافزار
-2نرمافزار
-3داده
-4بودجه
-5تخصص
مزايا و معايب تكنولوژي پايگاه دادهها
مزاياي اين تكنولوژي بستگي به نوع سيستم
( )DBMSو معماري سيستم پايگاه دادهها و
ماهيت كاربردها دارد.
سيستم تككاربري
مزايا
-1هر بخش از سازمان ،دادههاي خود را نگهداري و پردازش ميكند.
-2با استفاده از كامپيوترهاي شخص ي ،حجم دادههاي سيستم مركزي كاهش
ميآيد.
-3پايگاه دادههاي ايجادشده روي كامپيوترهاي شخص ي معموال كوچك و
مدلسازي ،طراحي و پيادهسازي آنها ساده است.
-4كار با اين سيستمها و برنامهسازي در محيط آنها ساده است.
-5با پيشرفت كامپيوترهاي شخص ي ،اين سيستمها ميتوانند بسياري از
كارهاي سيستمهاي كامپيوتري بزرگ را انجام دهند.
سيستم تككاربري
معايب
-1وجود تعداد زيادي از اين سيستمها در يك سازمان باعث بروز افزونگي،
ناسازگاري دادهها و ناايمني آنها ميشود.
-2محوديتهاي سختافزاري سبب محدوديت اندازه فايلها و نيز محدوديت
سرعت پردازش باعث محدود شدن حجم پايگاه دادهها ميشود.
-3خود سيستم نميتواند قوي و كارا باشد.
ادامه
سيستم تككاربري
معايب
-4ميزان ايمني و حفاظت در آنها ضعيف است.
-5امكانات توليد نسخه پشتيبان در آنها معموال كم است.
-6اشتراكي كردن آنها مشكالت تكنيكي جدي دارد.
-7اعمال مجموعه واحدي از استاندهها در كل سازمان ناممكن است.
-8معموال كاربر اين محيط مهارت كافي در مدلسازي و طراحي بهينه پايگاه
دادهها ندارد.
-9ايجاد يك سيستم جامع و يكپارچه ،براساس اين سيستمها ،دشوار و
پرهزينه است.
سيستم چندكاربري
مزايا
-1اشتراك دادهها
-2كاهش افزونگي
-3تعدد شيوههاي دستيابي به دادهها
-4اجتناب از ناسازگاري دادهها
-5تامين همروندي بهتر
-6تسهيل پردازش تراكنشها
-7تضمين جامعيت دادهها
ادامه
سيستم چندكاربري
مزايا
-8حفظ محرمانگي دادهها
-9امكان اعمال استاندهها
-10تعدد زبانها
-11كاهش حجم برنامهها
-12تنوع كاربران
-13تسريع در دريافت پاسخ پرسشها
-14استفاده بهتر از سختافزار و ...
سيستم چندكاربري
معايب
-1هزينه باالي نرمافزار و سختافزار
-2هزينه بيشتر براي برنامهسازي
-3هزينه باال براي انجام مهندس ي دوباره به منظور تبديل سيستم از
مش ي ناپايگاهي به مش ي پايگاهي
-4كند شدن اجراي بعض ي از برنامههاي كاربردي
-5خطر آسيبپذيري دادهها
-6تاثيرات گستردهتر خرابيها و دشواري بيشتر ترميم آنها
-7پيچيده بودن سيستم و نياز به تخصص بيشتر
شرايط استفاده از تكنولوژي پايگاه دادهها
-1نياز به ايجاد يك سيستم يكپارچه اطالعاتي
-2حجم زياد دادههاي سازمان و رشد پوياي آن
-3تغييرات مداوم در دادههاي ذخيرهشده
-4باال بودن بسامد درخواستهاي كاربران
-5نياز به اعمال كنترل متمركز و دقيق روي كل دادهها
-6وجود ارتباطات پيچيده بين دادهها
ادامه
شرايط استفاده از تكنولوژي پايگاه دادهها
-7زياد بودن ميزان دادههاي مشترك بين برنامههاي كاربردي
-8مدنظر بودن صحت ،دقت و سازگاري دادهها
-9زياد بودن گزارشها
-10نياز به انجام پردازشهاي تحليلي برخط
-11نياز به سيستم دادهكاوي و كشف دانش در سازمان
كاربردهاي جديد تكنولوژي پايگاه دادهها
• سيستم پشتيبان تصميم
• سيستم دادهكاوي چندرسانهاي
• سيستم انبارش دادهها
• حيطههاي فضايي و جغرافيايي
• پايگاه دادههاي شخص ي و همراه
• سيستم پايگاه دادهها در شبكه جهاني اطالعرساني
• سيستم اطالعات اجرايي
• سيستم اطالعات طراحي
• سيستم پردازش تحليلي برخط چندبعدي
• ...
استقالل دادهاي
يعني وابسته نبودن برنامههاي كاربردي به دادههاي
ذخيرهشده
DB
دادههاي
ذخيرهشده
برنامههاي
كاربردي
انواع استقالل دادهاي
استقالل دادهاي فيزيكي -استقالل دادهاي منطقي
استقالل دادهاي فيزيكي
عبارتست از مصونيت ديدهاي كاربران و برنامههاي
كاربردي در قبال تغييرات در سطح داخلي-فيزيكي پايگاه
دادهها
چرا استقالل دادهاي فيزيكي در سيستمهاي رابطهاي جديد
كامال تامين است؟
زيرا:
-1كاربران سطح خارجي در محيطي كامال انتزاعي عمل ميكنند و
برنامههاي كاربردي در اين سطح با فايلينگ پايگاه دادهها تماس
ندارند.
-2بين سطح خارجي و داخلي ،يك سطح انتزاعي ديگر واسط است و
مانع تاثيرپذيري برنامههاي سطح خارجي از تغييرات درفايلينگ پايگاه
دادهها ميشود.
استقالل دادهاي منطقي
عبارتست از مصونيت ديدهاي كاربران و برنامههاي كا ربردي
در قبال تغييرات در سطح ادراكي پايگاه دادهها
تغيير در سطح ادراكي يعني تغيير در طراحي منطقي
پايگاه دادهها و تغيير در شماي ادراكي
اين تغيير معموال منجر به تغيير مناسب در سطح
فايلينگ پايگاه ميشود.
تغيير در سطح ادراكي دو وجه دارد:
-1رشد پايگاه در سطح ادراكي
-2سازماندهي مجدد پايگاه در سطح ادراكي
جلسه هشتم
معماري سيستم پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-1معماري سيستم پايگاه دادهها
-2انواع معماري
-3معماري متمركز
-4معماري مشتري -خدمتگزار
-5طرحهاي معماري مشتري -خدمتگزار
-6مزاياي معماري مشتري – خدمتگزار در مقايسه با معماري
متمركز
-7معماري توزيعشده
آنچه در اين جلسه مي خوانيد:
-8ويژگيهاي معماري توزيعشده
-9مزايا و معايب معماري توزيعشده
-10معماري با پردازش موازي
-11طرح هاي معماري با پردازش موازي
-12معماري سيستم چندپايگاهي
-13معماري سيستم پايگاههاي همراه
هدفهاي كلي :معماري سيستم پايگاه دادهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• گونههاي مختلف معماري پايگاه دادهها شامل معماري متمركز و
نامتمركز و انواع معماري نامتمركز و ويژگيهاي هريك را شرح دهد.
معماري سيستم پايگاه دادهها
منظور ،چندي و چوني اجزاء تشكيلدهنده سيستم و نيز
پيكربندي يا طرز تركيب اجزاء سيستم و چگونگي تعامل اجزاء با
يكديگر است .در اين معماري حداقل يك پايگاه دادهها ،يك
سيستم مديريت پايگاه دادهها ،يك سيستم عامل ،يك كامپيوتر با
دستگاههاي جانبي و تعدادي برنامه كاربردي و كاربر وجود دارند.
معماري متمركز
انواع معماري
معماري نامتمركز
معماري مشتري-خدمتگزار
معماري توزيعشده
معماري چندپايگاهي
معماري با پردازش موازي
معماري موبايل
معماري متمركز
در اين معماري يک پايگاه داده روي يک سيستم
کامپيوتري و بدون ارتباط با سيستم ديگر ايجاد
مي شود .
نمايش معماري متمركز
كاربران پايانهاي نزديك
كنترولر ديسك
كامپيوتر بزرگ
..
.
كنترولر نوار
پايگاه دادههاي متمركز
...
..
.
كنترولر چاپگر
كاربران
پايانهاي
دور
معماري مشتري -خدمتگزار
هر معماري که در آن قسمتي از پردازش را يک برنامه ،سيستم يا
ماشين انجام دهد و انجام قسمت ديگري از پردازش را از
برنامه ،سيستم يا ماشين ديگر بخواهد معماري مشت ري
خدمتگزار ناميده مي شود
معماري مشتري -خدمتگزار
DBMS
DB
OS
ماشين خدمتگزار
D
B
M
S
OS
AP . . . .
ماشين مشتري
طرحهاي معماري مشتري -خدمتگزار
از نظر تعداد مشتري و خدمتگزار
-1چند مشتري – يك خدمتگزار
-2يك مشتري – چند خدمتگزار
-3چند مشتري – چند خدمتگزار
طرحهاي معماري مشتري -خدمتگزار
از نظر پيكربندي سختافزاري
الف -معماري حول كامپيوتر بزرگ
مشتري
PC1
DB
PC2
......
MAIN
خدمتگزار
PCi
طرحهاي معماري مشتري -خدمتگزار
از نظر پيكربندي سختافزاري
ب -معماري حول شبكه
PC1
مشتري
PC2
......
PCi
شبكه
خدمتگزاران
DB
PCk
PCn
Printer
PCi
Files
مزاياي معماري مشتري – خدمتگزار در مقايسه
با معماري متمركز
• تقسيم پردازش
• كاهش ترافيك شبكه
• استقالل ايستگاههاي كار
• اشتراك دادهها
معماري توزيعشده
مجموعه اي از داده هاي ذخيره شده که منطقا به يک
سيستم تعلق دارند ولي در مانه هاي مختلف يک يا بيش
از يک شبکه توزيع شده اند.
نماي يك مانه در معماري توزيعشده
OS
DB
D
D
B
M
S
D
C
NETWORK
LAN
WAN
MNET
معماري توزيعشده با سه مانه
كاربران دور
كاربران نزديك
كاربران نزديك
…
DB1
كاربران دور
…
…
…
OS1
OS2
DDBMS1
DDBMS2
APs
DC
DC
NETWORK
. LAN
. WAN
. MNET
DC
APs
DDBMS3
DB3
OS3
…
…
DDB = {DB1+DB2+DB3}
APs
DB2
ويژگيهاي معماري توزيعشده
• مجموعهاي است از دادههاي منطقا مرتبط و اشتراكي
• دادهها به بخشهايي تقسيم و در مانهها توزيع شدهاند.
• بعض ي بخشها ممكن است به طور تكراري در مانهها ذخيره شده باشند.
• مانهها از طريق شبكه بهم مرتبطاند.
• دادههاي هر مانه تحت كنترل يك DBMSاست.
• DMBSهر مانه ،ميتواند برنامههاي كاربردي محلي را
به طور خودكار اجرا كند.
• هر DBMSحداقل دراجراي يك برنامه كاربردي سرتاسري
مشاركت دارد.
مزاياي معماري توزيع شده
• سازگاري و هماهنگي با ماهيت سازمانهاي نوين.
• كارايي بيشتر در پردازش دادهها.
• دستيابي بهتر به دادهها.
• اشتراك دادهها.
• افزايش پردازش موازي.
• كاهش هزينه ارتباطات.
• تسهيل گسترش سيستم.
• استفاده از پايگاه دادههاي از قبل موجود.
معايب معماري توزيعشده
• پيچيدگي طراحي سيستم.
• پيچيدگي پيادهسازي.
• كاهش كارايي در برخي موارد.
• هزينه بيشتر.
• مصرف حافظه بيشتر.
معماري با پردازش موازي
در اين گونه سيستمها معموال تعداد زيادي تراکنش در
ثانيه و بطور موازي اجرا ميشود .
طرح كلي معماري با پردازش موازي
خدمتگزاران برنامههاي كاربردي
برنامه كاربر n
............
برنامه كاربر 2
برنامه كاربر 1
مدير تماسهاي
اجرايي كاربران
مدير درخواست
برنامه كاربر n
مدير دادههاي
برنامه m
خدمتگزار پايگاه دادهها
............
مدير درخواست
برنامه كاربر 2
مدير درخواست
برنامه كاربر 1
مدير دادههاي
برنامه m-1
مدير دادههاي
برنامه 2
مدير دادههاي
برنامه 1
طرح هاي معماري با پردازش موازي
الف -معماري با حافظه مشترك
P
M
P
P
P
معماري با حافظه مشترك
مزيت :ارتباط بين پردازندهها به طور كارا انجام ميشود.
عيب :نميتوان بيش از 32يا 64پردازنده داشت .زيرا
احتمال بروز تنگنا در باسهاي حافظهاي يا شبكه
ارتباطي افزايش مييابد.
طرح هاي معماري با پردازش موازي
ب -معماري با ديسكهاي مشترك
P
M
P
M
P
M
P
M
معماري با ديسكهاي مشترك
مزيت:
-1عدم بروز تنگنا در باسهاي حافظهاي
-2تسهيل تحمل خرابي
عيب :دشواري در گسترش سيستم.
طرح هاي معماري با پردازش موازي
ج -معماري بياجزاء مشترك
P
M
P
M
P
P
P
M
M
M
معماري بياجزاء مشترك
مزيت :تسهيل گسترش
عيب :هزينه ارتباط و دستيابيهاي غيرمحلي زياد است.
طرح هاي معماري با پردازش موازي
د -معماري سلسلهمراتبي
P
P
M
P
M
M
P
P
P
P
P
P
P
P
P
معماري سيستم چندپايگاهي
S1
Sn
شماي خارجي
سراسري
شماي خارجي
سراسري
شماي ادراكي
سراسري
S1
شماي خارجي
محلي
شماي خارجي
محلي
شماي ادراكي
محلي
شماي داخلي
محلي
DB
شماي خارجي
محلي
شماي خارجي
محلي
شماي ادراكي
محلي
شماي داخلي
محلي
DB
معماري سيستم پايگاههاي همراه
سيستم عامل
DBMS
پايگاه دادههاي
ميزبان
برنامههاي كاربردي
امكانات همرسانش
امكانات همرسانش
D
B
M
S
برنامههاي
كاربردي
سيستم
عامل
امكانات همرسانش
سيستم
عامل
برنامههاي
كاربردي
كامپيوتر همراه
پايگاه دادههاي
همراه
پايگاه دادههاي
همراه
D
B
M
S
جلسه نهم
مدل رابطهاي
آنچه در اين جلسه مي خوانيد:
-1مفاهيم اساس ي مدل رابطهاي
-2بخشهاي اساس ي مدل دادهاي
-3تعريف رابطه
-4تناظر بين مفاهيم رابطه اي و مفاهيم جدولي
-5ويژگيهاي رابطه
-6انواع رابطه
-7ميدان (دامنه)
آنچه در اين جلسه مي خوانيد:
-8مزاياي ميدان
-9رابطه نرمال و غير نرمال
-10دليل لزوم نرمال بودن رابطه
-11معايب رابطه نرمال
-12مزايا و معايب رابطه غيرنرمال
-13انواع کليد در مدل رابطه اي
هدفهاي كلي :آشنايي با مدل رابطهاي
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• مدل رابطهاي و بخشهاي اساس ي آن را توضيح دهد.
• رابطه را تعريف و ويژگيهاي آن را بيان نمايد.
• انواع رابطه را نام برده و توضيح دهد.
• روابط نرمال و غيرنرمال را شرح دهد.
• كليد و انواع آن را توضيح دهد.
مفاهيم اساس ي مدل رابطهاي
مدل رابطهاي در سال 1970توسط كاد ابداع شد.
مدل داده اي امکاني است براي طراحي منطقي پايگاه دادهها،
تعريف و کنترل آن و نيز انجام عمليات درآن و امکان مي دهد تا
اين هر سه عمل اساس ي در محيط انتزاعي انجام شود .بنابراين
ميتوان گفت که مدل دادهاي تامين کننده محيط انتزاعي پايگاه
داده هاست .
بخشهاي اساس ي مدل دادهاي
-1بخش ساختاري
-2بخش عملياتي (پردازش ي)
-3بخش جامعيتي
بخش ساختاري ،نشاندهنده عناصر ساختاري مدل است كه همان
ساختار دادهاي اصلي و مفاهيم مرتبط با آن است.
بخش عملياتي ،مجموعه امكاناتي است كه به وسيله آنها
عمليات مورد نظر كاربر انجام ميشود.
بخش جامعيتي ،از مجموعهاي از قواعد و محدوديتهاي جامعيتي تشكيل
شده است كه به وسيله آنها سيستم مديريت پايگاه داده ميتواند
صحت ،دقت و سازگاري دادهها را كنترل و تضمين كند.
تعريف رابطه
با فرض وجود nميدان D1تا ،Dnنه لزوما متمايز ،رابطه Rاز دو قسمت
تشكيل شده است:
-1سرآيند :مجموعهاي نامدار از nصفت به صورت Ai:Diكه در
آن هر Aiنام يك صفت است و هر Diنام ميدان صفت
-2پيكر (بدنه) :مجموعهاي است از mتاپل tبه نحوي كه tخود
مجموعهاي است از nعنصر هريك به صورت Ai:viكه در آن vi
مقداري است از نوع ميدان.
مقدار nرا درجه (همان تعداد صفات) و مقدار mرا كارديناليتي رابطه ميگويند
تناظر بين مفاهيم رابطه اي و مفاهيم جدولي
جدول زير تناظر بين مفاهيم رابطه اي و مفاهيم جدولي را نشان مي دهد :
مفهوم تئوريک
رابطه
تاپل
صفت
ميدان
درجه
کارديناليتي
مفهوم جدولي
جدول
سطر
ستون
مجموعه مقادير ستون
تعداد ستونها
تعدادسطرها
ويژگيهاي رابطه
ويژگيهاي رابطه عبارتند از:
-1رابطه تاپل تکراري ندارد
-2تاپلها نظم ندارند
-3صفات رابطه نظم مكاني ندارند
-4تمام صفات تكمقداري هستند.
انواع رابطه
-1مبنا :استقالل وجودي دارد و از رابطههاي ديگر مشتق نيست و
دادههاي ذخيرهشده متناظر دارد.
-2نامدار :با يك نام به سيستم معرفي ميشود.
-3ديد :نوعي رابطه نامدار كه مشتق از رابطههاي ديگر است و ماهيتا
مجازي است.
-4لحظهاي :نامدار و مشتق است ولي مجازي نيست.
-5مشتق :به كمك يك عبارت رابطهاي بر حسب رابطههاي مبنا
تعريف ميشود.
ادامه
انواع رابطه
-6عبارتي :از مجموعهاي از رابطههاي نامدار و به وسيله يك عبارت
رابطهاي به دست ميآيد.
پرسش
-7نتيجه پرسش :بينام و مشتق است كه حاصل اجراي يك
مشخص است.
-8بينابيني :بينام و مشتق است كه حاصل ارزيابي يك عبارت
رابطهاي است كه درون يك عبارت بزرگتر جاي دارد
-9مشتق :رابطهاي عبارتي است كه به طور مستقيم و كارا ذخيره
شده است.
ميدان (دامنه)
از نظر رياض ي ،مجموعهاي است از مقادير كه يك يا بيش از
يك صفت از آن مقدار ميگيرند .در مدل رابطهاي ،اين
مجموعه:
• نامدار است.
• مقاديرش نوع مشخص دارند.
• مقاديرش فرمت مشخص دارند.
مزاياي ميدان
.1
.2
.3
.4
.5
.6
سبب سادهترشدن و كوتاهتر شدن شماي پايگاه دادهها ميشود.
تغيير در شماي پايگاه را تسهيل ميكند.
امكاني است براي كنترل مقداري عمليات در پايگاه دادهها.
امكاني است براي كنترل معنايي درخواستها.
پاسخگويي به بعض ي پرسشها را آسان ميكند.
با استفاده از مفهوم ميدان ميتوان امكانات و جنبههاي موج ود در
سيستم مديريت پايگاه دادههاي شيئگرا را به سيستم مديريت
پايگاه دادههاي رابطهاي افزود.
رابطه نرمال و غير نرمال
• رابطه نرمال :
رابطه اي است که مقادير هيچيک از ميدانهايش ،يک مقدار رابطه
اي با کارديناليتي بزرگتر از يک نباشد
• رابطه غير نرمال :
رابطه اي است که در آن مقادير حداقل يک صفت ،خود مقادير
رابطهاي هستند
(رابطه اي که حداقل يک صفت چند مقداري داشته باشد)
دليل لزوم نرمال بودن رابطه
-1سادگي در نمايش ظاهري رابطه (جدول با سطرهاي سادهتر)
-2سادگي دستورات ( DSLبويژه DMLو )DDL
-3سادگي در اجراي عمليات در پايگاه دادهها
معايب رابطه نرمال
-1بروز پديده افزونگي كه ميتواند فيزيكي هم باشد.
-2طوالنيتر شدن كليد رابطه.
-3عدم امكان نمايش دادههاي پيچيده.
-4دشواري در نمايش طبيعي مفهوم سلسله مراتب.
-5دشواري در نمايش مفهوم وراثت.
مزايا و معايب رابطه غيرنرمال
مزايا:
-1كاهش ميزان افزونگي
-2كوتاه شدن كليد
-3امكان نمايش دادههاي پيچيده
-4دشواري كمتر در نمايش مفهوم سلسلهمراتب و مفهوم وراثت
-5افزايش سرعت عملياتي سيستم در بازيابي اطالعات
-6عدم نياز به نرمالترسازي رابطه
معايب:
-1پيچيدگي
-2عدم تقارن صفات
کليد در مدل رابطهاي
در مدل رابطه اي چند مفهوم در بحث کليد داريم که عبارتند از:
.1ابر کليد ()super key
.2کليد کانديد ()candidate key
.3کليد اصلي ()primary key
.4کليد ديگر ()alternate key
.5کليد خارجي ()foreign key
ابر كليد
تعريف -هر زيرمجموعه از مجموعه عنوان رابطه كه
يكتايي مقدار در گستره رابطه داشته باشد.
كليد كانديد
تعريف -هر زيرمجموعه از مجموعه عنوان رابطه كه
دو خاصيت زير را داشته باشد كليد كانديد رابطه
است:
-1يكتايي مقدار
ي
-2كاهشناپذير
كليد اصلي
تعريف -يكي از كليدهاي كانديد رابطه كه طراح
انتخاب ميكند و به سيستم معرفي ميشود.
ضابطههاي انتخاب:
-1از نظر كاربر ،شناسه معمول نوع موجوديت باشد.
-2طول كوتاهتر داشته باشد.
كليد ديگر (بديل)
تعريف -هر كليد كانديد ،غير از كليد اصلي ،كليد
ديگر نام دارد.
كليد خارجي
تعريف -دورابطه 1و2 RراRدر نظر ميگيريم .هر زيرمجموعه از صفات
هرRمقدار معلومش با يك مقدار از كليد كانديد برابر باشد،
رابطه
كه 2
R1
استR.
كليد خارجي در رابطه
2
كليد خارجي براي نمايش ارتباطات بين انواع موجوديتها بهكار ميرود.
جلسه دهم
قواعد جامعيت پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-1جامعيت پايگاه دادهها
-2عوامل نقض جامعيت
-3انواع قواعد جامعيت
-4قواعد كاربري و انواع آن
-5متاقواعد و انواع آن
-6راههاي اعمال قواعد جامعيت
آنچه در اين جلسه مي خوانيد:
-7عملگرهاي جبر رابطهاي
-8كاربردهاي جبر رابطهاي
-9حساب رابطهاي
-10مزايا و معايب مدل رابطهاي
-11كاتالوگ در مدل رابطهاي
-12اشيائي كه اطالعات آنها در كاتالوگ نگهداري ميشود
هدفهاي كلي :آشنايي با قواعد جامعيت پايگاه دادهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• جامعيت پايگاه دادهها و عوامل نقض آن را توضيح دهد.
• انواع قواعد جامعيت را نام برده و راههاي اعمال آن را شرح دهد.
• جبر رابطهاي و حساب رابطهاي را توضيح دهد.
• مزايا و معايب مدل رابطهاي را نام ببرد.
جامعيت پايگاه دادهها
يعني :صحت ،دقت و سازگاري دادههاي
ذخيرهشده در پايگاه در تمام لحظات
عواملي كه سبب نقض جامعيت ميشوند:
• اشتباه در برنامههاي كاربردي
• اشتباه در وارد كردن دادهها
• وجود افزونگي كنترل نشده
• توارد تراكنشها به گونهاي كه داده نامعتبر ايجاد شود.
ي
• خرابيهاي سختافزاري و نرمافزار
انواع قواعد جامعيت
-1قواعد كاربري (قواعد خاص)
-2متا قواعد (قواعد عام)
-1قواعد كاربري
قواعدي هستند كه توسط كاربرمجاز تعريف ميشوند.
وابسته به دادههاي خردجهان واقع هستند ،به اين
معنا كه در مورد يك پايگاه داده خاص مطرح ميشوند
و عموميت ندارند .به اين قواعد ،قواعد محيطي يا
وابسته به داده و يا محدوديتهاي جامعيت معنايي
ميگويند.
نماي سادهشده يك DBMSفعال
تعاريف قواعد
تحليلگر قواعد
ارزياب شرايط
موتور
قواعد
مجري اقدامات
مونيتور رويدادها
هسته DBMS
ديكشنري قواعد
(بخش ي از متاداده)
پرسشها
انواع قواعد كاربري در مدل رابطهاي
-1محدوديت ميداني :ناظر بر يك ميدان است و مقادير مجاز آن را
مشخص ميكند.
-2محدوديت صفتي (ستوني) :ناظر به يك صفت است و بيانكننده
نوع آن صفت است.
-3محدوديت رابطهاي :ناظر بر يك رابطه است و مقادير مجاز يك تغيير
رابطهاي را مشخص ميكند.
-4محدوديت پايگاهي :ناظر بر دو يا بيش از دو متغير رابطهاي است و
به نحوي آنها را به يكديگر مرتبط ميكند.
-2متاقواعد
قواعدي هستند كه بايد توسط
هرسيستم رابطهاي در هر پايگاه داده
رابطهاي اعمال شود ،ناوابسته به
دادههاي خاص هستند و عموميت دارند.
انواع متاقواعد
-1قاعده (C1جامعيت موجوديتي)
-2قاعده ( C2جامعيت ارجاعي)
قاعده C1
ناظر به كليد اصلي است و چنين است:
هيچ جزء تشكيلدهنده كليد اصلي نميتواند هيچمقدار
داشته باشد.
قاعده C2
ناظر بر كليد خارجي است و چنين است:
اگر صفت خاصه Aiدر رابطه R2كليد خارجي باشد در اين صورت:
Aiدر R2ميتواند هيچمقدار داشته باشد يا اينكه بايد حتما مقداري
داشته باشد كه در رابطه مرجع R1وجود دارد .به عبارت ديگرمقدار كليد
خارجي يك رابطه نميتواند در رابطه مرجع وجود داشته باشد.
به قواعد C1و C2محدوديتهاي ساختاري ميگويند
• وابستگيهاي تابعي
ي
• وابستگيهاي چندمقدار
ي
محدوديتهاي ناساختار
• وابستگيهاي شمو ل
• وابستگي زماني
ي
• وابستگي برابر
راههاي اعمال قواعد جامعيت
-1معرفي كليد اصلي
-2اعالم هيچ مقدارناپذيري صفت
-3معرفي كليد خارجي
-4اعالن محدوديتهاي مورد نظر ،در شماي پايگاه دادهها
-5نوشتن رهانا
-6اعالن محدوديتها با استفاده از مكانيسم اظهار
عملگرهاي معمولي
-1اجتماع
-2اشتراك
-3تفاضل
-4ضرب كارتزين
عملگرهاي جبر
رابطهاي
عملگرهاي خاص
-1گزينش (تحديد)
-2پرتو
-3پيوند
-4تقسيم
عملگر گزينش تاپلهايي از يك رابطه را گزينش ميكند (سطرهايي از
جدول را) .اين عملگر تك عملوندي است و به صورت زير نوشته
ميشود:
)R WHERE cond(s
* ) cond(sشرط يا شرايط گزينش را مشخص ميكند.
علمگر پرتو ،مقادير صفت (صفاتي) از يك رابطه را به دست ميدهد.
تك عملوندي بوده و چنين نوشته ميشود:
)PROJECT R OVER(A1,A2,…,Ai
عملگر پيوند دو عملوندي است و چنين نوشته ميشود:
R1 JOIN cond(s) R2
كه در آن ) cond(sچنين است:
R1.Ai theta R2.Bi
Aiيك صفت از رابطه R1و Biيك صفت از رابطه R2است كه از يك ميدان
مقدار ميگيرند و بايد ناهمنام باشند.
كاربردهاي جبر رابطهاي
-1بازيابي دادهها
-2ذخيرهسازي دادهها
-3تعريف انواع رابطههاي مشتق
-4تعريف قواعد براي كنترل پايگاه دادهها
-5تعريف دادهها به عنوان حيطه بعض ي عمليات كنترل
همروندي تراكنشها
-6ضابطه تشخيص كامل بودن زبانهاي رابطهاي
حساب رابطهاي
حساب رابطهاي ،با جبر رابطهاي منطقا معادل است،
يعني براي هر عبارت جبر رابطهاي ،يك عبارت معادل در
حساب رابطهاي وجود دارد و برعكس .تفاوت آنها اين
است كه جبر رابطهاي ،دستوري است ،اما حساب
رابطهاي توصيفي است.
• حساب تاپلي :در اين حساب مفهوم مهمي به نام متغير
تاپلي وجود دارد كه تنها مقادير مجازش ،تاپلهاي رابطه
حساب رابطهاي
هستند.
• حساب ميداني :در اين حساب ،متغير ميداني وجود
دارد كه از يك ميدان مقدار ميگيرد .در اين حساب يك
شرط اضافي به نام شرط عضويت وجود دارد.
در حساب رابطهاي تاپلي دو سور وجود دارد:
-1سور وجودي :به صورت ) T ( f
نوشته ميشود ،به اين معنا كه
حداقل يك مقدار براي متغير Tوجود دارد به نحوي كه fبه
”درست“ ارزيابي شود.
-2سور همگاني :به صورت ) T ( fنوشته ميشود .يعني به ازاء
تمام مقادير متغير f ،Tبه ”درست“ ارزيابي ميشود.
مزاياي مدل رابطهاي
-1نمايش ساده
-2مبناي رياض ي دارد.
-3تامينكننده استقالل دادهاي است.
-4يك عنصر ساختاري اساس ي به نام رابطه دارد.
-5كامل است.
-6عدم نياز به مفهوم كالسيك نظم.
-7براي بهترسازي طراحي ،ابزار طراحي بهتر دارد.
.
.
.
معايب مدل رابطهاي
-1دشواري در نمايش دادههاي پيچيده
-2دشواري در نمايش مفاهيمي مانند وراثت ،تعميم و ...
-3نداشتن قواعد جامعيت ذاتي
-4عدم امكان مدلسازي رفتار اشياء
-5فقدان اكمال برنامهسازي و اكمال محاسباتي
-6دشواري در يافتن كليد كانديد
-7جدا بودن دادهها از روشها
-8مشكالت ناش ي از وجود مفهوم هيچمقدار
.
.
كاتالوگ در مدل رابطهاي
كاتالوگ در مدل رابطهاي ،تعدادي رابطه است :يك پايگاه
رابطهاي كه خود سيستم ايجاد ميكند
در كاتالوگ اطالعاتي در مورد اشياء ذيل
نگهداري ميشود:
• ميدان
• رابطه
• صفت
• ديد
• قواعد جامعيت
• توابع و رويههاي تعريفشده توسط كاربر
• رهاناهاي تعريفشده توسط كاربر
• كاربر
• شاخص و ساختارهاي مرتبط با آن
• ضوابط ايمني
• پرسشها
• برنامههاي كاربردي
جلسه يازدهم
زبان SQL
آنچه در اين جلسه مي خوانيد:
-1انواع زبانهاي رابطه اي
-2امكانات مهم زبان SQL
-3دستورات تعريف داده ها ،دستور ايجاد و حذف جدول و
ديد
-4دستور مجازشماري
-5دستورات پردازش داده ها
-6توابع جمعي (گروهي)
آنچه در اين جلسه مي خوانيد:
-7امكان LIKEو NOTLIKE
-8آزمون تست وجود هيچمقدار در يك ستون
-9امكان UNIONو UNION ALL
-10امكان ( :GROUP BYگروهبندي)
-11امكان HAVING
-12امكان BETWEEN
هدفهاي كلي :آشنايي با زبان SQL
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• امكانات زبان SQLرا بيان كند.
• انواع دستورات تعريف دادهها و پردازش دادهها ياد گرفته و ميتواند
استفاده كند.
آشنايي با يک زبان رابطه اي SQL :
انواع زبانهاي رابطهاي
•
•
•
•
•
•
SQUARE
SEQUEL
SQL
QUEL
QBE
DATALOG
امكانات مهم زبان SQL
• دستورات تعريف دادهها
ي
• دستورات مجازشمار
• دستورات پردازش دادهها
• دستورات پردازش دادهها به طور ادغامشدني
• دستورات نوشتن ماژول و رويه
• دستورات كنترل جامعيت
• دستورات كنترل تراكنشها
دستورات تعريف دادهها.1
: تعريف شما-1 -1
CREATE SCHEMA
AUTHORIZATION USER
{base – table definition , view definition ,
grant-operation }
دستورات تعريف دادهها.1
CHARACTER[(length)]
INTEGER
DECIMAL [(precision[,scale])]
SMALLINT
DOUBLE PRECISION
REAL
FLOAT [(precision)]
NUMERIC [(precision[,scale])]
: انواع دادهاي-2 -1
دستورات تعريف دادهها.1
: دستور ايجاد جدول-3 -1
CREATE SCHEMA
AUTHORIZATION …
CREATE TABLE …
.1دستورات تعريف دادهها
-4 -1دستور حذف جدول:
DROP TABLE table-name
.1دستورات تعريف دادهها
-5 -1دستور ايجاد و حذف ديد:
… CREATE VIEW
… VIEW
DROP
.1دستورات تعريف دادهها
-6 -1دستور مجاز شماري:
GRANT , REVOKE
با اين دستور حق انجام يك يا بيش از يك عمل به كاربر (كاربراني) داده
ميشود.
دستورات پردازش داده ها-2
:) SELECT ( دستور بازيابي-1 -2
SELECT [ALL | DISTINCT] item(s)-list
FROM table(s)-name
[WHERE condition(s)]
[GROUP BY column(s)]
[HAVING conditions(s)]
توابع جمعي (گروهي)
• :COUNTتعداد مقادير اسكالر را به دست ميدهد.
• :SUMحاصل جمع مقادير اسكالر در يك ستون را به دست ميدهد.
• :AVGميانگين مقادير اسكالر در يك ستون را به دست ميدهد.
• :MAXبيشترين مقدار اسكالر در يك ستون را به دست ميدهد.
• :MINكمترين مقدار اسكالر در يك ستون را به دست ميدهد.
يك مثال در مورد استفاده از توابع جمعي
)SELECT MIN(GRADE) , MAX(GRADE
FROM STCOT
’WHERE TR=‘2
AND
’YRYR=’78-79
AND
;’COID=‘COM222
باالترين و پايين ترين نمره در درس COM222در ترم دوم 79-80را بازيابي
ميكند.
امكان LIKEو NOTLIKE
با اين دو امكان ميتوان دادههاي مورد نظر را با دادن يك رشته
كاراكتري به عنوان نشانوند جستجو و بيان شرايط مورد نظر،
بازيابي كرد.
مثال :مشخصات استاداني را بدهيد كه نام آنها با ARشروع شده باشد.
* SELECT
FROM PROF
;’WHERE PRNAME LIKE ‘AR%
آزمون تست وجود هيچمقدار در يك ستون
ميتوان با امكان IS NULLوجود هيچ مقدار در يك ستون
را تست كرد.
مثال :شماره دانشجوياني را بدهيد كه نمره آنها در درس SOC333در ترم دوم
78-79هنوز اعالم نشده است؟
SELECT STID
FROM STCOT
’WHERE COID=‘SOC333
AND
’TR=‘2
AND
’YRYR=’78-79
AND
GRADE IS NULL
امكان UNIONو UNION ALL
با اين امكان ،ميتوان عملكرد عملگر UNIONجبري را
برنامهسازي كرد .حاصل اين عملكرد ،جدولي است كه
سطرهاي تكراري ندارد .اگر از گزيدار ALLاستفاده شود،
سيستم ديگر سطرهاي تكراري را در صورت وجود ،حذف
نميكند.
امكان ( :GROUP BYگروهبندي)
با اين امكان ميتوان سطرهاي جدول را حسب مقادير يك ستون
ساده گروهبندي كرد به نحوي كه در هر گروه ،مقدار آن ستون
يكسان باشد.
منطقاCOID را برحسب مقادير ستونSTCOT جدول:مثال
.گروهبندي كنيد
SELECT COID, AVG(GRADE) AS
AVGGR
FROM STCOT
GROUP BY COID;
امكان HAVING
با اين امكان ميتوان شرط (شرايطي) ناظر به گروه سطرها اع الن
كرد .نقش اين امكان در واقع همان نقش WHEREدر سطر
است .توجه داشته باشيد كه HAVINGهميشه با
GROUP BYميآيد.
مثال :شماره درسهايي را بدهيد كه در ترم دوم 78-79كمتر از 10دانشجو در
آنها ثبت نام كرده باشند.
SELECT STCOT.COID
FROM STCOT
’WHERE TR=‘2
AND
’YRYR=’78-79
GROUP BY COID
HAVING COUNT(*)<10
BETWEEN امكان
:شكل كلي اين امكان چنين است
Scalar-expression [NOT] BETWEEN Scalar-expression AND Scalar-expression
در ترمHIS444 شماره دانشجوياني را بدهيد كه نمره آنها در درس:مثال
. باشد19 و15 بين77-78 اول
SELECT STCOT.STID
FROM STCOT
WHERE TR=‘1’
AND
YRYR=’78’79’
AND
GRADE BETWEEN ’15’ AND ’19’
جلسه دوازدهم
ادامه زبان SQL
آنچه در اين جلسه مي خوانيد:
-1دستورات عمليات ذخيرهسازي (درج ،حذف و
بهنگامسازي)
-2جمعبندي در مورد امكانات نسخه SQL1
-3دستوراتي كه در نسخه SQL2تغيير كردند يا به آن
اضافه شدند
-4امكانات جامعيتي
-5امكانات ايمني
-6امتيازها
آنچه در اين جلسه مي خوانيد:
-7دستوراتي كه در نسخه SQL3تغيير كردند يا به آن
اضافه شدند
-8نوع داده مجرد
-9تعريف رهانا و مزايا و موارد كاربرد آن
-10تراكنش
-11طرحهاي اجراي تراكنشها
-12تكنيكهاي كنترل همروندي
هدفهاي كلي :آشنايي با زبان SQL
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• از دستورات ذخيرهسازي استفاده كند.
• امكانات اضافهشده در نسخه SQL2را بيان كند.
• امكانات اضافهشده در نسخه SQL3را بيان كند.
-2دستورات پردازش داده ها
-2 -2دستورات عمليات ذخيرهسازي :
براي انجام عمليات سهگانه ذخيرهسازي سه دستور ،DELETE
INSERTو UPDATEوجود دارد.
UPDATE دستور
:شكل كلي اين دستور چنين است
UPDATE table-name
SET assignment-commalist
[WHERE Condition(s)]
مثال :تعداد واحد درسهاي عملي را يك واحد كاهش دهيد.
UPDATE COT
SET CREDIT=CREDIT-1
;’WHERE COTYPE=‘p
DELETE دستور
:شكل كلي اين دستور چنين است
DELETE
FROM table-name
[WHERE Cond(s)]
مثال :درسهاي دانشجوي با شماره 78110555را در ترم دوم سال 78-79حذف
كنيد
DELETE
FROM STCOT
’WHERE STID=‘78110555
AND
’TR=‘2
AND
;’YRYR=’78-79
INSERT دستور
:اين دستور دو شكل كلي دارد
INSERT INTO table-name
Values(one row);
INSERT INTO table-name
Subquery;
. تعدادي سطر در جدول درج ميشوند،در شكل دوم
مثال :اطالعات درس ي زير را در جدول درج نمائيد.
><78110888,COM888,2,78-79,12
INSERT INTO STCOT
;>VALUES <‘78110888’, ‘COM888’, 2, 78-79, 12
جمعبندي در مورد امكانات نسخه SQL1
-1نارويهاي است.
-2داراي كمال ساختاري است.
-3زبان استانده سيستمهاي رابطهاي موجود است.
-4تمام انواع دادهاي ساده را دارد.
-5عملگرهاي بسيار قوي دارد.
-6يادگيري آن ساده است.
-7استقالل دادهاي را تامين ميكند.
-8هم به صورت مستقل و هم به صورت ادغامشده قابل استفاده است.
دستوراتي كه در نسخه SQL2تغيير كردند يا به آن
اضافه شدند:
.1دستور تعريف دادهها
.8دستور حذف جدو ل
.2دستور تعريف ميدان
.9تعريف جدول موقت
.3انواع دادهاي
.10دستور بازيابي
.4دستور تغيير ميدان
.11امكانات جامعيتي
.5دستور حذف ميدان
.12امكانات ايمني
.6دستور ايجاد جدول
SQL .13پويا
.7دستور تغيير جدول
امكانات جامعيتي
كاربر ميتواند زمان وارس ي جامعيت پايگاه را (براساس محدوديتها و
قواعد دادهشده) خود مشخص كند .ميتواند درخواست كند كه
اين وارس ي بالفاصله باشد يا با تاخير .براي اين منظور از امكان زير
استفاده ميشود:
)SET CONSTRAINTS (constraint-name
}{DEFERRED | IMMEDIATE
امكانات ايمني
كاربر ميتواند امتياز دستيابي به اشياء تعريفشده در شما را به
منظور انجام عمل مشخص ،به كاربر ديگري بدهد.
براي اعطاي امتياز از دستور GRANTو براي لغو آن از دستور
REVOKEاستفاده ميشود.
امتيازها
امتيازهايي كه يك كاربر ميتواند به يك كاربر ديگر بدهد:
• :USAGEاجازه استفاده از يك ميدان
• :SELECTاجازه دستيابي به تمام ستونهاي يك جدو ل
• ) :INSERT(Xاجازه درج يك مقدار در ستون Xاز يك جدول
• :INSERTاجازه درج تمام ستونهاي يك جدو ل
• ) :UPDATE(Xاجازه بهنگامسازي ستون Xاز يك جدول
• :UPDATEاجازه بهنگامسازي تمام ستونهاي يك جدول
• :DELETEاجازه حذف سطر(ها) از يك جدول
• ) :REFRENCES(Xاجازه ارجاع به ستون Xاز يك جدول در تعريف
محدوديتهاي جامعيتي
دستوراتي كه در نسخه SQL3تغيير كردند يا
به آن اضافه شدند:
.1تعريف نوع داده مجرد
.2تعريف زيرنوع
.3امكان تعريف زيرجدول و زبرجدول
.4امكان ارثبري ستونهاي جدول جديد از ستونهاي جدول نامدار موجود
.5رويهاي شدن زبان
.6رهانا
.7نوشتن رويه
SQL .8ادغامشده
.9واسط درخواست فراخوان
.10دستورات كنترل تراكنشها
نوع داده مجرد
شايد مهمترين قابليتي كه در زمينه انواع دادهاي در
SQL3افزوده شد ،امكان تعريف نوع داده مجرد
( )ADTباشد .با اين نوع داده ميتوان مجموعهاي از
صفات و روالها را تعريف كرد .نوع داده مجرد نمونههايي
دارد و هر نمونه هم به نوبه خود ،همه صفات و روالهاي
تعريفشده را دارد.
ساختهاي زباني افزودهشده به ،SQL3كه در تعريف توابع و رويهها
استفاده ميشود:
• احكام مركب (تودرتو)
• احكام حلقهگرداني)
• احكام شرطي
• احكام انتساب
• احكام اعالن اشتباهات در برنامه
رهانا
تعريف -قاعده (محدوديت) يا قواعدي است كه قبل يا بعد از بروز يك
رويداد در پايگاه دادهها (معموال يك عمل تغييردهنده دادهها) بايد
اعمال شود .اين قاعده در سطح برنامهسازي ،به صورت يك رويه از
پيش تعريفشده است كه به طور شرطي يا غيرشرطي ،قبل يا بعد از
انجام يك عمل در پايگاه دادهها ،به طور اتوماتيك اجرا ميشود.
رهانا
مزايا
.1اجراي آن تحت كنترل متمركز سيستم و نظارت مدير پايگاه
دادهها است.
هر
.2با وجود آن ديگر نيازي نيست كه محدوديتهاي مورد نظر در
برنامه كاربردي اعمال شوند و كنترلهاي الزم انجام شود.
.3براي معماري C/S DBبسيار مناسب است.
كاربرد رهانا
.1اعمال قواعد جامعيت.
.2اعمال قواعد ايمني مبتني بر مقادير
.3درج ركوردهاي ثبت عمليات در فايل ثبت تراكنشها
.4توليد نسخهاي از دادههاي ذخيرهشده در يك سايت ديگر.
.5در انتشار اتوماتيك عمليات در پايگاه دادههاي توزيعشده.
.6در بهنگامسازي ديدها در سيستمهاي رابطهاي
تراكنش
تعريف :به بيان ساده عملي است كه تغييري در پايگاه دادهها ايجاد كند.
اين عمل كه طبعا به صورت يك برنامه يا بخش ي از يك برنامه است ،يا
بايد به تمامي اجرا شود و يا اصال اجرا نشود و ميگوييم كه تراكنش
خاصيت تجزيهناپذيري دارد.
خواص
.1تجزيهناپذيري
.2سازگاري
.3جدايي (انفراد)
.4مانايي (دوام)
طرحهاي اجراي تراكنشها
• طرح اجراي متوالي
• طرح اجراي همروند
تكنيكهاي كنترل همروندي
ي
• تكنيك قفلگذار
• تكنيك زمانمهر
• تكنيك چند نسخهسازي
• تكنيك تاييد (تصديق)
جلسه سيزدهم
ديد در مدل رابطهاي
آنچه در اين جلسه مي خوانيد:
-1ديدهاي رابطهاي
-2ديد در SQL
-3مزايا و معايب ديد
-4عمليات در ديدهاي رابطهاي
-5انواع ديد از نظر پذيرش عمليات ذخيرهسازي
-6انواع ديدهاي پذيرا
-7انواع ديدهاي ناپذيرا
-8ويژگيهاي ديدهاي قابل بهنگامسازي
هدفهاي كلي :آشنايي با ديد در مدل رابطهاي
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• ديد را تعريف كند و دستورات SQLمرتبت با آن را بكار برد.
• مزاياي استفاده از ديد را برشمارد.
• عمليات قابل انجام روي ديد را شرح دهد.
• انواع ديد از لحاظ پذيرا و ناپذيرا را نام ببرد.
ديدهاي رابطهاي
ديد در مدل رابطهاي نوعي رابطه است ،بنابراين
ميتوان آن را به كمك يك عبارت جبر رابطهاي يا
حساب رابطهاي به شكل زير تعريف كرد:
View name= Relational expression
SQL ديد در
دستور ايجاد ديد
CREATE VIEW Viewname [(Column-name(s))]
AS Subquery
.
.
.
[WITH [CASCADE|LOCAL] CHECK OPTION];
مثال
CREATE VIEW MAPHSTUD( STNUM, STLEV, STAREA)
AS SELECT STID, STDEG, STMJR
FROM STT
WHERE STMJR=‘Math’ OR STMJR=‘Phys’
WITH LOCAL CHECK OPTION;
SQL ديد در
دستور حذف ديد
DROP VIEW Viewname {restrict | cascade}
:مثال
DROP VIEW MAPHSTUD CASCADE;
مزاياي ديد
.1تامينكننده محيط انتزاعي براي كاربران سطح خارجي
.2تامينكننده پويايي باال در تعريف پايگاه توسط كاربر
.3تسهيلكننده واسط كاربر برنامهساز با پايگاه
.4امكاني است براي كوتاهنويس ي يا ماكرونويس ي پرسشها
.5تامينكننده اشتراك دادهاي
.6تامينكننده نوعي مكانيسم خودكار ايمني دادهها
.7تامينكننده استقالل دادهاي فيزيكي و منطقي
.8امكان تعريف شيئ با اندازههاي مختلف
معايب ديد
.1ايجاد فزونكاري در سيستم براي انجام تبديل
خارجي/ادراكي و احيانا خارجي/خارجي
.2عدم امكان انجام عمليات ذخيرهسازي در بسياري از
گونههاي ديد و در نتيجه ايجاد محدوديت براي كاربر
عمليات در ديدهاي رابطهاي
بازيابي از ديد رابطهاي
چون ديد خود نوعي رابطه است ،پس براي بازيابي از
ديد هم يك عبارت جبري يا حسابي مينويسيم
SQL مثال بازيابي از يك ديد با استفاده از دستورات
CREATE VIEW V1
AS SELECT STID, STDEG
FROM STT
WHERE STPROG=‘Math’
SELECT STID
FROM
V1
WHERE STDEG=‘bs’;
عمليات در ديدهاي رابطهاي
عمليات ذخيرهسازي در ديدهاي رابطهاي
براي انجام عمليات ذخيرهسازي در ديد از همان دستورات سهگانه
UPDATE ،INSERTو DELETEاستفاده ميشود.
ديدها از نظر پذيرش عمليات ذخيرهسازي
.1ديدهاي پذيرا
.2ديدهاي ناپذيرا
.1ديدهاي گزينش ي
.2ديد گزينش – پرتوي داراي كليد رابطه مبنا
ديدهاي پذيرا
.3ديد پيوندي CK-CK
.4ديد پيوندي CK-FK
.5ديد حاصل اجتماع ،اشتراك و تفاضل دو رابطه
ديد گزينش ي حاصل عملگر گزينش در يك
رابطه است.
در ديد ”گزينش-پرتوي داراي كليد رابطه مبنا“ عالوه
بر گزينش تاپلهايي از رابطه مبنا ،عملگر پرتو نيز
اعمال شده است .اين نوع ديد را اصطالحا ديد
داراي كليد با تاپلهاي ناقص ميگوئيم.
ديد پيوندي ،CK-CKحاصل پيوند دو رابطه
روي كليد كانديد مشترك آنها است و در عمليات
ذخيرهسازي مشكلي ندارد
ديد پيوندي ،CK-FKحاصل پيوند روي كليد كانديد يك
رابطه و كليد خارجي رابطه ديگر است .اين ديد در حذف
مشكل دارد ،زيرا با حذف يك تاپل از اين ديد ،در هريك از
دو رابطه مبنا ،يك تاپل حذف ميشود و چنانچه كاربر
بخواهد محتواي ديد خود را نمايش دهد ،تاپلهاي ديگر هم
از ديد او حذف ميشوند كه درخواست نكرده است.
ديد حاصل اجتماع ،اشتراك و تفاضل دو رابطه در
عمليات ذخيرهسازي مشكلي ندارد ،به شرط آنكه
سيستم بتواند تشخيص دهد كه عمل
درخواستشده ،در كداميك از دو رابطه مبنا انجام
شود.
مشكالت مهمتر ديدهاي پذيرا
• بروز عارضه جانبي در خود ديد
• بروز عارضه جانبي در ديدهاي ديگر
• نقض قاعده جامعيت
• بروز فزونكاري در سيستم
• تغيير ماهيت عمل درخواست شده
ي
• تعدد تبديالت و مشكل تصميمگير
.1ديد پرتوي يا گزينش ي فاقد كليد رابطه مبنا
ديدهاي
ناپذيرا
.2ديد پيوندي NK-NK
.3ديد پيوندي FK-FK
.4ديد حاوي صفت مجازي
.5ديد حاصل تقسيم
ويژگيهاي ديدهاي قابل بهنگامسازي
.1عبارت تعريفكننده محدوده ديد ،يك عبارت معتبر SELECTباشد.
.2در كالز ،FROMعبارت ،SELECTفقط يك جدول وجود داشته باشد.
.3جدول قيدشده در كالز ،FROMيك جدول مبنا يا يك ديد قابل بهنگامسازي باشد.
.4در item-listعبارت ،SELECTستونهاي مورد نظر بايد در جدول مبنا متناظر باشد.
.5در عبارت SELECTنبايد كالز GROUP BYو HAVINGو گزينه DISTINCTوجود
داشته باشد.
.6در كالز WHEREعبارت SELECTنبايد عبارتي حاوي كالز FROMباشد ،به گونهاي كه
در آن به همان جدولي ارجاع داده شده باشد كه در كالز FROMقبلي به آن ارجاع شده
است.
جلسه چهاردهم
طراحي پايگاه دادههاي رابطهاي
آنچه در اين جلسه مي خوانيد:
-1مراحل طراحي پايگاه دادهها
-2نمودار مراحل اساس ي طراحي پايگاه دادهها
-3روشهاي طراحي منطقي پايگاه دادهها
-4روش طراحي باال به پايين
-5روش سنتز رابطهاي
-6روش تركيبي
-7خصوصيات طراحي خوب
-8چهارده روش تبديل نمودار ERبه رابطهها
هدفهاي كلي :آشنايي با طراحي پايگاه دادههاي رابطهاي
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• مراحل طراحي پايگاه دادهها را بيان كند.
• روشهاي طراحي منطقي پايگاه را شرح دهد.
• روشهاي تبديل نمودار ERبه رابطه را نام برده و توضيح دهد.
• خصوصيات يك طراحي خوب را بيان كند.
طراحي پايگاه دادههاي رابطهاي (روش باال به پايين)
مراحل طراحي پايگاه دادهها
.1مطالعه و شناخت خرد جهان واقع
.2انجام عمليات مهندس ي نيازها
.3مدلسازي معنايي دادهها
.4طراحي منطقي پايگاه دادهها
.5طراحي فيزيكي پايگاه دادهها
.6انجام تحليل عملكردي :تعيين تراكنشها
ي
.7طراحي برنامههاي كاربردي و واسطهاي كاربر
مراحل اساس ي طراحي پايگاه دادهها
خرد جهان ولقع
تشخيص نيازها و تحليل آنها
نيازهاي عملياتي
نيازهاي پايگاهي
مدلسازي معنايي دادهها
نمودار ER
تحليل عملكردي
مشخص كردن تراكنشها در سطح باال
ناوابسته به DBMS
طراحي منطقي
شماي ادراكي (منطقي) و شماي خارجي
طراحي برنامههاي كاربردي
ي
و واسطهاي كاربر
طراحي فيزيكي
شماي داخلي
پيادهسازي تراكنشها
برنامههاي كاربردي
وابسته به DBMS
روشهاي طراحي منطقي پايگاه دادهها
.1روش باال به پايين
.2روش سنتز رابطهاي
.3روش تركيبي
روش طراحي باال به پايين
در اين روش ابتدا مدلسازي معنايي دادهها انجام
ميشود .سپس مدلسازي را به مجموعهاي از
رابطهها تبديل ميكنيم .حاصل اين فرايند ،معموال
مجموعهاي از رابطههاي خوشطرح است
روش سنتز رابطهاي
در اين روش مجموعه صفات خردجهان واقع را مشخص ميكنيم.
سپس با تحليل قواعد و محدوديتهاي ناظر به صفات و تشخيص
وابستگيهاي بين آنها ،صفات را متناسبا باهم سنتز ميكنيم .هر گروه
از صفات عنوان يك رابطه را به ما ميدهد به گونهاي كه
حتياالمكان در مطلوبترين صورت نرمال باشد .هر رابطه بدستآمده
نمايشگر بخش ي از خردجهان واقع بوده ،ضوابط يك طرح خوب و
قابل دفاع را خواهد داشت.
روش تركيبي
در اين روش ،ابتدا طراحي را با روش باال به پايين انجام
ميدهيم و سپس با دخالت دادن برخي محدوديتهاي
جامعيتي كه در مرحله مدلسازي معنايي دادهها منظور
نشدهاند و با تحليل هر رابطه ،مرحله نرمالترسازي
رابطهها را انجام ميدهيم تا به مجموعهاي از نرمالترين
رابطهها برسيم.
خصوصيات طراحي خوب
-1نمايش واضحي از خردجهان واقع باشد.
-2نمايش صحيحي از خردجهان واقع باشد.
-3نمايش جامعي از خردجهان واقع باشد.
-4تمام قواعد جامعيتي كه قابل اعمال در هر مرحله از طراحي منطقي
باشند ،در طراحي منظور شده باشند.
-5معناي هريك از صفات از هر نوع موجوديت به درستي رعايت شده
باشد.
-6كمترين ميزان افزونگي را داشته باشد.
ادامه
خصوصيات طراحي خوب
-7كمترين ميزان اختالط اطالعات را داشته باشد.
-8انعطافپذيري داشته باشد.
ي
-9كمترين دشواري در انجام عمليات ذخيرهساز
-10كمترين ميزان هيچمقدار
-11هيچ اطالع جعلي در اثر انجام عمليات در پايگاه دادهها پديد نيايد.
-12با درنظر گرفتن طراحي فيزيكي و تاثير آن در طراحي منطقي ،بيشترين
كارايي براي سيستم كاربردي پايگاه دادهها تامين شود.
روش تبديل نمودار ERبه رابطهها
حالت اول
• تعداد نوع موجوديتn>=2 :
• وضع موجوديتها :مستقل
• چندي ارتباطN:M :
در اين حالت n+1 ،رابطه الزم است n .رابطه براي nموجوديت مستقل و يك
رابطه براي نمايش ارتباط بين آنها .اگر ارتباط بين انواع موجوديتها ،صفت ساده
يا مركب چندمقداري نداشته باشد ،در اين صورت كليد كانديد رابطه نمايشگر
ارتباط بين nموجوديت ،از تركيب كليدهاي كانديد nرابطه نمايشگر n
موجوديت به دست ميآيد .سپس كليدهاي خارجي ،اجزاء تشكيلدهنده كليد
كانديد رابطه نمايشگر ارتباط هستند.
روش تبديل نمودار ERبه رابطهها
حالت دوم
• تعداد نوع موجوديت :دو
• وضع موجوديتها :مستقل
• چندي ارتباط1:N :
در اين حالت ،دو رابطه كفايت ميكند :يك رابطه براي نمايش نوع موج وديت
طرف يك ،يك رابطه براي نمايش نوع موجوديت طرف Nو نيز ارتباط .1:N
در رابطه اخير ،كليد كانديد رابطه اول ،به عنوان كليد خارجي رابطه دوم،
ارتباط مورد نظر را نشان ميدهد و جزء تشكيلدهنده كليد كانديد رابطه
نيست.
روش تبديل نمودار ERبه رابطهها
حالت سوم
• تعداد نوع موجوديت :دو
• وضع موجوديتها :مستقل
• چندي ارتباط1:1 :
در اين حالت ،دو رابطه الزم است :يك رابطه براي نمايش يكي از دو
نوع موجوديت و رابطهاي ديگر براي نمايش نوع موجوديت ديگر و
ارتباط بين دو نوع موجوديت.
روش تبديل نمودار ERبه رابطهها
حالت چهارم
• تعداد نوع موجوديت :يك
• وضع موجوديتها :مستقل
• چندي ارتباطN:M :
در اين حالت ،ارتباط با خود داريم .دو رابطه الزم است :يك رابطه
براي نمايش خود نوع موجوديت و ديگري براي نمايش ارتباط ،اعم
از اينكه مشاركت الزامي باشد يا نباشد.
روش تبديل نمودار ERبه رابطهها
حالت پنجم
• تعداد نوع موجوديت :يك
• وضع موجوديتها :مستقل
• چندي ارتباط1:N :
در اين حالت ،هم ”ارتباط با خود“ داريم و يك رابطه كفايت ميكند.
روش تبديل نمودار ERبه رابطهها
حالت ششم
• تعداد نوع موجوديت :يك
• وضع موجوديتها :مستقل
• چندي ارتباط1:1 :
در اين حالت يك رابطه كفايت ميكند ،به شرط آنكه مشاركت در
ارتباط الزامي باشد .البته ميتوان با دو رابطه هم طراحي كرد.
روش تبديل نمودار ERبه رابطهها
حالت هفتم
نمايش موجوديت ضعيف
موجوديت ضعيف داراي شناسه يكتا نيست ،بلكه صفت مميزه دارد.
براي نمايش اين نوع موجوديت در طراحي پايگاه رابطهاي ،يك رابطه
طراحي ميكنيم كه در عنوان آن ،صفات موجوديت ضعيف و كليد
كانديد موجوديت قوي كه با آن ارتباط دارد (موجوديت شناسا) ،وجود
دارند.
روش تبديل نمودار ERبه رابطهها
حالت هشتم
ي
وجود صفت چندمقدار
اگر ،MVAيك صفت (ساده يا مركب) چندمقداري EID ،شناسه موجوديت E
...و A2 A1
ساير صفات ت iكAمقداري موجوديت Eباشند ،در اين صورت
و ،
براي نمايش اين نوع موجوديت ،دو رابطه الزم است:
EID
) , A1 , A2 ,..., Ai
C.K .
EID, MVA
)
C .K .
( R1
( R2
روش تبديل نمودار ERبه رابطهها
حالت نهم
ارتباط IS-Aيا ”گونهاي است از “...
در اين حالت يك روش اين است كه موجوديت سطح باالتر با يك
رابطه نشان داده ميشود و هر نوع موجوديت سطح پايينتر با
صفات خاص خودش همراه با شناسه اصلي موجوديت سطح
باالتر ،در رابطه ديگري نمايش داده ميشود.
روش تبديل نمودار ERبه رابطهها
حالت دهم
وجود دسته (طبقه) در ارتباط IS-A
در اين ارتباط وقتي زيرنوع دسته (طبقه) داريم و صفات شناسه زبرنوعها،
متفاوت باشند ،يك طرز طراحي اين است كه اين زيرنوع را با يك رابطه
نشان دهيم .كليد اين رابطه ،يك كليد جايگزين (شناسه ساختگي) است و
بعالوه يك صفت ديگر در آن درنظر ميگيريم نشاندهنده نوع آن ( از نوع
كدام زبرنوع است) .هر زبرنوع را هم با يك رابطه نشان ميدهيم و صفت
كليد زيرنوع را به هريك از رابطههاي نشاندهنده زبرنوعها اضافه ميكنيم.
روش تبديل نمودار ERبه رابطهها
حالت يازدهم
ارتباط IS – A PART – OFيا ”جزئي است از “...
در اين حالت ،براي موجوديت كل (شامل) يك رابطه و براي هريك از
موجوديتهاي جزء (مشمول) نيز يك رابطه طراحي ميشود .در رابطه
نشاندهنده موجوديت جزء ،كليد كانديد رابطه نشاندهنده
موجوديت كل ،آورده ميشود و بقيه صفات اين رابطه ،خاص خود
موجوديت جزء هستند.
روش تبديل نمودار ERبه رابطهها
حالت دوازدهم
بيش از يك ارتباط بين دو نوع موجوديت
فرض ميكنيم هر دو نوع موجوديت مستقل هستند .تعداد رابطهها،
بستگي به چندي هر ارتباط دارد .به صورت زير عمل ميكنيم:
• هر ارتباط با چندي N:Mبا يك رابطه نمايش داده ميشود.
•نوع موجوديت سوي Nو همه ارتباطهاي با چندي ،1:Nاگر
مشاركت دو نوع موجوديت در همه ارتباطها الزامي باشد ،را ميتوان
با يك رابطه نمايش داد.
ادامه
روش تبديل نمودار ERبه رابطهها
حالت دوازدهم
بيش از يك ارتباط بين دو نوع موجوديت
• اگر مشاركت دو نوع موجوديت در يك ارتباط ،1:Nالزامي نباشد ،بهتر است براي
چنين ارتباطي يك رابطه جداگانه طراحي شود كه صفات آن ،شناسه دو نوع
موجوديت و در صورت وجود ،صفات خود ارتباط هستند.
• در صورت وجود بيش از يك ارتباط 1:1و الزامي بودن مشاركتها ،هر دو نوع
موجوديت و همه اين ارتباطها را ميتوان با يك رابطه نمايش داد.
• اگر مشاركت در يك ارتباط 1:1الزامي نباشد ،بهتر است اين ارتباط را با يك
رابطه جداگانه نمايش داد.
روش تبديل نمودار ERبه رابطهها
حالت سيزدهم
ارتباط سلسلهمراتبي (پدر -فرزندي)
در تبديل اين نوع ارتباط بين موجوديتها به طراحي رابطهاي يك روش
چنين است:
-1براي نوع موجوديت ريشه ،يك رابطه در نظر ميگيريم.
-2كليد كانديد اين رابطه همان شناسه ريشه است.
-3براي هر نوع موجوديت فرزند يك رابطه در نظر ميگيريم و كليد
كانديد هر نوع موجوديت فرزند ،تركيب شناسه آن نوع موجوديت با
كليد كانديد نوع موجوديت پدرش است.
روش تبديل نمودار ERبه رابطهها
حالت چهاردهم
تجمع (ارتباط با ارتباط)
در اين حالت ،ابتدا نمودار ERجزئي درون مستطيل نشاندهنده
نوع موجوديت حاصل از عمل تجميع را به رابطههاي الزم تبديل
ميكنيم .سپس با توجه به چندي ارتباط بين نوع موجوديت مرتبط
با ارتباط و چگونگي مشاركت در ارتباط با ارتباط ،طراحي را كامل
ميكنيم.
جلسه پانزدهم
نرمالترسازي رابطهها
آنچه در اين جلسه مي خوانيد:
-1آنومالي در عمليات ذخيرهسازي
-2صورتهاي نرمال
-3وابستگي تابعي
-4وابستگي تابعي نامهم (بديهي)
-5قواعد استنتاج آرمسترانگ
-6مجموعه كاهشناپذير وابستگيهاي تابعي
-7وابستگي تابعي تام (كامل)
-8رابطه 1NF
-9رابطه 2NF
آنچه در اين جلسه مي خوانيد:
-10رابطه 3NF
-11صورت نرمال بايس-كاد
-12وابستگي تابعي چندمقداري
-13رابطه 4NF
-14وابستگي تابعي چندمقداري ادغامشده
-15رابطه 5NF
-16مزايا و معايب نرمالترسازي
-17انواع افزونگي در پايگاه دادهها
هدفهاي كلي :آشنايي با نرمالترسازي رابطهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• صورتهاي مختلف نرمالسازي را نام برده و هريك را توصيف كند.
• مزايا و معايب روش نرمالترسازي را شرح دهد.
طراحي پايگاه دادههاي رابطهاي
روش سنتز :نرمالترسازي رابطهها
يك رابطه ،هرچند نرمال ،بازهم ممكن است در
ي)
عمليات ذخيرهسازي (درج ،حذف و بهنگامساز
مشكالتي داشته باشد.
آنومالي در عمليات ذخيرهسازي به هريك از سه وضع زير گفته
ميشود:
• عدم امكان انجام يك عمل (كه منطقا بايد قابل انجام باشد)
• بروز پيامد بد پس از انجام يك عمل
• بروز فزونكاري در سيستم در انجام يك عمل
صورتهاي نرمال
• صورت نخست نرمال ()1NF
• صورت دوم نرمال ()2NF
• صورت سوم نرمال ()3NF
• صورت نرمال بايس-كاد ()BCNF
• صورت چهارم نرمال ()4NF
• صورت پنجم نرمال ()5NF
• صورت نرمال ميدان-كليدي ()DKNF
• صورت نرمال تحديد-اجتماع ()RUNF
وابستگي تابعي
تعريف -فرض كنيد كه Rيك متغير رابطهاي و Aو Bدو زيرمجموعه دلخواه از
عنوان Rباشند .ميگوييم Bبا Aوابستگي تابعي دارد و چنين نمايش ميدهيم:
B
ميدانAممكن از متغير رابطهاي ،Rبه هر مقدار Aفقط يك
اگر و فقط اگر در هر
مقدار Bمتناظر باشد.
وابستگي تابعي نامهم (بديهي)
اگر در (… R)A,B,C,داشته باشيمB، A :در اين صورت:
يك وابستگي B
تابعي Aنامهم است .به بيان ديگر اگر Bزيرمجموعهاي
A
يك وابستگي نامهم B
است.
از Aباشد ،در اين صورت
قواعد استنتاج آرمسترانگ
فرض C ،B ،A :و Dزيرمجموعههايي از صفات رابطه Rباشند .قواعد زير برقرارند:
.1قاعده انعكاس :اگر B A
آنگاه:
BC
AC
BوA
آنگاه
.2قاعده تعدي(تراگذري) :اگر
) ( A, C ) ( B, C
آنگاه
.3قاعده افزايش :اگر A B
BC
A
Cو
.4قاعده تجزيه :اگر ) A (B, Cآنگاه
) A ( B, C
.5قاعده اجتماع :اگر A Cو B Cآنگاه
)( A, C ) ( B, D
A Bآنگاه
.6قاعده تركيب :اگر C Dو
A B
( A, C ) D
آنگاه
.7قاعده شبه تعدي :اگر (C, B) Dو
A B
.8قاعده يگانگي عمومي :اگر
DوC
A B
آنگاه
)A (C B) ( B, D
مجموعه كاهشناپذير وابستگيهاي تابعي
مجموعهاي از وابستگيهاي تابعي ،Rبه نام Fرا كاهشناپذير گوييم
اگر:
.1در Fوابستگي تابعي افزونه نباشد.
.2در سمت راست هر FDاز Fصفت ساده وجود داشته باشد.
.3هيچ صفتي در سمت چپ FDهاي Fافزونه نباشد.
وابستگي تابعي تام (كامل)
اگر Xو Yدو زيرمجموعه از مجموعه عنوان رابطه Rباشند ،ميگوييم Yبا
X Y
Xوابستگي تابعي تام دارد و چنين نشان ميدهيم:
اگر و فقط اگر Yبا Xوابستگي داشته باشد .ولي با هيچ زيرمجموعهاي از X
وابستگي تابعي نداشته باشد.
رابطه 1NF
تعريف -رابطهاي 1NFاست اگر هر صفت خاصه آن در
هر تاپل ،تكمقداري باشد ،به بيان ديگر ،صفت
چندمقداري نداشته باشد.
رابطه 2NF
تعريف -رابطهاي 2NFاست اگر اوال 1NFباشد و ثانيا
تمام صفات غيركليد با كليد اصلي وابستگي تابعي تام داشته
باشند .به عبارت ديگر هر صفت غيركليد با كليد اصلي بطور
كاهشناپذير وابسته باشد.
رابطه 3NF
تعريف -رابطهاي 3NFاست اگر 2NFباشد و هر صفت
غيركليد با كليد اصلي ،وابستگي تابعي بيواسطه داشته
باشد.
صورت نرمال بايس-كاد
تعريف او ل :رابطهاي BCNFاست اگر در آن هر
دترمينان ،كليد كانديد باشد .اين تعريف سادهشده و غير
صوري است.
صورت نرمال بايس-كاد
تعريف دوم :رابطه ) ،R(Hبا مجموعه وابستگيهاي تابعي ،Fدر BCNF
به صورت F كه در آن A B
است اگر براي هر وابستگي تابعي در
حداقلR(H
)
) A R(H
يكياز Bدو حالت زير برقرار باشد:
است،
و
يك وابستگي نامهم باشد يعني
:a
A B A :b
B A
سوپركليد رابطه Rباشد.
صورت نرمال بايس-كاد
تعريف سوم :رابطه Rدر BCNFاست هرگاه يك وابستگي
تابعي به صورت A Bدر مجموعه FDهاي Rوجود داشته
باشد A ،سوپركليد Rباشد.
صورت نرمال بايس-كاد
تعريف چهارم :رابطهاي BCNFاست اگر و فقط اگر
سمت چپ هر FDمهم (مطرح) و كاهشناپذير ،كليد كانديد
رابطه باشد.
وابستگي تابعي چندمقداري
تعريف اول -در رابطه ) R(X,Y,Zبا صفات ساده يا مركب Y ،Xو
Zميگوييم كه Yبا Xوابستگي تابعي چندمقداري دارد و چنين
نمايش ميدهيم:
X Y
اگر به يك مقدار ،Xمجموعهاي از مقادير Yمتناظر باشند.
وابستگي تابعي چندمقداري
تعريف دوم -در رابطه ،Rصفت Yبا Xوابستگي تابعي
چندمقداري دارد اگر و فقط اگر مجموعه مقادير Yمتناظر با يك
مقدار از جفت ) (X,Zدر Rفقط به مقدار Xبستگي داشته
باشد و وابسته به مقدار Zنباشد.
رابطه 4NF
تعريف -رابطهاي 4NFاست اگر BCNFباشد و در آن
وابستگي تابعي چند مقداري مهم وجود نداشته باشد.
وابستگي تابعي چندمقداري ادغامشده
در رابطه (… ،R)X,Y,Z,U,V,پديده وابستگي تابعي
چندمقداري ادغام شده وجود دارد اگر در پرتوي از اين رابطه،
پديده وابستگي تابعي چندمقداري وجود داشته باشد .توجه
مركب)
داشته باشيد كه اين پرتو بايد روي سه صفت (ساده يا
باشد.
رابطه 5NF
تعريف -رابطهاي 5NFاست اگر تمام وابستگيهاي پيوندي آن
ناش ي از كليدهاي كانديد آن باشد .در نتيجه:
اگر بتوانيم يك وابستگي پيوندي در رابطه Rپيدا كنيم كه در همه
پرتوهايش كليد كانديد Rوجود نداشته باشد ،رابطه 5NF
نيست.
مزاياي نرمالترسازي
• ارائه يك طراحي بهتر و واضحتر با كمترين اختالط اطالعات
• كاهش بعض ي انواع افزونگي
• كاهش بعض ي آنوماليها
• تسهيل اعمال بعض ي قواعد جامعيت
انواع افزونگي در پايگاه دادهها:
.1افزونگي طبيعي
هرصفت
.2افزونگي تكنيكي ناش ي از وجود كليد خارجي يا
مشترك ديگر در دو يا بيش از دو رابطه
.3افزونگي ناش ي از وابستگي بين صفات
معايب روش نرمالترسازي
-1بروز فزونكاري در سيستم در عمل بازيابي
-2ايجاد نوعي افزونگي از نوع افزونگي در سطح ادراكي
-3زمانگير بودن فرآيند نرمالترسازي به ويژه اگر محيط عملياتي بزرگ
و تعداد رابطهها زياد باشد.
-4تصميمگيري دشوار در اثر تعدد تجزيهها
-5ممكن وابستگي بين مجموعه صفات يك خردجهان ،وابستگيهاي به
جز وابستگي تابعي و پيوندي باشد و بنابراين سبب مطرح شدن قواعد
جامعيت ديگر و نيز ضوابط ديگري براي تجزيه رابطهها شود و . . .
جلسه شانزدهم
طراحي فيزيكي پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-1تحليل عوامل
-2تحليل پرسشها
-3تحليل تراكنشها
-4تصميمات در طراحي فيزيكي
-5اهداف تنظيم پايگاه دادهها
-6اطالعات الزم در تنظيم پايگاه دادهها
آنچه در اين جلسه مي خوانيد:
-7مسائل مطرح در تنظيم
-8نكات قابل توجه در بازبيني طراحي منطقي پايگاه دادهها
پس از عملياتي شدن آن
-9كارهاي الزم براي اصالح شاخصهاي ايجادشده در مرحله
تنظيم پايگاه دادهها
هدفهاي كلي :آشنايي با طراحي فيزيكي پايگاه دادهها
هدفهاي رفتاري :دانشجو در پايان اين جلسه ميتواند:
• عواملي كه در طراحي فيزيكي پايگاه دادهها موثر هستند را بيان كند.
• پرسشهايي را كه در تحليل پرسشها و تراكنش مطرح ميشوند ،بشناسد.
• اطالعات الزم در تنظيم پايگاه دادهها را بيان كند.
طراحي فيزيكي پايگاه دادهها
طراحي فيزيكي به عواملي از جمله حجم و ماهيت دادهها،
تعداد كاربران و از آنجا تعداد و ماهيت تراكنشها و نهايتا
تعداد و ماهيت برنامههاي كاربردي و فركانس اجراي هر
برنامه بستگي دارد.
تحليل عوامل
تحليل پرسشها
در اين تحليل بايد به پرسشهاي زير پاسخ داده ش ود:
• چه رابطههايي در پرسش دخيل هستند
• نوع رابطهها چيست
• صفات موجود در مسند گزينش
• صفات موجود در مسند پيوند
• صفات مورد نظر در پرسش
• فركانس اجراي هر پرسش
• اسلوب اجراي پرسش :اندركنش ي يا كامپايلشده
تحليل عوامل
تحليل تراكنشها
در اين تحليل بايد به پرسشهاي زير پاسخ داده شود:
• رابطههاي دخيل در تراكنش و نوع هر رابطه
• نوع هر عمل در تراكنش
• صفات موجود در مسند گزينش
• صفاتي كه مقدارشان تغيير ميكند
تصميمات در طراحي فيزيكي
• روي چه فايلهايي شاخص ايجاد شود يا تابع درهمساز اعمال شود.
• روي چه صفاتي از فايل ،شاخص ايجاد شود.
• شاخص ساده باشد يا مركب.
• شاخص خوشهساز باشد يا نباشد.
اهداف تنظيم پايگاه دادهها
• تسريع اجراي برنامههاي كاربردي
• كاهش زمان پاسخدهي پرسشها
• بهبود توان عملياتي سيستم مديريت پايگاه دادهها
• اجتناب از خريد سختافزار بيشتر
• كاهش اندازه پيكربندي سختافزاري
• رضايت بيشتر كاربران سيستم
اطالعات الزم در تنظيم پايگاه دادهها
• اطالعات در مورد خود DBMS
• اطالعات اوليه مورد استفاده در طراحي منطقي و فيزيكي پايگاه
• آمار جمعآوريشده توسط DBMSو DBAدر مورد رفتار سيستم مانند:
• كارديناليتي هر رابطه
• تعداد مقادير متمايز براي هرصفت و درصد هيچمقدار براي هر صفت
• فركانس عرضه هر پرسش به سيستم و فركانس اجراي آن
• فركانس اجراي هر تراكنش
• اندازه صفحات
• زمان اجراي پرسشها و تراكنشها
• ...
مسائل مطرح در تنظيم
• چگونگي اجتناب از بروز تنگنا در قفلگذاري روي دادهها به منظور
افزايش همروندي اجراي تراكنشها
• چگونگي كاهش سربار ناش ي از ايجاد فايلهاي ثبت تراكنشها
• چگونگي بهينهسازي اندازه بافرها
• چگونگي بهينهسازي زمانبندي اجراي تراكنشها
• چگونگي بهينهسازي تخصيص منابع
در بازبيني طراحي منطقي پايگاه دادهها پس از عملياتي
شدن آن ،بايد به نكات زير توجه شود:
• آيا رابطههايي بايد تجزيه شوند؟
• آيا سطح نرماليتي رابطههايي بايد كاهش يابد؟
• آيا مجموعه ديگري از رابطهها ،با همان سطح نرماليتي ،بايد طراحي شوند؟
• آيا صفاتي با پذيرش ميزاني از افزونگي ،بايد در رابطههايي تكرار شوند؟
• آيا در طراحي ديدهاي خارجي بايد تغييراتي داده شود؟
كارهاي الزم براي اصالح شاخصهاي ايجادشده در
مرحله تنظيم پايگاه دادهها
• ايجاد شاخصهاي جديد
• حذف برخي از شاخصها
• كاهش تعداد شاخصها روي صفاتي كه مقاديرشان مرتب تغيير ميكنند.
• اصالح شاخصهايي كه در كنترل همروندي تراكنشها تاثير دارند
• بازسازي شاخصها ميتواند در كارايي سيستم تاثير مثبت داشته باشد
• در بعض ي از RDBMSها بهينهساز ،اگر در پرسش ،عبارت
محاسباتي ،مقايسه يا هيچ مقدار و محاسبه تفاوت مقادير وجود داشته
باشد ،از شاخص استفاده نميكند.