650 likes | 1.02k Views
اصول طراحي پايگاه دادهها. مهدی ایل بیگی دانشگاه پیام نور دماوند. منبع. نام کتاب: مفاهيم بنيادي پايگاه دادهها مولف: دکتر سيد محمد تقي روحاني رانكوهی مرجع اسلایدها: دكتر احمد فراهي مراجع کمکی: An Introduction to Database Systems, C. J. Date. پایگاه داده ها، مهندس حمید رضا مقسمی.
E N D
اصول طراحي پايگاه دادهها مهدی ایل بیگی دانشگاه پیام نور دماوند
منبع نام کتاب: مفاهيم بنيادي پايگاه دادهها مولف: دکتر سيد محمد تقي روحاني رانكوهی مرجع اسلایدها: دكتر احمد فراهي مراجع کمکی: • An Introduction to Database Systems, C. J. Date. • پایگاه داده ها، مهندس حمید رضا مقسمی
عنوان فصل ها • مفاهیم اولیه سیستم پایگاه داده • مدل سازی معنایی داده ها • معماری پایگاه داده • سیستم مدیریت پایگاه داده (DBMS) • مدل ها و ساختارهای داده ای پایگاه داده ها • پایگاه داده رابطه ای • عملیات در پایگاه داده رابطه ای • آشنایی با زبان رابطه ای SQL • نرمال سازی
فصل اول:مفاهیم اولیه سیستم پایگاه داده
تعریف داده • تعريف اول: نمايش ذخيره شده اشياء فيزيكي، چيزهاي مجرد، بودهها، رويدادها يا چيزهاي قابل مشاهده كه در تصميمسازي بكار ميآيند. • تعريف دوم: هر مجموعهاي از بودهها. • تعريف سوم: ارزش های واقعی که از طریق مشاهده و تحقیق بدست می آیند.
تعریف داده از دیدگاه ANSI • نمايش بودهها، پديدهها، مفاهيم يا شناختهها به طرزي صوري و مناسب براي برقراري ارتباط، تفسير يا پردازش توسط انسان يا هر امكان خودكار. • هر نمايشي اعم از كاراكتري يا كميت هاي قياسي كه معنايي به آن قابل انتساب باشد.
تعریف اطلاع • اطلاع، داده پردازششده است. • اطلاع به دادهاي اطلاق ميشود كه توسط يك فرد يا سازمان براي تصميمگيري بكار ميرود. • اطلاع عبارت است از داده سازمان يافتهاي كه شناختي را منتقل ميكند.
تعریف دانش • دانش عبارتست از نمايش نمادين جنبههايي از بخشي از جهان واقع. • دانش یک نوع شناخت است که از مجموعه ای از اطلاعات، و بر اساس یک مجموعه از قواعد مشخص بدست می آید.
تعریف پایگاه داده • مجموعهاي است از دادههاي ذخيره شده و پايا، به صورت مجتمع (يكپارچه)، (نه لزوما فيزيكي، بلكه حداقل به طور منطقي)، بهم مرتبط، با كمترين افزونگي، تحت مديريت يك سيستم كنترل متمركز، مورد استفاده يك يا چند كاربر از يك يا بيش از يك ”سيستم كاربردي“، به طور همزمان و اشتراكي.
سيستم مديريت پايگاه دادهها • سيستم مديريت پايگاه دادهها يكي از سيستمهاي ذخيره و بازيابي اطلاعات است. • سيستم ذخيره و بازيابي اطلاعات در معناي عام: • هر سيستمي كه به كاربر برنامهساز يا نابرنامهساز امكان دهد تا اطلاعات خود را ذخيره، بازيابي و پردازش كند.
رهیافت های ايجاد يك سيستم كاربردي 1- رهيافت سنتي يا مشي فايلينگ. 2- رهيافت (مشي) پايگاهي.
كاربران نمایش ساده مشی فایلینگ نابرنامهساز برنامهساز FILES OS برنامههاي ايجاد، كنترل و پردازش فايل ها محيط ذخيرهسازي اطلاعات خاص اداره ثبت نام: U1 U1 FS يا DMS اداره امور آموزش محيط ذخيرهسازي اطلاعات خاص اداره فارغالتحصيلان: U2 FILES OS برنامههاي ايجاد، كنترل و پردازش فايل ها U2 FS يا DMS اداره امور فارغ التحصيلان FILES OS محيط ذخيرهسازي اطلاعات خاص اداره امور رفاهي: U3 برنامههاي ايجاد، كنترل و پردازش فايل ها FS يا DMS U3 اداره امور رفاهي دانشجويان محيط فيزيكي ذخيره و بازيابي اطلاعات محيط فايلينگ منطقي و يا مجازي
معايب مشي فايلينگ 1- عدم وجود محيط مجتمع ذخيرهسازي اطلاعات و عدم وجود سيستم يكپارچه. 2- عدم وجود سيستم كنترل متمركز روي كل دادهها. 3- افزونگي (Redundancy). 4- عدم وجود ضوابط ايمني كارا و مطمئن. 5- خطر بروز پديده ناسازگاري دادهها. 6- عدم امكان اشتراكي شدن دادهها. 7- مصرف نابهينه امكانات سختافزاري و نرمافزاري. 8- حجم زياد برنامهسازي. 9- وابستگي برنامههاي كاربردي به محيط ذخيرهسازي دادهها (فایل ها).
كاربران نمايش سادهشده مشي پايگاهي برنامهساز نابرنامهساز تيم بهرهبردار تيم پيادهساز تعريف دادهها و برنامههاي عمليات در دادهها (AP1) UI OS فايلهاي ذخيرهشده بهم مرتبط (FILES) پايگاه دادهها D B M S F S تعريف دادهها و برنامههاي عمليات در دادهها (AP2) تعريف و كنترل دادهها به طور جامع و برنامههاي عمليات در دادهها UI محيط واحد، مجتمع و اشتراكي ذخيرهسازي تعريف دادهها و برنامههاي عمليات در دادهها (AP3) UI كثرت و تنوع ديدها نسبت به دادههاي ذخيرهشده محيط فرافايلي
عناصر محيط پايگاه دادهها 1- سختافزار 2- نرمافزار 3- كاربر 4- داده كاربران سيستم عامل يكجا پايگاه دادهها سيستم مديريت پايگاه دادهها دادههاي ذخيرهشده: مجموعهاي از فايلها پيوسته (برخط) سختافزار ذخيرهسازي
انواع سختافزارهاي محيط پايگاه داده 1- سختافزار ذخيرهسازي دادهها 2- سختافزار پردازشگر 3- سختافزار همرسانش (ارتباط)
انواع نرمافزارهاي موجود در محيط پايگاه دادهها تقسیم بندی اول: 1- سيستم مديريت پايگاه دادهها (DBMS) 2- برنامههاي كاربردي قابل اجرا در محيط DBMS 3- رويههاي ذخيرهشده 4- نرمافزار شبكه تقسیم بندی دوم: 1- نرم افزارهای سیستمی: سیستم عامل و DBMS و ... 2- نرم افزارهای کاربردی: نرم افزارهای تماس با سیستم پایگاه داده.
کاربر • هر استفاده کننده از سیستم پایگاه داده را کاربر می نامند. • سه گروه کاربر وجود دارد: 1- کاربران نهایی: افرادی که با استفاده از امکاناتی که پایگاه داده در اختیار آن ها قرار داده امور مورد نیاز خود را انجام می دهند. 2- برنامه نویسان کاربردی: برنامه نویسانی که با توجه به اطلاعاتی که در باره پایگاه داده دارند برنامه های کاربردی را جهت بروز کردن یا بازیابی اطلاعات، پیاده سازی می نمایند. 3- مدیر پایگاع داده ها: 1. مدیر داده ها (DA) 2. مدیر بانک اطلاعاتی (DBA)
وظایف مدیر داده ها(Data Administrator (DA)) • مسئولیت کنترل متمرکز سازمان بر داده های عملیاتی را بر عهده دارد. و وظایف زیر را بر عهده دارد: • تصمیم گیری در مورد داده هایی که در پایگاه داده نگهداری می گردد. • تنظیم سیاست هایی برای دسترسی به داده ها. • ارتباط با کاربران برای حصول اطمینان از برآورده شدن نیازهای آنان. • نکته: DA یک مدیر است نه یک فرد فنی.
وظایف مدیر پایگاه داده(Database Administrator (DBA)) • DBA یک فرد فنی است که مسئول پیاده سازی تصمیمات مدیر داده ها (DA)، می باشد. • وظایف DBA: • ایجاد پایگاه داده. • تصمیم گیری در مورد نحوه ذخیره سازی و روش دستیابی. • تعریف کنترل های فنی برای اعمال سیاست های مدیر داده ها. • DBA مجموعه ای از برنامه نویسان و سایر افراد فنی را در اختیار دارد.
مدلسازي معنايي دادهها • دادههاي ذخيرهشدني در پايگاه دادهها ابتدا بايد در بالاترين سطح انتزاع مدلسازي معنايي شوند. • انواع روش هاي مدلسازي معنايي دادهها: • روش موجوديت-ارتباط (Entity Relationship (ER)) • روش زبان عمومي مدلسازي (Unified Modeling Language (UML)) • روش تكنيك مدلسازي شيئي (Object Modeling Technique (OMT))
سه مفهوم معنايي موجود در روش ER نوع موجوديت صفت ارتباط
موجودیت • مفهوم كلي شيئ، چيز، پديده و به طور كلي هر آنچه كه ميخواهيم در موردش اطلاع داشته باشيم و شناخت خود را در موردش افزايش دهيم. • سه ضابطه در رابطه با تشخيص يك نوع موجوديت: 1- معمولا نمونههايي متمايز از يكديگر دارند. 2- معمولا بيش از يك صفت دارد و كاربر به مجموعهاي از اطلاعات در مورد آن نياز دارد. 3- معمولا حالت كنشگري (فاعليت) يا حالت كنش پذيري (مفعوليت) دارد.
موجودیت مستقل و وابسته • موجوديت مستقل (قوي): • موجوديتي است كه مستقل از هر موجوديت ديگر و به خودي خود، در يك محيط مشخص مطرح باشد. (مثل کارمند) • موجوديت وابسته (ضعيف): • موجوديتي است كه وجودش وابسته به يك نوع موجوديت ديگر است. • (مثل وابستگان کارمند)
صفت • صفت، خصيصه يا ويژگي يك نوع موجوديت است و هر نوع موجوديت مجموعهاي از صفات دارد. هر صفت يك نام، يك نوع، يك معنا، یک واحد و یک دامنه مقادیر مشخص دارد. • انواع صفت: • صفت ساده: مقدار صفت ساده از لحاظ معنايي تجزيهنشدني يا اتوميك است. • صفت مرکب: صفت مركب از چند صفت ساده تشكيل شده است. مانند صفت آدرس که از نام کشور، استان، شهر و... تشکیل شده است.. • صفت تک مقداری: صفتي است كه براي يك نمونه از يك نوع موجوديت حداكثر يك مقدار از دامنه مقادير را ميگيرد. مانند شماره دانشجویی. • صفت چندمقداري: صفت چندمقداري بيش از يك مقدار از دامنه مقادير را ميگيرد. مانند صفت مدرک یا شماره تلفن برای استاد.
انواع صفت • صفت شناسه موجوديت كه گاه به آن كليد هم گفته ميشود، و دو ويژگي دارد: 1- يكتايي مقدار دارد. 2- حتي الامكان طول مقاديرش كوتاه است. • صفت هیچ مقدار: هيچ مقدار يعني مقدار ناشناخته، مقدار غيرقابل اعمال، مقدار تعريف نشده. اگر مقدار يك صفت در يك يا بيش از يك نمونه از يك نوع موجوديت، برابر با هيچمقادر باشد، آن صفت هيچمقدارپذير است. • صفت ذخيرهشده: صفتي است كه مقاديرش در پايگاه دادهها ذخيره شده باشد. • صفت مشتق: صفتي است كه مقاديرش در پايگاه دادهها ذخيره نشده باشد، بلكه حاصل يك پردازش روي فقرههايي از دادههاي ذخيره شده باشد. مثل صفت معدل یک دانشجو که از روی نمرات محاسبه می شود.
ارتباط • ارتباط، اندركنش (تعامل) بين یک يا بيش از یک نوع موجوديت است و ماهيتا نوعي بستگي بين انواع موجوديت هاست. • خصوصيات نوع ارتباط: 1- هر ارتباط يك نام دارد. 2- هر ارتباط يك معناي مشخص دارد و اين معنا با معناي هر ارتباط ديگر متفاوت است. 3- هر ارتباط نمونههايي دارد. مثال: بین مجودیت های دانشجو و درس ارتباط هایی چون انتخاب درس، حذف درس و ... وجود دارد.
نمودار موجودیت-ارتباط (ERD) • نموداري است كه سه مفهوم اساسي مدل ER، يعني نوع موجوديت، صفت و ارتباط را نمايش می دهد. • نمادهاي رسم نمودار ER: نوع موجوديت نوع موجوديت ضعيف (وابسته) نوع ارتباط نوع ارتباط با موجوديت ضعيف مشاركت نوع موجوديت در نوع ارتباط
نمادهاي رسم نمودار ER مشاركت الزامي صفت صفت شناسه اول (کلید اصلی) صفت شناسه دوم صفت شناسه مركب صفت چندمقداري
نمادهاي رسم نمودار ER صفت مركب صفت مشتق (محاسبه شدنی) 1 به N 1 به 1 M به N N 1 چندي ارتباط R E1 E2 1 1 N M E1 E2 ارتباط ”گونهاي است از“
وضع مشاركت در ارتباط • مشاركت يك نوع موجوديت در يك نوع ارتباط را الزامي گويند، اگر تمام نمونههاي آن نوع موجوديت در آن نوع ارتباط شركت كنند. در غير اين صورت مشاركت غيرالزامي است. انتخاب دانشجو درس نمايش مشاركت الزامي
درجه ارتباط • تعداد شركتكنندگان در يك ارتباط را درجه آن ارتباط ميگويند. • ارتباط درجه یک (بازگشتی): ارتباطی که تنها یک موجودیت در آن شرکت می نماید. درس قطعه دانشجو پیشنیاز ساخته شده همکلاسی
درجه ارتباط • ارتباط درجه دو (دوگانه): ارتباطی که بين دو موجوديت مي باشد. انتخاب درس دانشجو ارائه درس استاد
درجه ارتباط • ارتباط سه گانه: ارتباط بين سه موجوديت مي باشد: • ارتباط فوق یعنی یک دانشجو، درسی را با یک استاد مشخص انتخاب می کند. • براي بيش از سه موجوديت ارتباط چندگانه ناميده مي شود. درس انتخاب دانشجو استاد ارتباط بين سه موجوديت
صفت در ارتباط • در مثال زیر بدلیل اینکه یک دانشجو برای یک درس می تواند چندین نمره داشته باشد و یک درس نیز می تواند برای چندین دانشجو نمره های متفاوتی داشته باشد، باید صفت نمره را به ارتباط اختصاص دهیم. • به اینگونه رابطه ها موجودیت مشارکتی می گویند. در چنین ارتباطی ترکیب کلید تمامی موجودیت ها به عنوان کلید رابطه در نظر گرفته می شود. دانشجو درس استاد انتخاب نمره شماره درس شماره دانشجو شماره استاد
چندي يا ماهيت نوع ارتباط • چندي يا ماهيت نوع ارتباط عبارتست از چگونگي تناظر بين دو مجموعه نمونههاي آن دو نوع موجوديت. سال آموزشي ترم نمره انتخاب N M درس دانشجو N 1 يك به يك 1:1 حذف انواع چندي ارتباط: يك به چند 1:N چند به چند N:M
مثال چندی ارتباط 1 1 داشتن داشتن ارائه پارکینگ سفارش خرید درس کارمند مشتری استاد 1 N M N
حد (Cardinality) ارتباط • حد ارتباط، حداکثر و حداقل شرکت موجودیت ها در یک ارتباط را مشخص می نماید. • در مثال فوق، یک دانشجو می تواند توسط یک یا هیچ استاد راهنمایی شود و یک استاد می تواند راهنمای هیچ یا 10 دانشجو باشد. • نکته اگر حداقل شرکت موجودیت در یک ارتباط غیر صفر باشد، ارتباط الزامی است.
مراحل ترسيم ERD 1. تعيين موجوديت ها: کليه موجوديت های بالقوه و اشيائی که در سيستم مورد توجه هستند را ليست کنيد. • مطمئن شويد که انواع موجوديت متفاوت از هم هستند و موجوديت های تکراری را حذف کنيد. • خود سيستم را به عنوان يک نوع موجوديت در نظر نگيريد (مثلا کتابخانه در سيستم کتابخانه). 2. تعيين صفات خاصه: صفات خاصه هر نوع موجوديت را ليست کنيد. • مطمئن شويد که هرنوع موجوديت واقعا مورد نياز است. • انواع موجوديت ها مجموعه صفات خاصه مشابه نبايد داشته باشند. 3. برقراری کليد اوليه: صفت خاصه منحصر بفرد در هر نوع موجوديت را تعيين کنيد. 4. تعريف ارتباطات: هر نوع موجوديت و ارتباطات آن با بقيه را بررسی نماييد. 5. تعيين درجه ارتباط، کارديناليتی و اختياری بودن ارتباطات: قيدهای بين موجوديت های شرکت کننده در هر ارتباط را بازبينی کنيد. 6. ارتباطات اضافه را حذف کنيد.