Professional Documents
Culture Documents
جزوه پایگاه داده
جزوه پایگاه داده
جزوه پایگاه داده
نام منبع:
مفاهيم بنيادي پايگاه دادهها
مولف :سيد محمد تقي روحاني رانكوهي
تهيهكننده:
دكـتر احمد فراهي
فهرست جلسات
در اين درس به بخشي از مفاهيم مبنايــي دانش و تكنولوژي پايگاه دادهها و اصول مدلسازي و طراحي
ٓ ٓ
ان پرداخته ميشود .پايگاه داده و عناصر اصلي محيط ان معرفي ميشود .با مدلسازي معنايــي دادهها و
ٓ
محيط انتزاعي اشنا ميشويم .سطوح معماريهاي پايگاه دادهها بيان ميشود .سيستم مديريت پايگاه
ٓ
دادهها ) (DBMSو اجزاء ان شرح داده ميشود .به انواع معماريهاي سيستم پايگاهي و مفاهيم
اساسي مدل رابطهاي پرداخته ميشود .با زبان SQLبه عنوان يك زبان رابطهاي و همچنين با
ٓ
ديدهاي رابطهاي اشنا ميشويم و در نهايت طراحي پايگاه دادهها به روش باال به پايين ،سنتز و طراحي
فيزيكي را خواهيم ديد.
جلسه اول
مفاهيم پايگاه دادهها
ٓ
انچه در اين جلسه مي خوانيد:
ادامه
ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها
ٓ
هر نمايشي اعم از كاراكـتري يا كميتهاي قياسي كه معنايــي به ان
قابل انتساب باشد.
تعريف اطالع
مجموعهاي است از دادههاي ذخيره شده و پايا ،به صورت مجتمع)يكپارچه( )نه لزوما
فيزيكي ،بلكه حداقل به طور منطقي( ،بهم مرتبط ،با كمترين افزونگي ،تحت
مديريت يك سيستم كنترل متمركز ،مورد استفاده يك يا چند كاربر از يك يا بيش از
يك “سيستم كاربردي” ،به طور همزمان و اشتراكي
براي ايجاد يك سيستم كاربردي دو رهيافت
وجود دارد:
OS
U برنامهھاي ايجاد، محيط
U1 F كنترل و FS ذخيرهسازي اطالعات
I پردازش فايلھا FILES
يا خاص اداره
DMS ثبت نامU1 :
اداره امور فارغ التحصيالن
OS محيط
U برنامهھاي ايجاد، ذخيرهسازي اطالعات
U2 F كنترل و FS خاص اداره
I پردازش فايلھا يا FILES
DMS
فارغالتحصيالنU2 :
اداره امور رفاھي دانشجويان
OS
U برنامهھاي ايجاد، محيط
FS
U3 F كنترل و ذخيرهسازي اطالعات
I پردازش فايلھا يا FILES
DMS خاص اداره
امور رفاھيU3 :
-اجراي مراحل كالسيك اوليه الزم براي طراحي و توليد يك سيستم كاربردي
ٓ
-تعيين مشخصات هر سيستم و وظايف ان
-طراحي تعدادي فايل
-نوشتن مجموعهاي از برنامههاي ايجاد ،كنترل و پردازش فايل
ادامه
مراحل كلي كار در مشي فايلينگ
-1عدم وجود محيط مجتمع ذخيرهسازي اطالعات و عدم وجود سيستم يكپارچه
-3افزونگي
ادامه
معايب مشي فايلينگ
برنامهساز
نابرنامهساز تيم بھرهبردار نمايش سادهشده مشي پايگاھي
تيم پيادهساز
D
B
پايگاه دادهھا
U تعريف دادهھا و F
F برنامهھاي عمليات در M S
I دادهھا )(AP2 S فايلھاي ذخيرهشده
بھم مرتبط
)(FILES
محيط فرافايلي
مراحل كلي كار در مشي پايگاهي
ادامه
مراحل كلي كار در مشي پايگاهي
سيستم عامل
يكجا
سيستم
پايگاه
مديريت
دادهھا
پايگاه
دادهھاي
دادهھا ذخيرهشده:
مجموعهاي
پيوسته از فايلھا
)برخط(
سختافزار
ذخيرهسازي
انواع سختافزارهاي محيط پايگاه داده
-2سختافزار پردازشگر
-3رويههاي ذخيرهشده
-4نرمافزار شبكه
جلسه دوم
مدلسازي معنايــي دادهها
ٓ
انچه در اين جلسه مي خوانيد:
نوع موجوديت
ارتباط صفت
تعريف موجوديت
ٓ
مفهوم كلي شيئ ،چيز ،پديده و به طور كلي هر انچه كه
ميخواهيم در موردش اطالع داشته باشيم و شناخت خود را در
موردش افزايش دهيم.
سه ضابطه در رابطه با تشخيص يك نوع موجوديت
تكمقداري يا چندمقداري
هيچمقدارپذير يا ناپذير
ذخيرهشده يا مشتق
مقدار صفت ساده از لحاظ معنايــي تجزيهنشدني يا اتوميك
است.
است.
صفت مركب از چند صفت ساده تشكيل شده است.
صفت تكمقداري ،صفتي است كه براي يك نمونه از يك نوع
موجوديت حداكـثر يك مقدار از دامنه مقادير را ميگيرد
نوع ارتباط
مشاركت الزامي
صفت
صفت چندمقداري
نمادهاي رسم نمودار ER
صفت مركب
صفت مشتق
سال آموزشي
يك به يك 1:1
N
M
دانشجو انتخاب درس
N 1
حذف
جلسه سوم
محدوديتهاي روش ER
ٓ
انچه در اين جلسه مي خوانيد:
-1دام حلقهاي
اين نوع دام وقتي ايجاد ميشود كه بين يك نوع موجوديت Eو
هريك از ديگر انواع موجوديت G ،Fو ...ارتباط 1:Nبا
مشاركت الزامي وجود داشته باشد ،ولي ارتباط بين مثال Fو ،G
در مدلسازي ديده نشده باشد.
مشكالت روش ER
-3دام شكاف
هنگامي ايجاد ميشود كه بين دو نوع موجوديت Eو ،Fيك ارتباط باچندي 1:Nو
مشاركت الزامي وجود داشته باشد ،ولي Fخود با نوع موجوديت ،Gارتباط 1:N
با مشاركت غيرالزامي داشته باشد .به دليل غير الزامي بودن ارتباط بين Fو ،G
نميتوان همه اطالعات دوموجوديتي در مورد ارتباط بين نمونههاي دو نوع موجوديت
ٓ
Eو Gرا بدست اورد
تجزيه
تركيب
تخصيص محدوديتهاي روش ERكه در روش
EERبرطرف گرديدند:
تعميم
تجمع
وراثت صفت
تجزيه
ٓ
تجزيه يا جداسازي يعني يك شيئ كل را به اجزاء تشكيلدهنده ان تقسيم كنيم .شيئ كل
صفات ،ساختار و رفتار خود را دارد و هريك از اجزاء نيز صفات ،ساختار و رفتار خاص خود را
دارند .شيئ كل شامل اجزاء خود است و بين شيئ كل و اجزايش ،ارتباط شمول وجود دارد.
به اين نوع ارتباط در ،EERارتباط “جزئي است از ”...گـفته ميشود.
تركيب
COMPUTER
. . . . . .
تخصيص
تخصيص عبارتست از مشخص كردن گونههاي خاص يك شيئ براساس يك يا چند ضابطه مشخص،
ٓ
مثال اگر شيئ موجود زنده را درنظر بگيريم ،سه گونه خاص ان عبارتند از :انسان ،حيوان و نبات .در
روش EERهر يك نوع موجوديت ميتواند خود زيرنوع موجوديتهايــي داشته باشد .بين هر زيرنوع
و زبرنوع ارتباط “گونهاي است از ”...وجود دارد.
تعميم
شماره
دانشجو زبرنوع
صفات مشترك
نام و نام
خانوادگي
.
.
.
دانشجو
E1ID E2ID
E1 E2
∪
E3
تجمع
Ek
R2
E3
مراحل مدلسازي معنايــي دادهها
ادامه
مراحل مدلسازي معنايــي دادهها
در اين روش از چند نمودار براي نمايش مدلسازي و طراحي نرمافزار
استفاده ميشود
مفاهيم اصلي در اين مدلسازي:
• رده
• صفت
• بستگي
تناظر بين مفاهيم UMLو مفاهيم EER
مفهوم در EER مفهوم در UML
نوع موجوديت رده
نمونه موجوديت شيئ
صفت صفت
ارتباط بستگي
نمونه ارتباط پيوند
ارتباط بازگشتي بستگي انعكاسي
نوع موجوديت ضعيف بستگي مقيد
صفت مركب ميدان ساختمند
صفت ارتباط صفت پيوند
چندي ارتباط چندي بستگي
نمادها
• رده با يك مربع يا مستطيل نشان داده ميشود وبه شكل زير به سه
قسمت تقسيم ميشود:
نام رده
نام صفات
پردازشها
نمادها
نام بستگي
نام صفات
خصوصيات کلي روش مدلسازي معنايــي دادهها
گويايــي •
صوري بودن •
سادگي مفاهيم •
قابليت نمايش نموداري •
ايجاز •
جامع بودن مفاهيم •
قابليت نمايش ساختار ،حالت و رفتار نوع موجوديت •
گسترشپذيري •
جلسه چھارم
پايگاه داده در محيط انتزاعي
ٓ
انچه در اين جلسه مي خوانيد:
E.DS
C.DS
I/P.DS
ساختار دادهاي
داخلي/فيزيكي
رابطه مفهومي رياضي است .اما از ديد كاربر ،رابطه نمايشي جدولي
دارد.
مفاهيم ساختار جدولي عبارتند ازاز::
ستون سطر جدول
درج )(INSERT
حذف )(DELETE
بهنگامسازي )(UPDATE
بازيابي )(SELECT
مثال درج يك نمونه دانشجو
INSERT
INTO STT
VALUES(‘7413673’,’AHMADI’,’bs’,’Comp’,’D222’)
با اين دستور مشخصات دانشجويان دوره كارشناسي ارشد از جدول STT
ميشود
شود حذف مي
UPDATE COT
مثال بهنگامسازي تك سطر
’SET COID=‘Com303
;’WHERE COID=‘Com202
SELECT DOID
مثال بازيابي
FROM STCOT
’WHERE STID=‘76140444
-3عملگر پيوند :JOINدو جدول را بهم پيوند ميزند ،يعني سطرهايــي كه
شرايط مورد نظر را داشته باشند ،با يكديگر پيوند ميشوند.
برخي ويژگيهاي ساختار دادهاي جدولي
A
D
B
C
G
E
F
H
نوع مجموعه )مجموعه كوداسيل( از سه جزء تشكيل شده است:
-1نام مجموعه
-2يك نوع ركورد مالك
-3يك نوع ركورد عضو
يك نوع مجموعه كوداسيل
DEPT مالك
DEID P..
STID عضو
STID P.. E-TERM
برخي ويژگيهاي ساختار دادهاي شبكهاي
ادامه
برخي ويژگيهاي ساختار دادهاي شبكهاي
ادامه
ديد خارجي
-6به تعريف مجموعه ديدهاي خارجي كاربر ،سطح خارجي گـفته ميشود.
-7هر كاربر ميتواند تعدادي ديد داشته باشد.
-8چند كاربر ميتوانند در يك ديد مشترك باشند.
ديد داخلي
-1ديد DBMSو طراح پايگاه دادهها است و در سطحي پايينتر از سطح ادراكي،
نسبت به كل دادههاي ذخيرهشده است.
-3مبتني بر يك ساختار فايل است كه با نظر طراح پايگاه طراحي ميشود و به طراحي،
طراحي فيزيكي موسوم است.
-5شماي داخلي نوعي برنامه است كه توسط خود DBMSتوليد ميشود و شرح
فايلينگ منطق پايگاه است.
سطوح معماري در محيط ناپايگاهي و محيط پايگاهي و نقش DBMSدر ايجاد ،مديريت و پردازش
فايلها
محيط پايگاهي محيط ناپايگاهي
شماي خارجي
سطوح انتزاعي
شماي ادراكي
DBMS OS
FS
FS AM
AM
DB
FLIES
FILES
دادههاي ذخيرهشده
دادههاي ذخيرهشده
در محيط فيزيكي
در محيط فيزيكي
كاربر
در معناي عام ،هر استفادهكننده از پايگاه دادهها را كاربر گوييم.
كاربر كاربر فرمي
كاربر منويــي
كاربر نقشهاي
QL كاربر فرماني
نابرنامهساز
HL + QL برنامهساز كاربر پارامتري
كاربر گرافيكي
كاربر با زبان طبيعي
هميشگي :منظم موردي :نامنظم
كاربر صوتي
كاربر :پاياني
ابزارساز سيستمساز
)پيادهساز(
كاربردساز
جزء تيم
جزء تيم اجرائي
مديريت پايگاه
زبان ميزبان
افزايش تعداد
تنوع كاربرد
زبان دادهاي فرعي
معماري
سطح ادراكي DML DSL
ANSI
برنامه به
كامپايلر
دستورهاي HL HL
:HL
كامپايل شده
دستورهاي
HLو پيش
اجرا
دستورهاي كامپايلر
DSL
كامپايلر
دستورهاي
دستورهاي DSL DSL :DSL
كامپايل شده
ويژگيهاي زبان دادهاي فرعي
ادامه
ويژگيهاي زبان دادهاي فرعي
• سيستم رابطهاي
• سيستم سلسلهمراتبي
• سيستم شبكهاي
• جز اينها
ردهبندي سيستمهاي DBMS
DB
دادههاي
ذخيرهشده متا داده
اجزاي DBMSاز نماي دروني
.......
واحد مديريت دادههاي ذخيرهشده
فايل
شاخصها متادادهها ثبت
دادههاي ذخيرهشده تراكنشها
جلسه ھفتم
DBMSدر يك سيستم كامپيوتري
ٓ
انچه در اين جلسه مي خوانيد:
برنامههاي كاربردي
DBMS
سيستم عامل
سختافزار
يك DBMSبراي هر برنامه كاربردي
درخواست كاربر
سيستم عامل
DBMS1 DBMSi
AM
DB1 DB2
يك DBMSبراي چند برنامه كاربردي تحت كنترل سيستم عامل
درخواست كاربر
سيستم عامل
DBMS1
AM
DB
يك DBMSبراي چند برنامه كاربردي با اجراي تحت كنترل DBMS
درخواست كاربر
سيستم عامل
DBMS1
AM
DB
اسلوبهاي عملياتي
• شماهاي خارجي
• شماي ادراكي
• شماي داخلي
• رويههاي مربوط به تبديالت بين سه سطح معماري
• شرح ساختار فيزيكي دادههاي ذخيرهشده
• مشخصات و حقوق دستيابي كاربران به دادهها
ٓ
• مشخصات برنامههاي كاربردي توليد شده و ارتباط انها با درخواستهاي كاربران
• مشخصات پايانههاي متصل به سيستم
ادامه
اطالعاتي كه در ديكشنري دادهها نگهداري ميشود:
برنامهسازان سيستمي
كاربران پاياني
ديكشنري دادهها
بهينهساز زيرسيستم و
پرس و جو ترميم پايگاه دادهها
پارامترهاي شناخت DBMS
ٓ
اين مدير همراه با يك تيم تخصصي كار ميكند كه به ان
تيم مديريت پايگاه دادهها ميگويند.
برخي مسئوليتهاي در تيم مديريت پايگاه دادهها
• مدير پايگاه دادهها
• مدير دادهها
• مدير امور پژوهش-توسعه
• مدير سيستمهاي كاربردي
• مسئول تيمهاي برنامهسازي
• مسئول كنترل كارايــي DBMS
• مسئول كنترل كارايــي خود سيستم پايگاه دادهها
• مسئول نظارت بر عمليات روي پايگاه دادهها
• مسئول تماس با كاربران زيرمحيطهاي سازمان
• مسئول تنظيم مستندات و وضع استاندهها
در مديريت نوين سازمانها ،هر سازمان داراي پنج سرمايه
است:
-1سختافزار
-2نرمافزار
-3داده
-4بودجه
-5تخصص
مزايا و معايب تكنولوژي پايگاه دادهها
مزايا
-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پيچيده بودن سيستم و نياز به تخصص بيشتر
شرايط استفاده از تكنولوژي پايگاه دادهها
ادامه
شرايط استفاده از تكنولوژي پايگاه دادهها
DB
برنامههاي
دادههاي
كاربردي
ذخيرهشده
انواع استقالل دادهاي
زيرا:
-1كاربران سطح خارجي در محيطي كامال انتزاعي عمل ميكنند و برنامههاي
كاربردي در اين سطح با فايلينگ پايگاه دادهها تماس ندارند.
-2بين سطح خارجي و داخلي ،يك سطح انتزاعي ديگر واسط است و مانع
تاثيرپذيري برنامههاي سطح خارجي از تغييرات درفايلينگ پايگاه دادهها ميشود.
استقالل دادهاي منطقي
انواع معماري
معماري مشتري-خدمتگزار
معماري توزيعشده
معماري چندپايگاهي معماري نامتمركز
معماري با پردازش موازي
معماري موبايل
معماري متمركز
كاربران
پايانهاي
دور ..
. كامپيوتر بزرگ كنترولر ديسك
..
.
كنترولر چاپگر كنترولر نوار
...
معماري مشتري -خدمتگزار
ٓ
هر معماري که در ان قسمتي از پردازش را يک برنامه ،سيستم يا ماشين انجام
دهد و انجام قسمت ديگري از پردازش را از برنامه ،سيستم يا ماشين
ديگر بخواهد معماري مشتري خدمتگزار ناميده مي شود
معماري مشتري -خدمتگزار
OS D
B
DBMS
AP . . . . M DB
S OS
MAIN
DB
خدمتگزار
طرحهاي معماري مشتري -خدمتگزار
از نظر پيكربندي سختافزاري
مشتري ب -معماري حول شبكه
PCi ...... PC2 PC1
شبكه
Printer
مزاياي معماري مشتري – خدمتگزار در مقايسه با معماري
متمركز
• تقسيم پردازش
• كاهش ترافيك شبكه
• استقالل ايستگاههاي كار
• اشتراك دادهها
معماري توزيعشده
OS
D
D
DB B D LAN
C NETWORK WAN
M
S MNET
معماري توزيعشده با سه مانه
كاربران دور كاربران دور
I I I I
OS1 OS2
DDBMS1 DDBMS2
DB1 APs DC DB2
DC APs
NETWORK
. LAN
. WAN
. MNET
DC APs
DDBMS3
DB3 OS3
I
I
DDB = {DB1+DB2+DB3}
ويژگيهاي معماري توزيعشده
در اين گونه سيستمها معموال تعداد زيادي تراکنش در ثانيه و بطور
موازي اجرا ميشود .
طرح كلي معماري با پردازش موازي
خدمتگزاران برنامههاي كاربردي
برنامه كاربر 1 برنامه كاربر 2 ............ برنامه كاربر n
مدير تماسهاي
اجرايــي كاربران
P
P
P
معماري با حافظه مشترك
M P
M P
M P
معماري با ديسكهاي مشترك
مزيت:
-1عدم بروز تنگنا در باسهاي حافظهاي
-2تسهيل تحمل خرابي
P M
M P
P M
M P
معماري بياجزاء مشترك
P
P P
M
M M
P
P P
P
P P
P
P P
معماري سيستم چندپايگاهي
S1 Sn
شماي خارجي شماي خارجي
سراسري سراسري
شماي ادراكي
سراسري
S1
شماي خارجي شماي خارجي شماي خارجي شماي خارجي
محلي محلي محلي محلي
DB
DB
معماري سيستم پايگاههاي همراه
سيستم عامل
DBMS
پايگاه دادههاي
ميزبان برنامههاي كاربردي
امكانات همرسانش
كامپيوتر همراه
-8مزاياي ميدان
-9رابطه نرمال و غير نرمال
-10دليل لزوم نرمال بودن رابطه
-11معايب رابطه نرمال
-12مزايا و معايب رابطه غيرنرمال
-13انواع کليد در مدل رابطه اي
ٓ
هدفهاي كلي :اشنايــي با مدل رابطهاي
مدل داده اي امکاني است براي طراحي منطقي پايگاه دادهها ،تعريف و کنترل
ٓ ٓ
ان و نيز انجام عمليات دران و امکان مي دهد تا اين هر سه عمل اساسي در
محيط انتزاعي انجام شود .بنابراين ميتوان گـفت که مدل دادهاي تامين
کننده محيط انتزاعي پايگاه داده هاست .
بخشهاي اساسي مدل دادهاي
-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طول كوتاهتر داشته باشد.
كليد ديگر )بديل(
تعريف -هر كليد كانديد ،غير از كليد اصلي ،كليد ديگر نام
دارد.
كليد خارجي
Rدر 2نظرRميگيريم .هر زيرمجموعه از صفات رابطه كه هر تعريف -دورابطه و 1را
مقدار معلومش باR2
يك مقدار از كليد كانديد برابر باشد ،كليد خارجي در رابطه است.
R2 R1
كليد خارجي براي نمايش ارتباطات بين انواع موجوديتها بهكار ميرود.
جلسه دھم
قواعد جامعيت پايگاه دادهها
ٓ
انچه در اين جلسه مي خوانيد:
مونيتور رويدادها
ديكشنري قواعد
)بخشي از متاداده(
انواع قواعد كاربري در مدل رابطهاي
ٓ
-1محدوديت ميداني :ناظر بر يك ميدان است و مقادير مجاز ان را مشخص ميكند.
ٓ
-2محدوديت صفتي )ستوني( :ناظر به يك صفت است و بيانكننده نوع ان صفت
است.
-3محدوديت رابطهاي :ناظر بر يك رابطه است و مقادير مجاز يك تغيير رابطهاي را
مشخص ميكند.
ٓ
-4محدوديت پايگاهي :ناظر بر دو يا بيش از دو متغير رابطهاي است و به نحوي انها
را به يكديگر مرتبط ميكند.
-2متاقواعد
-1قاعده )C1
جامعيت موجوديتي(
-2قاعده C)2
جامعيت ارجاعي(
قاعده C1
• وابستگيهاي تابعي
• وابستگيهاي چندمقداري
• وابستگيهاي شمول محدوديتهاي ناساختاري
• وابستگي زماني
• وابستگي برابري
راههاي اعمال قواعد جامعيت
-1گزينش )تحديد(
-2پرتو عملگرهاي خاص
-3پيوند
-4تقسيم
عملگر گزينش تاپلهايــي از يك رابطه را گزينش ميكند )سطرهايــي از جدول را(.
اين عملگر تك عملوندي است و به صورت زير نوشته ميشود:
)PROJECT R OVER(A1,A2,I,Ai
عملگر پيوند دو عملوندي است و چنين نوشته ميشود:
R1 JOIN cond(s) R2
ٓ
كه در ان ) cond(sچنين است:
R1.Ai theta R2.Bi
Aiيك صفت از رابطه R1و Biيك صفت از رابطه R2است كه از يك ميدان مقدار ميگيرند و
بايد ناهمنام باشند.
كاربردهاي جبر رابطهاي
-1بازيابي دادهها
-2ذخيرهسازي دادهها
-3تعريف انواع رابطههاي مشتق
-4تعريف قواعد براي كنترل پايگاه دادهها
-5تعريف دادهها به عنوان حيطه بعضي عمليات كنترل
همروندي تراكنشها
-6ضابطه تشخيص كامل بودن زبانهاي رابطهاي
حساب رابطهاي
حساب رابطهاي ،با جبر رابطهاي منطقا معادل است ،يعني براي هر
عبارت جبر رابطهاي ،يك عبارت معادل در حساب رابطهاي وجود
ٓ
دارد و برعكس .تفاوت انها اين است كه جبر رابطهاي ،دستوري
است ،اما حساب رابطهاي توصيفي است.
• حساب تاپلي :در اين حساب مفهوم مهمي به نام متغير تاپلي
وجود دارد كه تنها مقادير مجازش ،تاپلهاي رابطه هستند.
• حساب ميداني :در اين حساب ،متغير ميداني وجود دارد كه از
حساب رابطهاي
يك ميدان مقدار ميگيرد .در اين حساب يك شرط اضافي به نام
شرط عضويت وجود دارد.
در حساب رابطهاي تاپلي دو سور وجود دارد:
كاتالوگ در مدل رابطهاي ،تعدادي رابطه است :يك پايگاه رابطهاي كه خود
سيستم ايجاد ميكند
در كاتالوگ اطالعاتي در مورد اشياء ذيل نگهداري
ميشود:
• ميدان
• رابطه
• صفت
• ديد
• قواعد جامعيت
• توابع و رويههاي تعريفشده توسط كاربر
• رهاناهاي تعريفشده توسط كاربر
• كاربر
ٓ
• شاخص و ساختارهاي مرتبط با ان
• ضوابط ايمني
• پرسشها
• برنامههاي كاربردي
جلسه يازدھم
زبان SQL
ٓ
انچه در اين جلسه مي خوانيد:
: تعريف شما-1 -1
CREATE SCHEMA
AUTHORIZATION USER
{base – table definition , view definition ,
grant-operation }
دستورات تعريف دادهها.1
: انواع دادهاي-2 -1
CHARACTER[(length)]
INTEGER
DECIMAL [(precision[,scale])]
SMALLINT
DOUBLE PRECISION
REAL
FLOAT [(precision)]
NUMERIC [(precision[,scale])]
دستورات تعريف دادهها.1
با اين دستور حق انجام يك يا بيش از يك عمل به كاربر )كاربراني( داده ميشود.
دستورات پردازش داده ها-2
باالترين و پايين ترين نمره در درس COM222در ترم دوم 79-80را بازيابي ميكند.
امكان LIKEو NOTLIKE
با اين دو امكان ميتوان دادههاي مورد نظر را با دادن يك رشته كاراكـتري به عنوان
نشانوند جستجو و بيان شرايط مورد نظر ،بازيابي كرد
كرد..
ٓ
مثال :مشخصات استاداني را بدهيد كه نام انها با ARشروع شده باشد.
* SELECT
FROM PROF
;’WHERE PRNAME LIKE ‘AR%
ٓ
ازمون تست وجود هيچمقدار در يك ستون
با اين امكان ميتوان سطرهاي جدول را حسب مقادير يك ستون ساده گروهبندي
ٓ
كرد به نحوي كه در هر گروه ،مقدار ان ستون يكسان باشد
باشد..
. منطقا گروهبندي كنيدCOID را برحسب مقادير ستونSTCOT جدول:مثال
با اين امكان ميتوان شرط )شرايطي( ناظر به گروه سطرها اعالن كرد .نقش اين
امكان در واقع همان نقش 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 امكان
DELETE
FROM STCOT
’WHERE STID=‘78110555
AND
’TR=‘2
AND
;’YRYR=’78-79
INSERT دستور
-1نارويهاي است.
-2داراي كمال ساختاري است.
-3زبان استانده سيستمهاي رابطهاي موجود است.
-4تمام انواع دادهاي ساده را دارد.
-5عملگرهاي بسيار قوي دارد.
يٓ
-6يادگير ان ساده است.
-7استقالل دادهاي را تامين ميكند.
-8هم به صورت مستقل و هم به صورت ادغامشده قابل استفاده است.
ٓ
دستوراتي كه در نسخه SQL2تغيير كردند يا به ان اضافه شدند:
كاربر ميتواند امتياز دستيابي به اشياء تعريفشده در شما را به منظور انجام عمل
مشخص ،به كاربر ديگري بدهد.
ٓ
براي اعطاي امتياز از دستور 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دستورات كنترل تراكنشها
نوع داده مجرد
تعريف -قاعده )محدوديت( يا قواعدي است كه قبل يا بعد از بروز يك رويداد در پايگاه
دادهها )معموال يك عمل تغييردهنده دادهها( بايد اعمال شود .اين قاعده در سطح
برنامهسازي ،به صورت يك رويه از پيش تعريفشده است كه به طور شرطي يا
غيرشرطي ،قبل يا بعد از انجام يك عمل در پايگاه دادهها ،به طور اتوماتيك اجرا
ميشود.
رهانا
مزايا
ٓ
.1اجراي ان تحت كنترل متمركز سيستم و نظارت مدير پايگاه دادهها است.
ٓ
ر ي
.2بابا وجود ان ديگر نياز نيست كه محدوديتهاي مو د نظر در هر برنامه كاربردي .2
اعمال شوند و كنترلهاي الزم انجام شود.
خواص
.1تجزيهناپذيري
.2سازگاري
.3جدايــي )انفراد(
.4مانايــي )دوام(
طرحهاي اجراي تراكنشها
• تكنيك قفلگذاري
• تكنيك زمانمهر
• تكنيك چند نسخهسازي
• تكنيك تاييد )تصديق(
جلسه سيزدھم
ديد در مدل رابطهاي
ٓ
انچه در اين جلسه مي خوانيد:
-1ديدهاي رابطهاي
-2ديد در SQL
-3مزايا و معايب ديد
-4عمليات در ديدهاي رابطهاي
-5انواع ديد از نظر پذيرش عمليات ذخيرهسازي
-6انواع ديدهاي پذيرا
-7انواع ديدهاي ناپذيرا
-8ويژگيهاي ديدهاي قابل بهنگامسازي
ٓ
هدفهاي كلي :اشنايــي با ديد در مدل رابطهاي
ٓ
ديد در مدل رابطهاي نوعي رابطه است ،بنابراين ميتوان ان را به
كمك يك عبارت جبر رابطهاي يا حساب رابطهاي به شكل زير
كرد::
تعريف كرد
چون ديد خود نوعي رابطه است ،پس براي بازيابي از ديد هم يك
عبارت جبري يا حسابي مينويسيم
SQL مثال بازيابي از يك ديد با استفاده از دستورات
CREATE VIEW V1
AS SELECT STID, STDEG
FROM STT
WHERE STPROG=‘Math’
SELECT STID
FROM V1
WHERE STDEG=‘bs’;
عمليات در ديدهاي رابطهاي
.1ديدهاي پذيرا
.2ديدهاي ناپذيرا
.1ديدهاي گزينشي
.2ديد گزينش – پرتوي داراي كليد رابطه مبنا
.3ديد پيوندي CK-CK ديدهاي پذيرا
.4ديد پيوندي CK-FK
.5ديد حاصل اجتماع ،اشتراك و تفاضل دو رابطه
ديد گزينشي حاصل عملگر گزينش در يك رابطه
است.
است.
در ديد “گزينش-پرتوي داراي كليد رابطه مبنا” عالوه بر
گزينش تاپلهايــي از رابطه مبنا ،عملگر پرتو نيز اعمال شده
است .اين نوع ديد را اصطالحا ديد داراي كليد با تاپلهاي
ناقص ميگوئيم.
ديد پيوندي ،CK-CKحاصل پيوند دو رابطه روي
ٓ
كليد كانديد مشترك انها است و در عمليات ذخيرهسازي
مشكلي ندارد
ديد پيوندي ،CK-FKحاصل پيوند روي كليد كانديد يك رابطه و
كليد خارجي رابطه ديگر است .اين ديد در حذف مشكل دارد ،زيرا با
حذف يك تاپل از اين ديد ،در هريك از دو رابطه مبنا ،يك تاپل حذف
ميشود و چنانچه كاربر بخواهد محتواي ديد خود را نمايش دهد،
تاپلهاي ديگر هم از ديد او حذف ميشوند كه درخواست نكرده است.
ديد حاصل اجتماع ،اشتراك و تفاضل دو رابطه در عمليات
ٓ
ذخيرهسازي مشكلي ندارد ،به شرط انكه سيستم بتواند
تشخيص دهد كه عمل درخواستشده ،در كداميك از دو
رابطه مبنا انجام شود.
مشكالت مهمتر ديدهاي پذيرا
ٓ
تشخيص نيازها و تحليل انها
نيازهاي عملياتي
نيازهاي پايگاهي
تحليل عملكردي
مدلسازي معنايــي دادهها
ناوابسته به DBMS
طراحي منطقي
وابسته به DBMS
طراحي برنامههاي كاربردي
و واسطهاي كاربري شماي ادراكي )منطقي( و شماي خارجي
طراحي فيزيكي
پيادهسازي تراكنشها
شماي داخلي
برنامههاي كاربردي
روشهاي طراحي منطقي پايگاه دادهها
در اين روش مجموعه صفات خردجهان واقع را مشخص ميكنيم .سپس با تحليل
ٓ
قواعد و محدوديتهاي ناظر به صفات و تشخيص وابستگيهاي بين انها ،صفات را
متناسبا باهم سنتز ميكنيم .هر گروه از صفات عنوان يك رابطه را به ما ميدهد به
ٓ
گونهاي كه حتياالمكان در مطلوبترين صورت نرمال باشد .هر رابطه بدستامده
نمايشگر بخشي از خردجهان واقع بوده ،ضوابط يك طرح خوب و قابل دفاع را
خواهد داشت.
روش تركيبي
در اين روش ،ابتدا طراحي را با روش باال به پايين انجام ميدهيم و
سپس با دخالت دادن برخي محدوديتهاي جامعيتي كه در مرحله
مدلسازي معنايــي دادهها منظور نشدهاند و با تحليل هر رابطه،
مرحله نرمالترسازي رابطهها را انجام ميدهيم تا به مجموعهاي از
نرمالترين رابطهها برسيم.
خصوصيات طراحي خوب
ادامه
خصوصيات طراحي خوب
-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و ... ،
موجوديت Ai E
باشند ،در اين صورت براي نمايش اين نوع موجوديت، مقداري A2
و ساير صفات تك A1
دو رابطه الزم است:
EID
( R1 ) , A1 , A 2 ,..., A i
C .K .
EID , MVA
( R2 )
C .K .
روش تبديل نمودار 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جزئي درون مستطيل نشاندهنده نوع
موجوديت حاصل از عمل تجميع را به رابطههاي الزم تبديل ميكنيم .سپس با
توجه به چندي ارتباط بين نوع موجوديت مرتبط با ارتباط و چگونگي مشاركت در
ارتباط با ارتباط ،طراحي را كامل ميكنيم.
جلسه پانزدھم
نرمالترسازي رابطهها
ٓ
انچه در اين جلسه مي خوانيد:
-10رابطه 3NF
-11صورت نرمال بايس-كاد
-12وابستگي تابعي چندمقداري
-13رابطه 4NF
-14وابستگي تابعي چندمقداري ادغامشده
-15رابطه 5NF
-16مزايا و معايب نرمالترسازي
-17انواع افزونگي در پايگاه دادهها
ٓ
هدفهاي كلي :اشنايــي با نرمالترسازي رابطهها
• عدم امكان انجام يك عمل )كه منطقا بايد قابل انجام باشد(
• بروز پيامد بد پس از انجام يك عمل
• بروز فزونكاري در سيستم در انجام يك عمل
صورتهاي نرمال
تعريف -فرض كنيد كه Rيك متغير رابطهاي و Aو Bدو زيرمجموعه دلخواه از عنوان Rباشند.
ميگوييم Bبا Aوابستگي تابعي دارد و چنين نمايش ميدهيم:
ممكنAاز متغير رابطهاي ،Rبه هر مقدار Aفقط يك مقدار Bمتناظر اگر و فقط اگر در هر B
ميدان→
باشد.
وابستگي تابعي نامهم )بديهي(
⊆B
اين صورت: اگر در ) R(A,B,C,Pداشته باشيم A، :در
نامهم است .به بيان ديگر اگر Bزيرمجموعهاي از Aباشد،
→A يك وابستگي Bتابعي
A→ B يك وابستگي نامهم است. در اين صورت
ٓ
قواعد استنتاج ارمسترانگ
فرض C ،B ،A :و Dزيرمجموعههايــي از صفات رابطه Rباشند .قواعد زير برقرارند:
ٓ
A→ B B⊆ A .1قاعده انعكاس :اگر انگاه:
ٓB
A→C B→C .2قاعده تعدي)تراگذري( :اگر و انگاه
A →
ٓ
) ( A, C ) → ( B, C نگاه→A Bا .3قاعده افزايش :اگر
ٓ
B→C A→C و
A
) Cانگاه
→ ( B ,
.4قاعده تجزيه :اگر
ٓ
) A → ( B, C و A → CانگاهB → C .5قاعده اجتماع :اگر
ٓ
)( A, C ) → ( B, D و C → DانگاهA → B .6قاعده تركيب :اگر
ٓ
( A, C ) → D A→ B Dو→ ) (C, Bانگاه .7قاعده شبه تعدي :اگر
ٓ
)A ∪ (C − B ) → ( B, D A→ B و → DاCنگاه .8قاعده يگانگي عمومي :اگر
مجموعه كاهشناپذير وابستگيهاي تابعي
اگر Xو Yدو زيرمجموعه از مجموعه عنوان رابطه Rباشند ،ميگوييم Yبا Xوابستگي
X ⇒Y تابعي تام دارد و چنين نشان ميدهيم:
اگر و فقط اگر Yبا Xوابستگي داشته باشد .ولي با هيچ زيرمجموعهاي از Xوابستگي تابعي
نداشته باشد.
رابطه 1NF
ٓ
تعريف -رابطهاي 1NFاست اگر هر صفت خاصه ان در هر تاپل،
تكمقداري باشد ،به بيان ديگر ،صفت چندمقداري نداشته باشد.
رابطه 2NF
ٓ
تعريف اول :رابطهاي BCNFاست اگر در ان هر دترمينان،
كليد كانديد باشد .اين تعريف سادهشده و غير صوري است.
صورت نرمال بايس-كاد
تعريف دوم :رابطه ) ،R(Hبا مجموعه وابستگيهاي تابعي ،Fدر BCNFاست اگر
+ ٓ
A B
است ،حداقل
→ و
F براي هر وابستگي تابعي در به صورت كه در ان
ار باشدB ⊆ R(H ) :
⊆رA
حالت(HزيرRبرق
) يكي از دو
يك وابستگي نامهم باشد يعني :a
B⊆ A سوپركليد رابطه Rباشد.
A → B A :b
صورت نرمال بايس-كاد
تعريف اول -در رابطه ) R(X,Y,Zبا صفات ساده يا مركب Y ،Xو Z
ميگوييم كه Yبا Xوابستگي تابعي چندمقداري دارد و چنين نمايش ميدهيم:
→→ X
متناظر باشند. اگر به يك مقدار ،XمجموعهايYاز مقادير Y
وابستگي تابعي چندمقداري
تعريف دوم -در رابطه ،Rصفت Yبا Xوابستگي تابعي چندمقداري دارد اگر
و فقط اگر مجموعه مقادير Yمتناظر با يك مقدار از جفت ) (X,Zدر Rفقط
به مقدار Xبستگي داشته باشد و وابسته به مقدار Zنباشد.
رابطه 4NF
ٓ
تعريف -رابطهاي 4NFاست اگر BCNFباشد و در ان وابستگي
تابعي چند مقداري مهم وجود نداشته باشد.
وابستگي تابعي چندمقداري ادغامشده
ٓ
تعريف -رابطهاي 5NFاست اگر تمام وابستگيهاي پيوندي ان ناشي از
ٓ
كليدهاي كانديد ان باشد .در نتيجه:
اگر بتوانيم يك وابستگي پيوندي در رابطه Rپيدا كنيم كه در همه پرتوهايش
كليد كانديد Rوجود نداشته باشد ،رابطه 5NFنيست.
مزاياي نرمالترسازي
.1افزونگي طبيعي
.2افزونگي تكنيكي ناشي از وجود كليد خارجي يا هرصفت مشترك
ديگر در دو يا بيش از دو رابطه
.3افزونگي ناشي از وابستگي بين صفات
معايب روش نرمالترسازي
-1بروز فزونكاري در سيستم در عمل بازيابي
-2ايجاد نوعي افزونگي از نوع افزونگي در سطح ادراكي
ٓ
-3زمانگير بودن فرايند نرمالترسازي به ويژه اگر محيط عملياتي بزرگ و تعداد رابطهها
زياد باشد.
-4تصميمگيري دشوار در اثر تعدد تجزيهها
-5ممكن وابستگي بين مجموعه صفات يك خردجهان ،وابستگيهاي به جز وابستگي
تابعي و پيوندي باشد و بنابراين سبب مطرح شدن قواعد جامعيت ديگر و نيز ضوابط
ديگري براي تجزيه رابطهها شود و . . .
جلسه شانزدھم
طراحي فيزيكي پايگاه دادهها
ٓ
انچه در اين جلسه مي خوانيد:
-1تحليل عوامل
-2تحليل پرسشها
-3تحليل تراكنشها
-4تصميمات در طراحي فيزيكي
-5اهداف تنظيم پايگاه دادهها
-6اطالعات الزم در تنظيم پايگاه دادهها
ٓ
انچه در اين جلسه مي خوانيد:
تحليل تراكنشها
در اين تحليل بايد به پرسشهاي زير پاسخ داده شود: