مقدمه ای بر طراحی پایگاه داده
اسلاید 1: مقدمهای بر طراحی پایگاه داده فصل 2درس پایگاه دادهدانشگاه صنعتی نوشيروانی بابلمدرس: مهدی عمادی m.emadi@nit.ac.ir
اسلاید 2: یک مسئلهمی خواهیم سیستم آموزش دانشگاه را پیاده سازی کنیم.شما چه می کنید؟
اسلاید 3: مراحل پیادهسازی پایگاه دادهتحلیل نیازها (Requirements Analysis)طراحی مفهومی پایگاه داده (Conceptual Database Design)طراحی منطقی پایگاه داده (Logical Database Design)پالایش شمای داده (Schema Refinement)طراحی فیزیکی پایگاه داده (Physical Database Design)طراحی برنامه و امنیت (Application and Security Design)
اسلاید 4: تحلیل نیازها (Requirements Analysis)چه دادههایی باید ذخیره گردد؟چه گزارشهایی نیاز است؟چه برنامه ای با این دادهها کار میکند؟چه قواعدی بر کسب وکار مورد نظر حاکم است؟شناخت وضع موجودشناخت نیازهای کاربرمصاحبهشناخت وضع مطلوب
اسلاید 5: مثال”نیاز به یک پایگاه داده داریم که اطلاعات دانشجو، استاد و درس در آن ذخیره شود. هر دانشجو می تواند چند درس را اخذ کند. هر استاد می تواند چند درس در طول یک ترم ارائه نماید.“
اسلاید 6: طراحی مفهومی پایگاه داده (Conceptual Database Design)یک توصیف ساده از دادهزبان مشترک بین پیاده ساز و مشتری (---)استفاده از مدل موجودیت و رابطه بین موجودیت ها
اسلاید 7: مدل داده ایمجموعه ای از ابزار برای بيانداده هاروابط ميان داده هامفهوم داده هامحدوديت حاکم بر داده هامدلی که در حال حاضز مرسوم است مدل موجوديت ها و رابطه های بين آنها (ER) است.مدلهای ديگری نيز وجود دارد، از قبيل مدل شئ گراسلسله مراتبیو ...
اسلاید 8: چرا ما از مدل استفاده می کنيم؟
اسلاید 9: مدل Entity-RelationshipE-R يک مدل از دنيای واقعی است که دارای دو جزء اصلی استموجوديتCustomer, Accountرابطهdepositor
اسلاید 10: مفاهيم مبنايیدر روش ER، سه مفهوم معنايی وجود دارد و معنای داده های هر محيط به کمک همين سه مفهوم نمايش داده می شوند:موجوديت (Entity)صفت یا خصیصه (Attribute)رابطه (Relation)
اسلاید 11: نوع موجوديت (Entity)نوع موجوديت عبارت است از کلی “شيئ”، “چيز”، “پديده” و بطور کلی هر آنچه که می خواهيم در موردش “اطلاع” داشته باشيم و شناخت خود را در موردش افزايش دهيم، اعم از اينکه وجود فيزيکی يا ذهنی داشته باشد.مانند: دانشجو، جاده، يک پرواز خاص و.....
اسلاید 12: صفت يا خصيصه (Attribute)صفت در واقع خصيصه يا ويژگی يک نوع موجوديت است و هر نوع موجوديت مجموعه ای از صفات دارد. هر صفت از نظر کاربران يک نام، يک نوع(Type) و يک معنای مشخص دارد.مانند: يک شخص دارای يک کد ملی، نام، نام خانوادگی، قد، سن و ... است که اين موارد از صفات يک شخص است.صفات را از پنج ديدگاه می توان تقصيم بندی کرد.
اسلاید 13: تقسيم بندی صفات از ديدگاه 1سادهصفت ساده صفتی است که مقدار آن از لحاظ معنايی ساده يا تجزيه نشدنی باشد، به اين معنا که اگر مقدار آن را (دريک حيطه معنايی و کاربرد مشخص) به اجزايی تجزيه کنيم، مقادير جزيی حاصله فاقد معنا باشند.مثلا صفت نام کوچک شخص يک صفت ساده است.مرکبصفت مرکب صفتی است که از چند صفت ساده تشکيل شده باشد به گونه ای که تجزيه نشدنی باشد و اجزای حاصل از تجزيه، خود صفات ساده (و طبعا دارای معنا در يک کاربرد مشخص) باشند.مثلا صفت تاريخ خود شامل روز، ماه و سال است.
اسلاید 14: تقسيم بندی صفات از ديدگاه 2تک مقداریصفت تک مقداری صفتی است که برای يک نمونه از يک موجوديت، حداکثر يک مقدار مقدار از دامنه مقادير را می گيرد. به بيان ساده تر، به ازای يک نام صفت، حداکثر يک مقدار برای يک نمونه از موجوديت، داشته باشيم.مثلا شماره ملی: يک نمونه از شخص فقط يک شماره ملی می تواند داشته باشد.چند مقداریصفت چند مقداری صفتی است که برای بعض يا همه نمونه های نوع موجوديت بيش از يک مقدار، از دامنه مقادير را می گيرد. به بيان ساده تر، به ازاء يک نام صفت، چند مقدار، برای يک نمونه از موجوديت داشته باشيم.برای مثال اگر شغل فرد را يک صفت برای او در نظر بگيريم آن شخص می تواند چند شغل داشته باشد.
اسلاید 15: تقسيم بندی صفات از ديدگاه 3شناسه يا ناشناسه موجوديتصفت شناسه موجوديت صفتی است که دو ويژگی داشته باشد:يکتايی مقدار داشته باشد:يعنی در هيچ دو نمونه از يک موجوديت، مقدارش يکسان نباشد. بنابراين عامل تمييز دو نمونه از يک موجوديت است.از اين ويژگی ها نتيجه می شود که صفت شناسه، از نظر کاربر، شناسای نوع موجوديت است و متمايز کننده نمونه های آن نوع موجوديت از يکديگر، و هميشه مقاديرش مشخص و موجود است.مثلا کد ملیحتی الامکان طول مقاديرش کوتاه باشد.مثلا سن افراد
اسلاید 16: تقسيم بندی صفات از ديدگاه 4هيچمقدار پذير يا ناپذيرهيچمقدار يعنی: مقدار ناشناخته، مقدار غير قابل اعمال، مقدار تعريف نشده.هميشه ممکن است مقدار يک صفت برای برخی از نمونه های يک موجوديت، ناشناخته، ناموجود و ... باشد.به زبان ديگری وقتی شما فرم درخواست کاغذی را پر می کنيد ممکن از تعدادی از قسمتها را خالی بگذاريد.البته بسياری از طراحان سيستمها معتقدند، بايد طراحی را طوری اصلاح کرد که امکان بروز صفت هيچمقدار وجود نداشته باشد.
اسلاید 17: تقسيم بندی صفات از ديدگاه 5ذخيره شده (واقعی)صفت ذخيره شده صفتی است که مقاديرش در پايگاه داده ذخيره شده باشند (موجود باشند) و البته هيچمقدار هم داشته باشد، اگر شناسه نباشد.مشتقصفت مشتق صفتی است که مقاديرش در پايگاه داده ذخيره نباشند بلکه حاصل يک پردازش روی فقره هايی از داده های ذخيره شده باشند، مثلا از يک محاسبه بدست آيد.ما در پايگاه داده نمرات دروس يک دانشجو را داريم. با فرض اينکه معدل کل يک دانشجو يکی از صفات او به حساب آيد می توان هر بار که نياز به آن داشتيم از جمع کل نمرات او و تقسيم آن بر تعداد آنها معدل او را بدست آورد و لزومی ندارد که حتما در پايگاه داده عينا ذخيره شود. (آيا هميشه لزومی ندارد!!؟؟)
اسلاید 18: مثال
اسلاید 19: ارتباطارتباط يا بستگی مفهومی است بسيار مهم در مدلسازی معنايی داده ها. بين انواع موجوديتها، معمولا ارتباط (ارتباطی) برقرار است.تعريف نوع ارتباطنوع ارتباط عبارت است از اندرکنش (تعامل) بين دو يا بيش از دو نوع موجوديت (و يا بين يک نوع موجوديت و خودش) و ماهيتا نوعی بستگی بين انواع موجوديتهاست.هر نوع ارتباط يک معنای مشخص دارد و با يک نام بيان می شود. و نيز می توان گفت که نوع ارتباط، عملی است که بين انواع موجوديتها جاری بوده، هست و خواهد بود.برای مثال هر وقت که می گوييم شخصی يک شغل دارد يعنی با يک شغل در ارتباط است.درسگذراندندانشجو
اسلاید 20: نوع ارتباطخصوصيات کلیهر ارتباط يک نام دارد: معمولا کلمه يا عبارتی فعلی و نه اسمیهر نوع ارتباط يک معنای مشخص دارد . اين معنا با معنای هر نوع ارتباط ديگر متفاوت است. واقع شدن و در اختيار داشتنهر نوع ارتباط نمونه هايی دارد. يعنی چند مثال در دنيای واقعیوضع مشارکت در ارتباطمشارکت يک نوع موجوديت در يک نوع ارتباط ممکن است الزامی (کامل) يا غيرالزامی (نا کامل) باشد.برای مثال هر سازمانی حتما يک مدير دارد و ما سازمان بدون مدير نداريم پس اين رابطه يک رابه الزامی است.
اسلاید 21: نوع ارتباطنوع ارتباط به مثابه نوع موجوديتچون نوع ارتباط خود نوعی موجوديت است، بنابراين می تواند صفت يا صفاتی داشته باشد، اما معمولا فاقد صفت شناسه است.مثلا می خواهيم بگوييم يک مدير در يک سازمان مديريت می کند، در اين مثال زمان شروع مديريت می تواند صفت اين ارتباط باشد.درجه نوع ارتباطتعداد شرکت کنندگان در يک نوع ارتباط را درجه آن ارتباط گوييم و اين اصطلاحات را داريم: يگانی، دوگانی
اسلاید 22: درجه نوع ارتباط(a) يک رابطه سه گانی (Ternary) را نشان می دهد.(b) و (c) سه رابطه دوگانی را نشان می دهند.
اسلاید 23: استادکد ملیمدرکناماخذ *درسدانشجواخذ * : اخذ درس ارائه شده توسط یک استاد خاص، توسط یک دانشجوکد ملیشماره دانشجویینامشماره درسنام
اسلاید 24: رابطه همانی و نقش در رابطهکارمندکد ملیشماره پرسنلینامگزارش میدهد بهسرپرستزیردست
اسلاید 25: نوع ارتباطچندی و ماهيت نوع ارتباطچندی يک نوع ارتباط (که به آن کارديناليتی ارتباط هم می گويند) مثلا بين دو موجوديت عبارتست از چگونگی تناظر بين دو مجموعه نمونه های آن دو موجوديت. می دانيم که سه گونه تناظر داريم: تناظر يک به يک 1 : 1يک سازمان يک مدير کل دارد و هر مدير کل فقط مدير کل يک سازمان است.تناظر يک به چند 1 : Nيک مادر چند فرزند دارد و هر فرزند يک مادر دارد.تناظر چند به چند N : Mهر دانشجو چند درس می گذراند و هر درس توسط چند دانشجو گذرانده می شود.
اسلاید 26: چندی نوع ارتباط(a) تناظر يک به يک 1 : 1(b) و (c) تناظر يک به چند 1 : N(d) تناظر چند به چند N : M
اسلاید 27: نوع مشارکتTotalMandatory : الزامیPartialگروه آموزشیمدیر بودناستادگروه آموزشیتحصیل میکنددانشجو
اسلاید 28: موجودیت ضعیف (Weak Entity)موجودیتی است که در محدوده مدلسازی ما به یک موجودیت دیگر وابسته بوده و توسط آن موجودیت (identifying owner) شناخته میشود.نوع مشارکت موجودیت ضعیف در رابطه الزامی میباشدچندی رابطه همواره یک به چند میباشد (در برخی حالات خاص میتواند یک به کی باشد)Partial Keyتحت تکفلتحتتکفلداشتناستادسن نام کد ملیشماره پرسنلینام
اسلاید 29: صفت رابطه (Descriptive Attribute)گروه آموزشیمدیر بودناستادزمان شروع زمان خاتمه
اسلاید 30: سلسله مراتب کلاسهای موجودیت
اسلاید 31: دانشجواستادشماره دانشجویی سال ورود کد ملیشماره پرسنلیمرتبه علمیاشخاصISADisjointنام
اسلاید 32: استادمسئول آموزشمرتبه علمیشماره پرسنلیکد ملیشماره پرسنلیسمتکاربرانISAنامOverlap
اسلاید 33: مدیرکارمندمرتبهسابقه مدیریتکد ملیشماره پرسنلیسمتپرسنلISAنامOverlapCovering
اسلاید 34: دانشجواستادشماره دانشجویی سال ورود کد ملیشماره پرسنلیمرتبه علمیاشخاصISADisjointنام
اسلاید 35: تجمیع (Aggregation)استادکد ملیمدرکنامارائهدانشجودرسشماره درستعداد واحدنامشماره دانشجوییناماخذ
اسلاید 36: موجودیت در مقابل صفتصفات چند مقداری (موجودیت ضعیف)موجودیت در مقابل رابطهرابطه های صفت داررابطه دوگانی در مقابل رابطه سه گانی (؟؟)همیشه نمی توان به جای یک رابطه سه گانی از دو یا سه رابطه دوگانی استفاده کرد.تجمیع در مقابل رابطه سه گانیموجودیت به جای رابطه سه گانی
اسلاید 37: مشخص کردن موجودیت ها”نیاز به یک پایگاه داده داریم که اطلاعات دانشجو، استاد و درس در آن ذخیره شود. هر دانشجو می تواند چند در را اخذ کند. هر استاد می تواند چند درس در طول یک ترم ارائه نماید.“
اسلاید 38: نمونه ERD برای گوشه ای از سيستم بانکداری
اسلاید 39: Summary of Symbols Used in E-R Notation
اسلاید 40: Summary of Symbols (Cont.)
اسلاید 41: Alternative E-R Notatio
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.