پايگاه دادهها
اهداف اين درس
در اين درس به بخشي از مفاهيم مبنايي دانش و تكنولوژي پايگاه دادهها و اصول
مدلسازي و طراحي آن پرداخته ميشود. پايگاه داده وعناصر اصلي محيط آن معرفي
ميشود. با مدلسازي معنايي دادهها و محيط انتزاعي آشنا ميشويم. سطوح
معماريهاي پايگاه دادهها بيان ميشود. سيستم مديريت پايگاه دادهها (DBMS)
و اجزاء آن شرح داده ميشود. به انواع معماريهاي سيستم پايگاهي و مفاهيم اساسي
مدل رابطهاي پرداخته ميشود. با زبان SQL
به عنوان يك زبان رابطهاي وهمچنين با ديدهاي رابطهاي آشنا ميشويم و در نهايت
طراحي پايگاه دادهها به روش بالا به پايين و طراحي فيزيكي را خواهيم ديد.
مفاهيم پايگاه دادهها
اصطلاح پايگاه دادهها يكي از رايجترين اصطلاحات در دانش و فن كامپيوتر است
سيستم مديريت پايگاه دادهها يكي از سيستمهاي ذخيره و بازيابي اطلاعات است.
1-سيستم ذخيره و بازيابي اطلاعات در معناي عام:
هر سيستمي كه به كاربر برنامهساز يا نابرنامهساز امكان دهد تا اطلاعات خود را
ذخيره، بازيابي و پردازش كند.
2- ردههاي تكنولوژيكي سيستم مديريت پايگاه دادهها
1- سيستم فايلينگ
2- سيستم مديريت دادهها
3- سيستم مديريت پايگاه دادهها
4- سيستم مديريت پايگاه شناخت
5- سيستم مديريت پايگاه دادههاي شئگرا
6- سيستم هوشمند مديريت پايگاه دادهها
7- سيستم معنايي مديريت پايگاه دادهها
8- سيستم مديريت پايگاه دادههاي زمانبند
9- سيستم مديريت پايگاه دادههاي نيمساختمند و ناساختمند
10- سيستم مديريت پايگاه دادههاي بي درنگ
11- سيستم دادهكاوي و كشف شناخت
12- سيستم مديريت چند پايگاهي
13- سيستم اطلاعات اجرائي
14- سيستم فعال مديريت پايگاه دادهها
15- سيستم مديريت پايگاه دادههاي شيئ-رابطهاي
3-داده
تعريف اول- نمايش ذخيرهشده اشياء فيزيكي، چيزهاي مجرد، پديدهها، رويدادها يا
چيزهاي قابل مشاهده كه در تصميمسازي به كارميآيند.
تعريف دوم- هر مجموعهاي از پديدهها
تعريف سوم- پديدههاي خام كه معناي اندكي دارند مگر اينكه به صورت منطقي
سازماندهي شده باشند
تعريف داده از ديدگاه ANSI
نمايش واقعيتها، پديدهها، مفاهيم يا شناختهها به طورصوري و مناسب براي
برقراري ارتباط، تفسير يا پردازش توسط انسان يا هر امكان خودكار
هر نمايشي اعم از كاراكتري يا كميتهاي قياسي كه معنايي به آن قابل انتساب باشد.
4-تعريف اطلاع
اطلاع به دادهاي اطلاق ميشود كه توسط يك فرد يا سازمان براي تصميمگيري بكار
ميرود
اطلاع، داده پردازششده است.
اطلاع عبارت است از داده سازمان يافتهاي كه شناختي را منتقل ميكند
5-تعريف دانش
دانش عبارتست از نمايش نمادين جنبههايي از بخشي از خرد جهان واقع
6-تعريف پايگاه دادهها
مجموعهاي است از دادههاي ذخيره شده و پايا، به صورت مجتمع(يكپارچه) (نه لزوما
فيزيكي، بلكه حداقل به طور منطقي)، بهم مرتبط، با كمترين افزونگي، تحت مديريت
يك سيستم كنترل متمركز، مورد استفاده يك يا چند كاربر از يك يا بيش از يك
”سيستم كاربردي“، به طور همزمان و اشتراكي
براي ايجاد يك سيستم كاربردي دو راهكار وجود دارد:
1- راهكار سنتي يا مشي فايلينگ
2- راهكار (مشي) پايگاهي
7-مراحل كلي كار در مشي فايلينگ
- تحليل و بررسي نيازهاي اطلاعاتي و پردازشي هر قسمت به طور جداگانه
- اجراي مراحل كلاسيك اوليه لازم براي طراحي و توليد يك سيستم كاربردي
- تعيين مشخصات هر سيستم و وظايف آن
- طراحي تعدادي فايل
- نوشتن مجموعهاي از برنامههاي ايجاد، كنترل و پردازش فايل
- استفاده از يك پيكربندي سختافزاري و نرمافزاري مشخص
- انجام تستهاي لازم و تنظيم سيستم كاربردي
- ايجاد يك سيستم كاربردي براي هر قسمت و برپايي محيط فيزيكي ذخيره و بازيابي
اطلاعات و سيستم بهرهبرداري از آن خاص همان قسمت.
8-معايب مشي فايلينگ
1- عدم وجود محيط مجتمع ذخيرهسازي اطلاعات و عدم وجود سيستم يكپارچه
2- عدم وجود سيستم كنترل متمركز روي كل دادهها
3- افزونگي
4- عدم وجود ضوابط ايمني كارا و مطمئن
5- خطر بروز پديده ناسازگاري دادهها
6- عدم امكان اشتراكي شدن دادهها
7- مصرف نابهينه امكانات سختافزاري و نرمافزاري
8- حجم زياد برنامهسازي
9- وابستگي برنامههاي كاربردي به محيط ذخيرهسازي دادهها

9-مراحل كلي كار در مشي پايگاهي
- بررسي و تحليل نيازهاي پردازشي و اطلاعاتي همه قسمتها توسط يك گروه
- تعيين مشخصات جامع (يكپارچه) كاربردي و وظايف آن
- انتخاب يك يا چند پيكربندي سختافزاري-نرمافزاري
- استفاده از يك يا چند DBMS
- طراحي پايگاه دادهها در سطوح لازم
- توليد مجموعهاي از برنامههاي ايجاد و كنترل پايگاه داده
- ايجاد محيط واحد و مجتمع ذخيرهسازي و مشترك بين كاربران
- طراحي و توليد واسطهاي كاربرپسند مورد نياز
- تعريف پايگاه داده هر قسمت توسط كاربر مربوطه
- طراحي برنامههاي عمليات در پايگاه داده
- بهرهبرداري واقعي از سيستم پس از تستهاي لازم
10-عناصر محيط پايگاه دادهها
1- سختافزار 2- نرمافزار
3- كاربر
4- داده

11-انواع سختافزارهاي محيط پايگاه داده
سختافزار ذخيرهسازي دادهها
سختافزار پردازشگر
سختافزار ارتباطي
12-انواع نرمافزارهاي موجود در محيط پايگاه دادهها
سيستم مديريت پايگاه دادهها (DBMS)
برنامههاي كاربردي قابل اجرا در محيط DBMS
رويههاي ذخيرهشده
مدلسازي معنايي دادهها
1-مدلسازي معنايي دادهها
دادههاي ذخيرهشدني در پايگاه دادهها ابتدا بايد در بالاترين سطح انتزاع
مدلسازي معنايي شوند.
2-انواع روشهاي مدلسازي معنايي دادهها
روش موجوديت- ارتباط (ER)
روش زبان عمومي مدلسازي (UML)
روش تكنيك مدلسازي شيئي (OMT)
3-سه مفهوم معنايي موجود در روش ER

4-تعريف موجوديت
مفهوم كلي شيئ، چيز، پديده و به طور كلي هر آنچه كه ميخواهيم در موردش اطلاع
داشته باشيم و شناخت خود را در موردش افزايش دهيم.
5-سه ضابطه در رابطه با تشخيص يك نوع موجوديت
1- معمولا نمونههايي متمايز از يكديگر دارند.
2- معمولا بيش از يك صفت دارد و كاربر به مجموعهاي از اطلاعات در مورد آن نياز
دارد.
3- معمولا حالت كنشگري (فاعليت) يا حالت كنشپذيري (مفعوليت) دارد.
6-موجوديت مستقل و وابسته
موجوديت مستقل (قوي)، موجوديتي است كه مستقل از هر موجوديت ديگر و به خودي خود،
در يك محيط مشخص مطرح باشد.
موجوديت وابسته (ضعيف)، موجوديتي است كه وجودش وابسته به يك نوع موجوديت ديگر
است.
7-تعريف صفت
خصيصه يا ويژگي يك نوع موجوديت است و هر نوع موجوديت مجموعهاي از صفات دارد.
هر صفت يك نام، يك نوع و يك معناي مشخص دارد.
8-انواع صفت
ساده يا مركب
تكمقداري يا چندمقداري
شناسه يا ناشناسه موجوديت
هيچمقدارپذير يا ناپذير
ذخيرهشده يا مشتق
مقدار صفت ساده از لحاظ معنايي تجزيهنشدني يا اتميك است.
صفت مركب از چند صفت ساده تشكيل شده است.
صفت تكمقداري، صفتي است كه براي يك نمونه از يك نوع موجوديت حداكثر يك مقدار
از دامنه مقادير را ميگيرد
صفت چندمقداري بيش از يك مقدار از دامنه مقادير ميگيرد.
صفت شناسه موجوديت كه گاه به آن كليد هم گفته ميشود، دو ويژگي دارد:
1- يكتايي مقدار دارد.
2- حتي الامكان طول مقاديرش كوتاه است.
صفت هيچ مقدارپذير
هيچ مقدار يعني مقدار ناشناخته، مقدار غيرقابل اعمال، مقدار تعريفنشده.
اگر مقدار يك صفت در يك يا بيش از يك نمونه از يك نوع موجوديت، برابر با
هيچمقدار باشد، آن صفت هيچمقدارپذير است.
صفت ذخيرهشده و مشتق
صفت ذخيرهشده صفتي است كه مقاديرش در پايگاه دادهها ذخيره شده باشد.
صفت مشتق، صفتي است كه مقاديرش در پايگاه دادهها ذخيره نشده باشد، بلكه حاصل
يك پردازش روي فقرههايي از دادههاي ذخيره شده باشد.
تعامل بين دو يا بيش از دو
نوع موجوديت است و ماهيت آن نوعي بستگي بين نوع-موجوديتها است.
خصوصيات نوع
ارتباط
1- هر ارتباط يك نام دارد
2- هر ارتباط يك معناي مشخص دارد و اين معنا با معناي هر ارتباط
ديگر متفاوت است.
3- هر ارتباط نمونههايي دارد.
نمودار
ER
نموداري است كه سه مفهوم اساسي مدل
ER،
يعني نوع موجوديت، صفت و ارتباط نمايش داده ميشوند
نوع موجوديت

نوع موجوديت
ضعيف (وابسته)

نوع ارتباط

نوع ارتباط موجوديت ضعيف با قوي

مشاركت نوع
موجوديت در نوع ارتباط

مشارکت الزامی

صفت

صفت شناسه اول

صفت شناسه دوم (در صورت وجود)

صفت شناسه مرکب (مثلا دو صفتی)

صفت چند مقداری

صفت مرکب

صفت مشتق (محاسبه شدنی)

چندي ارتباط

تعداد شركتكنندگان در يك ارتباط را درجه آن ارتباط ميگويند.

چندي يا ماهيت نوع ارتباط عبارتست از چگونگي تناظر بين دو
مجموعه نمونههاي آن دو نوع موجوديت.
يك به يك
1:1
يك به چند
1:N
چند به چند
N:M
نمايش چندي ارتباط

مثال : مدلسازي بسيار ساده شده دادههاي
دانشكده
بخشي از يك نمودار
ER ممكن براي قسمتي از دادههاي
اين محيط را رسم ميكنيم. موجوديتهاي مطرح عبارتند از :
*دانشجو
*درس
*استاد
*گروه آموزشي
تمرين :
-
مجموعه صفات هر
نوع موجوديت و وضع هر صفت را مشخص كنيد (ساده، مركب، تك مقداري، چند مقداري
...)
-
الزامي بودن يا
نبودن مشاركت در هر نوع ارتباط را در نمودار نشان دهيد (در صورت لزوم)
-
هر جا لازم شد،
صفات انواع ارتباط را تعيين كنيد.
-
چندي هر ارتباط
را مشخص كنيد.
-
انواع ديگري از
موجوديتها و ارتباطاتت را به آن اضافه كنيد.
-
مجموعه پرسش
(پرس و جو) هايي كه اين نمودار ميتواند به آنها پاسخ دهد را فهرست كنيد.

مدل رابطهاي
بخشهاي اساسي مدل
دادهاي
1- بخش ساختاري
بخش ساختاري،
نشاندهنده عناصر ساختاري مدل است كه همان ساختار دادهاي اصلي و مفاهيم مرتبط
با آن است.
2- بخش عملياتي
(پردازشي)
بخش عملياتي،
مجموعه امكاناتي است كه به وسيله آنها عمليات مورد نظر كاربر انجام ميشود.
3- بخش جامعيتي
بخش جامعيتي، از
مجموعهاي از قواعد و محدوديتهاي جامعيتي تشكيل شده است كه به وسيله آنها سيستم
مديريت پايگاه داده ميتواند صحت، دقت و سازگاري دادهها را كنترل و تضمين كند.
تعريف رابطه
با فرض وجود
n
ميدان D1
تا Dn،
نه لزوما متمايز، رابطه R
از دو قسمت تشكيل شده است:
1- سرآيند: مجموعهاي نامدار از
n
صفت به صورت Ai:Di
كه در آن هر Ai
نام يك صفت است و هر Di
نام ميدان صفت
2- پيكر (بدنه): مجموعهاي است از
m
تاپل t
به نحوي كه t
خود مجموعهاي است از
n عنصر هريك به صورت
Ai:vi
كه در آن vi
مقداري است از نوع ميدان.
مقدار
n
را درجه (همان تعداد صفات) و مقدار
m
را كارديناليتي رابطه ميگويند
تناظر بين مفاهيم
رابطه اي و مفاهيم جدولي
جدول زير تناظر بين مفاهيم رابطه اي و مفاهيم جدولي را نشان مي
دهد :
|
مفهوم تئوريک |
مفهوم جدولي |
|
رابطه |
جدول |
|
تاپل |
سطر |
|
صفت |
ستون |
|
ميدان |
مجموعه مقادير ستون |
|
درجه |
تعداد ستونها |
|
کارديناليتي |
تعدادسطرها |
ويژگيهاي رابطه
1- رابطه تاپل تکراري ندارد
2- تاپلها نظم ندارند
3- صفات رابطه نظم مكاني ندارند
4- تمام صفات تكمقداري هستند.
انواع رابطه
1- مبنا: استقلال وجودي دارد و از رابطههاي ديگر مشتق نيست
و دادههاي ذخيرهشده متناظر دارد.
2- نامدار: با يك نام به سيستم معرفي ميشود.
3- مشتق: به كمك يك عبارت رابطهاي بر حسب رابطههاي مبنا تعريف
ميشود.
4- عبارتي: از مجموعهاي از رابطههاي نامدار و به وسيله يك
عبارت رابطهاي به دست ميآيد.
5- نتيجه پرسش: بينام و مشتق است كه حاصل اجراي يك پرسش مشخص
است.
6- مشتق: رابطهاي عبارتي است كه به طور مستقيم و كارا ذخيره
شده است.
ميدان (دامنه)
از نظر رياضي، مجموعهاي است از مقادير كه يك يا بيش از يك صفت
از آن مقدار ميگيرند. در مدل رابطهاي، اين مجموعه:
-نامدار است.
-مقاديرش نوع مشخص
دارند.
-مقاديرش فرمت
مشخص دارند.
مزاياي ميدان
1.
سبب سادهترشدن و كوتاهتر شدن شماي پايگاه دادهها ميشود.
2.
امكاني است براي كنترل مقداري عمليات در پايگاه دادهها.
3.
امكاني است براي كنترل معنايي درخواستها.
4.
پاسخگويي به بعضي پرسشها را آسان ميكند.
5.
با استفاده از مفهوم ميدان ميتوان امكانات و جنبههاي موجود در
سيستم مديريت پايگاه دادههاي شيئگرا را به سيستم مديريت پايگاه دادههاي
رابطهاي افزود.
رابطه نرمال و غير
نرمال
رابطه نرمال :
رابطه اي است که مقادير هيچيک از ميدانهايش ، يک
مقدار رابطه اي با کارديناليتي بزرگتر از يک نباشد
رابطه غير نرمال :
رابطه اي است که در آن مقادير حداقل يک صفت ، خود مقادير
رابطهاي هستند
(رابطه_2 اي که حداقل يک صفت چند مقداري داشته باشد)
دليل لزوم نرمال
بودن رابطه
1- سادگي در نمايش ظاهري رابطه (جدول با سطرهاي سادهتر)
2- سادگي دستورات
DSL
(بويژه DML
و DDL)
3- سادگي در اجراي عمليات در پايگاه دادهها
معايب رابطه نرمال
1- بروز پديده افزونگي كه ميتواند فيزيكي هم باشد.
2- طولانيتر شدن كليد رابطه.
3- عدم امكان نمايش دادههاي پيچيده.
4- دشواري در نمايش طبيعي مفهوم سلسله مراتب.
5- دشواري در نمايش مفهوم وراثت.
مزايا و معايب
رابطه غيرنرمال
مزايا:
1- كاهش ميزان افزونگي
2- كوتاه شدن كليد
3- امكان نمايش دادههاي پيچيده
4- دشواري كمتر در نمايش مفهوم سلسلهمراتب و مفهوم وراثت
5- افزايش سرعت عملياتي سيستم در بازيابي اطلاعات
6- عدم نياز به نرمالترسازي رابطه
معايب:
1- پيچيدگي
2- عدم تقارن صفات
کليد در مدل
رابطهاي
1.
super
key
/
ابر کليد
2.
candidate
key
/
کليد کانديد
3.
primary
key
/
کليد اصلي
4.
alternate
key
/
کليد بديل
5.
foreign
key
/
کليد خارجي
ابر كليد
هر زيرمجموعه از مجموعه عنوان رابطه كه يكتايي مقدار در گستره
رابطه داشته باشد.
كليد كانديد
هر زيرمجموعه از مجموعه عنوان رابطه كه دو خاصيت زير را داشته
باشد كليد كانديد رابطه است:
1- يكتايي مقدار
2- كاهشناپذيري
كليد اصلي
يكي از كليدهاي كانديد رابطه كه طراح انتخاب ميكند و به سيستم
معرفي ميشود.
ضابطههاي انتخاب:
1- از نظر كاربر، شناسه معمول نوع موجوديت باشد.
2- طول كوتاهتر داشته باشد.
كليد ديگر (بديل)
هر كليد كانديد، غير از كليد اصلي، كليد ديگر نام دارد.
كليد خارجي
دورابطه
R1
و R2
را در نظر ميگيريم. هر زيرمجموعه از صفات رابطه
R2
كه هر مقدار معلومش با يك مقدار از كليد كانديد
R1
برابر باشد، كليد خارجي در رابطه
R2
است.
كليد خارجي براي نمايش ارتباطات بين انواع موجوديتها بهكار
ميرود.
زبان
SQL
امكانات مهم زبان
SQL
دستورات تعريف
دادهها
دستورات مجازشماري
دستورات پردازش
دادهها
دستورات پردازش
دادهها به طور ادغامشدني
دستورات نوشتن
ماژول و رويه
دستورات كنترل
جامعيت
دستورات كنترل
تراكنشها
دستورات تعريف
دادهها
انواع دادهاي:
CHARACTER[(length)]
INTEGER
DECIMAL [(precision[,scale])]
SMALLINT
DOUBLE PRECISION
REAL
FLOAT [(precision)]
NUMERIC [(precision[,scale])]
دستور ايجاد جدول
:
CREATE TABLE …
دستور حذف جدول:
DROP TABLE table-name
دستورات پردازش
داده ها
دستور بازيابي (
SELECT
):
SELECT [ALL | DISTINCT] item(s)-list
FROM table(s)-name
[WHERE condition(s)]
[GROUP BY column(s)]
[HAVING conditions(s)]
توابع جمعي
(گروهي)
COUNT:
تعداد مقادير اسكالر را به دست ميدهد.
SUM:
حاصل جمع مقادير اسكالر در يك ستون را به دست ميدهد.
AVG:
ميانگين مقادير اسكالر در يك ستون را به دست ميدهد.
MAX:
بيشترين مقدار اسكالر در يك ستون را به دست ميدهد.
MIN:
كمترين مقدار اسكالر در يك ستون را به دست ميدهد.
يك مثال در مورد
استفاده از توابع گروهي
SELECT MIN(grade) , MAX(grade)
FROM student
WHERE term=‘2’
AND year=’78-79’
AND CoID=‘222’;
بالاترين و پايين
ترين نمره در درس
222
در ترم دوم 79-78 را بازيابي ميكند.
امكان
GROUP BY:
(گروهبندي)
با اين امكان
ميتوان سطرهاي جدول را حسب مقادير يك ستون ساده گروهبندي كرد به نحوي كه در
هر گروه، مقدار آن ستون يكسان باشد.
مثال: جدول
student
را برحسب مقادير ستون CoID
منطقا گروهبندي كنيد.
SELECT CoID, AVG(grade) AS avg_gr
FROM student
GROUP BY CoID;
امكان
HAVING
با اين امكان
ميتوان شرط (شرايطي) ناظر به گروه سطرها اعلان كرد. نقش اين امكان در واقع
همان نقش
WHERE
در سطر است. توجه داشته باشيد كه
HAVING
هميشه با GROUP BY
ميآيد.
مثال: شماره
درسهايي را بدهيد كه در ترم دوم 79-78 كمتر از 10 دانشجو در آنها ثبت نام كرده
باشند.
SELECT CoID
FROM student
WHERE term=‘2’
AND year=’78-79’
GROUP BY CoID
HAVING COUNT(*)<10

ویندوز
Click, Right
Click, Double Click, Drag & Drop
عناصر پنجره شامل:
Title Bar, Menu Bar,
Tool Bar, Address Bar, Status Bar, Control Menu, Frame
عملیات روی پنجره شامل: Close, Maximize, Minimize, Restore, Move, Resize
ذخیره سازی اطلاعات:
ساختار درختی، ایجاد فولدر، تغییرنام فولدر، کپی و برش یک یا چند فولدر، حذف فولدر،
Recycle Bin و
بازیابی فایلها و فولدرها، تنظیمات Recycle Bin.

DOS