این یک نمودار ERD ساده از آموزش دانشگاه هست. در اینده جداول ان را هم انشالله قرار خواهم داد
مباحث موجود در این مقاله عبارتند از :
* تعریف نمودار مدل ER
* نماد های مدل ER
* مفاهیم مبنایی مدل ER
* توسعه مدل ER به EER
* مشکلات مدل ER
* مثالهایی از نمودار ER
اصول طراحي پايگاه داده ها
اسماعيل نوراني
فصل 2
ER نمودار
(Entity Relationship Diagram)
مطالبي كه در اين فصل خواهيم خواند 02
—
58
ER تعريف نمودار مدل
ER نمادهاي مدل
ER مفاهيم مبنايي مدل
EER به مدل ER توسعه مدل
ER مشكلات مدل
ER مثال هايي از مدل
03 (Entity Relationship ) ER مفاهيم مبنايي مدل
—
58
( Entity ) موجوديت
( Attribute ) صفت
( Relationship ) ارتباط
( Domain ) دامنه
04 ER مفاهيم مبنايي مدل
—
58
: ( Entity ) موجوديت
موجوديت ، مصداق كلي هر پديده، فرد، شيء و يا مفهومي است كه مي خواهيم
در مورد آن اطلاعاتي داشته باشيم.
به عنوان مثال ، اگر محيط دانشگاه را به عنوان محيط عملياتي در نظر بگيريم،
مواردي همچون دانشجو، استاد و درس جزء موجوديت ها به شمار مي روند.
05 ER مفاهيم مبنايي مدل
—
58
: ( Attribute ) صفت
ويژگي و خصيصه اي كه يك موجوديت را از ديگر موجوديت ها متمايز مي كند.
هر صفت، نام ، نوع و معناي مشخصي دارد.
مثلا براي موجوديت درس ، مي توان صفاتي همچون ، عنوان درس ، نوع درس ،
تعداد واحدهاي درس ، را بيان نمود.
06 ER مفاهيم مبنايي مدل
—
58
: ( Relationship ) ارتباط
تعاملي بين دو يا چند نوع موجوديت ، كه هر تعامل يك نام و معناي مشخصي
دارد.
مثال: عمل انتخاب ، كه تعاملي است بين دو موجوديت درس و دانشجو
07 ER مفاهيم مبنايي مدل
—
58
: ( Domain ) دامنه
مجموعه مقاديري كه يك صفت از يك موجوديت مي تواند به خود بگيرد را دامنه
گويند.
مثلا مجموعه اعداد صحيح ، دامنه اي است براي يك صفت.
دو نمونه موجوديت در يك سيستم بانك 08
—
58
مقدار وام کد وام نام شهر نام خيابان نام مشتری کد مشتری
وام مشتري
09 Relationship Set مجموعه ارتباطها
—
58
مقدار وام کد وام نام شهر نام خيابان نام مشتری کد مشتری
وام مشتري
سيستم بانك 10 ER مثال : بخشي از نمودار
—
58
Loan ( ( وام
Borrow( (وام گرفتن
سيستم بانك 11 ER مثال : بخشي از نمودار
—
58
Loan ( ( وام
Borrow( (وام گرفتن
12 ER نماد هاي مدل
—
58
موجوديت مستقل
موجوديت ضعيف
ارتباط
ارتباط با موجوديت ضعيف
13 ER نماد هاي مدل
—
58
ارتباط يك به يك
ارتباط چند به يك
ارتباط چند به چند
مشاركت موجوديت در يك ارتباط
مشاركت الزامي موجوديت در يك ارتباط
14 ER نماد هاي مدل
—
58
صفت
صفت اصلي ، كليد اصلي
صفت مميزه موجوديت ضعيف
صفت چند مقداري
صفت مركب
صفت مشتق
15 ER نماد هاي مدل
—
58
Is A ، ارث بري
Is A Part Of ، جزئي از كل
انواع موجوديت ER مفاهيم مبنايي مدل
16
—
58
موجوديت مستقل يا قوي :
موجوديتي است كه مستقل از هر موجوديت ديگر و به خودي خود در يك محيط مشخص ،
مطرح باشد.
مثال : دانشجو، درس و استاد در سيستم دانشگاه
موجوديت وابسته يا ضعيف :
موجوديتي است كه وجودش وابسته به يك نوع موجوديت ديگر باشد.
مثال: اقساط، موجوديتي ضعيف است كه وابسته به موجوديت وام است؛ يعني اگر وامي
وجود نداشته باشد،اقساطي هم وجود نخواهد داشت.
Weak Entity موجوديت ضعيف ER مفاهيم مبنايي مدل
17
—
58
سه موجوديتي ER مفاهيم مبنايي مدل
18
—
58
انواع صفت ER مفاهيم مبنايي مدل
19
—
58
ساده يا مركب
تك مقداري يا چند مقداري
صفت كليدي (يكتا يا منحصر بفرد)
مبنا يا مشتق
انواع صفت ER مفاهيم مبنايي مدل
20
—
58
ساده يا مركب :
صفت ساده، صفتي است كه مقدار آن اتميك و تجزيه نشدني باشد.
مثلا اسم براي يك شخص.
صفت مركب، صفتي است كه مقدار آن غير اتميك و تجزيه شدني باشد.
مثلا آدرس براي يك شخص، كه به خيابان، كوچه و پلاك قابل تجزيه
مي باشد.
انواع صفت ER مفاهيم مبنايي مدل
21
—
58
تك مقداري يا چندمقداري:
تك مقداري، صفتي است كه براي يك نمونه موجوديت، حداكثر يك مقدار از
دامنه را بگيرد.
مثلا شماره درس براي يك درس.
چندمقداري، صفتي است كه براي يك نمونه موجوديت، چند مقدار از دامنه را
مي گيرد.
مثلالا چند مدرك تحصيلي براي يك استاد.
انواع صفت ER مفاهيم مبنايي مدل
22
—
58
صفت كليدي:
صفتي است كه مقدارش يكتا است و بين هيچ دو نمونه ،(unique) يكتا
موجوديت، مقداري يكسان ندارد.
مثلا شماره دانشجويي براي يك دانشجو.
غير يكتا ، صفتي است كه مقدارش مي تواند بين دو نفر نيز تكراري باشد.
مثلالا نام دو دانشجو مي تواند تكراري باشد.
انواع صفت ER مفاهيم مبنايي مدل
23
—
58
پذير: Null Value صفت
صفتي است كه اجازه مي دهد، مقدارش نامعلوم باشد و كاربر مي تواند در آن
مقداري وارد نكند.
اينكه صفتي چنين حالتي داشته باشد يا وارد كردنش اجباري باشد، در موقع
طراحي پايگاه داده براي هر صفت توسط طراح تعيين خواهد شد.
مثال: ممكن است وارد كردن صفت ايميل براي دانشجو اختياري در نظر گرفته
شود.
انواع صفت ER مفاهيم مبنايي مدل
24
—
58
مبنا يا مشتق:
مبنا، صفتي است كه مقدارش به شكل مستقيم در پايگاه داده ذخيره شده
است.
مثلا شماره ملي براي فرد.
مشتق، صفتي است كه مقدارش را از روي صفتهاي مبناي ديگر محاسبه
مي كنند.
مثلالا محاسبه معدل از روي نمرات ثبت شده در كارنامه .
انواع صفت ER مفاهيم مبنايي مدل
25
—
58
صفت بر روي ارتباط ER مفاهيم مبنايي مدل
26
—
58
در بعضي از موارد مي توانيم ، صفت را بر روي ارتباط قرار دهيم.
ارتباط ها هم مي توانند ، شبيه موجوديت ها ، صفت داشته باشند و آن صفت ها را
درست نيست كه روي موجوديت ها قرار دهيم چون آن صفت زاييده ارتباط آنها
و نه صرف هر يك از موجوديتها.
مثال براي مشاركت الزامي ER مفاهيم مبنايي مدل
27
—
58
انواع مشاركت ER مفاهيم مبنايي مدل
28
—
58
مشاركت الزامي ، كلي :
تمام نمونه هاي موجوديت از آن نوع، بايستي در ارتباط مورد نظرشركت كنند.
مثال : هر وامي را كه در نظر بگيريم حتما يك مشتري بعنوان وام گيرنده دارد.
مشاركت غيرالزامي ، جزئي :
فقط بعضي از نمونه موجوديتها در ارتباط مذكور شركت مي كنند.
مثال : همه مشتريان بانك لازم نيست حتما در ارتباط وام گرفتن شركت كنند .
نحوه نمايش چند به چندي ER مفاهيم مبنايي مدل
29
—
58
كد گروه كد استاد
گروه آموزشي مديريت استاد
1 1
تدريس
N M
عضويت
N 1
انواع چند به چندي ارتباط ER مفاهيم مبنايي مدل
30
—
58
( 1 : ارتباط يك به يك ( 1
( 1 : N ) ارتباط يك به چند
( N : ارتباط چند به يك ( 1
( N : M ) ارتباط چند به چند
انواع چند به چندي ارتباط ER مفاهيم مبنايي مدل
31
—
58
( 1 : 1 ) ( 1 : N )
( N : 1 ) ( N : M )
نحوه نمايش چند به چندي ER مفاهيم مبنايي مدل
32
—
58
نحوه نمايش چند به چندي ER مفاهيم مبنايي مدل
33
—
58
1 n
درجه ارتباط ER مفاهيم مبنايي مدل
34
—
58
به تعداد موجوديت هايي كه در يك ارتباط مشاركت دارند، درجه ارتباط گويند.
درجه يك : درس
پيش نياز
درجه دو : دانشجو انتخاب درس
درجه ارتباط ER مفاهيم مبنايي مدل
35
—
58
به تعداد موجوديت هايي كه در يك ارتباط مشاركت دارند، درجه ارتباط گويند.
درجه سه :
دانشجو ارائه استاد
گروه درسي
تبديل ارتباطهاي با درجه بيش از 2 به ارتباط باينري 36
—
58
•معمولا ارتباطهاي غير باينري در عمل قابل پياده سازي نيستند و بايتسي به ارتباطهاي
باينري تبديل شوند .
•با صرفنظر از جزئيات كار به طور خلاصه مي توان گفت با اضافه گرفتن يك موجوديت
به سه ارتباط مجزا قابل انجام است . R و تجريه ارتبط R به جاي ارتباط (E) ديگر
37 EER به مدل ER توسعه مدل
—
58
تبديل ( Extended ER , EER ) اضافه شده و آن را به مدل ER ويژگي هايي كه به مدل
نموده است:
( Decomposition ) تجزيه
تقسيم اجزاي تشكيل دهنده يك موجوديت كلي را ، تجزيه گويند.
يا ارث بري ( Specialization ) تخصيص
مشخص كردن گونه هاي خاص يك شي بر اساس يك يا چند ضابطه خاص.
( Aggregation ) تجمع
ساختن يك موجوديت جديد كه تشكيل يافته از دو يا چند موجوديتي كه با هم
در ارتباط بوده اند.
يا ارث بري تخصيص كامل و ناقص 38 ( Specialization ) تخصيص
—
58
( Specialization ) تخصيص
كامل انسان
Is A . همه ي زير نوع ها را در بر مي گيرد
مرد زن
ناقص كارمند
همه ي زير نوع ها را در بر نمي گيرد.
Is A
منشي مدير
يا ارث بري تخصيص مجزا و اشتراكي ( Specialization ) تخصيص 39
—
58
( Specialization ) تخصيص
زير نوع مجزا كارمند
Is A . فقط يك حالت را مي تواند در بر مي گيرد
مرد زن
زير نوع اشتراكي شخص
در يك لحظه مي تواند ، چند حالت را در برگيرد.
Is A
مثال: يك كارمند در عين حال مي تواند دانشجو هم باشد.
كارمند دانشجو
يا ارث بري Is A Specialization تخصيص EER مثالي از مدل
40
—
58
يا ارث بري Is A Specialization تخصيص
41
—
58
عمل ارث بري يعني شناسايي گونه هاي مختلف از يك موجوديت .
در طي عمل تخصيص صفات مشترك در موجوديت قرار گرفته در سطح بالا قرار ميگيرد .
اين صفات بين همه انواع خاص به اشتراك گذاشته ميشود .
صفاتي به موجوديتهاي موجود در سطوح پايين داده ميشود كه در موجوديت سطح بالا
وجود ندارند . و خاص خودشان هستند .
مي نامند is –a اين ارتباط بين موجوديتهاي موجود در سطوح بالا و سطوح پايين را ارتباط
همان ارتباط وراثت است يعني ويژگيها و صفات موجوديت سطح بالالا توسط is‐a ارتباط
موجوديتهاي سطح پايين به ارث برده ميشوند .
يا با شكل مثلث و يا با قرار دادن يك يال جهت دار نمايش داده ميشوند . is‐a ارتباط
Is A Part Of Decomposition تجزيه EER مثالي از مدل
42
—
58
رنگ
ماشين
Is a
part
of
Is a
part
of
Is a
part
of
قدرت
موتور چرخ بدنه
Is A Part Of Decomposition تجزيه
43
—
58
تقسيم اجزاي تشكيل دهنده يك موجوديت كلي را تجزيه گويند .
صفات موجوديت كل مستقل از صفات موجوديتهاي جزء ، است
صفات موجوديت كل توسط موجوديتهاي جزء به ارث برده نميشوند
Aggregation تجمع EER مثالي از مدل
44
—
58
45 ER مشكلات مدل
—
58
درك و تفسير نادرست از ارتباط بين موجوديتها : ( Connection Trap ) دامهاي پيوندي
انواع متداول شامل :
. ( Fan Trap ) دام يك چندي
. ( Chasm Trap ) دام گسل يا دام شكاف
( Fan Trap ) دام يك چندي 46
—
58
گروه آموزشي دارد دانشكده دارد استاد N 1 1 N
PR1 F1
PR2
F2
D1
D2
نمي توان به اين سوال پاسخ داد كه كدام استاد در چه گروهي عضويت دارد ؟
47 ( Fan Trap ) دام يك چندي
—
58
زماني ايجاد ميشود كه ارتباطي بين چند نوع موجوديت وجود داشته باشد . ولي مسير
ارتباطي بين نمونه موجوديتهاي مشاركت كننده در ارتباط نا مفهوم باشد . در واقع اين
1 با دو (يا بيش از دو) :n مشكل زماني ايجاد ميشود كه يك موجوديت از طريق ارتباط
موجوديت (كه به طور مسقيم با هم در ارتباط نيستند )ديگر در ارتباط است .
راه حل –( Fan Trap ) دام يك چندي 48
—
58
PR1 D1 F1
PR2 D2 F2
دانشكده دارد گروه آموزشي دارد استاد N 1 N 1
49 . ( Chasm Trap ) دام گسل يا دام شكاف
—
58
اين مشكل زماني بوجود مي آيد كه يك موجوديت بعنوان پل ارتباطي دو موجوديت ديگر
طراحي ميشود ولي به خاطر مشاركت اختياري اعضاي آن موجوديت اين ارتباط برقرار
نميشود .
د س تد استاد عض ت گ آ زش
1 N 1 N
درس تدريس عضويت گروه آموزشي
نمي توان به اين سوال كه چه درسي در چه گروهي ارائه ميشود پاسخ داد ؟
50 . ( Chasm Trap ) دام گسل يا دام شكاف
—
58
حال اگر اين پرسش را مطرح كنيم :
در كدام گروه آموزشي ارائه مي شود؟ PHY درس 222
با مدلسازي انجام شده نمي توان به اين پرسش پاسخ داد، زيرا استادي اين درس را ارائه
نميكند . اين مشكل از وجود دام شكاف ناشي مي شود . به بيان ديگر الزامي نبودن مشاركت
نوع موجوديت هاي عضو هيئت علمي و درس در ارتباط “تدريس” به اين معناست كه بعض
اطلاعات در مورد گروه آموزشي ، مثلا درسهايي كه ارائه مي كند ، را نمي توان از طريق
يك نوع موجوديت واسط ( در اينجا استاد ) بدست آورد.
راه حل 51 – ( Chasm Trap ) دام گسل يا دام شكاف
—
58
اين مشكل زماني بوجود مي آيد كه يك موجوديت بعنوان پل ارتباطي دو موجوديت ديگر
طراحي ميشود ولي به خاطر مشاركت اختياري اعضاي آن موجوديت اين ارتباط برقرار
نميشود . اگر مدلسازي به طرزي ديگرانجام شود ، اين مشكل از بين مي رود ، مثلا به
صورت زير :
درس تدريس استاد عضويت گروه آموزشي
1 N 1 N
1 N
ارائه
ميكند
بانك اطلاعات آموزش دانشگاه ER مثالي از مدل
52
—
58
شماره نام
دانشجويي
شماره
درس
نيمسال شماره گروه
ا
گروه درسي ارائه دانشجو
اسم
فاميل
دارد استاد نام
تاريخ
اسم
فاميل
درس
مدرك
تحصيلي
سن تولد
شماره نام
درس
تعداد
واحد
سيستم بانك ER مثالي از مدل
53
—
58
سيستم كتابفروشي اينترنتي ER مثالي از مدل
54
—
58
سيستم كتابفروشي اينترنتي ER مثالي از مدل
55
—
58
ليگ فوتبال ER مثالي از مدل
56
—
58
آژانس مسافرتي ER مثالي از مدل
57
—
58
سيستم آموزش دانشگاه ER مثالي از مدل
ترم
58
—
58
شماره
اسم و
فاميل
تحصيل
كردن
شروع
تعداد
اساتيد
1 N
دانشجو
سال
تولد
سال
ورود
رشته
راهنمايي استاد گروه
آموزشي
از ترم
شماره
عضويت
شماره
1 N
سطح
دوره
شماره
ملي
سال عنوان
سال
تاسيس
اسم و مديريت
فاميل
تخصص
ارائه
شماره
گروه
درسي
تعداد
1 1
1
N N
نام
پدر
تلفن
سال
تولد
جنسيت
زمينه
اصلي
پژوهشي
سال
تولد
تدريس ترم سال
واحدهاي
گذرانده در
پايان ترم
M
جنسيت
درس
ر
مواد شماره
درسي
انتخاب
استفاده كتاب
درسي
كد
شناسه
N
M
N 1
پيش
تعداد نياز
واحد
نوع
عنوان
سطح
درس
نمره
ترم
ترم سال
عنوان
وضع
ق لف
N M
ملزوما
سال ت ويژه قيمت مولف