تارا فایل

پاورپوینت جزوه درس اصول طراحی پایگاه داده ها مولف روحانی رانکوهی


بنام دانای توانا
1

اصول طراحی پایگاه داده ها
مولف: سید محمد تقی روحانی رانکوهی
2

جلسه اول: مفاهیم پایگاه داده ها
جلسه دوم: مدلسازی معنایی داده ها
جلسه سوم: محدودیتهای روش ER
جلسه چهارم: پایگاه داده در محیط انتزاعی
جلسه پنجم: معماری پایگاه داده ها
جلسه ششم: سیستم مدیریت پایگاه داده ها
جلسه هفتم: DBMS در یک سیستم کامپیوتری
جلسه هشتم: معماری سیستم پایگاه داده ها
فهرست جلسات
3

جلسه نهم: مدل رابطه ای
جلسه دهم: قواعد جامعیت پایگاه داده ها
جلسه یازدهم: زبان SQL
جلسه دوازدهم: ادامه زبان SQL
جلسه سیزدهم: دید در مدل رابطه ای
جلسه چهاردهم: طراحی پایگاه داده های رابطه ای
جلسه پانزدهم: نرمالترسازی رابطه ها
جلسه شانزدهم: طراحی فیزیکی پایگاه داده ها
فهرست جلسات
4

اهداف این درس
در این درس به بخشی از مفاهیم مبنایی دانش و تکنولوژی پایگاه داده ها و اصول مدلسازی و طراحی آن پرداخته می شود. پایگاه داده و عناصر اصلی محیط آن معرفی می شود. با مدلسازی معنایی داده ها و محیط انتزاعی آشنا می شویم. سطوح معماریهای پایگاه داده ها بیان می شود. سیستم مدیریت پایگاه داده ها (DBMS) و اجزاء آن شرح داده می شود. به انواع معماریهای سیستم پایگاهی و مفاهیم اساسی مدل رابطه ای پرداخته می شود. با زبان SQL به عنوان یک زبان رابطه ای و همچنین با دیدهای رابطه ای آشنا می شویم و در نهایت طراحی پایگاه داده ها به روش بالا به پایین، سنتز و طراحی فیزیکی را خواهیم دید.
5

جلسه اول
مفاهیم پایگاه داده ها
6

1- سیستم ذخیره و بازیابی اطلاعات در معنای عام
2- رده های تکنولوژیکی سیستم مدیریت پایگاه داده ها
3- داده
4- تعریف اطلاع
5- تعریف دانش
6- تعریف پایگاه داده ها
آنچه در این جلسه می خوانید:
7

7- مراحل کلی کار در مشی فایلینگ
8- معایب مشی فایلینگ
9- مراحل کلی کار در مشی پایگاهی
10- عناصر محیط پایگاه داده ها
11- انواع سخت افزارهای محیط پایگاه داده
12- انواع نرم افزارهای موجود در محیط پایگاه داده ها
آنچه در این جلسه می خوانید:
8

هدفهای کلی: مقدمه و آشنایی با مفاهیم پایگاه داده ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
داده، اطلاع، شناخت، سیستم ذخیره و بازیابی و پایگاه داده ها را تعریف کند.
رده های تکنولوژیکی پایگاه داده را بیان کند.
رهیافتهای ایجاد یک سیستم کاربردی را ارائه کند.
9

اصطلاح پایگاه داده ها یکی از رایج ترین اصطلاحات در دانش و فن کامپیوتر است
در این درس دانشجویان تنها با بخشی از مفاهیم بنیادی دانش وفن پایگاه داده ها آشنا شده، آگاهی پایه ای لازم را برای مطالعه بیشتر و یا کار در این زمینه کسب می کنند.
10

سیستم مدیریت پایگاه داده ها یکی از سیستم های ذخیره و بازیابی اطلاعات است.
11

سیستم ذخیره و بازیابی اطلاعات در معنای عام:
هر سیستمی که به کاربر برنامه ساز یا نابرنامه ساز امکان دهد تا اطلاعات خود را ذخیره، بازیابی و پردازش کند.
12

رده های تکنولوژیکی سیستم مدیریت پایگاه داده ها
6- سیستم هوشمند مدیریت پایگاه داده ها
4- سیستم مدیریت پایگاه شناخت
5- سیستم مدیریت پایگاه داده های شیئ گرا
7- سیستم معنایی مدیریت پایگاه داده ها
3- سیستم مدیریت پایگاه داده ها
2- سیستم مدیریت داده ها
1- سیستم فایلینگ
ادامه
9- سیستم مدیریت پایگاه داده های نیم ساختمند و ناساختمند
8- سیستم مدیریت پایگاه داده های زمانبند
13

10- سیستم مدیریت پایگاه داده های بی درنگ
11- سیستم داده کاوی و کشف شناخت
12- سیستم مدیریت چند پایگاهی
13- سیستم اطلاعات اجرائی
14- سیستم فعال مدیریت پایگاه داده ها
15- سیستم مدیریت پایگاه داده های شیئ-رابطه ای
رده های تکنولوژیکی سیستم مدیریت پایگاه داده ها
14

داده
تعریف اول- نمایش ذخیره شده اشیاء فیزیکی، چیزهای مجرد، بوده ها، رویدادها یا چیزهای قابل مشاهده که در تصمیم سازی بکار می آیند.
15

داده
تعریف دوم- هر مجموعه ای از بوده ها
16

تعریف سوم- بوده های خام که معنای اندکی دارند مگر اینکه به صورت منطقی سازمان دهی شده باشند
داده
17

تعریف داده از دیدگاه ANSI
نمایش بوده ها، پدیده ها، مفاهیم یا شناخته ها به طرزی صوری و مناسب برای برقراری ارتباط، تفسیر یا پردازش توسط انسان یا هر امکان خودکار
هر نمایشی اعم از کاراکتری یا کمیتهای قیاسی که معنایی به آن قابل انتساب باشد.
18

تعریف اطلاع
اطلاع به داده ای اطلاق می شود که توسط یک فرد یا سازمان برای تصمیم گیری بکار می رود
اطلاع عبارت است از داده سازمان یافته ای که شناختی را منتقل می کند
اطلاع، داده پردازش شده است.
19

تعریف دانش
دانش عبارتست از نمایش نمادین جنبه هایی از بخشی از خرد جهان واقع
20

تعریف پایگاه داده ها
مجموعه ای است از داده های ذخیره شده و پایا، به صورت مجتمع(یکپارچه) (نه لزوما فیزیکی، بلکه حداقل به طور منطقی)، بهم مرتبط، با کمترین افزونگی، تحت مدیریت یک سیستم کنترل متمرکز، مورد استفاده یک یا چند کاربر از یک یا بیش از یک ”سیستم کاربردی“، به طور همزمان و اشتراکی
21

برای ایجاد یک سیستم کاربردی دو رهیافت وجود دارد:
1- رهیافت سنتی یا مشی فایلینگ
2- رهیافت (مشی) پایگاهی
22

FILES
FILES
FILES
برنامه های ایجاد،
کنترل و
پردازش فایلها
U
F
I
FS
یا
DMS
FS
یا
DMS
FS
یا
DMS
OS
OS
OS
برنامه های ایجاد،
کنترل و
پردازش فایلها
U
F
I
برنامه های ایجاد،
کنترل و
پردازش فایلها
U
F
I
محیط
ذخیره سازی اطلاعات
خاص اداره
ثبت نام: U1
محیط
ذخیره سازی اطلاعات
خاص اداره
فارغ التحصیلان: U2
محیط
ذخیره سازی اطلاعات
خاص اداره
امور رفاهی: U3
محیط فیزیکی
ذخیره و بازیابی اطلاعات
محیط فایلینگ
منطقی و یا مجازی
برنامه ساز
نابرنامه ساز
کاربران
U3
U1
U2
اداره امور آموزش
اداره امور فارغ التحصیلان
اداره امور رفاهی دانشجویان
نمایش ساده شده مشی فایلینگ
23

مراحل کلی کار در مشی فایلینگ
– تحلیل و بررسی نیازهای اطلاعاتی و پردازشی هر قسمت به طور جداگانه
– اجرای مراحل کلاسیک اولیه لازم برای طراحی و تولید یک سیستم کاربردی
– طراحی تعدادی فایل
– تعیین مشخصات هر سیستم و وظایف آن
– نوشتن مجموعه ای از برنامه های ایجاد، کنترل و پردازش فایل
ادامه
24

– استفاده از یک پیکربندی سخت افزاری و نرم افزاری مشخص
– ایجاد یک سیستم کاربردی برای هر قسمت و برپایی محیط فیزیکی ذخیره و بازیابی اطلاعات و سیستم بهره برداری از آن خاص همان قسمت.
– انجام تستهای لازم و تنظیم سیستم کاربردی
مراحل کلی کار در مشی فایلینگ
25

معایب مشی فایلینگ
1- عدم وجود محیط مجتمع ذخیره سازی اطلاعات و عدم وجود سیستم یکپارچه
2- عدم وجود سیستم کنترل متمرکز روی کل داده ها
3- افزونگی
4- عدم وجود ضوابط ایمنی کارا و مطمئن
5- خطر بروز پدیده ناسازگاری داده ها
ادامه
26

6- عدم امکان اشتراکی شدن داده ها
7- مصرف نابهینه امکانات سخت افزاری و نرم افزاری
9- وابستگی برنامه های کاربردی به محیط ذخیره سازی داده ها
8- حجم زیاد برنامه سازی
معایب مشی فایلینگ
27

فایلهای ذخیره شده
بهم مرتبط
(FILES)
تیم پیاده ساز
پایگاه داده ها
F
S
D
B
M
S
OS
تعریف و کنترل داده ها به طور
جامع و برنامه های عملیات در داده ها
تعریف داده ها
و برنامه های عملیات در
داده ها (AP1)
تعریف داده ها و
برنامه های عملیات در
داده ها (AP2)
تعریف داده ها و
برنامه های عملیات
در داده ها (AP3)
U
F
I
تیم بهره بردار
نابرنامه ساز
U
F
I
U
F
I
برنامه ساز
کاربران
محیط فرافایلی
کثرت و تنوع دیدها نسبت به
داده های ذخیره شده
محیط واحد، مجتمع و
اشتراکی ذخیره سازی
نمایش ساده شده مشی پایگاهی
28

– بررسی و تحلیل نیازهای پردازشی و اطلاعاتی همه قسمتها توسط یک گروه
مراحل کلی کار در مشی پایگاهی
– مدلسازی معنایی داده ها
– تعیین مشخصات جامع (یکپارچه) کاربردی و وظایف آن
– استفاده از یک یا چند DBMS
– طراحی پایگاه داده ها در سطوح لازم
ادامه
– انتخاب یک یا چند پیکربندی سخت افزاری-نرم افزاری
29

– تعریف پایگاه داده هر قسمت توسط کاربر مربوطه
– طراحی برنامه های عملیات در پایگاه داده
– بهره برداری واقعی از سیستم پس از تستهای لازم
مراحل کلی کار در مشی پایگاهی
– طراحی و تولید واسطهای کاربرپسند مورد نیاز
– ایجاد محیط واحد و مجتمع ذخیره سازی و مشترک بین کاربران
– تولید مجموعه ای از برنامه های ایجاد و کنترل پایگاه داده
30

پایگاه داده ها
سیستم
مدیریت
پایگاه
داده ها
داده های ذخیره شده:
مجموعه ای از فایلها
سیستم عامل
کاربران
یکجا
پیوسته (برخط)
سخت افزار ذخیره سازی
عناصر محیط پایگاه داده ها
1- سخت افزار 2- نرم افزار 3- کاربر 4- داده
31

انواع سخت افزارهای محیط پایگاه داده
1- سخت افزار ذخیره سازی داده ها
2- سخت افزار پردازشگر
3- سخت افزار همرسانش (ارتباط)
32

انواع نرم افزارهای موجود در محیط پایگاه داده ها
1- سیستم مدیریت پایگاه داده ها (DBMS)
2- برنامه های کاربردی قابل اجرا در محیط DBMS
3- رویه های ذخیره شده
4- نرم افزار شبکه
33

جلسه دوم
مدلسازی معنایی داده ها
34

1- مدلسازی معنایی داده ها
2- انواع روشهای مدلسازی معنایی داده ها
3- سه مفهوم معنایی موجود در روش ER
4- تعریف موجودیت
5- سه ضابطه در رابطه با تشخیص یک نوع موجودیت
6- موجودیت مستقل و وابسته
7- تعریف صفت
آنچه در این جلسه می خوانید:
35

8- انواع صفت و تعاریف هریک
9- ارتباط
10- خصوصیات نوع ارتباط
11- نمودار ER
12- نمادهای رسم نمودار ER
13- وضع مشارکت در ارتباط
14- درجه آن ارتباط
15- چندی یا ماهیت نوع ارتباط
آنچه در این جلسه می خوانید:
36

هدفهای کلی: آشنایی با مدلسازی معنایی داده ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
مدلسازی معنایی پایگاه داده ها و انواع آن را بیان کند.
روش مدلسازی ER و مفاهیم آن را تشریح کند.
نمودار ER و نمادهای آن را رسم کند.
37

مدلسازی معنایی داده ها
داده های ذخیره شدنی در پایگاه داده ها ابتدا باید در بالاترین سطح انتزاع مدلسازی معنایی شوند.
38

انواع روشهای مدلسازی معنایی داده ها
روش موجودیت- ارتباط (ER)
روش زبان عمومی مدلسازی (UML)
روش تکنیک مدلسازی شیئی (OMT)
39

سه مفهوم معنایی موجود در روش ER
نوع موجودیت
صفت
ارتباط
40

تعریف موجودیت
مفهوم کلی شیئ، چیز، پدیده و به طور کلی هر آنچه که می خواهیم در موردش اطلاع داشته باشیم و شناخت خود را در موردش افزایش دهیم.
41

سه ضابطه در رابطه با تشخیص یک نوع موجودیت
1- معمولا نمونه هایی متمایز از یکدیگر دارند.
2- معمولا بیش از یک صفت دارد و کاربر به مجموعه ای از اطلاعات در مورد آن نیاز دارد.
3- معمولا حالت کنشگری (فاعلیت) یا حالت کنشپذیری (مفعولیت) دارد.
42

موجودیت مستقل و وابسته
موجودیت مستقل (قوی)، موجودیتی است که مستقل از هر موجودیت دیگر و به خودی خود، در یک محیط مشخص مطرح باشد.
موجودیت وابسته (ضعیف)، موجودیتی است که وجودش وابسته به یک نوع موجودیت دیگر است.
43

تعریف صفت
خصیصه یا ویژگی یک نوع موجودیت است و هر نوع موجودیت مجموعه ای از صفات دارد. هر صفت یک نام، یک نوع و یک معنای مشخص دارد.
44

انواع صفت
ساده یا مرکب
تک مقداری یا چندمقداری
شناسه یا ناشناسه موجودیت
هیچ مقدارپذیر یا ناپذیر
ذخیره شده یا مشتق
45

مقدار صفت ساده از لحاظ معنایی تجزیه نشدنی یا اتومیک است.
صفت مرکب از چند صفت ساده تشکیل شده است.
46

صفت تک مقداری، صفتی است که برای یک نمونه از یک نوع موجودیت حداکثر یک مقدار از دامنه مقادیر را می گیرد
صفت چندمقداری بیش از یک مقدار از دامنه مقادیر می گیرد.
47

صفت شناسه موجودیت که گاه به آن
کلید هم گفته می شود، دو ویژگی دارد:
1- یکتایی مقدار دارد.
2- حتی الامکان طول مقادیرش کوتاه است.
48

صفت هیچ مقدارپذیر
هیچ مقدار یعنی مقدار ناشناخته، مقدار غیرقابل اعمال، مقدار تعریف نشده.
اگر مقدار یک صفت در یک یا بیش از یک نمونه از یک نوع موجودیت، برابر با هیچ مقادر باشد، آن صفت هیچ مقدارپذیر است.
49

صفت ذخیره شده و مشتق
صفت ذخیره شده صفتی است که مقادیرش در پایگاه داده ها ذخیره شده باشد.
صفت مشتق، صفتی است که مقادیرش در پایگاه داده ها ذخیره نشده باشد، بلکه حاصل یک پردازش روی فقره هایی از داده های ذخیره شده باشد.
50

ارتباط
تعریف- اندرکنش (تعامل) بین دو یا بیش از دو نوع موجودیت است و ماهیتا نوعی بستگی بین انواع موجودیتهاست
51

خصوصیات نوع ارتباط
1- هر ارتباط یک نام دارد
2- هر ارتباط یک معنای مشخص دارد و این معنا با معنای هر ارتباط دیگر متفاوت است.
3- هر ارتباط نمونه هایی دارد.
52

نمودار ER
نموداری است که سه مفهوم اساسی مدل ER، یعنی نوع موجودیت، صفت و ارتباط نمایش داده می شوند
53

نمادهای رسم نمودار ER
نوع موجودیت
نوع موجودیت ضعیف
نوع ارتباط
نوع ارتباط با موجودیت ضعیف
مشارکت نوع موجودیت در نوع ارتباط
54

مشارکت الزامی
صفت
صفت شناسه اول
صفت شناسه دوم
صفت شناسه مرکب
صفت چندمقداری
نمادهای رسم نمودار ER
55

E1
R
E2
E2
E1
صفت مرکب
صفت مشتق
چندی ارتباط
ارتباط ”گونه ای است از“
1
1
N
N
1
M
1 به N
1 به 1
M به N
نمادهای رسم نمودار ER
56

وضع مشارکت در ارتباط
مشارکت یک نوع موجودیت در یک نوع ارتباط را الزامی گویند، اگر تمام نمونه های آن نوع موجودیت در آن نوع ارتباط شرکت کنند. در غیر این صورت مشارکت غیرالزامی است.
دانشجو
انتخاب
درس
نمایش مشارکت الزامی
57

تعداد شرکت کنندگان در یک ارتباط را درجه آن ارتباط می گویند.
استاد
درس
دانشجو
ترم
نمره
سال آموزشی
انتخاب
ارتباط بین سه موجودیت
58

چندی یا ماهیت نوع ارتباط عبارتست از چگونگی تناظر بین دو مجموعه نمونه های آن دو نوع موجودیت.
انواع چندی ارتباط:
یک به یک 1:1
یک به چند 1:N
چند به چند N:M
59

درس
دانشجو
ترم
نمره
انتخاب
N
M
حذف
سال آموزشی
N
1
نمایش چندی ارتباط
60

جلسه سوم
محدودیتهای روش ER
61

1- مشکلات روش ER (سه نوع دام)
2- تجزیه و ترکیب
3- تخصیص و تعمیم
4- تجمع
5- وراثت صفت
6- دسته بندی
7- مراحل مدلسازی معنایی داده ها
8- روش مدلسازی UML
9- نمادها
10- خصوصیات کلی روش مدلسازی معنایی داده ها
آنچه در این جلسه می خوانید:
62

هدفهای کلی: مشکلات و محدودیتهای روش ER
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
مشکلات روش ER (انواع دامها) را تشریح کند.
محدودیتهای روش ER را که در روش EER برطرف شدند، بیان کند.
مراحل مدلسازی معنایی داده ها را توصیف کند.
مدلسازی UML و نمادهای به کار رفته در آن را شرح دهد.
خصوصیات کلی مدلسازی معنایی داده ها را بیان کند.
63

مشکلات روش ER
هنگامی ایجاد می شود که با داشتن مثلا سه ارتباط دو موجودیتی، وجود یک ارتباط سه موجودیتی را نتیجه بگیریم در وضعی که این استنتاج درست نباشد
1- دام حلقه ای
64

این نوع دام وقتی ایجاد می شود که بین یک نوع موجودیت E و هریک از دیگر انواع موجودیت F، G و … ارتباط 1:N با مشارکت الزامی وجود داشته باشد، ولی ارتباط بین مثلا F و G، در مدلسازی دیده نشده باشد.
مشکلات روش ER
2- دام چندشاخه (چتری)
65

هنگامی ایجاد می شود که بین دو نوع موجودیت E و F، یک ارتباط باچندی 1:N و مشارکت الزامی وجود داشته باشد، ولی F خود با نوع موجودیت G، ارتباط 1:N با مشارکت غیرالزامی داشته باشد. به دلیل غیر الزامی بودن ارتباط بین F و G، نمی توان همه اطلاعات دوموجودیتی در مورد ارتباط بین نمونه های دو نوع موجودیت E و G را بدست آورد
مشکلات روش ER
3- دام شکاف
66

محدودیتهای روش ER که در روش EER برطرف گردیدند:
تجزیه
تعمیم
ترکیب
تخصیص
تجمع
وراثت صفت
67

تجزیه
تجزیه یا جداسازی یعنی یک شیئ کل را به اجزاء تشکیل دهنده آن تقسیم کنیم. شیئ کل صفات، ساختار و رفتار خود را دارد و هریک از اجزاء نیز صفات، ساختار و رفتار خاص خود را دارند. شیئ کل شامل اجزاء خود است و بین شیئ کل و اجزایش، ارتباط شمول وجود دارد. به این نوع ارتباط در EER، ارتباط ”جزئی است از …“ گفته می شود.
68

ترکیب
ترکیب، عکس عمل تجزیه است و در این عمل، با داشتن
Ei(i=1 , 2 , …) یک نوع موجودیت E را بازشناسی می کنیم
به نحوی که Eiها اجزاء تشکیل دهنده آن باشند
69

Mother Board
Monitor
RAM
Hard
COMPUTER
. . .
. . .
. . .
مثال تجزیه و ترکیب
70

تخصیص
تخصیص عبارتست از مشخص کردن گونه های خاص یک شیئ براساس یک یا چند ضابطه مشخص، مثلا اگر شیئ موجود زنده را درنظر بگیریم، سه گونه خاص آن عبارتند از: انسان، حیوان و نبات. در روش EER هر یک نوع موجودیت می تواند خود زیرنوع موجودیتهایی داشته باشد. بین هر زیرنوع و زبرنوع ارتباط ”گونه ای است از …“ وجود دارد.
71

تعمیم
تعمیم، عکس عمل تخصیص است، به این معنا که با داشتن زیرنوعهای خاص، صفات مشترک بین آنها را در یک مجموعه صفات برای یک زبرنوع موجودیت درنظر می گیریم
72

دانشجو
دانشجوی دوره
دکترا
دانشجوی دوره
کارشناسی
دانشجوی دوره
کارشناسی ارشد
نام و نام
خانوادگی
شماره
زیرنوعها
زبرنوع
مثال تخصیص و تعمیم
. . .
. . .
. . .
. . .
صفات خاص
صفات خاص
صفات خاص
صفات مشترک
.
.
.

73

وراثت چندگانه
یک زیرنوع موجودیت، می تواند در عین حال زیرنوع یک زبرنوع موجودیت دیگر هم باشد. با این ترتیب می توان مفهوم وراثت چندگانه را در روش EER نمایش داد.
74

دانشجو
مثال وراثت چندگانه
دانشجوی دوره شبانه
دانشجوی دوره روزانه
دانشجوی دوره کارشناسی
دانشجوی دوره کارشناسی ارشد
75

دسته بندی
یک زیرنوع می تواند زیرنوع بیش از یک زبرنوع باشد. ممکن است زبرنوعهای این زیرنوع، از یک نوع نباشند. به این زیرنوع اصطلاحا دسته (طبقه) گویند. برای نمایش دسته، از نماد U استفاده می شود.
76

E1ID
E2ID
U
E1
E2
E3
دسته بندی
77

تجمع
تجمع عبارتست از ساختن یک نوع موجودیت جدید با دیدن دو یا بیش از دو نوع موجودیت، که خود باهم در یک ارتباط شرکت دارند، به صورت یک نوع موجودیت واحد. در واقع مجموعه ای از موجودیتهای مرتبط را باهم مجتمع کرده و به عنوان یک نوع موجودیت واحد، درنظر می گیریم و این نوع موجودیت واحد خود می تواند با نوع موجودیت دیگری ارتباط داشته باشد.
78

نمایش تجمع
79

مراحل مدلسازی معنایی داده ها
1- مطالعه، تحلیل و شناخت محیط
2- برآورد خواسته ها و نیازهای اطلاعاتی و پردازشی همه کاربران و تشخیص محدودیتهای معنایی
3- بازشناسی انواع موجودیتهای مطرح و تعیین وضع هریک
4- تعیین مجموعه صفات هر نوع موجودیت
ادامه
80

5- بازشناسی انواع ارتباطات بین انواع موجودیتها، تشخیص نوع مشارکت و چندی ارتباط
6- رسم نمودار ER
7- فهرست کردن پرسشهایی که پاسخ آنها از نمودار ER بدست می آید.
8- وارسی مدلسازی انجام شده تا اطمینان حاصل شود که مدلسازی پاسخگوی نیاز کاربران است.
مراحل مدلسازی معنایی داده ها
81

روش مدلسازی UML
در این روش از چند نمودار برای نمایش مدلسازی و طراحی نرم افزار استفاده می شود
مفاهیم اصلی در این مدلسازی:
رده
صفت
بستگی
82

83

نمادها
رده با یک مربع یا مستطیل نشان داده می شود وبه شکل زیر به سه قسمت تقسیم می شود:
نام رده
پردازشها
نام صفات
84

بستگی بین دو رده، به صورت یک خط متصل کننده دو رده نمایش داده می شود و نام ارتباط روی خط نوشته می شود.
شیئ کل
شیئ جزء
تجمع به صورت زیر نشان داده می شود:
نمادها
85

چندی بستگی به صورت min…max نوشته می شود. اگر به جای max علامت ستاره باشد، به این معنا است که مقدار max محدودیت ندارد.
صفت چندمقداری به صورت یک رده جداگانه نشان داده می شود، ولی فاقد قسمت مربوط به پردازش است.
86

نام میدان بعد از نام صفت نوشته می شود و بین این دو نام علامت : گذاشته می شود.
صفت پیوندی در یک مربع (مستطیل) نوشته می شود و این مربع با خط چین به خط نشان دهنده بستگی متصل می شود. نام پیوند و نام صفات پیوند در دو قسمت از این مربع گذاشته می شود.
87

پردازشها
نام صفت
نام رده
پردازشها
نام صفت
نام رده
نام بستگی
نام صفات
Min…max نام بستگی min…max
نمایش صفت پیوند در UML
88

خصوصیات کلی روش مدلسازی معنایی داده ها
گویایی
صوری بودن
سادگی مفاهیم
قابلیت نمایش نموداری
ایجاز
جامع بودن مفاهیم
قابلیت نمایش ساختار، حالت و رفتار نوع موجودیت
گسترش پذیری
89

جلسه چهارم
پایگاه داده در محیط انتزاعی
90

1- پایگاه داده ها در محیط انتزاعی
2- سطوح محیط انتزاعی
3- گونه های موجود ساختار داده ای
4- مفهوم ساختار داده ای در سطوح مختلف پایگاه داده ها
5- ساختار داده ای رابطه ای
6- شمای پایگاه جدولی
7- عملیات در پایگاه جدولی
آنچه در این جلسه می خوانید:
91

8- عملگرهای جبر رابطه ای
9- برخی ویژگیهای ساختار داده ای جدولی
10- ساختار داده ای سلسله مراتبی
11- برخی ویژگیهای ساختار داده ای سلسله مراتبی
12- ساختار داده ای شبکه ای
13- مجموعه کوداسیل
14- برخی ویژگیهای ساختار داده ای شبکه ای
آنچه در این جلسه می خوانید:
92

هدفهای کلی: آشنایی با پایگاه داده در محیط انتزاعی
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
پایگاه داده در محیط انتزاعی و سطوح این محیط را بیان کند.
ساختار داده ای رابطه ای و ویژگیهای آن را بیان کند.
ساختار داده ای شبکه ای و ویژگیهای آن را بیان کند.
ساختار داده ای سلسله مراتبی و ویژگیهای آن را بیان کند.
93

پایگاه داده ها در محیط انتزاعی
در مقوله پایگاه داده ها وقتی از محیط انتزاعی سخن می گوییم، منظور محیطی است فراتر از محیط فایلینگ منطقی و فایلینگ فیزیکی. مفاهیمی که در این محیط مطرح می شوند باید از جنبه های فایلینگ پایگاه مستقل و ماهیتا انتزاعی باشند.
94

خرد جهان واقع
مدل معنایی پایگاه داده ها
طرح منطقی پایگاه داده ها در:

سطح خارجی
سطح ادراکی
بالاترین سطح انتزاع
سطوح انتزاعی در
پایگاه داده ها
محیط انتزاعی
سطوح محیط انتزاعی
95

پایگاه داده ها در محیط انتزاعی، گردایه ای است از نمونه های متمایز عنصر (عناصر) ساختاری اساسی یک ساختار داده ای مشخص.
ساختار داده ای امکانی است برای نشان دادن داده های در مورد انواع موجودیت ها و انواع ارتباطات بین آنها
هر ساختار داده ای حداقل یک عنصر ساختاری اساسی دارد.
96

گونه های موجود ساختار داده ای
– ساختار داده ای شبکه ای
– ساختار داده ای سلسله مراتبی
– ساختار داده ای رابطه ای
– ساختار داده ای جعبه ای
– ساختار داده ای هایپرگرافی
– ساختار داده ای لیستهای وارون
97

I/P.DS
ساختار داده ای
داخلی/فیزیکی
ساختار داده ای ادراکی
ساختار داده ای خارجی
C.DS
E.DS
مفهوم ساختار داده ای در سطوح مختلف پایگاه داده ها
98

ساختار داده ای رابطه ای
رابطه مفهومی ریاضی است. اما از دید کاربر، رابطه نمایشی جدولی دارد.
مفاهیم ساختار جدولی عبارتند از:
جدول
سطر
ستون
عنصر ساختاری اساسی در این ساختار داده ای، جدول است.
99

شمای پایگاه جدولی
شمای پایگاه داده ها عبارتست از تعریف (توصیف) ساختهای انتزاعی طراحی شده و نوعی برنامه است شامل دستورات تعریف داده ها و کنترل داده ها، و دستورات عملیات در داده ها در آن وجود ندارد.
100

عملیات در پایگاه جدولی
بازیابی (SELECT)
بهنگام سازی (UPDATE)
حذف (DELETE)
درج (INSERT)
101

مثال درج یک نمونه دانشجو
INSERT
INTO STT
VALUES(‘7413673’,’AHMADI’,’bs’,’Comp’,’D222’)
مثال حذف یک نمونه درس
DELETE
FROM COT
WHERE COID=‘COM777’
102

مثال حذف چند سطر
DELETE
FROM STT
WHERE STDEG=‘ms’
با این دستور مشخصات دانشجویان دوره کارشناسی ارشد از جدول STT حذف می شود
مثال بهنگام سازی تک سطر
UPDATE COT
SET COID=‘Com303’
WHERE COID=‘Com202’;
با این دستور شماره درس Com202 عوض می شود.
103

مثال بهنگام سازی چند سطر
UPDATE COT
SET CREDIT=‘1’
WHERE COTYPE=‘Lab’;
با این دستور، تعداد واحد تمام درسهای آزمایشگاهی، یک می شود.
مثال بازیابی
SELECT DOID
FROM STCOT
WHERE STID=‘76140444’
با این دستورشماره درسهای یک دانشجو بازیابی می شود.
104

عملگرهای جبر رابطه ای که برای بازیابی از محیط جدولی بکار می روند:
1- عملگر گزینش (تحدید) RESTRICT: زیرمجموعه ای افقی (تعدادی سطر) را بازیابی می کند.

2- عملگر پرتو PROJECT: زیرمجموعه ای عمودی (تعدادی ستون) را بازیابی می کند.

3- عملگر پیوند JOIN: دو جدول را بهم پیوند می زند، یعنی سطرهایی که شرایط مورد نظر را داشته باشند، با یکدیگر پیوند می شوند.
105

برخی ویژگیهای ساختار داده ای جدولی
1- از نظر کاربر نمایش ساده ای دارد.

2- محیطش مسطح است.

3- عنصر ساختاری اساسی آن جدول است.

4- همه چیز با فقره داده های ساده نمایش داده می شود.

5- ارتباطات با چندیهای مختلف در آن قابل نمایش است.

6- منطق بازیابی آن ساده است.

7- ساختار منطقی دستور بازیابی آن ساده است.

8- برای پرسشهای قرینه، رویه پاسخگوی قرینه دارد.

9- مبنای تئوریک قوی دارد.
106

ساختار داده ای سلسله مراتبی
عناصر ساختاری اساسی
1- نوع رکورد 2- نوع پیوند پدر- فرزندی
N
T
Y
V
U
P
M
نوع رکورد برای نمایش نوع موجودیت به کار می رود.
ارتباط بین دو نوع موجودیت به وسیله پیوند پدر–فرزندی نمایش داده می شود.
107

برخی ویژگیهای ساختار داده ای سلسله مراتبی
1- سادگی نمایش ساختار جدولی را ندارد.
2- مبنای ریاضی ندارد.
3- دو عنصر ساختاری اساسی دارد.
4- ارتباط یک به چند را نمایش می دهد.
5- نمایش ارتباط چند به چند در آن دشوار است.
6- ساخت منطقی رویه بازیابی آن به سادگی منطق رویه بازیابی در ساختار جدولی نیست.
ادامه
108

7- در عملیات ذخیره سازی مشکلاتی دارد.
8- تقارن ساختار جدولی را ندارد.
9- تعدادی قاعده جامعیت ذاتی دارد.
10- در مواقعی که در ذخیره سازی نمونه های فرزند، افزونگی پدید آید، پایگاه در معرض ناسازگاری قرار می گیرد.
برخی ویژگیهای ساختار داده ای سلسله مراتبی
109

ساختار داده ای شبکه ای
عناصر ساختاری اساسی
1- نوع رکورد 2- نوع مجموعه
نوع رکورد برای نمایش نوع موجودیت به کار می رود.
نوع مجموعه برای نمایش ارتباط 1:N بین دو (چند) نوع موجودیت به کار می رود.
A
B
C
E
G
F
H
D
110

نوع مجموعه (مجموعه کوداسیل) از سه جزء تشکیل شده است:
1- نام مجموعه
2- یک نوع رکورد مالک
3- یک نوع رکورد عضو
111

DEID
STID
E-TERM
…..
…..
DEPT
STID
مالک
عضو
یک نوع مجموعه کوداسیل
112

برخی ویژگیهای ساختار داده ای شبکه ای
1- سادگی ظاهری ساختار داده ای جدولی را ندارد.
2- مبنای ریاضی ندارد.
3- دو عنصر ساختاری اساسی دارد.
4- ماهیتا خاص نمایش ارتباطات ”یک به چند“ نیست.
5- ساخت منطقی دستور بازیابی آن پیچیده تر از ساختارهای دیگر است.
ادامه
113

6- مثل ساختار داده ای جدولی تقارن دارد.
7- خطر بروز ناسازگاری داده ها نسبت به ساختار سلسله مراتبی، کمتر است.
8- قواعد جامعیت ذاتی دارد.
9- به علت حجم زیاد اشاره گرها، ایجاد یا اصلاح آنها می تواند سبب بروز فزونکاری در سیستم شود.
10- بعضی آنومالیهای مدل سلسله مراتبی در عملیات ذخیره سازی را ندارد.
برخی ویژگیهای ساختار داده ای شبکه ای
114

جلسه پنجم
معماری پایگاه داده ها
115

1- معماری پشنهادی ANSI
2- دید ادراکی (مفهومی)
3- دید خارجی
4- دید داخلی
5- سطوح معماری در محیط ناپایگاهی و محیط پایگاهی و نقش DBMS در ایجاد، مدیریت و پردازش فایلها
6- کاربر
7- زبان میزبان
آنچه در این جلسه می خوانید:
116

8- نقش افزایش تعداد زبانهای میزبان مورد پذیرش DBMS
9- زبان داده ای فرعی
10- دستورهای DSL برای سه سطح معماری پایگاه داده ها
11- تقسیم بندی زبان داده ای فرعی از نظر نیاز به زبان میزبان
12- روند کلی مرحله کامپایل برنامه دوزبانی
13- ویژگیهای زبان داده ای فرعی
آنچه در این جلسه می خوانید:
117

هدفهای کلی: آشنایی با معماری پایگاه داده ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
معماری پایگاه داده ها را تشریح کند.
دیدهای ادراکی، خارجی و داخلی را توضیح دهد.
سطوح معماری در محیط ناپایگاهی و پایگاهی را مقایسه کند.
کاربر، زبان میزبان، زبان داده ای فرعی و ویژگیهای آن را بیان نماید.
118

معماری پایگاه داده ها
معماری پشنهادی ANSI
کاربر 1
HL + DSL
کاربر 2
HL + DSL

دید خارجی 1
دید خارجی 1

کاربر i
HL + DSL

دید داخلی

دید ادراکی (مفهومی)
فایل 1
فایل 2
فایل K
دید خارجی j

OS
D
B
M
S
D
B
A

سطح خارجی
سطوح انتزاعی
سطح ادراکی
سطح داخلی
سطح فیزیکی
119

دید ادراکی (مفهومی)
1- دید طراح پایگاه داده ها نسبت به داده های ذخیره شده است.
2- جامع است.
3- در یک محیط انتزاعی مطرح است.
4- با عناصر ساختاری اساسی همان ساختار داده ای طراحی می شود.
5- شمای ادراکی نوعی برنامه است حاوی دستورات تعریف و کنترل داده ها. سطح ادراکی در واقع همین شمای ادراکی است.
6- شمای ادراکی به سیستم داده می شود و در کاتالوگ سیستم نگهداری می شود.
120

دید خارجی
1- دید کاربر خاص نسبت به داده های ذخیره شده در پایگاه داده است.
2- جزئی است.
3- در سطح انتزاعی مطرح است.
4- روی دید ادراکی طراحی و تعریف می شود.
5- شمای خارجی نوعی برنامه است حاوی دستورات تعریف و کنترل داده ها در سطح خارجی که توسط کاربر این سطح نوشته می شود.
ادامه
121

6- به تعریف مجموعه دیدهای خارجی کاربر، سطح خارجی گفته می شود.
7- هر کاربر می تواند تعدادی دید داشته باشد.
8- چند کاربر می توانند در یک دید مشترک باشند.
دید خارجی
122

دید داخلی
1- دید DBMS و طراح پایگاه داده ها است و در سطحی پایین تر از سطح ادراکی، نسبت به کل داده های ذخیره شده است.
2- در سطح فایلینگ منطقی مطرح است.
3- مبتنی بر یک ساختار فایل است که با نظر طراح پایگاه طراحی می شود و به طراحی، طراحی فیزیکی موسوم است.
4- در سطح داخلی پایگاه داده ها، فایلینگ منطقی تعریف می شود.
5- شمای داخلی نوعی برنامه است که توسط خود DBMS تولید می شود و شرح فایلینگ منطق پایگاه است.
123

شمای خارجی
شمای ادراکی
شمای داخلی: دستورات تعریف و کنترل فایلها

برنامه های پردازش فایلها
برنامه های تعریف، کنترل و
پردازش فایلها
FLIES
داده های ذخیره شده
در محیط فیزیکی

FILES
داده های ذخیره شده
در محیط فیزیکی
FS
AM
محیط پایگاهی
طراح و پیاده ساز پایگاه داده ها
سطوح انتزاعی
برنامه ساز فایل پرداز
DBMS
FS
AM
OS
DB
محیط ناپایگاهی
سطوح معماری در محیط ناپایگاهی و محیط پایگاهی و نقش DBMS در ایجاد، مدیریت و پردازش فایلها
124

کاربر
در معنای عام، هر استفاده کننده از پایگاه داده ها را کاربر گوییم.
کاربر
همیشگی: منظم
موردی: نامنظم
کاربر: پایانی
در اسلوب
پیوسته
ابزارساز
کاربردساز
سیستم ساز
(پیاده ساز)
جزء تیم
مدیریت پایگاه
جزء تیم اجرائی

برنامه ساز
نابرنامه ساز
در اسلوب
یکجا
کاربر فرمی
کاربر منویی
کاربر نقشه ای
کاربر فرمانی
کاربر پارامتری
کاربر گرافیکی
کاربر با زبان طبیعی
کاربر صوتی
QL
HL + QL
در اسلوب
تعاملی
125

زبان میزبان
یکی از زبانهای برنامه سازی متعارف مانند کوبول، PL1، فرترن، پاسکال، C و زبانهایی مثل ADA، LISP، JAVA و نیز زبان اسمبلی است.
126

تنوع کاربرد
تنوع کاربر
انعطاف پذیری بیشتر
کاهش هزینه سازمان
افزایش تعداد
زبانهای میزبان مورد پذیرش
DBMS
127

زبان داده ای فرعی
1- دستورات تعریف داده ها Data Definition Language (DDL)
2- دستورات عملیات روی داده ها Data Manipulation Language (DML)
3- دستورات کنترل داده ها Data Control Language (DCL)
شامل سه دسته دستور زیر است:
128

سطح خارجی
سطح ادراکی
سطح داخلی
DCL
DML
DLL
معماری
ANSI
DSL
دستورهای DSL برای سه سطح معماری پایگاه داده ها
129

تقسیم بندی زبان داده ای فرعی از نظر نیاز به زبان میزبان
مستقل (I.DSL): به زبان میزبان نیاز ندارد و به صورت تعاملی استفاده می شود. در واقع یک زبان پرس وجو است.
ادغام شدنی (E.DSL): دستورهایش در متن برنامه ای به زبان میزبان به کار می رود و مستقلا قابل استفاده نیست.
هم مستقل و هم ادغام شدنی (I/E.DSL)
130

دستورهای
HL و
دستورهای
DSL
دستورهای
DSL:
کامپایل شده
برنامه به
HL:
کامپایل شده
دستورهای DSL
دستورهای HL
پیش
کامپایلر
اجرا
کامپایلر
DSL
کامپایلر
HL
روند کلی مرحله کامپایل برنامه دوزبانی
131

ویژگیهای زبان داده ای فرعی
1- تعداد دستورهایش باید کم باشد.
2- دستورهایش باید شبه زبان طبیعی باشد.
3- یادگیری و استفاده آن باید ساده باشد.
4- در طراحی آن باید اصل وحدت دستور رعایت شود.
5- دستورهایش باید مبتنی بر عناصر ساختاری اساسی ساختار داده ای طراحی شوند.
ادامه
132

6- بهتر است نارویه ای (ناروشمند) باشند.
7- بهتر است کامپایلری باشد و نه مفسری.
8- بهتر است از نظر ساختاری کامل باشد.
9- بهتر است از نظر برنامه سازی و محاسباتی کامل باشد.
10- زبان باید از نظر تعداد دستورهای کنترل داده ها و عملکرد هردستور، غنی و قوی باشد.
11- باید از نظر انواع داده ای و به ویژه انواع داده ای انتزاعی و انواع داده ای پیچیده غنی باشد.
ویژگیهای زبان داده ای فرعی
133

جلسه ششم
سیستم مدیریت پایگاه داده ها
134

1- سیستم مدیریت پایگاه داده ها DBMS
2- DBMS به کاربر امکان می دهد تا
3- رده بندی سیستم های DBMS از نظرهای مختلف
4- اجزای DBMS از نمای بیرونی
5- نمای بیرونی (ساده شده) DBMS
6- اجزای DBMS از نمای درونی
7- واحدهای لایه هسته
8- واحدهای لایه مدیریت محیط پایگاه داده ها
9- ساختار یک سیستم پایگاهی
آنچه در این جلسه می خوانید:
135

هدفهای کلی: سیستم مدیریت پایگاه داده ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
سیستم مدیریت پایگاه داده ها را توصیف کند.
رده بندی DBMS را از دیدگاههای مختلف بیان کند.
اجزاء DBMS از نمای درونی و بیرونی را برشمارد.
واحدهای لایه هسته و مدیریت پایگاه داده را نام ببرد.
136

سیستم مدیریت پایگاه داده ها
DBMS
تعریف: یکی از انواع نرم افزارهای واسط بین محیط فیزیکی ذخیره و بازیابی اطلاعات و محیط منطقی برنامه سازی است.
137

DBMS به کاربر امکان می دهد تا:
1- پایگاه داده های خود را تعریف کند.
2- در پایگاه داده های خود عملیات انجام دهد.
3- روی پایگاه داده های خود تا حدی کنترل داشته باشد.
138

رده بندی سیستم های DBMS
از نظر نوع ساختار داده ای
سیستم رابطه ای
سیستم سلسله مراتبی
سیستم شبکه ای
جز اینها
139

از نظر محیط سخت افزاری
وابسته به یک محیط خاص
ناوابسته به یک محیط خاص
رده بندی سیستم های DBMS
140

از نظر رده کامپیوتر
خاص محیط کامپیوترهای شخصی
خاص محیط کامپیوترهای متوسط (Mini Computer)
خاص محیط کامپیوترهای بزرگ (Main Computer)
خاص محیط کامپیوترهای خیلی بزرگ (Super Computer)
اجراشونده درچند رده کامپیوتر
رده بندی سیستم های DBMS
141

از نظر محیط سیستم عامل
وابسته به یک سیستم عامل خاص
اجراشونده در محیط چند سیستم عامل
رده بندی سیستم های DBMS
از نظر نوع معماری سیستم پایگاه داده ها
با توانش ایجاد پایگاه متمرکز
با توانش ایجاد پایگاه نامتمرکز
142

از نظر معماری مشتری- خدمتگزار
با توانش ایجاد معماری چند مشتری – یک خدمتگزار
با توانش ایجاد معماری چند مشتری – چند خدمتگزار
رده بندی سیستم های DBMS
از نظر زبان
سیستم دارای SQL
سیستم فاقد SQL
143

از نظر نوع زبان داده ای فرعی
دارای I.DSL
دارای E.DSL
دارای E/I.DSL
رده بندی سیستم های DBMS
از نظر ماهیت زبان داده ای فرعی
با زبان رویه ای
با زبان نارویه ای
144

از نظر سیستم فایل
خودکفا
وابسته به سیستم فایل محیط سیستم عامل
رده بندی سیستم های DBMS
از نظر نوع کاربرد
تک منظوره
همه منظوره
145

از نظر قیمت
از حدود ده هزار دلار تا صد هزار دلار و گاه بیشتر
رده بندی سیستم های DBMS
از نظر طرز برپایی
با محدودیت برپایی یکپارچه
دارای امکان برپایی گزینشی
146

از نظر واسط کاربر
با واسط زبانی
با واسط غیر زبانی
با هر دو واسط
رده بندی سیستم های DBMS
147

از نظر رفتار در قبال رویدادها
سیستم فعال
سیستم غیر فعال
رده بندی سیستم های DBMS
از نظر متدولوژی زبان
بدون متدولوژی شیئ گرایی
دارای متدولوژی شیئ گرایی
148

از نظر بهینه سازی پرسش
دارای بهینه سازی متعارف
دارای بهینه سازی مبتنی بر قاعده، معنایی و …
رده بندی سیستم های DBMS
از نظر نوع تراکنش
پذیرنده تراکنشهای ساده
پذیرنده تراکنشهای با مدل پیشرفته
149

از نظر نوع پردازش
با قابلیت پردازش بی درنگ
فاقد این قابلیت
رده بندی سیستم های DBMS
از نظر رسانه ذخیره سازی پایگاه داده ها
با قابلیت ایجاد MMDB
فاقد این قابلیت
150

از نظر قابلیت تعامل بین سیستمها
فاقد این قابلیت
دارای قابلیت تعامل با سیستمهای همگن
دارای قابلیت تعامل با سیستمهای ناهمگن
رده بندی سیستم های DBMS
از نظر پردازش داده های زمانمند
فاقد جنبه های یک سیستم زمانی
سیستم مدیریت پایگاه داده های زمانی
151

اجزای DBMS از نمای بیرونی
واحد پردازشگر پرسش ها و برنامه های کاربردی
واحد ایجاد و مدیریت داد های ذخیره شده
152

برنامه های کاربردی/ پرسشها
واحد دستیابی به داده های ذخیره شده
واحد پردازشگر برنامه کاربردی و پرسشها
داده های
ذخیره شده
متا داده
کاربر
نمای بیرونی (ساده شده) DBMS
سیستم مدیریت پایگاه داده ها
DB
153

اجزای DBMS از نمای درونی
لایه هسته (سیستم کنترل یا موتور پایگاه داده ها)
لایه مدیریت محیط پایگاه داده ها
لایه تسهیلات نرم افزاری (ابزارها)
154

واحدهای لایه هسته
1- واحد دریافت درخواست کاربر و وارسی های اولیه
2- واحد تولید شماها
3- پیش کامپایلرها برای DML
4- کامپایلرها (پردازنده DML)
5- پردازشگر پرسش و بهینه ساز پرسش
6- واحد مدیریت سطح داخلی
ادامه
155

واحدهای لایه هسته
7- واحد مدیریت بافر
8- واحد مدیریت فضای دیسک
9- واحد ناظر زمان اجرا
10- واحد مدیریت همروندی تراکنش ها
11- واحد مدیریت انتقال داده ها
12- واحد مدیریت کاتالوگ
156

واحدهای لایه مدیریت محیط پایگاه داده ها
1- واحد کنترل جامعیت پایگاه داده ها
2- واحد ترمیم پایگاه داده ها
3- واحد ایمنی و حفاظت پایگاه داده ها
4- واحد تولید نسخه های پشتیبان
5- واحد تولید فایلهای ثبت تراکنشها
157

مدیر فضای دیسک
مدیر فایلینگ منطق
مدیر بافر
کامپایلر
DDL
مدیر
ترمیم
مدیر
تراکنشها
و
قفلها
. . . . . . .
. . . . . .
واحد پردازشگر پرسشها
فرمانهای زبان پایگاهی
UFI
CLI
واسط APها
واسط DML
DDL
شاخصها
داده های ذخیره شده
متاداده ها
فایل
ثبت
تراکنشها
واحد مدیریت داده های ذخیره شده
مدیر پایگاه داده ها
DBMS
کاربر نابرنامه ساز
کاربر موردی
برنامه ساز APها
ساختار یک سیستم پایگاهی
158

جلسه هفتم
DBMS در یک سیستم کامپیوتری
159

1- جایگاه DBMS در یک سیستم کامپیوتری
2- سه طرح کاربرد DBMS در برنامه های کاربردی
3- اسلوبهای عملیاتی
4- کاتالوگ سیستم و دیکشنری داده ها: متا داده ها
5- اطلاعاتی که در دیکشنری داده ها نگهداری می شود
6- دیکشنری داده ها و استفاده کنندگان آن
7- پارامترهای شناخت DBMS
8- مدیر پایگاه داده ها
آنچه در این جلسه می خوانید:
160

9- برخی مسئولیتهای در تیم مدیریت پایگاه داده ها
10- پنج سرمایه در مدیریت نوین سازمانها
11- مزایا و معایب تکنولوژی پایگاه داده ها
12- مزایا و معایب سیستم تک کاربری
13- مزایا و معایب سیستم چند کاربری
14- شرایط استفاده از تکنولوژی پایگاه داده ها
15- کاربردهای جدید تکنولوژی پایگاه داده ها
16- استقلال داده ای و انواع آن
آنچه در این جلسه می خوانید:
161

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

سخت افزار
جایگاه DBMS در یک سیستم کامپیوتری
برنامه های کاربردی
ابزارهای تولید برنامه های کاربردی
DBMS
سیستم عامل
163

درخواست کاربر
سیستم عامل
AP1
DBMS1
AM
DB1
DB2
یک DBMS برای هر برنامه کاربردی
. . . . .
. . . . . .
164

درخواست کاربر
سیستم عامل
AP1
DBMS1
AM
DB
یک DBMS برای چند برنامه کاربردی تحت کنترل سیستم عامل
. . . . .
. . . . . .
165

درخواست کاربر
سیستم عامل
AP1
DBMS1
AM
DB
یک DBMS برای چند برنامه کاربردی با اجرای تحت کنترل DBMS
. . . . .
. . . . . .
166

اسلوبهای عملیاتی
به طور کلی سه اسلوب عملیاتی وجود دارد:
اسلوب یکجا
اسلوب برخط
اسلوب تعاملی
167

کاتالوگ سیستم و دیکشنری داده ها: متا داده ها
حاوی داده هایی است در مورد داده های ذخیره شده در پایگاه داده های کاربر و این داده ها به متاداده ها موسومند
دیکشنری داده ها معمولا جزئی از خود سیستم است و به دو صورت فعال و غیرفعال تولید می شود.
168

اطلاعاتی که در دیکشنری داده ها نگهداری می شود:
شماهای خارجی
شمای ادراکی
شمای داخلی
رویه های مربوط به تبدیلات بین سه سطح معماری
شرح ساختار فیزیکی داده های ذخیره شده
مشخصات و حقوق دستیابی کاربران به داده ها
مشخصات برنامه های کاربردی تولید شده و ارتباط آنها با درخواستهای کاربران
مشخصات پایانه های متصل به سیستم
ادامه
169

ارتباط بین برنامه های کاربردی و داده های ذخیره شده
قواعد جامعیت
ضوابط کنترل ایمنی داده ها
مشخصات پیکربندی سخت افزاری سیستم و رسانه های ذخیره سازی
اطلاعات متنوع آماری پایگاه داده و کاربران
توابع تعریف شده توسط کاربران
اطلاعاتی که در دیکشنری داده ها نگهداری می شود:
170

دیکشنری داده ها
زیرسیستم جامعیت
پایگاه داده ها
برنامه کاربردی
مولد گزارش
زیرسیستم و
ترمیم پایگاه داده ها
بهینه ساز
پرس و جو
کامپایلر/
پیش کامپایلر
زیرسیستمهای ایمنی
و مجازشماری
تیم مدیریت پایگاه داده ها
برنامه سازان سیستمی
برنامه سازان کاربردی
کاربران پایانی
دیکشنری داده ها و استفاده کنندگان آن
171

پارامترهای شناخت DBMS
پارامترهای مربوط به توانش ها و کارایی سیستم
تسهیلات و جنبه های دیگر
مشخصات کلی سیستم
پارامترهای مربوط به معماری پایگاه داده ها
پارامترهای مربوط به زبان داده ای فرعی
172

مدیر پایگاه داده ها
فردی است متخصص در پایگاه داده ها و با مسئولیت علمی، فنی و نیز اداری در محدوده وظایفی که عهده دار است
این مدیر همراه با یک تیم تخصصی کار می کند که به آن تیم مدیریت پایگاه داده ها می گویند.
173

برخی مسئولیتهای در تیم مدیریت پایگاه داده ها
مدیر پایگاه داده ها
مدیر داده ها
مدیر امور پژوهش-توسعه
مدیر سیستمهای کاربردی
مسئول تیمهای برنامه سازی
مسئول کنترل کارایی DBMS
مسئول کنترل کارایی خود سیستم پایگاه داده ها
مسئول نظارت بر عملیات روی پایگاه داده ها
مسئول تماس با کاربران زیرمحیطهای سازمان
مسئول تنظیم مستندات و وضع استانده ها
174

در مدیریت نوین سازمانها، هر سازمان دارای پنج سرمایه است:
1- سخت افزار
2- نرم افزار
3- داده
4- بودجه
5- تخصص
175

مزایا و معایب تکنولوژی پایگاه داده ها
مزایای این تکنولوژی بستگی به نوع سیستم (DBMS) و معماری سیستم پایگاه داده ها و ماهیت کاربردها دارد.
176

سیستم تک کاربری
مزایا
1- هر بخش از سازمان، داده های خود را نگهداری و پردازش می کند.
2- با استفاده از کامپیوترهای شخصی، حجم داده های سیستم مرکزی کاهش می آید.
3- پایگاه داده های ایجادشده روی کامپیوترهای شخصی معمولا کوچک و مدلسازی، طراحی و پیاده سازی آنها ساده است.
4- کار با این سیستمها و برنامه سازی در محیط آنها ساده است.
5- با پیشرفت کامپیوترهای شخصی، این سیستمها می توانند بسیاری از کارهای سیستمهای کامپیوتری بزرگ را انجام دهند.
177

معایب
سیستم تک کاربری
1- وجود تعداد زیادی از این سیستمها در یک سازمان باعث بروز افزونگی، ناسازگاری داده ها و ناایمنی آنها می شود.
2- محودیتهای سخت افزاری سبب محدودیت اندازه فایلها و نیز محدودیت سرعت پردازش باعث محدود شدن حجم پایگاه داده ها می شود.
3- خود سیستم نمی تواند قوی و کارا باشد.
ادامه
178

4- میزان ایمنی و حفاظت در آنها ضعیف است.
5- امکانات تولید نسخه پشتیبان در آنها معمولا کم است.
6- اشتراکی کردن آنها مشکلات تکنیکی جدی دارد.
7- اعمال مجموعه واحدی از استانده ها در کل سازمان ناممکن است.
8- معمولا کاربر این محیط مهارت کافی در مدلسازی و طراحی بهینه پایگاه داده ها ندارد.
9- ایجاد یک سیستم جامع و یکپارچه، براساس این سیستمها، دشوار و پرهزینه است.
معایب
سیستم تک کاربری
179

سیستم چند کاربری
مزایا
1- اشتراک داده ها
2- کاهش افزونگی
3- تعدد شیوه های دستیابی به داده ها
4- اجتناب از ناسازگاری داده ها
5- تامین همروندی بهتر
6- تسهیل پردازش تراکنشها
7- تضمین جامعیت داده ها
ادامه
180

8- حفظ محرمانگی داده ها
9- امکان اعمال استانده ها
10- تعدد زبانها
11- کاهش حجم برنامه ها
12- تنوع کاربران
13- تسریع در دریافت پاسخ پرسشها
14- استفاده بهتر از سخت افزار و …
سیستم چند کاربری
مزایا
181

سیستم چند کاربری
معایب
1- هزینه بالای نرم افزار و سخت افزار
2- هزینه بیشتر برای برنامه سازی
3- هزینه بالا برای انجام مهندسی دوباره به منظور تبدیل سیستم از مشی ناپایگاهی به مشی پایگاهی
4- کند شدن اجرای بعضی از برنامه های کاربردی
5- خطر آسیب پذیری داده ها
6- تاثیرات گسترده تر خرابیها و دشواری بیشتر ترمیم آنها
7- پیچیده بودن سیستم و نیاز به تخصص بیشتر
182

شرایط استفاده از تکنولوژی پایگاه داده ها
1- نیاز به ایجاد یک سیستم یکپارچه اطلاعاتی
2- حجم زیاد داده های سازمان و رشد پویای آن
3- تغییرات مداوم در داده های ذخیره شده
4- بالا بودن بسامد درخواستهای کاربران
5- نیاز به اعمال کنترل متمرکز و دقیق روی کل داده ها
6- وجود ارتباطات پیچیده بین داده ها
ادامه
183

7- زیاد بودن میزان داده های مشترک بین برنامه های کاربردی
8- مدنظر بودن صحت، دقت و سازگاری داده ها
9- زیاد بودن گزارشها
10- نیاز به انجام پردازشهای تحلیلی برخط
11- نیاز به سیستم داده کاوی و کشف دانش در سازمان
شرایط استفاده از تکنولوژی پایگاه داده ها
184

کاربردهای جدید تکنولوژی پایگاه داده ها
سیستم پشتیبان تصمیم
سیستم داده کاوی چندرسانه ای
سیستم انبارش داده ها
حیطه های فضایی و جغرافیایی
پایگاه داده های شخصی و همراه
سیستم پایگاه داده ها در شبکه جهانی اطلاع رسانی
سیستم اطلاعات اجرایی
سیستم اطلاعات طراحی
سیستم پردازش تحلیلی برخط چندبعدی

185

استقلال داده ای
یعنی وابسته نبودن برنامه های کاربردی به داده های ذخیره شده
برنامه های
کاربردی
داده های
ذخیره شده
DB
186

انواع استقلال داده ای
– استقلال داده ای فیزیکی
– استقلال داده ای منطقی
187

استقلال داده ای فیزیکی
عبارتست از مصونیت دیدهای کاربران و برنامه های کاربردی در قبال تغییرات در سطح داخلی-فیزیکی پایگاه داده ها
188

چرا استقلال داده ای فیزیکی در سیستمهای رابطه ای جدید
کاملا تامین است؟
زیرا:
1- کاربران سطح خارجی در محیطی کاملا انتزاعی عمل می کنند و برنامه های کاربردی در این سطح با فایلینگ پایگاه داده ها تماس ندارند.
2- بین سطح خارجی و داخلی، یک سطح انتزاعی دیگر واسط است و مانع تاثیرپذیری برنامه های سطح خارجی از تغییرات درفایلینگ پایگاه داده ها می شود.
189

استقلال داده ای منطقی
عبارتست از مصونیت دیدهای کاربران و برنامه های کاربردی در قبال تغییرات در سطح ادراکی پایگاه داده ها
190

تغییر در سطح ادراکی یعنی تغییر در طراحی منطقی پایگاه داده ها و تغییر در شمای ادراکی
این تغییر معمولا منجر به تغییر مناسب در سطح فایلینگ پایگاه می شود.
191

تغییر در سطح ادراکی دو وجه دارد:
1- رشد پایگاه در سطح ادراکی
2- سازمان دهی مجدد پایگاه در سطح ادراکی
192

جلسه هشتم
معماری سیستم پایگاه داده ها
193

1- معماری سیستم پایگاه داده ها
2- انواع معماری
3- معماری متمرکز
4- معماری مشتری – خدمتگزار
5- طرحهای معماری مشتری – خدمتگزار
6- مزایای معماری مشتری – خدمتگزار در مقایسه با معماری متمرکز
7- معماری توزیع شده
آنچه در این جلسه می خوانید:
194

8- ویژگیهای معماری توزیع شده
9- مزایا و معایب معماری توزیع شده
10- معماری با پردازش موازی
11- طرح های معماری با پردازش موازی
12- معماری سیستم چندپایگاهی
13- معماری سیستم پایگاههای همراه
آنچه در این جلسه می خوانید:
195

هدفهای کلی: معماری سیستم پایگاه داده ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
گونه های مختلف معماری پایگاه داده ها شامل معماری متمرکز و نامتمرکز و انواع معماری نامتمرکز و ویژگیهای هریک را شرح دهد.

196

معماری سیستم پایگاه داده ها
منظور، چندی و چونی اجزاء تشکیل دهنده سیستم و نیز پیکربندی یا طرز ترکیب اجزاء سیستم و چگونگی تعامل اجزاء با یکدیگر است. در این معماری حداقل یک پایگاه داده ها، یک سیستم مدیریت پایگاه داده ها، یک سیستم عامل، یک کامپیوتر با دستگاههای جانبی و تعدادی برنامه کاربردی و کاربر وجود دارند.
197

معماری متمرکز
معماری توزیع شده
معماری مشتری-خدمتگزار
معماری با پردازش موازی
معماری چندپایگاهی
انواع معماری
معماری نامتمرکز
معماری موبایل
198

در این معماری یک پایگاه داده روی یک سیستم کامپیوتری و بدون ارتباط با سیستم دیگر ایجاد می شود .
معماری متمرکز
199

کاربران پایانه ای نزدیک
کامپیوتر بزرگ
کنترولر دیسک
کنترولر نوار
کنترولر چاپگر
پایگاه داده های متمرکز
نمایش معماری متمرکز
کاربران
پایانه ای
دور
.
.
.
. . .
.
.
.
200

هر معماری که در آن قسمتی از پردازش را یک برنامه، سیستم یا ماشین انجام دهد و انجام قسمت دیگری از پردازش را از برنامه ، سیستم یا ماشین دیگر بخواهد معماری مشتری خدمتگزار نامیده می شود
معماری مشتری – خدمتگزار
201

معماری مشتری – خدمتگزار
AP . . . .
DBMS
OS
OS
DB
ماشین خدمتگزار
ماشین مشتری
D
B
M
S
202

طرحهای معماری مشتری – خدمتگزار
از نظر تعداد مشتری و خدمتگزار
1- چند مشتری – یک خدمتگزار
2- یک مشتری – چند خدمتگزار
3- چند مشتری – چند خدمتگزار
203

طرحهای معماری مشتری – خدمتگزار
از نظر پیکربندی سخت افزاری
الف- معماری حول کامپیوتر بزرگ
PCi
PC2
PC1
MAIN
DB
. . . . . .
خدمتگزار
مشتری
204

طرحهای معماری مشتری – خدمتگزار
از نظر پیکربندی سخت افزاری
ب- معماری حول شبکه
PCi
PC2
PC1
شبکه
DB
. . . . . .
خدمتگزاران
مشتری
PCi
PCk
PCn
Files
Printer
205

مزایای معماری مشتری – خدمتگزار در مقایسه با معماری متمرکز
تقسیم پردازش
کاهش ترافیک شبکه
استقلال ایستگاههای کار
اشتراک داده ها
206

مجموعه ای از داده های ذخیره شده که منطقا به یک سیستم تعلق دارند ولی در مانه های مختلف یک یا بیش از یک شبکه توزیع شده اند.
معماری توزیع شده
207

DB
D
D
B
M
S
NETWORK
D
C
OS
LAN
WAN
MNET
نمای یک مانه در معماری توزیع شده
208

DDBMS1
DC
OS1


کاربران نزدیک
کاربران دور
DDBMS2
DC
OS2


کاربران نزدیک
کاربران دور
DB1
DB2
NETWORK
. LAN
. WAN
. MNET
DDBMS3
DC
OS3
DB3


معماری توزیع شده با سه مانه
APs
APs
APs
DDB = {DB1+DB2+DB3}
209

ویژگیهای معماری توزیع شده
مجموعه ای است از داده های منطقا مرتبط و اشتراکی
داده ها به بخشهایی تقسیم و در مانه ها توزیع شده اند.
بعضی بخشها ممکن است به طور تکراری در مانه ها ذخیره شده باشند.
مانه ها از طریق شبکه بهم مرتبط اند.
داده های هر مانه تحت کنترل یک DBMS است.
DMBS هر مانه، می تواند برنامه های کاربردی محلی را
به طور خودکار اجرا کند.
هر DBMS حداقل دراجرای یک برنامه کاربردی سرتاسری
مشارکت دارد.
210

مزایای معماری توزیع شده
سازگاری و هماهنگی با ماهیت سازمانهای نوین.
کارایی بیشتر در پردازش داده ها.
دستیابی بهتر به داده ها.
اشتراک داده ها.
افزایش پردازش موازی.
کاهش هزینه ارتباطات.
تسهیل گسترش سیستم.
استفاده از پایگاه داده های از قبل موجود.
211

معایب معماری توزیع شده
پیچیدگی طراحی سیستم.
پیچیدگی پیاده سازی.
کاهش کارایی در برخی موارد.
هزینه بیشتر.
مصرف حافظه بیشتر.
212

در این گونه سیستمها معمولا تعداد زیادی تراکنش در ثانیه و بطور موازی اجرا می شود .
معماری با پردازش موازی
213

طرح کلی معماری با پردازش موازی
مدیر تماسهای
اجرایی کاربران
برنامه کاربر 2
برنامه کاربر n
برنامه کاربر 1
مدیر درخواست
برنامه کاربر 1
مدیر درخواست
برنامه کاربر 2
مدیر درخواست
برنامه کاربر n
مدیر داده های
برنامه 1
مدیر داده های
برنامه 2
مدیر داده های
برنامه m-1
مدیر داده های
برنامه m
. . . . . . . . . . . .
. . . . . . . . . . . .
خدمتگزار پایگاه داده ها
خدمتگزاران برنامه های کاربردی
214

طرح های معماری با پردازش موازی
الف- معماری با حافظه مشترک
P
P
P
P
M
215

مزیت: ارتباط بین پردازنده ها به طور کارا انجام می شود.
عیب: نمی توان بیش از 32 یا 64 پردازنده داشت. زیرا احتمال بروز تنگنا در باسهای حافظه ای یا شبکه ارتباطی افزایش می یابد.
معماری با حافظه مشترک
216

طرح های معماری با پردازش موازی
ب- معماری با دیسکهای مشترک
P
P
P
P
M
M
M
M
217

مزیت:
1- عدم بروز تنگنا در باسهای حافظه ای
2- تسهیل تحمل خرابی
عیب: دشواری در گسترش سیستم.
معماری با دیسکهای مشترک
218

طرح های معماری با پردازش موازی
ج- معماری بی اجزاء مشترک
P
P
P
M
M
M
P
M
P
M
219

مزیت: تسهیل گسترش
عیب: هزینه ارتباط و دستیابی های غیرمحلی زیاد است.
معماری بی اجزاء مشترک
220

طرح های معماری با پردازش موازی
د- معماری سلسله مراتبی
P
P
P
P
M
P
P
P
P
M
P
P
P
P
M
221

معماری سیستم چندپایگاهی
شمای خارجی
سراسری
شمای خارجی
سراسری
شمای خارجی
محلی
شمای ادراکی
سراسری
شمای خارجی
محلی
شمای خارجی
محلی
شمای خارجی
محلی
شمای ادراکی
محلی
شمای ادراکی
محلی
شمای داخلی
محلی
شمای داخلی
محلی
DB
DB
Sn
S1
S1
222

پایگاه داده های
همراه
معماری سیستم پایگاههای همراه
برنامه های
کاربردی
سیستم
عامل
امکانات همرسانش
امکانات همرسانش
سیستم
عامل
برنامه های
کاربردی
D
B
M
S
D
B
M
S
پایگاه داده های
همراه
برنامه های کاربردی
سیستم عامل
امکانات همرسانش
DBMS
پایگاه داده های
میزبان
کامپیوتر همراه
223

جلسه نهم
مدل رابطه ای
224

1- مفاهیم اساسی مدل رابطه ای
2- بخشهای اساسی مدل داده ای
3- تعریف رابطه
4- تناظر بین مفاهیم رابطه ای و مفاهیم جدولی
5- ویژگیهای رابطه
6- انواع رابطه
7- میدان (دامنه)
آنچه در این جلسه می خوانید:
225

8- مزایای میدان
9- رابطه نرمال و غیر نرمال
10- دلیل لزوم نرمال بودن رابطه
11- معایب رابطه نرمال
12- مزایا و معایب رابطه غیرنرمال
13- انواع کلید در مدل رابطه ای
آنچه در این جلسه می خوانید:
226

هدفهای کلی: آشنایی با مدل رابطه ای
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
مدل رابطه ای و بخشهای اساسی آن را توضیح دهد.
رابطه را تعریف و ویژگیهای آن را بیان نماید.
انواع رابطه را نام برده و توضیح دهد.
روابط نرمال و غیرنرمال را شرح دهد.
کلید و انواع آن را توضیح دهد.
227

مفاهیم اساسی مدل رابطه ای
مدل رابطه ای در سال 1970 توسط کاد ابداع شد.
مدل داده ای امکانی است برای طراحی منطقی پایگاه داده ها، تعریف و کنترل آن و نیز انجام عملیات درآن و امکان می دهد تا این هر سه عمل اساسی در محیط انتزاعی انجام شود. بنابراین می توان گفت که مدل داده ای تامین کننده محیط انتزاعی پایگاه داده هاست .
228

بخشهای اساسی مدل داده ای
1- بخش ساختاری
2- بخش عملیاتی (پردازشی)
3- بخش جامعیتی
229

بخش ساختاری، نشان دهنده عناصر ساختاری مدل است که همان ساختار داده ای اصلی و مفاهیم مرتبط با آن است.
بخش عملیاتی، مجموعه امکاناتی است که به وسیله آنها عملیات مورد نظر کاربر انجام می شود.
بخش جامعیتی، از مجموعه ای از قواعد و محدودیتهای جامعیتی تشکیل شده است که به وسیله آنها سیستم مدیریت پایگاه داده می تواند صحت، دقت و سازگاری داده ها را کنترل و تضمین کند.
230

تعریف رابطه
با فرض وجود n میدان D1 تا Dn، نه لزوما متمایز، رابطه R از دو قسمت تشکیل شده است:
1- سرآیند: مجموعه ای نامدار از n صفت به صورت Ai:Di که در آن هر Ai نام یک صفت است و هر Di نام میدان صفت
2- پیکر (بدنه): مجموعه ای است از m تاپل t به نحوی که t خود مجموعه ای است از n عنصر هریک به صورت Ai:vi که در آن vi مقداری است از نوع میدان.
مقدار n را درجه (همان تعداد صفات) و مقدار m را کاردینالیتی رابطه می گویند
231

تناظر بین مفاهیم رابطه ای و مفاهیم جدولی
جدول زیر تناظر بین مفاهیم رابطه ای و مفاهیم جدولی را نشان می دهد :

مفهوم تئوریک مفهوم جدولی
رابطه جدول
تاپل سطر صفت ستون میدان مجموعه مقادیر ستون
درجه تعداد ستونها کاردینالیتی تعدادسطرها
232

ویژگیهای رابطه
ویژگیهای رابطه عبارتند از:

1- رابطه تاپل تکراری ندارد
2- تاپلها نظم ندارند
3- صفات رابطه نظم مکانی ندارند
4- تمام صفات تک مقداری هستند.
233

انواع رابطه
1- مبنا: استقلال وجودی دارد و از رابطه های دیگر مشتق نیست و داده های ذخیره شده متناظر دارد.
2- نامدار: با یک نام به سیستم معرفی می شود.
3- دید: نوعی رابطه نامدار که مشتق از رابطه های دیگر است و ماهیتا مجازی است.
4- لحظه ای: نامدار و مشتق است ولی مجازی نیست.
5- مشتق: به کمک یک عبارت رابطه ای بر حسب رابطه های مبنا تعریف می شود.
ادامه
234

6- عبارتی: از مجموعه ای از رابطه های نامدار و به وسیله یک عبارت رابطه ای به دست می آید.
7- نتیجه پرسش: بی نام و مشتق است که حاصل اجرای یک پرسش مشخص است.
8- بینابینی: بی نام و مشتق است که حاصل ارزیابی یک عبارت رابطه ای است که درون یک عبارت بزرگتر جای دارد
9- مشتق: رابطه ای عبارتی است که به طور مستقیم و کارا ذخیره شده است.
انواع رابطه
235

میدان (دامنه)
از نظر ریاضی، مجموعه ای است از مقادیر که یک یا بیش از یک صفت از آن مقدار می گیرند. در مدل رابطه ای، این مجموعه:
نامدار است.
مقادیرش نوع مشخص دارند.
مقادیرش فرمت مشخص دارند.
236

مزایای میدان
سبب ساده ترشدن و کوتاه تر شدن شمای پایگاه داده ها می شود.
تغییر در شمای پایگاه را تسهیل می کند.
امکانی است برای کنترل مقداری عملیات در پایگاه داده ها.
امکانی است برای کنترل معنایی درخواستها.
پاسخگویی به بعضی پرسشها را آسان می کند.
با استفاده از مفهوم میدان می توان امکانات و جنبه های موجود در سیستم مدیریت پایگاه داده های شیئ گرا را به سیستم مدیریت پایگاه داده های رابطه ای افزود.
237

رابطه نرمال و غیر نرمال
رابطه نرمال :
رابطه ای است که مقادیر هیچیک از میدانهایش ، یک مقدار رابطه ای با کاردینالیتی بزرگتر از یک نباشد

رابطه غیر نرمال :
رابطه ای است که در آن مقادیر حداقل یک صفت ، خود مقادیر رابطه ای هستند
(رابطه ای که حداقل یک صفت چند مقداری داشته باشد)
238

دلیل لزوم نرمال بودن رابطه
1- سادگی در نمایش ظاهری رابطه (جدول با سطرهای ساده تر)
2- سادگی دستورات DSL (بویژه DML و DDL)
3- سادگی در اجرای عملیات در پایگاه داده ها
239

معایب رابطه نرمال
1- بروز پدیده افزونگی که می تواند فیزیکی هم باشد.
2- طولانی تر شدن کلید رابطه.
3- عدم امکان نمایش داده های پیچیده.
4- دشواری در نمایش طبیعی مفهوم سلسله مراتب.
5- دشواری در نمایش مفهوم وراثت.
240

مزایا و معایب رابطه غیرنرمال
مزایا:
1- کاهش میزان افزونگی
2- کوتاه شدن کلید
3- امکان نمایش داده های پیچیده
4- دشواری کمتر در نمایش مفهوم سلسله مراتب و مفهوم وراثت
5- افزایش سرعت عملیاتی سیستم در بازیابی اطلاعات
6- عدم نیاز به نرمالترسازی رابطه
معایب:
1- پیچیدگی
2- عدم تقارن صفات
241

کلید در مدل رابطه ای
در مدل رابطه ای چند مفهوم در بحث کلید داریم که عبارتند از:
ابر کلید (super key)
کلید کاندید (candidate key)
کلید اصلی (primary key)
کلید دیگر (alternate key)
کلید خارجی (foreign key)
242

ابر کلید
تعریف- هر زیرمجموعه از مجموعه عنوان رابطه که یکتایی مقدار در گستره رابطه داشته باشد.
243

کلید کاندید
تعریف- هر زیرمجموعه از مجموعه عنوان رابطه که دو خاصیت زیر را داشته باشد کلید کاندید رابطه است:
1- یکتایی مقدار
2- کاهش ناپذیری
244

کلید اصلی
تعریف- یکی از کلیدهای کاندید رابطه که طراح انتخاب می کند و به سیستم معرفی می شود.
ضابطه های انتخاب:
1- از نظر کاربر، شناسه معمول نوع موجودیت باشد.
2- طول کوتاهتر داشته باشد.
245

کلید دیگر (بدیل)
تعریف- هر کلید کاندید، غیر از کلید اصلی، کلید دیگر نام دارد.
246

کلید خارجی
تعریف- دورابطه و را در نظر می گیریم. هر زیرمجموعه از صفات رابطه که هر مقدار معلومش با یک مقدار از کلید کاندید برابر باشد، کلید خارجی در رابطه است.
کلید خارجی برای نمایش ارتباطات بین انواع موجودیتها به کار می رود.
247

جلسه دهم
قواعد جامعیت پایگاه داده ها
248

1- جامعیت پایگاه داده ها
2- عوامل نقض جامعیت
3- انواع قواعد جامعیت
4- قواعد کاربری و انواع آن
5- متاقواعد و انواع آن
6- راههای اعمال قواعد جامعیت
آنچه در این جلسه می خوانید:
249

7- عملگرهای جبر رابطه ای
8- کاربردهای جبر رابطه ای
9- حساب رابطه ای
10- مزایا و معایب مدل رابطه ای
11- کاتالوگ در مدل رابطه ای
12- اشیائی که اطلاعات آنها در کاتالوگ نگهداری می شود
آنچه در این جلسه می خوانید:
250

هدفهای کلی: آشنایی با قواعد جامعیت پایگاه داده ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
جامعیت پایگاه داده ها و عوامل نقض آن را توضیح دهد.
انواع قواعد جامعیت را نام برده و راههای اعمال آن را شرح دهد.
جبر رابطه ای و حساب رابطه ای را توضیح دهد.
مزایا و معایب مدل رابطه ای را نام ببرد.
251

جامعیت پایگاه داده ها
یعنی: صحت، دقت و سازگاری داده های ذخیره شده در پایگاه در تمام لحظات
252

عواملی که سبب نقض جامعیت می شوند:
اشتباه در برنامه های کاربردی
اشتباه در وارد کردن داده ها
وجود افزونگی کنترل نشده
توارد تراکنشها به گونه ای که داده نامعتبر ایجاد شود.
خرابیهای سخت افزاری و نرم افزاری
253

انواع قواعد جامعیت
1- قواعد کاربری (قواعد خاص)
2- متا قواعد (قواعد عام)
254

1- قواعد کاربری
قواعدی هستند که توسط کاربرمجاز تعریف می شوند. وابسته به داده های خردجهان واقع هستند، به این معنا که در مورد یک پایگاه داده خاص مطرح می شوند و عمومیت ندارند. به این قواعد، قواعد محیطی یا وابسته به داده و یا محدودیتهای جامعیت معنایی می گویند.
255

ارزیاب شرایط
مجری اقدامات
تحلیلگر قواعد
تعاریف قواعد
موتور
قواعد
هسته DBMS
دیکشنری قواعد
(بخشی از متاداده)
مونیتور رویدادها
پرسشها
نمای ساده شده یک DBMS فعال
256

انواع قواعد کاربری در مدل رابطه ای
1- محدودیت میدانی: ناظر بر یک میدان است و مقادیر مجاز آن را مشخص می کند.
2- محدودیت صفتی (ستونی): ناظر به یک صفت است و بیان کننده نوع آن صفت است.
3- محدودیت رابطه ای: ناظر بر یک رابطه است و مقادیر مجاز یک تغییر رابطه ای را مشخص می کند.
4- محدودیت پایگاهی: ناظر بر دو یا بیش از دو متغیر رابطه ای است و به نحوی آنها را به یکدیگر مرتبط می کند.
257

2- متاقواعد
قواعدی هستند که باید توسط هرسیستم رابطه ای در هر پایگاه داده رابطه ای اعمال شود، ناوابسته به داده های خاص هستند و عمومیت دارند.
258

انواع متاقواعد
1- قاعده (جامعیت موجودیتی)
2- قاعده (جامعیت ارجاعی)
259

قاعده
ناظر به کلید اصلی است و چنین است:
هیچ جزء تشکیل دهنده کلید اصلی نمی تواند هیچمقدار داشته باشد.
260

قاعده
ناظر بر کلید خارجی است و چنین است:
اگر صفت خاصه Ai در رابطه R2 کلید خارجی باشد در این صورت:
Ai در R2 می تواند هیچ مقدار داشته باشد یا اینکه باید حتما مقداری داشته باشد که در رابطه مرجع R1 وجود دارد. به عبارت دیگرمقدار کلید خارجی یک رابطه نمی تواند در رابطه مرجع وجود داشته باشد.
261

به قواعد C1 و C2 محدودیتهای ساختاری می گویند
محدودیتهای ناساختاری
وابستگی های تابعی

وابستگی های چندمقداری

وابستگی های شمول

وابستگی زمانی

وابستگی برابری
262

راههای اعمال قواعد جامعیت
1- معرفی کلید اصلی
2- اعلام هیچ مقدارناپذیری صفت
3- معرفی کلید خارجی
4- اعلان محدودیتهای مورد نظر، در شمای پایگاه داده ها
5- نوشتن رهانا
6- اعلان محدودیتها با استفاده از مکانیسم اظهار
263

عملگرهای جبر
رابطه ای
عملگرهای معمولی
عملگرهای خاص
1- اجتماع
2- اشتراک
3- تفاضل
4- ضرب کارتزین
1- گزینش (تحدید)
2- پرتو
3- پیوند
4- تقسیم
264

عملگر گزینش تاپلهایی از یک رابطه را گزینش می کند (سطرهایی از جدول را). این عملگر تک عملوندی است و به صورت زیر نوشته می شود:
R WHERE cond(s)
* cond(s) شرط یا شرایط گزینش را مشخص می کند.
265

علمگر پرتو، مقادیر صفت (صفاتی) از یک رابطه را به دست می دهد. تک عملوندی بوده و چنین نوشته می شود:
PROJECT R OVER(A1,A2,…,Ai)
266

عملگر پیوند دو عملوندی است و چنین نوشته می شود:
R1 JOIN cond(s) R2
که در آن cond(s) چنین است:
R1.Ai theta R2.Bi
Ai یک صفت از رابطه R1 و Bi یک صفت از رابطه R2 است که از یک میدان مقدار می گیرند و باید ناهمنام باشند.
267

کاربردهای جبر رابطه ای
1- بازیابی داده ها
2- ذخیره سازی داده ها
3- تعریف انواع رابطه های مشتق
4- تعریف قواعد برای کنترل پایگاه داده ها
5- تعریف داده ها به عنوان حیطه بعضی عملیات کنترل
همروندی تراکنشها
6- ضابطه تشخیص کامل بودن زبانهای رابطه ای
268

حساب رابطه ای
حساب رابطه ای، با جبر رابطه ای منطقا معادل است، یعنی برای هر عبارت جبر رابطه ای، یک عبارت معادل در حساب رابطه ای وجود دارد و برعکس. تفاوت آنها این است که جبر رابطه ای، دستوری است، اما حساب رابطه ای توصیفی است.
269

حساب رابطه ای
حساب تاپلی: در این حساب مفهوم مهمی به نام متغیر تاپلی وجود دارد که تنها مقادیر مجازش، تاپلهای رابطه هستند.
حساب میدانی: در این حساب، متغیر میدانی وجود دارد که از یک میدان مقدار می گیرد. در این حساب یک شرط اضافی به نام شرط عضویت وجود دارد.
270

در حساب رابطه ای تاپلی دو سور وجود دارد:
1- سور وجودی: به صورت نوشته می شود، به این معنا که حداقل یک مقدار برای متغیر T وجود دارد به نحوی که f به ”درست“ ارزیابی شود.
2- سور همگانی: به صورت نوشته می شود. یعنی به ازاء تمام مقادیر متغیر T، f به ”درست“ ارزیابی می شود.
271

مزایای مدل رابطه ای
1- نمایش ساده
2- مبنای ریاضی دارد.
3- تامین کننده استقلال داده ای است.
4- یک عنصر ساختاری اساسی به نام رابطه دارد.
5- کامل است.
6- عدم نیاز به مفهوم کلاسیک نظم.
7- برای بهترسازی طراحی، ابزار طراحی بهتر دارد.
.
.
.
272

معایب مدل رابطه ای
1- دشواری در نمایش داده های پیچیده
2- دشواری در نمایش مفاهیمی مانند وراثت، تعمیم و …
3- نداشتن قواعد جامعیت ذاتی
4- عدم امکان مدلسازی رفتار اشیاء
5- فقدان اکمال برنامه سازی و اکمال محاسباتی
6- دشواری در یافتن کلید کاندید
7- جدا بودن داده ها از روشها
8- مشکلات ناشی از وجود مفهوم هیچ مقدار
.
.
273

کاتالوگ در مدل رابطه ای
کاتالوگ در مدل رابطه ای، تعدادی رابطه است: یک پایگاه رابطه ای که خود سیستم ایجاد می کند
274

میدان
رابطه
صفت
دید
قواعد جامعیت
توابع و رویه های تعریف شده توسط کاربر
رهاناهای تعریف شده توسط کاربر
کاربر
شاخص و ساختارهای مرتبط با آن
ضوابط ایمنی
پرسشها
برنامه های کاربردی
در کاتالوگ اطلاعاتی در مورد اشیاء ذیل نگهداری می شود:
275

جلسه یازدهم
زبان SQL
276

1- انواع زبانهای رابطه ای
2- امکانات مهم زبان SQL
3- دستورات تعریف داده ها، دستور ایجاد و حذف جدول و دید
4- دستور مجازشماری
5- دستورات پردازش داده ها
6- توابع جمعی (گروهی)
آنچه در این جلسه می خوانید:
277

7- امکان LIKE و NOTLIKE
8- آزمون تست وجود هیچمقدار در یک ستون
9- امکان UNION و UNION ALL
10- امکان GROUP BY: (گروه بندی)
11- امکان HAVING
12- امکان BETWEEN
آنچه در این جلسه می خوانید:
278

هدفهای کلی: آشنایی با زبان SQL
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
امکانات زبان SQL را بیان کند.
انواع دستورات تعریف داده ها و پردازش داده ها یاد گرفته و می تواند استفاده کند.
279

آشنایی با یک زبان رابطه ای : SQL
انواع زبانهای رابطه ای
SQUARE
SEQUEL
SQL
QUEL
QBE
DATALOG
280

امکانات مهم زبان SQL
دستورات تعریف داده ها
دستورات مجازشماری
دستورات پردازش داده ها
دستورات پردازش داده ها به طور ادغام شدنی
دستورات نوشتن ماژول و رویه
دستورات کنترل جامعیت
دستورات کنترل تراکنشها
281

دستورات تعریف داده ها
1- 1- تعریف شما :
CREATE SCHEMA
AUTHORIZATION USER
{base – table definition , view definition , grant-operation }
282

دستورات تعریف داده ها
1- 2- انواع داده ای:
CHARACTER[(length)]
INTEGER
DECIMAL [(precision[,scale])]
SMALLINT
DOUBLE PRECISION
REAL
FLOAT [(precision)]
NUMERIC [(precision[,scale])]
283

1- 3- دستور ایجاد جدول :
CREATE SCHEMA
AUTHORIZATION …
CREATE TABLE …
دستورات تعریف داده ها
284

1- 4- دستور حذف جدول:
DROP TABLE table-name
دستورات تعریف داده ها
285

1- 5- دستور ایجاد و حذف دید:
CREATE VIEW …
DROP VIEW …
دستورات تعریف داده ها
286

1- 6- دستور مجاز شماری:
GRANT , REVOKE
با این دستور حق انجام یک یا بیش از یک عمل به کاربر (کاربرانی) داده می شود.
دستورات تعریف داده ها
287

2- دستورات پردازش داده ها
2- 1- دستور بازیابی ( SELECT ):
SELECT [ALL | DISTINCT] item(s)-list
FROM table(s)-name
[WHERE condition(s)]
[GROUP BY column(s)]
[HAVING conditions(s)]
288

توابع جمعی (گروهی)
COUNT: تعداد مقادیر اسکالر را به دست می دهد.
SUM: حاصل جمع مقادیر اسکالر در یک ستون را به دست می دهد.
AVG: میانگین مقادیر اسکالر در یک ستون را به دست می دهد.
MAX: بیشترین مقدار اسکالر در یک ستون را به دست می دهد.
MIN: کمترین مقدار اسکالر در یک ستون را به دست می دهد.
289

یک مثال در مورد استفاده از توابع جمعی
SELECT MIN(GRADE) , MAX(GRADE)
FROM STCOT
WHERE TR=‘2’
AND
YRYR=’78-79’
AND
COID=‘COM222’;
بالاترین و پایین ترین نمره در درس COM222 در ترم دوم 80-79 را بازیابی می کند.
290

امکان LIKE و NOTLIKE
با این دو امکان می توان داده های مورد نظر را با دادن یک رشته کاراکتری به عنوان نشانوند جستجو و بیان شرایط مورد نظر، بازیابی کرد.
291

SELECT *
FROM PROF
WHERE PRNAME LIKE ‘AR%’;
مثال: مشخصات استادانی را بدهید که نام آنها با AR شروع شده باشد.
292

آزمون تست وجود هیچمقدار در یک ستون
می توان با امکان IS NULL وجود هیچ مقدار در یک ستون را تست کرد.
293

مثال: شماره دانشجویانی را بدهید که نمره آنها در درس SOC333 در ترم دوم 79-78 هنوز اعلام نشده است؟
SELECT STID
FROM STCOT
WHERE COID=‘SOC333’
AND
TR=‘2’
AND
YRYR=’78-79’
AND
GRADE IS NULL
294

امکان UNION و UNION ALL
با این امکان، می توان عملکرد عملگر UNION جبری را برنامه سازی کرد. حاصل این عملکرد، جدولی است که سطرهای تکراری ندارد. اگر از گزیدار ALL استفاده شود، سیستم دیگر سطرهای تکراری را در صورت وجود، حذف نمی کند.
295

امکان GROUP BY: (گروه بندی)
با این امکان می توان سطرهای جدول را حسب مقادیر یک ستون ساده گروه بندی کرد به نحوی که در هر گروه، مقدار آن ستون یکسان باشد.
296

مثال: جدول STCOT را برحسب مقادیر ستون COID منطقا گروه بندی کنید.
SELECT COID, AVG(GRADE) AS AVGGR
FROM STCOT
GROUP BY COID;
297

امکان HAVING
با این امکان می توان شرط (شرایطی) ناظر به گروه سطرها اعلان کرد. نقش این امکان در واقع همان نقش WHERE در سطر است. توجه داشته باشید که HAVING همیشه با GROUP BY می آید.
298

مثال: شماره درسهایی را بدهید که در ترم دوم 79-78 کمتر از 10 دانشجو در آنها ثبت نام کرده باشند.
SELECT STCOT.COID
FROM STCOT
WHERE TR=‘2’
AND
YRYR=’78-79’
GROUP BY COID
HAVING COUNT(*)<10
299

امکان BETWEEN
شکل کلی این امکان چنین است:
Scalar-expression [NOT] BETWEEN Scalar-expression AND Scalar-expression
300

مثال: شماره دانشجویانی را بدهید که نمره آنها در درس HIS444 در ترم اول 78-77 بین 15 و 19 باشد.
SELECT STCOT.STID
FROM STCOT
WHERE TR=‘1’
AND
YRYR=’78’79’
AND
GRADE BETWEEN ’15’ AND ’19’
301

جلسه دوازدهم
ادامه زبان SQL
302

1- دستورات عملیات ذخیره سازی (درج، حذف و بهنگام سازی)
2- جمع بندی در مورد امکانات نسخه SQL1
3- دستوراتی که در نسخه SQL2 تغییر کردند یا به آن اضافه شدند
4- امکانات جامعیتی
5- امکانات ایمنی
6- امتیازها
آنچه در این جلسه می خوانید:
303

7- دستوراتی که در نسخه SQL3 تغییر کردند یا به آن اضافه شدند
8- نوع داده مجرد
9- تعریف رهانا و مزایا و موارد کاربرد آن
10- تراکنش
11- طرحهای اجرای تراکنشها
12- تکنیکهای کنترل همروندی
آنچه در این جلسه می خوانید:
304

هدفهای کلی: آشنایی با زبان SQL
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
از دستورات ذخیره سازی استفاده کند.
امکانات اضافه شده در نسخه SQL2 را بیان کند.
امکانات اضافه شده در نسخه SQL3 را بیان کند.
305

2- دستورات پردازش داده ها
2- 2- دستورات عملیات ذخیره سازی :
برای انجام عملیات سه گانه ذخیره سازی سه دستور DELETE، INSERT و UPDATE وجود دارد.
306

دستور UPDATE
شکل کلی این دستور چنین است:
UPDATE table-name
SET assignment-commalist
[WHERE Condition(s)]
307

مثال: تعداد واحد درسهای عملی را یک واحد کاهش دهید.
UPDATE COT
SET CREDIT=CREDIT-1
WHERE COTYPE=‘p’;
308

دستور DELETE
شکل کلی این دستور چنین است:
DELETE
FROM table-name
[WHERE Cond(s)]
309

مثال: درسهای دانشجوی با شماره 78110555 را در ترم دوم سال 79-78 حذف کنید
DELETE
FROM STCOT
WHERE STID=‘78110555’
AND
TR=‘2’
AND
YRYR=’78-79’;
310

دستور INSERT
این دستور دو شکل کلی دارد:
INSERT INTO table-name
Values(one row);
INSERT INTO table-name
Subquery;
در شکل دوم، تعدادی سطر در جدول درج می شوند.
311

مثال: اطلاعات درسی زیر را در جدول درج نمائید.
<78110888,COM888,2,78-79,12>
INSERT INTO STCOT
VALUES <‘78110888’, ‘COM888’, 2, 78-79, 12>;
312

جمع بندی در مورد امکانات نسخه SQL1
1- نارویه ای است.
2- دارای کمال ساختاری است.
3- زبان استانده سیستم های رابطه ای موجود است.
4- تمام انواع داده ای ساده را دارد.
5- عملگرهای بسیار قوی دارد.
6- یادگیری آن ساده است.
7- استقلال داده ای را تامین می کند.
8- هم به صورت مستقل و هم به صورت ادغام شده قابل استفاده است.
313

دستوراتی که در نسخه SQL2 تغییر کردند یا به آن اضافه شدند:
دستور تعریف داده ها
دستور تعریف میدان
انواع داده ای
دستور تغییر میدان
دستور حذف میدان
دستور ایجاد جدول
دستور تغییر جدول
8. دستور حذف جدول
9. تعریف جدول موقت
10. دستور بازیابی
امکانات جامعیتی
امکانات ایمنی
SQL پویا
314

امکانات جامعیتی
کاربر می تواند زمان وارسی جامعیت پایگاه را (براساس محدودیتها و قواعد داده شده) خود مشخص کند. می تواند درخواست کند که این وارسی بلافاصله باشد یا با تاخیر. برای این منظور از امکان زیر استفاده می شود:
SET CONSTRAINTS (constraint-name)
{DEFERRED | IMMEDIATE}
315

امکانات ایمنی
کاربر می تواند امتیاز دستیابی به اشیاء تعریف شده در شما را به منظور انجام عمل مشخص، به کاربر دیگری بدهد.
برای اعطای امتیاز از دستور GRANT و برای لغو آن از دستور REVOKE استفاده می شود.
316

امتیازهایی که یک کاربر می تواند به یک کاربر دیگر بدهد:
USAGE: اجازه استفاده از یک میدان
SELECT: اجازه دستیابی به تمام ستونهای یک جدول
INSERT(X): اجازه درج یک مقدار در ستون X از یک جدول
INSERT: اجازه درج تمام ستونهای یک جدول
UPDATE(X): اجازه بهنگام سازی ستون X از یک جدول
UPDATE: اجازه بهنگام سازی تمام ستونهای یک جدول
DELETE: اجازه حذف سطر(ها) از یک جدول
REFRENCES(X): اجازه ارجاع به ستون X از یک جدول در تعریف محدودیتهای جامعیتی
امتیازها
317

دستوراتی که در نسخه SQL3 تغییر کردند یا به آن اضافه شدند:
تعریف نوع داده مجرد
تعریف زیرنوع
امکان تعریف زیرجدول و زبرجدول
امکان ارث بری ستونهای جدول جدید از ستونهای جدول نامدار موجود
رویه ای شدن زبان
رهانا
نوشتن رویه
SQL ادغام شده
واسط درخواست فراخوان
دستورات کنترل تراکنشها
318

شاید مهمترین قابلیتی که در زمینه انواع داده ای در SQL3 افزوده شد، امکان تعریف نوع داده مجرد (ADT) باشد. با این نوع داده می توان مجموعه ای از صفات و روالها را تعریف کرد. نوع داده مجرد نمونه هایی دارد و هر نمونه هم به نوبه خود، همه صفات و روالهای تعریف شده را دارد.
نوع داده مجرد
319

ساختهای زبانی افزوده شده به SQL3، که در تعریف توابع و رویه ها استفاده می شود:
احکام مرکب (تودرتو)
احکام حلقه گردانی)
احکام شرطی
احکام انتساب
احکام اعلان اشتباهات در برنامه
320

رهانا
تعریف- قاعده (محدودیت) یا قواعدی است که قبل یا بعد از بروز یک رویداد در پایگاه داده ها (معمولا یک عمل تغییردهنده داده ها) باید اعمال شود. این قاعده در سطح برنامه سازی، به صورت یک رویه از پیش تعریف شده است که به طور شرطی یا غیرشرطی، قبل یا بعد از انجام یک عمل در پایگاه داده ها، به طور اتوماتیک اجرا می شود.
321

رهانا
مزایا
اجرای آن تحت کنترل متمرکز سیستم و نظارت مدیر پایگاه داده ها است.
با وجود آن دیگر نیازی نیست که محدودیتهای مورد نظر در هر برنامه کاربردی اعمال شوند و کنترلهای لازم انجام شود.
برای معماری C/S DB بسیار مناسب است.
322

کاربرد رهانا
اعمال قواعد جامعیت.
اعمال قواعد ایمنی مبتنی بر مقادیر
درج رکوردهای ثبت عملیات در فایل ثبت تراکنشها
تولید نسخه ای از داده های ذخیره شده در یک سایت دیگر.
در انتشار اتوماتیک عملیات در پایگاه داده های توزیع شده.
در بهنگام سازی دیدها در سیستم های رابطه ای
323

تراکنش
تعریف: به بیان ساده عملی است که تغییری در پایگاه داده ها ایجاد کند. این عمل که طبعا به صورت یک برنامه یا بخشی از یک برنامه است، یا باید به تمامی اجرا شود و یا اصلا اجرا نشود و می گوییم که تراکنش خاصیت تجزیه ناپذیری دارد.
خواص
تجزیه ناپذیری
سازگاری
جدایی (انفراد)
مانایی (دوام)
324

طرحهای اجرای تراکنشها
طرح اجرای متوالی
طرح اجرای همروند
325

تکنیک قفل گذاری
تکنیک زمانمهر
تکنیک چند نسخه سازی
تکنیک تایید (تصدیق)
تکنیکهای کنترل همروندی
326

جلسه سیزدهم
دید در مدل رابطه ای
327

1- دیدهای رابطه ای
2- دید در SQL
3- مزایا و معایب دید
4- عملیات در دیدهای رابطه ای
5- انواع دید از نظر پذیرش عملیات ذخیره سازی
6- انواع دیدهای پذیرا
7- انواع دیدهای ناپذیرا
8- ویژگیهای دیدهای قابل بهنگام سازی
آنچه در این جلسه می خوانید:
328

هدفهای کلی: آشنایی با دید در مدل رابطه ای
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
دید را تعریف کند و دستورات SQL مرتبت با آن را بکار برد.
مزایای استفاده از دید را برشمارد.
عملیات قابل انجام روی دید را شرح دهد.
انواع دید از لحاظ پذیرا و ناپذیرا را نام ببرد.
329

دیدهای رابطه ای
دید در مدل رابطه ای نوعی رابطه است، بنابراین می توان آن را به کمک یک عبارت جبر رابطه ای یا حساب رابطه ای به شکل زیر تعریف کرد:
View name= Relational expression
330

دید در SQL
دستور ایجاد دید
CREATE VIEW Viewname [(Column-name(s))]
AS Subquery
.
.
.
[WITH [CASCADE|LOCAL] CHECK OPTION];
331

مثال
CREATE VIEW MAPHSTUD( STNUM, STLEV, STAREA)
AS SELECT STID, STDEG, STMJR
FROM STT
WHERE STMJR=‘Math’ OR STMJR=‘Phys’
WITH LOCAL CHECK OPTION;
332

دید در SQL
دستور حذف دید
DROP VIEW Viewname {restrict | cascade}
333

مثال:
DROP VIEW MAPHSTUD CASCADE;
334

مزایای دید
تامین کننده محیط انتزاعی برای کاربران سطح خارجی
تامین کننده پویایی بالا در تعریف پایگاه توسط کاربر
تسهیل کننده واسط کاربر برنامه ساز با پایگاه
امکانی است برای کوتاه نویسی یا ماکرونویسی پرسشها
تامین کننده اشتراک داده ای
تامین کننده نوعی مکانیسم خودکار ایمنی داده ها
تامین کننده استقلال داده ای فیزیکی و منطقی
امکان تعریف شیئ با اندازه های مختلف
335

معایب دید
ایجاد فزونکاری در سیستم برای انجام تبدیل خارجی/ادراکی و احیانا خارجی/خارجی
عدم امکان انجام عملیات ذخیره سازی در بسیاری از گونه های دید و در نتیجه ایجاد محدودیت برای کاربر
336

عملیات در دیدهای رابطه ای
بازیابی از دید رابطه ای
چون دید خود نوعی رابطه است، پس برای بازیابی از دید هم یک عبارت جبری یا حسابی می نویسیم
337

مثال بازیابی از یک دید با استفاده از دستورات SQL
CREATE VIEW
AS SELECT STID, STDEG
FROM STT
WHERE STPROG=‘Math’
SELECT STID
FROM
WHERE STDEG=‘bs’;
338

عملیات در دیدهای رابطه ای
عملیات ذخیره سازی در دیدهای رابطه ای
برای انجام عملیات ذخیره سازی در دید از همان دستورات سه گانه INSERT، UPDATE و DELETE استفاده می شود.
339

دیدها از نظر پذیرش عملیات ذخیره سازی
دیدهای پذیرا
دیدهای ناپذیرا
340

دیدهای پذیرا
دیدهای گزینشی
دید گزینش – پرتوی دارای کلید رابطه مبنا
دید پیوندی CK-CK
دید پیوندی CK-FK
دید حاصل اجتماع، اشتراک و تفاضل دو رابطه
341

دید گزینشی حاصل عملگر گزینش در یک رابطه است.
342

در دید ”گزینش-پرتوی دارای کلید رابطه مبنا“ علاوه بر گزینش تاپلهایی از رابطه مبنا، عملگر پرتو نیز اعمال شده است. این نوع دید را اصطلاحا دید دارای کلید با تاپلهای ناقص می گوئیم.
343

دید پیوندی CK-CK، حاصل پیوند دو رابطه روی کلید کاندید مشترک آنها است و در عملیات ذخیره سازی مشکلی ندارد
344

دید پیوندی CK-FK، حاصل پیوند روی کلید کاندید یک رابطه و کلید خارجی رابطه دیگر است. این دید در حذف مشکل دارد، زیرا با حذف یک تاپل از این دید، در هریک از دو رابطه مبنا، یک تاپل حذف می شود و چنانچه کاربر بخواهد محتوای دید خود را نمایش دهد، تاپلهای دیگر هم از دید او حذف می شوند که درخواست نکرده است.
345

دید حاصل اجتماع، اشتراک و تفاضل دو رابطه در عملیات ذخیره سازی مشکلی ندارد، به شرط آنکه سیستم بتواند تشخیص دهد که عمل درخواست شده، در کدامیک از دو رابطه مبنا انجام شود.
346

مشکلات مهمتر دیدهای پذیرا
بروز عارضه جانبی در خود دید
بروز عارضه جانبی در دیدهای دیگر
نقض قاعده جامعیت
بروز فزونکاری در سیستم
تغییر ماهیت عمل درخواست شده
تعدد تبدیلات و مشکل تصمیم گیری
347

دیدهای ناپذیرا
دید پرتوی یا گزینشی فاقد کلید رابطه مبنا
دید پیوندی NK-NK
دید پیوندی FK-FK
دید حاوی صفت مجازی
دید حاصل تقسیم
348

ویژگیهای دیدهای قابل بهنگام سازی
عبارت تعریف کننده محدوده دید، یک عبارت معتبر SELECT باشد.
در کلاز FROM، عبارت SELECT، فقط یک جدول وجود داشته باشد.
جدول قیدشده در کلاز FROM، یک جدول مبنا یا یک دید قابل بهنگام سازی باشد.
در item-list عبارت SELECT، ستونهای مورد نظر باید در جدول مبنا متناظر باشد.
در عبارت SELECT نباید کلاز GROUP BY و HAVING و گزینه DISTINCT وجود داشته باشد.
در کلاز WHERE عبارت SELECT نباید عبارتی حاوی کلاز FROM باشد، به گونه ای که در آن به همان جدولی ارجاع داده شده باشد که در کلاز FROM قبلی به آن ارجاع شده است.
349

جلسه چهاردهم
طراحی پایگاه داده های رابطه ای
350

1- مراحل طراحی پایگاه داده ها
2- نمودار مراحل اساسی طراحی پایگاه داده ها
3- روشهای طراحی منطقی پایگاه داده ها
4- روش طراحی بالا به پایین
5- روش سنتز رابطه ای
6- روش ترکیبی
7- خصوصیات طراحی خوب
8- چهارده روش تبدیل نمودار ERبه رابطه ها
آنچه در این جلسه می خوانید:
351

هدفهای کلی: آشنایی با طراحی پایگاه داده های رابطه ای
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
مراحل طراحی پایگاه داده ها را بیان کند.
روشهای طراحی منطقی پایگاه را شرح دهد.
روشهای تبدیل نمودار ER به رابطه را نام برده و توضیح دهد.
خصوصیات یک طراحی خوب را بیان کند.
352

طراحی پایگاه داده های رابطه ای (روش بالا به پایین)
مراحل طراحی پایگاه داده ها
مطالعه و شناخت خرد جهان واقع
انجام عملیات مهندسی نیازها
مدلسازی معنایی داده ها
طراحی منطقی پایگاه داده ها
طراحی فیزیکی پایگاه داده ها
انجام تحلیل عملکردی: تعیین تراکنشها
طراحی برنامه های کاربردی و واسطهای کاربری
353

طراحی فیزیکی
طراحی منطقی
مدلسازی معنایی داده ها
تشخیص نیازها و تحلیل آنها
طراحی برنامه های کاربردی
و واسطهای کاربری
پیاده سازی تراکنشها
تحلیل عملکردی
نیازهای پایگاهی
نمودار ER
شمای ادراکی (منطقی) و شمای خارجی
شمای داخلی
برنامه های کاربردی
مشخص کردن تراکنشها در سطح بالا
خرد جهان ولقع
نیازهای عملیاتی
ناوابسته به DBMS
وابسته به DBMS
مراحل اساسی طراحی پایگاه داده ها
354

روشهای طراحی منطقی پایگاه داده ها
روش بالا به پایین
روش سنتز رابطه ای
روش ترکیبی
355

روش طراحی بالا به پایین
در این روش ابتدا مدلسازی معنایی داده ها انجام می شود. سپس مدلسازی را به مجموعه ای از رابطه ها تبدیل می کنیم. حاصل این فرایند، معمولا مجموعه ای از رابطه های خوش طرح است
356

روش سنتز رابطه ای
در این روش مجموعه صفات خردجهان واقع را مشخص می کنیم. سپس با تحلیل قواعد و محدودیتهای ناظر به صفات و تشخیص وابستگیهای بین آنها، صفات را متناسبا باهم سنتز می کنیم. هر گروه از صفات عنوان یک رابطه را به ما می دهد به گونه ای که حتی الامکان در مطلوبترین صورت نرمال باشد. هر رابطه بدست آمده نمایشگر بخشی از خردجهان واقع بوده، ضوابط یک طرح خوب و قابل دفاع را خواهد داشت.
357

روش ترکیبی
در این روش، ابتدا طراحی را با روش بالا به پایین انجام می دهیم و سپس با دخالت دادن برخی محدودیتهای جامعیتی که در مرحله مدلسازی معنایی داده ها منظور نشده اند و با تحلیل هر رابطه، مرحله نرمالترسازی رابطه ها را انجام می دهیم تا به مجموعه ای از نرمالترین رابطه ها برسیم.
358

خصوصیات طراحی خوب
1- نمایش واضحی از خردجهان واقع باشد.
2- نمایش صحیحی از خردجهان واقع باشد.
3- نمایش جامعی از خردجهان واقع باشد.
4- تمام قواعد جامعیتی که قابل اعمال در هر مرحله از طراحی منطقی باشند، در طراحی منظور شده باشند.
5- معنای هریک از صفات از هر نوع موجودیت به درستی رعایت شده باشد.
6- کمترین میزان افزونگی را داشته باشد.
ادامه
359

7- کمترین میزان اختلاط اطلاعات را داشته باشد.
8- انعطاف پذیری داشته باشد.
9- کمترین دشواری در انجام عملیات ذخیره سازی
10- کمترین میزان هیچمقدار
11- هیچ اطلاع جعلی در اثر انجام عملیات در پایگاه داده ها پدید نیاید.
12- با درنظر گرفتن طراحی فیزیکی و تاثیر آن در طراحی منطقی، بیشترین کارایی برای سیستم کاربردی پایگاه داده ها تامین شود.
خصوصیات طراحی خوب
360

روش تبدیل نمودار ER به رابطه ها
حالت اول
تعداد نوع موجودیت: n>=2
وضع موجودیتها: مستقل
چندی ارتباط: N:M
در این حالت، n+1 رابطه لازم است. n رابطه برای n موجودیت مستقل و یک رابطه برای نمایش ارتباط بین آنها. اگر ارتباط بین انواع موجودیتها، صفت ساده یا مرکب چندمقداری نداشته باشد، در این صورت کلید کاندید رابطه نمایشگر ارتباط بین n موجودیت، از ترکیب کلیدهای کاندید n رابطه نمایشگر n موجودیت به دست می آید. سپس کلیدهای خارجی، اجزاء تشکیل دهنده کلید کاندید رابطه نمایشگر ارتباط هستند.
361

حالت دوم
تعداد نوع موجودیت: دو
وضع موجودیتها: مستقل
چندی ارتباط: 1:N
در این حالت، دو رابطه کفایت می کند: یک رابطه برای نمایش نوع موجودیت طرف یک، یک رابطه برای نمایش نوع موجودیت طرف N و نیز ارتباط 1:N. در رابطه اخیر، کلید کاندید رابطه اول، به عنوان کلید خارجی رابطه دوم، ارتباط مورد نظر را نشان می دهد و جزء تشکیل دهنده کلید کاندید رابطه نیست.
روش تبدیل نمودار ER به رابطه ها
362

حالت سوم
تعداد نوع موجودیت: دو
وضع موجودیتها: مستقل
چندی ارتباط: 1:1
در این حالت، دو رابطه لازم است: یک رابطه برای نمایش یکی از دو نوع موجودیت و رابطه ای دیگر برای نمایش نوع موجودیت دیگر و ارتباط بین دو نوع موجودیت.
روش تبدیل نمودار ER به رابطه ها
363

حالت چهارم
تعداد نوع موجودیت: یک
وضع موجودیتها: مستقل
چندی ارتباط: N:M
در این حالت، ارتباط با خود داریم. دو رابطه لازم است: یک رابطه برای نمایش خود نوع موجودیت و دیگری برای نمایش ارتباط، اعم از اینکه مشارکت الزامی باشد یا نباشد.
روش تبدیل نمودار ER به رابطه ها
364

حالت پنجم
تعداد نوع موجودیت: یک
وضع موجودیتها: مستقل
چندی ارتباط: 1:N
در این حالت، هم ”ارتباط با خود“ داریم و یک رابطه کفایت می کند.
روش تبدیل نمودار ER به رابطه ها
365

حالت ششم
تعداد نوع موجودیت: یک
وضع موجودیتها: مستقل
چندی ارتباط: 1:1
در این حالت یک رابطه کفایت می کند، به شرط آنکه مشارکت در ارتباط الزامی باشد. البته می توان با دو رابطه هم طراحی کرد.
روش تبدیل نمودار ER به رابطه ها
366

حالت هفتم
نمایش موجودیت ضعیف
موجودیت ضعیف دارای شناسه یکتا نیست، بلکه صفت ممیزه دارد. برای نمایش این نوع موجودیت در طراحی پایگاه رابطه ای، یک رابطه طراحی می کنیم که در عنوان آن، صفات موجودیت ضعیف و کلید کاندید موجودیت قوی که با آن ارتباط دارد (موجودیت شناسا)، وجود دارند.
روش تبدیل نمودار ER به رابطه ها
367

حالت هشتم
وجود صفت چندمقداری
اگر MVA، یک صفت (ساده یا مرکب) چندمقداری، EID شناسه موجودیت E و ، … و سایر صفات تک مقداری موجودیت E باشند، در این صورت برای نمایش این نوع موجودیت، دو رابطه لازم است:
روش تبدیل نمودار ER به رابطه ها
368

حالت نهم
ارتباط IS-A یا ”گونه ای است از …“
در این حالت یک روش این است که موجودیت سطح بالاتر با یک رابطه نشان داده می شود و هر نوع موجودیت سطح پایین تر با صفات خاص خودش همراه با شناسه اصلی موجودیت سطح بالاتر، در رابطه دیگری نمایش داده می شود.
روش تبدیل نمودار ER به رابطه ها
369

حالت دهم
وجود دسته (طبقه) در ارتباط IS-A
در این ارتباط وقتی زیرنوع دسته (طبقه) داریم و صفات شناسه زبرنوعها، متفاوت باشند، یک طرز طراحی این است که این زیرنوع را با یک رابطه نشان دهیم. کلید این رابطه، یک کلید جایگزین (شناسه ساختگی) است و بعلاوه یک صفت دیگر در آن درنظر می گیریم نشان دهنده نوع آن (از نوع کدام زبرنوع است). هر زبرنوع را هم با یک رابطه نشان می دهیم و صفت کلید زیرنوع را به هریک از رابطه های نشان دهنده زبرنوعها اضافه می کنیم.
روش تبدیل نمودار ER به رابطه ها
370

حالت یازدهم
ارتباط IS – A PART – OF یا ”جزئی است از …“
در این حالت، برای موجودیت کل (شامل) یک رابطه و برای هریک از موجودیتهای جزء (مشمول) نیز یک رابطه طراحی می شود. در رابطه نشان دهنده موجودیت جزء، کلید کاندید رابطه نشان دهنده موجودیت کل، آورده می شود و بقیه صفات این رابطه، خاص خود موجودیت جزء هستند.
روش تبدیل نمودار ER به رابطه ها
371

حالت دوازدهم
بیش از یک ارتباط بین دو نوع موجودیت
فرض می کنیم هر دو نوع موجودیت مستقل هستند. تعداد رابطه ها، بستگی به چندی هر ارتباط دارد. به صورت زیر عمل می کنیم:
هر ارتباط با چندی N:M با یک رابطه نمایش داده می شود.
نوع موجودیت سوی N و همه ارتباطهای با چندی 1:N، اگر مشارکت دو نوع موجودیت در همه ارتباطها الزامی باشد، را می توان با یک رابطه نمایش داد.
ادامه
روش تبدیل نمودار ER به رابطه ها
372

اگر مشارکت دو نوع موجودیت در یک ارتباط 1:N، الزامی نباشد، بهتر است برای چنین ارتباطی یک رابطه جداگانه طراحی شود که صفات آن، شناسه دو نوع موجودیت و در صورت وجود، صفات خود ارتباط هستند.
در صورت وجود بیش از یک ارتباط 1:1 و الزامی بودن مشارکتها، هر دو نوع موجودیت و همه این ارتباطها را می توان با یک رابطه نمایش داد.
اگر مشارکت در یک ارتباط 1:1 الزامی نباشد، بهتر است این ارتباط را با یک رابطه جداگانه نمایش داد.
حالت دوازدهم
بیش از یک ارتباط بین دو نوع موجودیت
روش تبدیل نمودار ER به رابطه ها
373

حالت سیزدهم
ارتباط سلسله مراتبی (پدر- فرزندی)
در تبدیل این نوع ارتباط بین موجودیتها به طراحی رابطه ای یک روش چنین است:
1- برای نوع موجودیت ریشه، یک رابطه در نظر می گیریم.
2- کلید کاندید این رابطه همان شناسه ریشه است.
3- برای هر نوع موجودیت فرزند یک رابطه در نظر می گیریم و کلید کاندید هر نوع موجودیت فرزند، ترکیب شناسه آن نوع موجودیت با کلید کاندید نوع موجودیت پدرش است.
روش تبدیل نمودار ER به رابطه ها
374

حالت چهاردهم
تجمع (ارتباط با ارتباط)
در این حالت، ابتدا نمودار ER جزئی درون مستطیل نشان دهنده نوع موجودیت حاصل از عمل تجمیع را به رابطه های لازم تبدیل می کنیم. سپس با توجه به چندی ارتباط بین نوع موجودیت مرتبط با ارتباط و چگونگی مشارکت در ارتباط با ارتباط، طراحی را کامل می کنیم.
روش تبدیل نمودار ER به رابطه ها
375

جلسه پانزدهم
نرمالترسازی رابطه ها
376

1- آنومالی در عملیات ذخیره سازی
2- صورتهای نرمال
3- وابستگی تابعی
4- وابستگی تابعی نامهم (بدیهی)
5- قواعد استنتاج آرمسترانگ
6- مجموعه کاهش ناپذیر وابستگیهای تابعی
7- وابستگی تابعی تام (کامل)
8- رابطه 1NF
9- رابطه 2NF
آنچه در این جلسه می خوانید:
377

10- رابطه 3NF
11- صورت نرمال بایس-کاد
12- وابستگی تابعی چندمقداری
13- رابطه 4NF
14- وابستگی تابعی چندمقداری ادغام شده
15- رابطه 5NF
16- مزایا و معایب نرمالترسازی
17- انواع افزونگی در پایگاه داده ها
آنچه در این جلسه می خوانید:
378

هدفهای کلی: آشنایی با نرمالترسازی رابطه ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
صورتهای مختلف نرمال سازی را نام برده و هریک را توصیف کند.
مزایا و معایب روش نرمالترسازی را شرح دهد.
379

طراحی پایگاه داده های رابطه ای
روش سنتز: نرمالترسازی رابطه ها
یک رابطه، هرچند نرمال، بازهم ممکن است در عملیات ذخیره سازی (درج، حذف و بهنگام سازی) مشکلاتی داشته باشد.
380

آنومالی در عملیات ذخیره سازی به هریک از سه وضع زیر گفته می شود:
عدم امکان انجام یک عمل (که منطقا باید قابل انجام باشد)
بروز پیامد بد پس از انجام یک عمل
بروز فزونکاری در سیستم در انجام یک عمل
381

صورتهای نرمال
صورت نخست نرمال (1NF)
صورت دوم نرمال (2NF)
صورت سوم نرمال (3NF)
صورت نرمال بایس-کاد (BCNF)
صورت چهارم نرمال (4NF)
صورت پنجم نرمال (5NF)
صورت نرمال میدان-کلیدی (DKNF)
صورت نرمال تحدید-اجتماع (RUNF)
382

وابستگی تابعی
تعریف- فرض کنید که R یک متغیر رابطه ای و A و B دو زیرمجموعه دلخواه از عنوان R باشند. می گوییم B با A وابستگی تابعی دارد و چنین نمایش می دهیم:
اگر و فقط اگر در هر میدان ممکن از متغیر رابطه ای R، به هر مقدار A فقط یک مقدار B متناظر باشد.
383

وابستگی تابعی نامهم (بدیهی)
اگر در R(A,B,C,…) داشته باشیم: ، در این صورت: یک وابستگی تابعی نامهم است. به بیان دیگر اگر B زیرمجموعه ای از A باشد، در این صورت یک وابستگی نامهم است.
384

قواعد استنتاج آرمسترانگ
فرض: A، B، C و D زیرمجموعه هایی از صفات رابطه R باشند. قواعد زیر برقرارند:
قاعده انعکاس: اگر آنگاه:
قاعده تعدی(تراگذری): اگر و آنگاه
قاعده افزایش: اگر آنگاه
قاعده تجزیه: اگر آنگاه و
قاعده اجتماع: اگر و آنگاه
قاعده ترکیب: اگر و آنگاه
قاعده شبه تعدی: اگر و آنگاه
قاعده یگانگی عمومی: اگر و آنگاه
385

مجموعه کاهش ناپذیر وابستگیهای تابعی
مجموعه ای از وابستگیهای تابعی R، به نام F را کاهش ناپذیر گوییم اگر:
در F وابستگی تابعی افزونه نباشد.
در سمت راست هر FD از F صفت ساده وجود داشته باشد.
هیچ صفتی در سمت چپ FDهای F افزونه نباشد.
386

وابستگی تابعی تام (کامل)
اگر X و Y دو زیرمجموعه از مجموعه عنوان رابطه R باشند، می گوییم Y با X وابستگی تابعی تام دارد و چنین نشان می دهیم:

اگر و فقط اگر Y با X وابستگی داشته باشد. ولی با هیچ زیرمجموعه ای از X وابستگی تابعی نداشته باشد.
387

رابطه 1NF
تعریف- رابطه ای 1NF است اگر هر صفت خاصه آن در هر تاپل، تک مقداری باشد، به بیان دیگر، صفت چندمقداری نداشته باشد.
388

رابطه 2NF
تعریف- رابطه ای 2NF است اگر اولا 1NF باشد و ثانیا تمام صفات غیرکلید با کلید اصلی وابستگی تابعی تام داشته باشند. به عبارت دیگر هر صفت غیرکلید با کلید اصلی بطور کاهش ناپذیر وابسته باشد.
389

رابطه 3NF
تعریف- رابطه ای 3NF است اگر 2NF باشد و هر صفت غیرکلید با کلید اصلی، وابستگی تابعی بی واسطه داشته باشد.
390

صورت نرمال بایس-کاد
تعریف اول: رابطه ای BCNF است اگر در آن هر دترمینان، کلید کاندید باشد. این تعریف ساده شده و غیر صوری است.
391

صورت نرمال بایس-کاد
تعریف دوم: رابطه R(H)، با مجموعه وابستگیهای تابعی F، در BCNF است اگر برای هر وابستگی تابعی در به صورت که در آن و است، حداقل یکی از دو حالت زیر برقرار باشد:
a: یک وابستگی نامهم باشد یعنی
b: A سوپرکلید رابطه R باشد.
392

صورت نرمال بایس-کاد
تعریف سوم: رابطه R در BCNF است هرگاه یک وابستگی تابعی به صورت در مجموعه FDهای R وجود داشته باشد، A سوپرکلید R باشد.
393

صورت نرمال بایس-کاد
تعریف چهارم: رابطه ای BCNF است اگر و فقط اگر سمت چپ هر FD مهم (مطرح) و کاهش ناپذیر، کلید کاندید رابطه باشد.
394

وابستگی تابعی چندمقداری
تعریف اول- در رابطه R(X,Y,Z) با صفات ساده یا مرکب X، Y و Z می گوییم که Y با X وابستگی تابعی چندمقداری دارد و چنین نمایش می دهیم:
اگر به یک مقدار X، مجموعه ای از مقادیر Y متناظر باشند.
395

وابستگی تابعی چندمقداری
تعریف دوم- در رابطه R، صفت Y با X وابستگی تابعی چندمقداری دارد اگر و فقط اگر مجموعه مقادیر Y متناظر با یک مقدار از جفت (X,Z) در R فقط به مقدار X بستگی داشته باشد و وابسته به مقدار Z نباشد.
396

رابطه 4NF
تعریف- رابطه ای 4NF است اگر BCNF باشد و در آن وابستگی تابعی چند مقداری مهم وجود نداشته باشد.
397

وابستگی تابعی چندمقداری ادغام شده
در رابطه R(X,Y,Z,U,V,…)، پدیده وابستگی تابعی چندمقداری ادغام شده وجود دارد اگر در پرتوی از این رابطه، پدیده وابستگی تابعی چندمقداری وجود داشته باشد. توجه داشته باشید که این پرتو باید روی سه صفت (ساده یا مرکب) باشد.
398

رابطه 5NF
تعریف- رابطه ای 5NF است اگر تمام وابستگیهای پیوندی آن ناشی از کلیدهای کاندید آن باشد. در نتیجه:
اگر بتوانیم یک وابستگی پیوندی در رابطه R پیدا کنیم که در همه پرتوهایش کلید کاندید R وجود نداشته باشد، رابطه 5NF نیست.
399

مزایای نرمالترسازی
ارائه یک طراحی بهتر و واضح تر با کمترین اختلاط اطلاعات
کاهش بعضی انواع افزونگی
کاهش بعضی آنومالیها
تسهیل اعمال بعضی قواعد جامعیت
400

انواع افزونگی در پایگاه داده ها:
افزونگی طبیعی
افزونگی تکنیکی ناشی از وجود کلید خارجی یا هرصفت مشترک دیگر در دو یا بیش از دو رابطه
افزونگی ناشی از وابستگی بین صفات
401

معایب روش نرمالترسازی
1- بروز فزونکاری در سیستم در عمل بازیابی
2- ایجاد نوعی افزونگی از نوع افزونگی در سطح ادراکی
3- زمانگیر بودن فرآیند نرمالترسازی به ویژه اگر محیط عملیاتی بزرگ و تعداد رابطه ها زیاد باشد.
4- تصمیم گیری دشوار در اثر تعدد تجزیه ها
5- ممکن وابستگی بین مجموعه صفات یک خردجهان، وابستگیهای به جز وابستگی تابعی و پیوندی باشد و بنابراین سبب مطرح شدن قواعد جامعیت دیگر و نیز ضوابط دیگری برای تجزیه رابطه ها شود و . . .
402

جلسه شانزدهم
طراحی فیزیکی پایگاه داده ها
403

1- تحلیل عوامل
2- تحلیل پرسشها
3- تحلیل تراکنشها
4- تصمیمات در طراحی فیزیکی
5- اهداف تنظیم پایگاه داده ها
6- اطلاعات لازم در تنظیم پایگاه داده ها
آنچه در این جلسه می خوانید:
404

7- مسائل مطرح در تنظیم
8- نکات قابل توجه در بازبینی طراحی منطقی پایگاه داده ها پس از عملیاتی شدن آن
9- کارهای لازم برای اصلاح شاخصهای ایجادشده در مرحله تنظیم پایگاه داده ها
آنچه در این جلسه می خوانید:
405

هدفهای کلی: آشنایی با طراحی فیزیکی پایگاه داده ها
هدفهای رفتاری: دانشجو در پایان این جلسه می تواند:
عواملی که در طراحی فیزیکی پایگاه داده ها موثر هستند را بیان کند.
پرسشهایی را که در تحلیل پرسشها و تراکنش مطرح می شوند، بشناسد.
اطلاعات لازم در تنظیم پایگاه داده ها را بیان کند.
406

طراحی فیزیکی پایگاه داده ها
طراحی فیزیکی به عواملی از جمله حجم و ماهیت داده ها، تعداد کاربران و از آنجا تعداد و ماهیت تراکنشها و نهایتا تعداد و ماهیت برنامه های کاربردی و فرکانس اجرای هر برنامه بستگی دارد.
407

تحلیل عوامل
تحلیل پرسشها
در این تحلیل باید به پرسشهای زیر پاسخ داده شود:
چه رابطه هایی در پرسش دخیل هستند
نوع رابطه ها چیست
صفات موجود در مسند گزینش
صفات موجود در مسند پیوند
صفات مورد نظر در پرسش
فرکانس اجرای هر پرسش
اسلوب اجرای پرسش: اندرکنشی یا کامپایل شده
408

تحلیل عوامل
تحلیل تراکنشها
در این تحلیل باید به پرسشهای زیر پاسخ داده شود:
رابطه های دخیل در تراکنش و نوع هر رابطه
نوع هر عمل در تراکنش
صفات موجود در مسند گزینش
صفاتی که مقدارشان تغییر می کند
409

تصمیمات در طراحی فیزیکی
روی چه فایلهایی شاخص ایجاد شود یا تابع درهم ساز اعمال شود.
روی چه صفاتی از فایل، شاخص ایجاد شود.
شاخص ساده باشد یا مرکب.
شاخص خوشه ساز باشد یا نباشد.
410

اهداف تنظیم پایگاه داده ها
تسریع اجرای برنامه های کاربردی
کاهش زمان پاسخدهی پرسشها
بهبود توان عملیاتی سیستم مدیریت پایگاه داده ها
اجتناب از خرید سخت افزار بیشتر
کاهش اندازه پیکربندی سخت افزاری
رضایت بیشتر کاربران سیستم
411

اطلاعات لازم در تنظیم پایگاه داده ها
اطلاعات در مورد خود DBMS
اطلاعات اولیه مورد استفاده در طراحی منطقی و فیزیکی پایگاه
آمار جمع آوری شده توسط DBMS و DBA در مورد رفتار سیستم مانند:
کاردینالیتی هر رابطه
تعداد مقادیر متمایز برای هرصفت و درصد هیچ مقدار برای هر صفت
فرکانس عرضه هر پرسش به سیستم و فرکانس اجرای آن
فرکانس اجرای هر تراکنش
اندازه صفحات
زمان اجرای پرسشها و تراکنشها
. . .
412

مسائل مطرح در تنظیم
چگونگی اجتناب از بروز تنگنا در قفل گذاری روی داده ها به منظور افزایش همروندی اجرای تراکنشها
چگونگی کاهش سربار ناشی از ایجاد فایلهای ثبت تراکنشها
چگونگی بهینه سازی اندازه بافرها
چگونگی بهینه سازی زمانبندی اجرای تراکنشها
چگونگی بهینه سازی تخصیص منابع
413

در بازبینی طراحی منطقی پایگاه داده ها پس از عملیاتی شدن آن، باید به نکات زیر توجه شود:
آیا رابطه هایی باید تجزیه شوند؟
آیا سطح نرمالیتی رابطه هایی باید کاهش یابد؟
آیا مجموعه دیگری از رابطه ها، با همان سطح نرمالیتی، باید طراحی شوند؟
آیا صفاتی با پذیرش میزانی از افزونگی، باید در رابطه هایی تکرار شوند؟
آیا در طراحی دیدهای خارجی باید تغییراتی داده شود؟
414

کارهای لازم برای اصلاح شاخصهای ایجادشده در مرحله تنظیم پایگاه داده ها
ایجاد شاخصهای جدید
حذف برخی از شاخصها
کاهش تعداد شاخصها روی صفاتی که مقادیرشان مرتب تغییر می کنند.
اصلاح شاخصهایی که در کنترل همروندی تراکنشها تاثیر دارند
بازسازی شاخصها می تواند در کارایی سیستم تاثیر مثبت داشته باشد
در بعضی از RDBMSها بهینه ساز، اگر در پرسش، عبارت محاسباتی، مقایسه یا هیچ مقدار و محاسبه تفاوت مقادیر وجود داشته باشد، از شاخص استفاده نمی کند.
415

416
پایان


تعداد صفحات : 416 | فرمت فایل : ppt

بلافاصله بعد از پرداخت لینک دانلود فعال می شود