اصول طراحی پایگاه داده ها
در نمایش آنلاین پاورپوینت، ممکن است بعضی علائم، اعداد و حتی فونتها به خوبی نمایش داده نشود. این مشکل در فایل اصلی پاورپوینت وجود ندارد.
- جزئیات
- امتیاز و نظرات
- متن پاورپوینت
برچسبهای مرتبط
- Data Dictionary
- DBMS
- SQL
- SQL Server
- SQL Server 2008
- استقلال داده ای فیزیکی
- اصول طراحی پایگاه داده
- انواع ارتباط
- پاورپوينت اصول طراحی پایگاه داده ها
- پاورپوینت
- پاورپوینت آماده
- پاورپوینت رایگان
- پایگاه داده
- توابع جمعی در SQL
- دانلود پاورپوینت
- دانلود پاورپوینت آماده
- دانلود پاورپوینت رایگان
- دید داخلی
- ذخیره و بازیابی اطلاعات
- طراحی پایگاه داده
- طراحی پایگاه داده ها
- فایل های ساده ترتیبی
- لغت نامه داده ها
- مدلسازی داده ای
امتیاز
اصول طراحی پایگاه داده ها
اسلاید 1: اصول طراحی پایگاه داده هاتهیه کننده: امیررضا مهربان
اسلاید 2: An Introduction to Database Systems , 8th Edition , by C. J. Date , 2004 Addison-Wesleyمقدمه اي بر پايگاه داده ها- دكتر سيدمحمدتقي روحاني رانكوهيبانك هاي اطلاعاتي – محمدرضا مقسميبانك هاي اطلاعاتي از C.J. Date مترجم : جعفرنژاد قمي مراجع درس
اسلاید 3: تاریخچه و مفاهیم اولیهمفاهیم سیستم مدیریت پایگاه داده ها(DBMS)مدل سازی داده ای(EER)ساختار داده ایزبان SQLنرمال سازیکار با Microsoft SQL Server 2005فهرست
اسلاید 4: تاریخچه و مفاهیم اولیه
اسلاید 5: پایگاه داده به منظور جمع آوری اطلاعات در یک محل مشخص جهت ذخیره، بازیابی و یا انجام عملیات و پردازش روی آنها برای رسیدن به هدف انجام می شود.در پایگاه داده معمولابا حجم زیادی از اطلاعات سر و کار داریممقدمه
اسلاید 6: موجودیت(Entity): شی یا فردی که در مورد آن می خواهیم اطلاع داشته باشیمصفت خاصه(Property): ویژگی جداساز یک نوع موجودیت از نوع دیگر و دارای دو مولفه: اسم صفت خاصه مقدار صفت خاصهتعاریف اولیهاطلاع
اسلاید 7: یک واقعیت می تواند از دید کاربران یک محیط عملیاتی، موجودیت تلقی شده و از دید کاربران دیگر در همان محیط یا محیط دیگر صفت خاصه باشد.نکته
اسلاید 8: ارتباط (Relation): ارتباط بین موجودیتها در یک محیط عملیاتیفیلد: کوچکترین واحد داده ذخیره شدهرکورد: مجموعه ای از فیلدهای به هم مرتبطفایل: مجموعه ای از تمام نمونه ها یا رویدادهای یک نوع رکوردتعاریف اولیه (ادامه)
اسلاید 9: داده(Data) : مقادیر صفات خاصه انواع موجودیتهااطلاعات (Information): از پردازش داده ها، اطلاع حاصل می شودداده های عملیاتی (Operational Data) : داده هایی که کاربر بطور روزانه با آنها سر و کار داردداده های پایدار : داده هایی که در پایگاه داده ثابت باشندتعاریف اولیه (ادامه)
اسلاید 10: سرمایه های یک سازمانسخت افزارنرم افزارامکانات مالیدادهسرمایه سازماننیرو متخصص
اسلاید 11: نسل اول: نسل فایلهای ساده ترتیبینسل دوم: نسل فایلهای با دسترسی مستقیمنسل سوم: سیستم مدیریت داده هانسل چهارم: نسل سیستمهای مدیریت پایگاه داده هانسل پنجم: نسل پایگاه دانش (Knowledge Base)نسلهای ذخیره و بازیابی اطلاعات
اسلاید 12: ساختار فایلها ترتیبیساختار فیزیکی همان ساختار منطقی فایلتنها روش پردازش فایلها، پردازش یکجا یا دسته ای (Batch Processing)نرم افزار تنها عملیات ورودی/خروجی را انجام می دهد (نرم افزار واسطی برای مدیریت پردازش فایلها وجود ندارد)طراحی ساختار فیزیکی فایلها بر عهده کاربرنسل فایلهای ساده ترتیبی
اسلاید 13: تغییر در ساختار داده ها یا رسانه ذخیره سازی منجر به تغییر در برنامه نویسیداده ها برای کاربرد خاصی طراحی و سازماندهی می شونداشتراک داده ها مطرح نیستتکرار در ذخیره داده ها در بالاترین حدبرای بروزرسانی الزاما نیاز به فایل دیگری برای اعمال تغییرات می باشدنسل فایلهای ساده ترتیبی (ادامه)
اسلاید 14: 1- هزینه عملیاتی بالا : کندی سیستم، بهینه نبودن جستجو، کد نویسی پیچیده2- نا سازگاری و افزونگی داده ها: بعضی از داده ها را مجبورهستیم بیش ار یکبار ذخیره کنیم.3- عدم جامعیت یا یکپارچگی: اطلاعات در فایل های مختلف به صورت پراکنده بوده اند و یکپارچگی نداشتند4- مشکل امنیت داده ها5- عدم امکان به اشتراک گذاشتن داده ها برای دسترسی همزمان چندکاربر6- وابستگی به سیستم عامل و سخت افزارمعایب روش فایلی
اسلاید 15: ناسازگاری داده ها هنگامی بروز می کند که به دلایلی اطلاعات در بیش از یک نقطه از پایگاه ذخیره شده باشد و لازم باشد که بهنگام شود که دلیل آن وجود افزونگی استناسازگاری داده ها
اسلاید 16: 1- سطح تخصصی کمتر2- هزینه اولیه پیاده سازی کمتر3- نیاز به داشتن فنی کمتر از محیط عملیاتیبرای رفع مشکلات روش فایلی سیستم مدیریت پایگاه داده بوجود آمد که همه داده ها را یکجا جمع کنیم و برای نیازهای مختلف از آن استفاده کنیم.مزایای روش فایلی
اسلاید 17: مجموعه ای از داده های به هم وابسته است که فاقد افزونگی بی حاصل است به عبارتی پایگاه داده در این روش شامل همه موجودیت ها وروابط بین آنهاست که در یک قالب مشخص ذخیره شده اند.ذخیره داده ها به گونه ای است که از برنامه هایی که آن ها را بکار می گیرند مستقل هستند ویک رویکرد مشخص و استاندارد جهت عملیات ذخیره سازی(درج، تغییر، حذف) و بازیابی داده ها وجود داردنسل سیستم مدیریت پایگاه داده ها DBMS
اسلاید 18: از اواخر دهه 60 آغاز و تاکنون ادامه داردخصیصه مهم آن استقلال داده ای فیزیکیاستقلال داده ای فیزیکینسل سیستم مدیریت پایگاه داده ها
اسلاید 19: استقلال داده ها :کاربران در محیط انتزاعی و مبتنی بر یک ساختار داده ای تجریدی کار می کنند(به عبارت دیگر: برنامه های کاربردی از داده های محیط فیزیکی کاملا مستقلند)امکان کنترل متمرکز روی تمام داده های عملیاتی (منجر به کاهش افزونگی و تکرار داده ها)DBMS واسط بین برنامه های کاربران و محیط داخلی و فیزیکی ذخیره سازی استسرعت بالا در دستیابی به داده هامزایای نسل سیستم مدیریت پایگاه داده ها
اسلاید 20: امکان استفاده اشتراکی از داده هاایمنی زیاد داده ها(اطلاعات به صورت کد شده ذخیره می شود)معماری چند سطحی ذخیره سازیپایداری یا سازگاری اطلاعات : داده ها همیشه پایدار هستند یعنی درصورت چند عملیت پردازش یکسانروی داده ها نتیجه یکی خواهد بودقابلیت رشدمزایای نسل سیستم مدیریت پایگاه داده ها (ادامه)
اسلاید 21: استقلال داده ای فیزیکیبه معنی مستقل شدن برنامه کاربردی از جنبه ها و خصوصیات محیط فیزیکی ذخیره سازی است
اسلاید 22: بمعنی مستقل بودن ذخیره سازی داده ها از کاربرد آنهانحوه ذخیره سازی داده ها روی رسانه از دید کاربران مخفی استاستقلال داده ای شامل:استقلال فیزیکی: در صورت تغییر در ذخیره سازی داده ها (تغییر نوع دیسک) برنامه های کاربردی تغییر نمی کنند که به دلیل تبدیل ادراکی/ داخلی می باشداستقلال منطقی: تغییر تصویر ادراکی پایگاه (تغییرات در سطح جداول) از دید کاربران و برنامه های آنها مخفی است که به دلیل تبدیل ادراکی / خارجی می باشداستقلال داده ها
اسلاید 23: امنیت: محافظت در برابر خطراتی نظیر دسترسی غیر مجاز به داده ها استجامعیت داده ها: صحت داده ها و پردازشها و پیروی از مقررات سیستم (مثلا: شخص نباید بیشتر از موجودی از حساب برداشت کند)امنیت و جامعیت
اسلاید 24: قابلیت رشدبه دلیل وجود: معماری چند سطحی استقلال برنامه های کاربردی از ساختار ذخیره سازیاستراتژی دستیابی و این به دلیل وجود DBMS است که: هر گونه دستیابی به داده ها باید از طریق آن انجام شود
اسلاید 25: امکان اعمال استانداردهاایجاد تعادل بین نیازهای حتی گاه متضاد کاربرانتسریع در دریافت پاسخ پرس و جو هاتسهیل در دریافت گزارشهای متنوعدر دسترس بودن داده هاکاهش هزینه های سازمانبرخی دیگر از مزایای سیستم پایگاه داده ها
اسلاید 26: به مخاطره افتادن امنیت (در صورت عدم وجود کنترل مناسب) به دلیل تمرکز داده هابه مخاطره افتادن جامعیتامکان نیاز به سخت افزار اضافیبرخی از معایب سیستم پایگاه داده ها
اسلاید 27: روش سنتيبرنامه کاربرديبرنامه کاربرديبرنامه کاربرديسيستم فايلسيستم فايلسيستم فايلفايلهاي امور آموزشفايلهاي امور دانشجوييفايلهاي امور بهداشتنرم افزار واسطتجمع داده ها – وحدت ذخيره سازي – امنيت – حفاظت داده ها نداريم
اسلاید 28: روش پايگاه دادهبرنامه کاربرديبرنامه کاربرديبرنامه کاربرديDBMSفايل دانشجوسطح فيزيکي پايگاهنرم افزار مديريت پايگاه دادهتجمع داده ها – وحدت ذخيره سازي – امنيت – حفاظت داده ها داريمکاربر 1کاربر 2کاربر 3شماره دانشجونامفاميلتاريخ تولدمقطعنام پدرمعدل. . .سال ورودرشته
اسلاید 29: مفاهیم سیستم مدیریت پایگاه داده ها DBMS
اسلاید 30: مجموعه ای از داده های ذخیره شده و پایا بصورت مجتمع و مبتنی بر یک ساختار، تعریف شده بصورت صوری با حداقل افزونگی، تحت مدیریت یک سیستم کنترل متمرکز، مورد استفاده یک یا چند کاربر، بصورت اشتراکی و همزمان تعریف پایگاه داده
اسلاید 31: تعریف پایگاه داده (ادامه)مجتمع و مبتنی بر یک ساختار: کل داده های عملیاتی محیط مورد نظر کاربران مختلف، در قالب یک ساختار مشخص بصورت یکجا ذخیره شده باشندصوری: سيستم بايد به کاربران اين امکان را بدهد تا داده هاي خود را آنگونه که مي بينند، بصورت انتزاعي و بدور از جنبه هاي پياده سازي و نشست فيزيکي آنها را روي رسانه تعريف کنند.ساختار فيزيکي: ساختار فايلهايي که پايگاه را تشکيل مي دهند.افزونگی: تکرار يک يا چند صفت خاصه در نمونه هاي مختلف يک نوع رکورد از يک فايل (تجمع داده ها – وحدت ذخيره سازي)
اسلاید 32: روش سنتيبرنامه کاربرديبرنامه کاربرديبرنامه کاربرديسيستم فايلسيستم فايلسيستم فايلفايلهاي امور آموزشفايلهاي امور دانشجوييفايلهاي امور بهداشتنرم افزار واسطتجمع داده ها – وحدت ذخيره سازي – امنيت – حفاظت داده ها نداريم
اسلاید 33: روش پايگاه دادهبرنامه کاربرديبرنامه کاربرديبرنامه کاربرديDBMSفايل دانشجوسطح فيزيکي پايگاهنرم افزار مديريت پايگاه دادهتجمع داده ها – وحدت ذخيره سازي – امنيت – حفاظت داده ها داريمکاربر 1کاربر 2کاربر 3شماره دانشجونامفاميلتاريخ تولدمقطعنام پدرمعدل. . .سال ورودرشته
اسلاید 34: همزماني عملياتسيستم پايگاه داده به سيستم کامپيوتري بستگي داردداده ها در پايگاه داده بصورت مجتمع و اشتراکي هستندبين پايگاه داده و کاربران سيستم، لايه اي از نرم افزار وجود دارد که مديريت پايگاه داده يا سرويس دهنده پايگاه داده يا سيستم مديريت پايگاه داده نام داردسيستم مديريت پايگاه داده، مهمترين جز نرم افزاري در کل سيستم است. ويژگيهاي پایگاه داده
اسلاید 35: امکان تعریف داده هاامکان عملیات و دستکاری روی داده هاحفظ امنیت و یکپارچگی DB با توجه به سیاستهای مدیر پایگاه داده (DBA) Data Dictionaryحفظ کارایی وظایف پایگاه داده DBMS
اسلاید 36: عناصر اصلي محيط پايگاه دادهسخت افزارنرم افزاردادهعناصر پايگاه دادهکاربر
اسلاید 37: عناصر اصلي محيط پايگاه داده (ادامه)نرم افزار: نرم افزارهاي کاربردي و نرم افزارهاي سيستميسخت افزار: سخت افزار ذخيره سازي داده ها مثل هارد دیسک ، سخت افزار پردازنده مرکزي و سخت افزار ارتباطي مثل کاربر شبکه و سوییچ، دستگاه ذخیره سازی نسخه های پشتیبان مثل Tapeکاربر: مدير پايگاه داده (DBA)، برنامه نويس (DBP) و کاربر نهايي(End User)داده ها: داده هايي در مورد موجوديتهاي مختلف محيط عملياتي و نيز ارتباط بين موجوديتها
اسلاید 38: معماری سیستم پايگاه داده . . .داده های ذخیره شده بر اساس دید داخلیدید ادراکیتبدیل ادراکی / داخلیDBMSB دید خارجیAدید خارجی تبدیل خارجی / ادراکیDBAHL + DSLHL + DSLA1 کاربرA2 کاربرHL + DSLHL + DSLB1 کاربرB2کاربرHL + DSLB2کاربر
اسلاید 39: اجزا معماری سیستم پايگاه دادهدید ادراکیدید خارجیدید داخلی یا فیزیکیتبدیلات بین سطوحزبان میزبان (HL)زبان فرعی داده ای (DSL)سه عنصر: کاربر، DBA و DBMS
اسلاید 40: ذخیره فایلهای محیط فیزیکی در این سطحعدم ارتباط کاربران به مسایل این سطحتعریف انواع رکوردها، فایلها، صفات خاصه، شاخص و.. در این سطحنزدیکترین سطح به محیط ذخیره سازی داده هادید داخلی (Internal view)
اسلاید 41: دید طراح پایگاه داده از داده های ذخیره شده در پایگاهدید جامعی از دیدهای همه کاربران متفاوت با دید دیگر کاربراندر این دید کل داده های عملیاتی و ارتباط بین آنها تعریف می شوددید ادراکی یا مفهومی (Conceptual view)
اسلاید 42: دید کاربران از داده های ذخیره شده در پایگاههر کاربر دید خاص خود را داردچند کاربر می توانند دید یکسانی داشته باشنددید خارجی برای معرفی شدن نیاز به یک ساختار یا مدل داده ای دارددید خارجی (External view)
اسلاید 43: DBMS برای انجام درخواستهای یک کاربر به شمای خارجی مراجعه می کندلایه خارجی تنها لایه است که کاربران با آن سر و کار دارنددر این لایه هر به کاربر به اندازه نیازش از اطلاعات استفاده می کندسطح خارجی نزدیکترین سطح به کاربر استنکته
اسلاید 44: دو نوع تبدیل در ANSI: تبدیل ادراکی / خارجیتبدیل داخلی/ ادراکیبنابرین سه دسته برای تبدیلات سطوح:تبدیل داده هاتبدیل احکامتبدیل ساختارتبدیلات بین سطوح
اسلاید 45: تبدیل داده های تعریف شده در سطح خارجی به داده های تعریف شده سطح ادراکی و نیز داده های تعریف شده در سطح ادراکی به سطح داخلی و برعکستبدیل داده ها
اسلاید 46: تبدیل حکم عمل کننده در سطح خارجی به حکم عمل کننده در سطح ادراکی و نیز حکم عمل کننده در سطح ادراکی به سطح داخلیتبدیل احکام
اسلاید 47: تبدیل ساختار سطح خارجی به سطح ادراکیمثلا تبدیل ساختار سلسله مراتبی به جدولیتبدیل ساختار
اسلاید 48: زبان میزبان (HL): یکی از زبانهای سطح بالای برنامه نویسیزبان فرعی داده ای (DSL): زبانی سطح بالا که معمولا بصورت مهمان در کنار HL قرار می گیرد و شامل:DDL: داده ها را تعریف کردDML: با داده ها کار کردDCL: داده را کنترل کردزبان میزبان و زبان فرعی داده ای
اسلاید 49: کاربران پایگاه دادهکاربر نهایی (End User)برنامه نویسان کاربردی (DBP)مدیر پایگاه داده (DBA)
اسلاید 50: مدیر پایگاه داده (Database Administrator): مسئولیت تصمیم گیری و طراحی پایگاه دادهبرنامه نویس پایگاه (Database Programmer):وظیفه پیاده سازی تصمیمات مدیر پایگاه دادهراهبری DBMS
اسلاید 51: وظایف مدیر پایگاه داده (DBA):1-تعریف شمای ادراکی ، تعریف شمای داخلی2- تعریف داده ها وساختار آنها شامل طراحی جداول اطلاعات،تعیین تعداد جداول، نرمالسازی، ارتباط بین جداول و ...3- تعریف سیاستهای ذخیره سازی اطلاعات4- تعریف سطح دسترسی کاربران : هر کاربر به چه اطلاعاتی دسترسی داشته باشد و امکان انجام چه عملیاتی را داشته باشد5- تعریف سیاستهای امنیتی6- تعیین سیاستهای backup و recovery: در صورتی که اطلاعات از بین رود چگونه اطلاعات به سیستم برگردد.7- تعیین میزان کارایی DBMSو رسیدگی به نیازهای مطرح شدهراهبری DBMS (ادامه)
اسلاید 52: معماری سیستم پایگاه دادهدیدهای کاربران مختلف...تصویر خارجیکل پایگاه بدون توجه به مدل خاصنمودارهای ER و EER و...تصویر ادراکی عامکل پایگاه در قالب مدل انتخابیتصویر ادراکی خاصکل پایگاه روی رسانه . . . تصویر فیزیکیکاربر 1کاربر 2nکاربر موجودیت 2موجودیت 1ارتباطA BCمدل رابطه ایمدل سلسله مراتبیمدل شبکه ایمدل شی گرا
اسلاید 53: در معماري پايگاه داده، کلمه تصوير يا شما (Schema) مترادف لايه استمجموعه ساختارهاي طراحي شده در يک پايگاه بدون توجه به داده هاي آن شماي پايگاه داده نام داردتصوير ادراکي عام و خاص مربوط به طراح پايگاه استتصوير ادراکي عام فقط در مرحله طراحي مطرح استپس از طراحي نهايي پايگاه و انتخاب مدل براي پياده سازي تصوير ادراکي عام به خاص تبديل مي شودنکات
اسلاید 54: سطح فيزيکيسطح ادراکيسطح خارجيسطوح معماري پايگاه داده
اسلاید 55: سطح داخلي بوسيله شماي داخلي توصيف مي شودفقط يک ديدگاه داخلي وجود دارد که نمايش فيزيکي پايگاه استبا استفاده از زبان تعريف داده ها يا DDL داخلي نوشته مي شوداين سطح با مفاهيمي نظير رکورد، فيلد، انديس، ترتيب فيزيکي ذخيره سازي رکوردها و ... سروکار داردسطح فيزيکي (داخلي)
اسلاید 56: سطح ادراکي با دیدگاه اجتماعی کاربران سرو کار دارددر دیدگاه ادراکی به داده ها به همان شکلی که هستند نگاه می شود نه به شکلی که کاربران به دلیل محدودیتهای موجود در زبان یا سخت افزار مجبور به دیدن آنها می شوندسطح ادراکي (مفهومي)
اسلاید 57: سطح خارجي با ديدگاه انفرادي کاربران سروکار دارد (يعني: چندين ديدگاه خارجي وجود دارد که هر کدام حاوی نمایش انتزاعی کل پایگاه است)سطح خارجي
اسلاید 58: منظور از انتزاعی این است که نمایش مورد نظر شامل ساختارهایی مانند فیلدها و رکوردها است که کاربرگراست برخلاف ساختارهای دیگر مانند بیت و بایت که ماشین گراستنمایش انتزاعی
اسلاید 59: عناصر داده ها در سطوح مختلف (داخلی-ادراکی-خارجی) ممکن است اسامی مختلف داشته باشند. مثلا برای شماره کارمندی:External View: EMPNO Conceptual View: EMPLOYEE_NOInternal View: EMP#نکته
اسلاید 60: در سیستم رابطه ای:سطح ادراکی کاملا رابطه ای استسطح خارجی نیز رابطه ای استاما سطح داخلی رابطه ای نیستنکته
اسلاید 61: در بر گیرنده تمامی اسامی استفاده شده در سیستم و معنا و فرمت آنهاست اسامی شامل: نام تمامی جداول، اشیا، صفتها و ... استدر پایگاههای جدید نرم افزار ویژه ای برای لغتنامه داده ها وجود دارد که به کمک آنها می توان اسامی را وارد یا جستجو کردعلاوه بر اسامی در برگیرنده حق دسترسی افراد به داده ها، تاریخ ایجاد و تغییر داده ها، اندازه هر جدول یا شی و... است که اینگونه اطلاعات در سیستم کاتالوگ نگهداری می شود.به اطلاعات درون لغتنامه داده ها اصطلاحا Meta Data گویند.لغت نامه داده ها (Data Dictionary)
اسلاید 62: لغتنامه داده ها امکانی است برای کنترل و نگهداری پایگاه و یا توسعه آنمطالبی که در لغتنامه داده ها ذخیره می شوند شامل:نام ساختار داده ای (جدول)نام موجودیتها و ارتباط بین آنهانوع صفت خاصه هر نوع موجودیت و نوع و محدوده مقادیر آنهاشماهای خارجی و ادراکی و رویه تبدیل بین سطوح مختلف و نیز شمای داخلیمشخصات کاربران و حق دسترسی آنها به داده ها و محدوده مجاز عملیات آنهاارتباط بین برنامه های کاربردی و داده ها (چه برنامه ای چه داده هایی استفاده می کند)تاریخ ایجاد داده ها، مکانیزم ورود داده ها به پایگاه و چگونگی استفاده از آنهامشخصات تراکنشها و گزارشاتی که باید از بانک گرفته شودلغت نامه داده ها (ادامه)
اسلاید 63: واحد منطقی از کار استتراکنش همواره به DBMS ارسال می شودDBMS در اعمال هرگونه کنترل و حتی به تعویق انداختن و ساقط کردن تراکنش آزادی عمل داردهدف اصلی کنترل تراکنش حفظ امنیت و جامعیت پایگاه داده استتراکنش (Transaction)
اسلاید 64: پایگاه داده ها: شامل فایلها و نحوه دستیابی و عملیات برروی فایلهاسیستم ارتباطات: عهده دار تبادلات بین کاربران و سیستم و اعمال کنترلهای لازم روی پیامها و نمایش های خروجیسیستم مدیریت تراکنشها: کنترل دستیابی به فایلها، برنامه ریزی اعمال کاربران، زمان بندی کارها و پیاده سازی روشهای نگهداری سیستمسه عنصر اصلی DBMS
اسلاید 65: مدلسازی داده ای
اسلاید 66: ترسیم شمای کلی پایگاه داده به کمک نمودار مستقل از مدل پایگاه (رابطه ای، شبکه ای، سلسله مراتبی) و نیز مستقل از جنبه های برنامه نویسیمدلسازی داده ای
اسلاید 67: نمایشگر ارتباط بین موجودیتهای یک محیط عملیاتی که به کمک آن داده های موجود مدل بندی می شوندنمودار Entity Relationship Diagramدرسدانشجوانتخاب می شودانتخاب می کندEntityRelation
اسلاید 68: همیشه لزومی ندارد که یک ارتباط حتما بین دو موجودیت باشد و ممکن است بین بیش از دو موجودیت یک ارتباط وجود داشته باشدهمچنين ممکن است ارتباطات با لوزي نشان داده شود.نکتهدرسدانشجواستاد
اسلاید 69: ممکن است یک موجودیت با خودش ارتباط داشته باشدنکتهدرسپیش نیاز بودن
اسلاید 70: در نمودار ER درجه ارتباط می تواند یک به یک، یک به چند یا چند به چند باشدمشخصه ديگر ارتباط حد آن است که در پايين خط ارتباط مقدار حداقل و حداکثر آن در پرانتز مي آيددرجه ارتباط (Relation Degree)درسدانشجوارائه**11درسدانشجوارائه*1nدرسدانشجوارائه**nn1:11:nn:nاجباري*اجباري(1,10)(10,30)* : هر درس بايد حداقل يک دانشجو داشته باشد (ارتباط اجباری)O: ارتباط اختیاری
اسلاید 71: پايگاه داده به تعبيري مجموعه اي از اطلاعات در مورد موجوديتها يک محيط عملياتي و ارتباط بين آنها مي باشدنکته
اسلاید 72: نمودار ERدرساستاددانشجودانشکدهکلاسگروه آموزشي
اسلاید 73: در اين طراحي کلي موجوديت با مستطيل، صفتها با بيضي و ارتباطها با لوزي نشان داده مي شودنمودار EERدانشجوگروه درسيارائهاستادشمارهنامتاريخ تولدناممدرکشماره درسشماره گروهنيمسالدارددرسشماره درسنامتعداد واحد
اسلاید 74: انواع صفتصفت کليدي: يک يا چند صفت که در يک موجوديت منحصر بفرد باشند. صفت ساده و مرکب: صفت مرکب هم خودش معني دارد هم بخشهايي از آنصفت تک مقداري و چند مقداري: صفتهايي که فقط يک مقدار را بگيرد تک مقداري نامندصفت مشتق: صفتي که به کمک صفتهاي ديگر مي توان آن را محاسبه کرد - سن
اسلاید 75: براي مشخص کردن کليد يک موجوديت زير آن صفت خط مي کشيم.در پايگاه داده رابطه اي صفت مرکب نداريم.صفت مرکب را داخل پرانتز نشان مي دهيمصفت چند مقداري را با دو خط نشان مي دهيمصفت مشتق را با خط چين نشان مي دهيمنکته
اسلاید 76: دانشجوگروه درسيارائهاستادشمارهنامتاريخ تولدناممدرکشماره درسشماره گروهنيمسالدارددرسشماره درسنامتعداد واحدفاميلاسمکليدسنصفت مشتقصفت چند مقداري
اسلاید 77: درجه ارتباط برابر تعداد موجوديتهايي است که در آن ارتباط شرکت دارنددرجه ارتباطدرسپیش نیاز بودندرجه 1درساستادارائهدرجه 2دانشجوگروه درسيارائهاستاددرجه 3
اسلاید 78: ارتباط از نظر نوع بر سه نوع است: 1-1، N-1 و N-Nانواع ارتباطاستادکامپیوتراختصاص**11ارتباط یک به یکاستاددانشجوراهنمایی**N1ارتباط یک به چنداستاددرستدریس**NNارتباط چند به چند
اسلاید 79: ارتباط نیز می تواند صفت داشته باشدصفت در ارتباطدانشجوارائهاستادکلید دانشجوکلید استادنمرهدرسکلید درس
اسلاید 80: وجود یک پدیده وابسته به وجود پدیده دیگر باشددر صورت حذف عضوی از آن پدیده عضوهای وابسته نیز بصورت خودکار حذف شوندپدیده وابسته را موجودیت ضعیف گویندپدیده وابسته را با دو مستطیل تو در تو نشان می دهندرابطه وابسته را با لوزی تو در تو نشان می دهندوابستگی وجودیدانشجووابستگانکمک هزینهشماره دانشجویینامشماره وابستهشماره دانشجویی
اسلاید 81: ساختار داده ای
اسلاید 82: تعریف و تشریح سطح ادراکیدارای انواع: رابطه ای، سلسله مراتبی، شبکه ای، شی گرابسته به نوع ساختار داده ای زبان تعریف داده ها و نیز زبان کار با داده ها متفاوت استگاه بجای مدل داده ای استفاده می شود که شامل: ساختار داده ای، عملگرهای عمل کننده روی ساختار و قواعد عام برای تعریف جامعیت استساختار داده ای
اسلاید 83: از دید کاربر پایگاه داده شامل تعدادی جدول استمزایای آن شامل: سادگی، درک راحت ساختار، دارای پشتوانه ریاضی قویساختار داده ای رابطه ای
اسلاید 84: جدول ساختاری است شامل:سطر یا اصطلاحا رکورد: مجموعه ای از فیلدهای به هم مرتبط (یک نمونه از موجودیت)ستون: نمایشگر یک صفت خاصه از یک موجودیتجدول
اسلاید 85: قدیمی ترین ساختار داده ای برای طراحی پایگاه دادهدر این ساختار، داده ها و ارتباط بین آنها بصورت درخت نشان داده می شود.مناسب برای مدل کردن ارتباطات یک به چند بین انواع موجودیتهاهر گره از درخت می تواند رکوردی باشد که یک نوع موجودیت را نشان می دهدساختار سلسله مراتبی
اسلاید 86: وضوح کمتر نسبت به ساختار رابطه ای از دید کاربرخاص محیطهای دارای ارتباط یک به چند یک سویهبازیابی در این ساختار به راحتی ساختار سلسله مراتبی نیستاز مبانی تئوریک ریاضی برخوردار نیست برخلاف مدل رابطه ایطراحی ساختار برای یک محیط عملیاتی ممکن است بیش از یک صورت داشته باشدخصوصیات ساختار سلسله مراتبی
اسلاید 87: حالت خاصی از ساختار سلسله مراتبی هر گره می تواند بیش از یک پدر داشته باشدجامع تر از ساختار سلسله مراتبیبرای نمایش ارتباطات یک به چند دوسویهساختار شبکه ای
اسلاید 88: عدم داشتن وضوح از دید کاربریارتباط یک به چند دوسویهبازیابی پیچیده تر نسبت به ساختار سلسله مراتبیاز مبانی تئوریک ریاضی برخوردار نیست برخلاف مدل رابطه ایخصوصیات ساختار شبکه ای
اسلاید 89: ساختار رابطه ای
اسلاید 90: ساختار رابطه ای اولین بار توسط کاد به عنوان ساختاری برای طراحی بانک تعریف شد.دامنه: مجموعه ای است که مقادیر یک صفت خاصه از آن برگرفته می شوند.}تهران، شیراز، تبریزD ={ cityرابطه: زیر مجموعه ای از ضرب دکارتی چند دامنه{(5و3)و(4و3)و(5و2)و(4و2)و(5و1)و(4و1)}= }5، 4} * }3، 2، 1 {(رابطه)R {(5و3)و (5و2) و (4و1)}= راه دیگر نمایش رابطه جدول است.مفاهیم مدل رابطه ای142535
اسلاید 91: تاپل: مجموعه ای است از مقادیر صفت خاصه (یا به اعضا یک رابطه تاپل گفته می شود) مثلا: به عضو (5و3) از یک رابطه تاپل گویند.درجه رابطه: تعداد صفات خاصه رابطه (همان تعداد ستونها){... و (5و4و1)و(3و4و1)و(2و4و1)}= } 5، 3، 2} * }5، 4} * }3، 2، 1 {که با جدول نیز می توان نشان دادکاردینالیتی رابطه: تعداد تاپلهای رابطه در یک لحظه از حیات آنمفاهیم مدل رابطه ای (ادامه)
اسلاید 92: ارتباط بین مدل رابطه ای و نمایش جدولیساختار جدولیمدل رابطه ایجدولرابطهسطرتاپلستونصفت خاصهمقادیر مجاز ستونمیدان
اسلاید 93: رابطه با کمک یک ساختار ساده بنام جدول قابل نمایش است.تاپل تکراری در رابطه وجود نداردتاپلها در رابطه نظم خاصی ندارندصفات خاصه نظم ندارندعناصر تشکیل دهنده تاپل اتمیک (تجزیه ناپذیر) هستنددر یک رابطه یک تاپل نمی تواند حاوی تاپل دیگر باشدخصوصیات رابطه
اسلاید 94: کنترل مقداری پرس و جوها: مقادیر یک صفت خاصه در طول حیات رابطه از مقادیر میدان برگرفته می شوند. (یعنی باید مقدار صفت خاصه در میدان وجود داشته باشد)کنترل Symantec پرس و جوها: شماره دانشجویی هایی که قد دانشجو اول دو برابر سن آن باشد. (از نظر منطقی سن و وزن دارای واحد یکسان نیستند) این پرس و جوهای غیرمنطقی شناسایی و حذف می شوند.تسهیل در پاسخگویی به بعضی پرس و جو ها: اگر امکان تعریف میدان وجود داشته باشد این تعریف وارد کاتالوگ سیستم بعنوان بخشی از شمای ادراکی پایگاه می شود و در شرایطی برخی از کاربران می توانند از آن استفاده کنند.نقش میدان در عملیات پایگاه
اسلاید 95: Supper Key: مجموعه ای از یک یا چند صفت خاصه که دارای یکتایی مقدار باشند.Candidate Key: Supper Keyی که دارای خاصیت کاهش ناپذیری (از نظر تعداد اجزا در حداقل) باشد.Primary Key: کلید کاندیدی که طراح با توجه به ملاحضات محیط عملیاتی انتخاب می کند.Alternative Key: هر کلید کاندید غیر از کلید اصلی (کلید بدیل- فرعی- نامزد) است.Foreign Key: هر صفت خاصه از رابطه که در رابطه دیگر کلید اصلی باشد را کلید خارجی نامند.مفهوم کلید در مدل رابطه ای
اسلاید 96: رابطه ممکن است بیش از یک کلید کاندید داشته باشددر هر رابطه حداقل یک کلید کاندید (ترکیب تمامی صفات خاصه) وجود دارد.رابطه تمام کلید: رابطه ای که ترکیب تمامی عنوانش کلید کاندید باشد.نکات مهم در انتخاب در کلید اصلی:نقش و اهمیت کلید اصلی نسبت به سایر کلیدهای کاندید در پاسخگویی به نیازهای کاربرانکوتاهتر بودن طول کلید کاندید از نظر طول رشته بایتی حاصله از ترکیب صفات خاصهکلید اصلی به نوعی شناسه تاپل است و باید به نحوی به سیستم شناسایی شودنکات مهم
اسلاید 97: کلید خارجی امکانی است برای ارجاع از یک رابطه به رابطه دیگرکلید خارجی وسیله است برای پیوند دادن (ارتباط) رابطه های پایگاه داده با یکدیگرکلید خارجی تنها امکان ایجاد ارتباط نیست بلکه وجود هر صفت خاصه مشترک بین دو رابطه عاملی است برای نمایش ارتباط بین رابطه هالزومی ندارد که کلید خارجی یک رابطه جز تشکیل دهنده کلید اصلی همان رابطه باشد.نکات مهم
اسلاید 98: در مدل رابطه ای باید قواعدی وجود داشته باشد تا بر اساس آن جامعیت پایگاه کنترل و تضمین شود که شامل:قاعده جامعیت درون رابطه ای: هر رابطه ای به تنهایی صحیح باشد. (مثلا: عضو تکراری نداشته باشد و کلیدهایش درست باشند)قاعده جامعیت موجودیتی: هیچ جز تشکیل دهنده کلید اصلی نباید برابر مقدار Null باشدقاعده جامعیت ارجاعی: کلید خارجی درست تعریف شده باشد. یعنی:یا باید مقدار Null داشته باشدیا حتما مقداری داشته باشد که در تاپلی از رابطه وجود داشته باشدقواعد جامعیت در مدل رابطه ای
اسلاید 99: وجود ساختار داده ای رابطه ایقواعد جامعیتامکان کار با داده ها: مجموعه ای از عملگرهای جبر رابطه ای نکات مهم در مدل رابطه ای
اسلاید 100: سیستمی را رابطه ای گویند که اگر و فقط اگر:پایگاه داده مبتنی بر رابطه ها باشد بنحوی که کاربر پایگاه را بصورت جدول ببیندحداقل دارای عملگرهای گزینش، پرتو و پیوند باشد بی آنکه عملکرد این عملگرها نیازی به وجود مسیرهای دستیابی فیزیکی از پیش تعریف شده داشته باشدسیستم رابطه ای
اسلاید 101: تمام اطلاعات موجود در پایگاه داده فقط به یک روش نشان داده می شوند یعنی بصورت مقادیری در موقعیتهای ستونی از سطرهای جدولقاعده اطلاعات
اسلاید 102: کاد در مقاله خود 8 عملگر را برای کار با رابطه ها تعریف کرده است که شامل:عملگرهای متعارف در مجموعه ها: اجتماع، اشتراک، تفاضل و ضرب دکارتیعملگرهای خاص: گزینش یا تحدید، تصویر یا پرتو، ترکیب یا پیوند و تقسیممدل رابطه ای
اسلاید 103: این عملگر تاپلهایی از یک رابطه را گزینش می کند. بعبارتی زیرمجموعه ای افقی از یک رابطه را برمی گزیند.تاپلهای رابطه معمولا بر اساس شرط یا شرایطی انتخاب می شوند.عملگر گزینش یا تحدید یا Select
اسلاید 104: بعبارتی زیرمجموعه ای عمودی از یک رابطه را برمی گزیند.صفات خاصه (ستونهای) پاسخ اعمال عملگر دارای ترتیبی هستند که در عملگر مشخص می شوند.عملگر پرتو یا Project
اسلاید 105: اجتماع دو رابطه رابطه ای است که تاپلهایش در یک یا دو رابطه وجود دارند.اجتماع وقتی معتبر است که:دو مجموعه باید تعداد صفات خاصه برابر داشته باشند.میدان صفات خاصه دو مجموعه باید سازگار باشند.عملگر اجتماع یا Union
اسلاید 106: اشتراک دو رابطه رابطه ای است که تاپلهایش در هر دو رابطه وجود داشته باشد.اشتراک وقتی معتبر است که:دو مجموعه باید تعداد صفات خاصه برابر داشته باشند.میدان صفات خاصه دو مجموعه باید سازگار باشند.عملگر اشتراک یا Intersect
اسلاید 107: تفاضل دو رابطه رابطه ای است که تاپلهایش در رابطه اول وجود داشته و در رابطه دوم وجود نداشته باشد.تفاضل وقتی معتبر است که:دو مجموعه باید دارای ستونهای یکسان باشند.میدان صفات خاصه دو مجموعه باید سازگار باشند.عملگر تفاضل یا Difference
اسلاید 108: حاصل رابطه ای است حاوی ترکیبهای ممکن تاپلهای دو رابطه که باید در هم ضرب شوند.صفات خاصه دو مجموعه مجزا (اشتراکشان تهی) هستند.عملگر حاصلضرب کارتزین
اسلاید 109: حاصل رابطه ای است تاپلهای آن از پیوند تاپلهایی از دو رابطه به شرط تساوی مقدار یک یا چند صفت خاصه بدست می آید.عملگر پیوند یا Join
اسلاید 110: دو رابطه یکی از درجه m+n و دیگری از درجه n را بر هم تقسیم می کند حاصل رابطه ای است حاوی مقادیر صفت خاصه رابطه از درجه m+n که مقادیر صفت خاصه دیگر به تمامی در رابطه درجه n وجود داشته باشد.عملگر تقسیم DivisionABa1a2a3b1c1c3b2AabB12rsr div s
اسلاید 111: عملگرهای اضافه شده و دیگر عملیاتعملگر Rename: این امکان را می دهد که به یک رابطه با بیش از یک اسم رجوع شود.عملگر Extend: عملگری که برای گسترش عنوان یک رابطه بکار می شود.Aggregate Operator: عملگرهایی که برای شمارش، مجموع، میانگین، مینیمم و ماکزیمم بکار می روند. (مجموعه ای از مقادیر را گرفته و یک مقدار تکی را بعنوان خروجی برمی گردانند)عملگر Assign: این عملگر روش مناسبی برای بیان پرس و جوهای پیچیده است.
اسلاید 112: نکات مهم جبر رابطه ایجبر رابطه ای زبانی است روشمند یعنی برنامه نویس نه تنها به سیستم می گوید چه می خواهد بلکه نحوه بدست آوردن آنچه می خواهد را نیز بیان می کند.جبر رابطه ای معادل است با محاسبات رابطه ای (هر امکانی که مجموعه امکانات محاسباتی دارد جبر رابطه ای نیز دارد)جبر رابطه ای فقط برای بازیابی نیست بلکه می توان در عملیات ذخیره سازی و بهنگام سازی نیز استفاده کرد.
اسلاید 113: فرایند تبدیل نمودار ERD به جدول در مدل رابطه ایالف- ارتباط یک به چند:1)هر موجودیت و صفات آن تشکیل یک جدول را می دهد که صفات به عنوان ستونها و صفت منحصر بفرد به عنوان کلید اصلی تعیین می شود.2)به موجودیتی که در سمت رابطه چند قرار دارد ستونی افزوده می شود که نقش ارتباط دهنده در موجودیت یا همان کلید خارجی را دارد. این ستون همان کلید اصلی طرف ”رابطه یک ” است.
اسلاید 114: فرایند تبدیل نمودار ERD به جدول در مدل رابطه ایب- ارتباط چند به چند:1)بر اساس هر موجودیت و صفات آن جداول مربوطه را ایجاد می کنیم.2)به هر یک از دو جدول که در دو سوی رابطه چند به چند هستند ستونی اضافه می شود که آن ستون کلید اصلی رابطه طرف دیگر است.رابطه چند به چند به دلیل افزونگی داده ها و مشکلات عملیاتی در پیاده سازی می بایست به روابط یک به چند شکسته شود.
اسلاید 115: فرایند تبدیل نمودار ERD به جدول در مدل رابطه ایج- مراحل شکستن یک رابطه چند به چند به دو رابطه یک به چند:1)جدول سومی را تشکیل می دهیم که کلید اصلی در این جدول از ترکیب کلید های اصلی دو جدول قبلی بوجود می آید.2)پس از بوجود آمدن موجودیت جدید رابطه آنرا به موجودیتهای قبلی به صورت یک به چند نشان می دهیم.حسن اینکار این است که اطلاعات دو جدول می تواند به صورت جداگانه وارد شود و هر کجا که لازم بود رابطه بین دو جدول نشان داده شود از جدول سوم استفاده می کنیم.
اسلاید 116: فرایند تبدیل نمودار ERD به جدول در مدل رابطه ایج- اگر رابطه یک به یک باشد:در این حالت جدولی تشکیل می دهیم که حاوی صفات هر دو موجودیت است زیرا در این رابطه مشکلات افزونگی داده ها وجود ندارد پس می توانیم به جای اینکه برای هر موجودیت از یک جدول استفاده شود ، دو جدول را با یکدیگر ادغام کرده و تنها از یک جدول استفاده کنیم.
اسلاید 117: آشنایی با زبان SQL
اسلاید 118: زبان SQLSQL زبان استانداردی برای کار با پایگاه داده رابطه ای است.SQL اولین باز در اوایل دهه1960 در بخش تحقیقات IBM طراحی شد.SQL بجای دو اصطلاح رابطه و متغییر رابطه ای از جدول استفاده می کند.
اسلاید 119: احکام تعریف داده ها در SQLاین احکام شامل تعریف جداول، شاخص، حذف جداول، شاخص و تغییرات می باشد.انواع دامنه در SQL شامل:Char (n): یک رشته کاراکتری ثابت با طول nVarchar (n): رشته ای با طول متغییر و حداکثر به اندازه nInt: اعداد صحیحSmall Int: اعداد کوچکNumeric (p,d): اعداد اعشاری p و d تعداد رقمهای اعشارDouble , RealFloat (n): اعداد اعشاری با دقت حداقل n رقمNot NULL: می تواند در انتهای تعریف فیلد قرار گیرد بمعنی اینکه صفت خاصه مورد نظر نمی تواند مقدار NULL بگیرد
اسلاید 120: احکام تعریف داده ها در SQLDate: تاریخ شامل سال، ماه و روزTime: برای نمایش ساعتTime Stamp: شامل تاریخ و زمانInterval: دوره های زمانیExtract: امکان استخراج فیلد از داده های تاریخ و زمانCast: به کمک Cast امکان تبدیل رشته به تاریخ و زمانDomain: در SQL امکان تعریف دامنه نیز وجود دارد[Not NULL] نوع نامCreate Domain create domain dollars numeric(12,2)
اسلاید 121: تعریف جدولcreate table student( student_name char(30) not null, student_family char(30) not null, student_number integer)
اسلاید 122: محدودیتهای جامعیت در تعریف جدولnot nullprimary key(A1,…,An)foreign key(A1,…) referencescheck (p)برای کلید اصلی بطور خودکار not null در نظر گرفته می شود
اسلاید 123: مثالcreate table branch( branch_name char(15), branch_city char(30), assets integer, primary key (branch_name), chack(assets >=0))
اسلاید 124: مثالcreate table s( SNO char(5), sname char(20), status numeric(5), city char(15), primary key (SNO))
اسلاید 125: مثالcreate table p( PNO char(6), color char(20), weight numeric(5,1), city char(15), primary key (PNO))
اسلاید 126: مثالcreate table sp( SNO char(5), PNO char(6), QTY numeric(9), primary key(SNO, PNO), foreign key(SNO) references S, foreign key(PNO) references P)
اسلاید 127: حذف و تغییر جداولdrop table: تمام اطلاعات یک جدول و خود جدول را از پایگاه داده حذف می کند.alter table: برای حذف یا اضافه کردن صفات خاصه به جدول موجود بکار می رود.با اضافه کردن صفات خاصه جدید تمامی تاپلهای رابطه مقدار null برای آن صفت خاصه جدید می گیرد.
اسلاید 128: مثالdrop table salter table padd price integerAlter table s drop snamealter table spmodify (SNO smallint)
اسلاید 129: احکام کار با داده ها در SQLدر SQL چهار دستور اساسی برای کار با داده ها شامل:selectupdatedeleteinsert
اسلاید 130: احکام بازیابی داده هاselect A1,A2,…,Anfrom r1,r2,…,rmwhere pgroup by columnshaving porder by A1… Ak
اسلاید 131: نکاتعبارت (*)select معادل تمام صفات خاصه رابطه است.در SQL ممکن است نتیجه پرس و جو حاوی داده های تکراری باشد لذا برای حذف مقادیر تکراری از distinct استفاده می شود:select distinct A1,… from Tدر صورت استفاده از کلمه all بعد از select حذف مقادیر تکراری انجام نخواهد گرفت.در جلوی select می توان از عبارات ریاضی شامل عملگرهای +، - ، * و / نیز استفاده کرد.
اسلاید 132: نکات (ادامه)select SNO, PNO, QTY*5 from SPدر جلوی عبارت where شرط بکار می رود که می تواند با and، or و not نیز ترکیب شود.در جلوی عبارت where از between نیز می توان استفاده نمود:select * from SPwhere QTY between 2 and 5
اسلاید 133: نکات (ادامه)اگر چند جدول جلوی عبارت from آورده شود به منزله حاصلضرب دکارتی رابطه هاست.در SQL امکان دوباره نامیدن رابطه و یا صفات خاصه با استفاده از as وجود دارد.select * from Product as P, TSP as SPwhere P.PNO = SP.SNOعبارت order by بمعنی آن است که کاربر می خواهد جواب را بصورت منظم (صعودی یا نزولی) روی صفت خاصه مورد نظر ببیند.order by SNO descorder by SNO asc
اسلاید 134: نکات (ادامه)در صورت استفاده از چند جدول جلوی عبارت from و استفاده از شرط خاص می توان عمل پیوند را نیز انجام داد.select S.* , P.*from S,Pwhere S.city = P.cityمی توان عمل پیوند را با شرطهای اضافه نیز انجام داد.select S.* , P.*from S,Pwhere S.city = P.city and S.status > 10
اسلاید 135: نکات (ادامه)می توان یک جدول را با خودش پیوند کرد.select first.SNO , second.PNOfrom S first, S secondwhere first.city = second.cityand first.SNO < second.SNO در زبان SQL امکان مقایسه رشته ها و تطابق آنها به کمک % و _ نیز وجود دارد.select PNOfrom PWhere pname like “%a” or city like “b____”
اسلاید 136: نکات (ادامه)در صورتیکه عدم تطابق بخواهد چک شود از NOT Like استفاده می شود.برای الحاق رشته ها در SQL از || استفاده می شود.عملیات اجتماع (UNION) ، اشتراک (INTERSECT) و منها (EXPECT) نیز در SQL وجود دارد.select P.PNOfrom P where weight > 16.0 UNIONselect SP.PNOfrom SP where SP.SNO= ‘S2’
اسلاید 137: نکات (ادامه)سطرهای تکراری از نتیجه اجتماع، اشتراک و منها حذف می شوند.در SQL از UNION ALL، EXPECT ALL برای باقی ماندن سطرهای تکراری استفاده می شود.
اسلاید 138: توابع جمعی در SQLدر SQL توابع جمعی نیز وجود دارند. شامل:AVG: برای محاسبه میانگینMIN و MAX: برای مینیمم و ماکزیممSUM: مجموع مقادیرCOUNT: تعداد مقادیر
اسلاید 139: مثالselect max(status)from Sselect count(*)From Pselect count(distinct PNO)From SP
اسلاید 140: توابع جمعی در SQL (ادامه)عبارت group by در دستور باعث می شود رابطه داده شده بعد از جمله from را برحسب مقادیر ستون داده شده گروه بندی کرده شود.select PNO, SUM(QTY)from SPGROUP BY PNOنکته: صفات خاصه در دستور SELECT خارج از توابع جمعی باید در لیست گروه group by ظاهر شده باشند.
اسلاید 141: توابع جمعی در SQL (ادامه)نکته: صفات خاصه در دستور SELECT خارج از توابع جمعی باید در لیست گروه group by ظاهر شده باشند.select PNOfrom SPGROUP BY PNOHAVING count(*)>1نکته: HAVING معنای مستقلی ندارد و همیشه با GROUP BY می آید و نقش آن در گروه همانند نقش where در سطر می باشد.
اسلاید 142: توابع جمعی در SQL (ادامه)SQL در برخورد با مقدار NULL به عنوان یک عملوند در عمل مقایسه نمی تواند تصمیم بگیرد. (سطرهای دارای NULL در ستون مورد نظر را در کار دخالت نمی دهد)اگر از IS NULL استفاده شود آنگاه سیستم با مقدار NULL برخورد می کند.select SNOfrom SPwhere (status>15) or (status is NULL)نتیجه هر عمل ریاضی روی NULL نیزNULL است.تمامی توابع جمعی بجز COUNT(*) تاپلهای با مقادیر NULL در آن صفت خاصه را نادیده می گیرند.
اسلاید 143: پرس و جوهای فرعیپرس و جوهای فرعی یکی از توانایی های مهم در SQL می باشند.یک پرس و جوی فرعی یک عبارت select – from – where است که در داخل یک پرس و جو بکار برده می شود.
اسلاید 144: مثالمثال: اسامی تهیه کنندگان قطعه P2 را بدهید. (پیوند)select snamefrom S,SPwhere S.SNO = SP.SNO AND SP.PNO= ‘P2’
اسلاید 145: مثالمثال: اسامی تهیه کنندگان قطعه P2 را بدهید. (پرس و جوی فرعی)select snamefrom Swhere SNO IN ( select SNOfrom SPwhere PNO = ‘P2’ )سیستم ابتدا پرس و جوی فرعی را اجرا می کند.
اسلاید 146: مثالمثال: اسامی تهیه کنندگانی که اقلا یک قطعه آبی رنگ تهیه کرده است:select snamefrom Swhere SNO IN ( select SNO from SPwhere PNO IN (select PNO from P where color = ‘آبی’ ))اگر نتیجه پرس و جوی فرعی بیش از یک مقدار باشد از عبارت IN و اگر قطعا تک مقداری باشد می توان از عملگر = استفاده کرد.
اسلاید 147: مثالشماره تهیه کنندگان هم شهر با S1select SNOfrom Swhere city = ( select city from Swhere SNO = ‘S1’ )جواب پرس و جو فرعی فقط یک مقدار است
اسلاید 148: مثالنکته: می توان در پرس و جوی فرعی از تابع جمعی نیز استفاده کرد.شماره تهیه کنندگانی که مقدار وضعیت آنها از ماکزیمم وضعیت موجود در S کمتر باشد:select SNOfrom Swhere status < ( select MAX (status)from S )
اسلاید 149: مثالنکته: می توان در SQL از صور وجودی نیز استفاده کرد.اسامی تهیه کنندگان قطعه P2:select snamefrom Swhere exists ( select * from SPwhere SP.SNO = S.SNO ANDSP.PNO = ‘P2’ )عبارت EXSITS در SQL دارای ارزش درست است اگر و فقط اگر نتیجه بازیابی تهی نباشد
اسلاید 150: احکام تغيير پايگاه دادهبراي حذف يک تاپل از جدول مي توان از دستور delete استفاده کرد.delete from Rwhere r
اسلاید 151: مثالdelete from SPwhere SNO=‘S3’ AND PNO=‘P4’براي حذف تمامي سطرهاي SPdelete from SP
اسلاید 152: مثالdelete from Pwhere PNO=‘P5’نکته: در دستور فوق به دليل رعايت قواعد جامعيت بايد دستور زير نيز اجرا شود:delete from SPwhere PNO=‘P5’
اسلاید 153: احکام تغيير پايگاه داده (ادامه)براي اضافه کردن يک تاپل به جدول مي توان از دستور insert استفاده کرد.insert into R(A1,A2, … ) value (V1,V2,…)
اسلاید 154: مثالInsert into P Values (‘P8’,’PN8’,’BLUE’,’10’,’C3’)براي درج از جدول ديگر از دستور زير استفاده مي شود:INSERT INTO ACCOUNT (SELECT LOAN-NUMBER, BRANCH-NAME,200FROM LOANWHERE BRANCH-NAME = ‘Mojdehi‘ )
اسلاید 155: احکام تغيير پايگاه داده (ادامه)براي تغيير اطلاعات يک يا چند تاپل از جدول مي توان از دستور update استفاده کرد.UPDATE TABLESET FIELD = عبارت[ WHERE P ]
اسلاید 156: مثالرنگ قطعه P2 را به زرد تغيير داده و به وزن آن 5 واحد بيافزايد:update PSet color = ‘YELLOW’, weight = weight + 5WHERE P# = ‘P2’
اسلاید 157: مثالوزن قطعات داراي وزني با مقدار 10 گرم يا بيشتر را 5 واحد اضافه کنيد و قطعات کمتر از 10 گرم را 3 واحد اضافه کنيد.update Pset weight = weight + 5 where weight =10update Pset weight = weight + 3where weight < 10update Pset weight = casewhen weight >= 10 thenweight + 5else weight + 3end
اسلاید 158: سطح خارجيبراي تغيير اطلاعات يک يا چند تاپل از جدول مي توان از دستور update استفاده کرد.create view VIEW_NAME [ ( COLUMN[,COLUMN, ….]….).]as SUB QUERY
اسلاید 159: مثالcreate view PARTS (P#,PNAME,WT,CITY)as select P#,PNAME, WEIGHT,CITYfrom Pwhere color = ‘RED’
اسلاید 160: عمليات در Viewبازيابي: چون view ماهيتا جدول است لذا حکم select نيز مي تواند روي آن اجرا شود. براي اجراي حکم بايد سيستم آن را به حکمي در سطح ادراکي تبديل کند و براي اين منظور شرط يا شرايط داده شده در تعريف ديد را با شرط در حکم بازيابي ترکيب مي کند.SELECT * FROM PARTSWHERE P# = ‘P2’
اسلاید 161: عمليات در View(ادامه)نکته: چون view خود يک جدول است پس مي توان روي آن view تعريف کرد.SELECT *FROM PARTS
اسلاید 162: عمليات بهنگام سازی Viewنکته: تمامی view های قابل تعریف در SQL قابل بهنگام سازی (درج، تغییر و حذف) نیستند.Viewها به دو دسته تقسیم می شوند:دیدهای فاقد مشکل در عملیات بهنگام سازیدیدهای دارای مشکل در عملیات بهنگام سازی
اسلاید 163: نظریه چمبرلندیدی قابل بهنگام سازی است که:روی یک جدول مبنا تعریف شده باشد.هر سطر دید متناظر با سطر مشخصی از جدول مبنا باشد.هر ستون دید متناظر با ستون مشخص و نامداری از جدول مبنا باشد.
اسلاید 164: قوانین SQL/92 در بهنگام سازی دیدهادیدی قابل بهنگام سازی است که:عملیات جدولی که حوزه دید را تعیین می کند نباید شامل unionو join باشد.قسمت select عبارت انتخاب مستقیما شامل distinct نباشد.قسمت from دقیقا شامل یک جدول ارجاع باشد.عبارت select نباید حاوی group و having باشد.
اسلاید 165: نکات مهمقابلیت بهنگام سازی در view بگونه ای است که یا هر سه عمل insert، update و delete می توانند برروی یک دید اعمال شوند یا هیچیک را نمی توان اعمال کرد.در view این امکان وجود ندارد که بعضی ستونها را بهنگام سازی کرد و برخی دیگر از ستونهای همان دید را بهنگام سازی نکرد.
اسلاید 166: امکانات امنیتی SQLامنیت به معنی حفاظت داده ها در قبال کاربران غیر مجاز می باشد.برخی از جنبه های امنیت شامل:جنبه های قانونی و اجتماعیکنترلهای فیزیکیمسایل عملیاتیکنترلهای سخت افزاریپشتیبانی سیستم عامل
اسلاید 167: کاربراننامی است که با آن می توان وارد پایگاه داده شد.برای تعریف کاربر از دستور زیر استفاده می شود:CREATE USER userIDENTIFIED {BY password | EXTERNALLY}[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE tablespace][QUOTA {integer [K|M] | UNLIMITED} ON tablespace][PROFILE profile]
اسلاید 168: امتیازهااجازه انجام یک عمل روی پایگاه داده هاست.برای اعطای امتیاز از دستور grant و برای لغو آن از دستور revoke استفاده می شود.Grant Update ,insert ON S,SP To ALL ,User1Revoke insert ON S from ALL
اسلاید 169: نرمال سازی
اسلاید 170: نرمالسازیایده اصلی نرمال سازی رابطه ها بر مبنای رفع آنومالی های رابطه هاستآنومالی به معنی بروز وضعیت نامطلوب در انجام عمل که می تواند شامل:نا ممکن بودن انجام یک عملبروز تبعات نامطلوب در انجام یک عملبروز دشواری (افزونگی)برای رفع آنومالی ها باید روابط نرمال شوند.
اسلاید 171: اهداف نرمالسازیکاهش برخی از آنومالی هاکاهش افزونگیدرک بهتر از پایگاه دادهاعمال برخی از قواعد جامعیتی ناشی از وابستگی تابعی
اسلاید 172: سطوح نرمالسازی1NF2NF3NFBCNF4NF5NF
اسلاید 173: وجود آنومالیدر عمل Insert: امکان درج رکورد با مقادیر (5,IT) بمعنی دانشجویی با شماره دانشجویی 5 و رشته IT تا زمانیکه ندانیم چه درسی را گرفته وجود ندارد.در عمل Update: با بهنگام سازی رشته دانشجو با شماره 4 بهنگام سازی منتشر شونده داریم.در عمل Delete: با حذف (3,3,17) اطلاعات ناخواسته ای از بین می رود (دانشجو با شماره 3 در رشتهIT تحصیل می کند)ST_IDCO_IDMajorGrade11IT1922IT2033IT1721ICT1641IT1813ICT1542IT17
اسلاید 174: رابطه 1NFرابطه R در سطح 1NF است اگر تمام صفات خاصه اش اتمیک باشد.ST_IDCODETEL1021 43899021 4389920311 233440311 2334430711 879560711 87956ST_IDCO_ID1C1,C2,C52C4,C3,C53C1,C3,C4برای Update درس C2 باید تمام دروس دانشجو S1 را از اول وارد کردبرای اینکه این رابطه 1NF شود باید کد و تلفن را جدا کردST_IDCO_ID1C11C21C52…
اسلاید 175: وابستگی تابعیصفت خاصه R.Y با R.X وابستگی تابعی دارد اگر به ازای هر مقدار متمایز X فقط یک مقدار Y متناظر باشد. در اینصورت می گوییم Y با X وابستگی تابعی دارد و بصورت X → Y نشان می دهیم.X → ZZ → XX → YXYZX1Y1Z1X1Y2Z1X1Y3Z1X2Y1Z2X2Y2Z2
اسلاید 176: نکتهوابستگي تابعي بايد براي تمام رابطه ها درست باشد يعني از مفهوم و معني آن صفات سرچشمه بگيرد نه از موارد خاص در يك يا چند رابطه.وابستگي تابعي براي تعريف محدويتهاي پايگاه داده نيز بكار مي رود. يك وابستگي تابعي ممكن است براي يك پايگاه داده درست و در پايگاه داده ديگر غلط باشد لذا طراح پايگاه داده مي تواند قواعد بانك اطلاعات خود را با وابستگي تابعي نيز بيان نمايد. (SNO,PNO) → QTY (SNO,PNO) → CITY SNO → CITY (SNO,PNO) → SNO (SNO,PNO) → (CITY,QTY)SNOPNOQTYCITYS1P1100C2S1P2200C2S1P3150C2S2P1100C3S2P280C3S3P190C3
اسلاید 177: وابستگی تابعی کاملصفت خاصه R.Y با R.X وابستگی تابعی کامل دارد اگر Y با X وابستگی تابعی داشته اما با هیچیک از اجزا تشکیل دهنده آن وابستگی نداشته باشد و بصورت X ⇒ Y نشان می دهیم. (SNO,PNO) → QTY SNO → QTY PNO → QTYپس (SNO,PNO) ⇒ QTYSNOPNOQTYCITYS1P1100C2S1P2200C2S1P3150C2S2P1100C3S2P280C3S3P190C3
اسلاید 178: SNOPNOQTYCITYSTATUSS1P1100C110S1P2120C110S1P380C110S2P190C215S3P1100C215S4P160C110QTYSTATUSSNOCITYPNO(SNO,PNO) → QTY(SNO,PNO) → CITY(SNO,PNO) → STATUS(SNO) → CITY( SNO) → STATUS CITY → STATUSمثال
اسلاید 179: SNOPNOQTYCITYSTATUSS1P1100C110S1P2120C110S1P380C110S2P190C215S3P1100C215S4P160C110درج غیر ممکن است Insert: (S5,C3,14)منجر به حذف اطلاعات ناخواسته می شود Delete: (S3, P1, 100) این رابطه باید به دو رابطه SNO, STATUS, CITY) ( S و SP (SNO, PNO, QTY) شکسته شود.آنومالی ها
اسلاید 180: رابطه 2NFرابطه ای 2NF است که:اولا: 1NF باشد.ثانیا: هر صفت خاصه غیر کلید با کلید اصلی وابستگی تابعی کامل داشته باشد.نکته: برای تبدیل 1NF به 2NF از عملگر پرتو بطور مناسب استفاده می شود.نکته: اگر کلید اصلی ترکیبی نباشد نیاز به چک کردن 2NF بودن رابطه نیست.
اسلاید 181: رابطه 2NF (مثال)SNOCITYSTATUSS1C110S1C110S1C110S2C215S3C215S4C110SNOPNOQTYS1P1100S1P2120S1P380S2P190S3P1100S4P160QTYSTATUSSNOCITYPNOSNO
اسلاید 182: درج غیر ممکن است (زیرا SNO کلید اصلی است) Insert: (C5,18)منجر به حذف اطلاعات ناخواسته (C4,15) می شود Delete: (S5,15) برای بهنگام سازی C2 عمل تاپلی به مجموعه ای تبدیل می شود Update: C2 این رابطه باید به دو رابطه SNO, CITY) SC( و SC (CITY, STATUS) شکسته شود.آنومالی هاSNOCITYSTATUSS1C110S1C110S1C110S2C215S3C215S4C110STATUSCITYSNO
اسلاید 183: وابستگی با واسطهاگر صفت خاصه B از رابطه R با صفت خاصه A وابستگی تابعی داشته باشد و صفت خاصه C از همان رابطه با صفت خاصه B وابستگی تابعی داشته باشد و A با B وابستگی نداشته باشد، گوییم C با A وابستگی با واسطه دارد. A → B → C SNO → CITY CITY→ STATUS پس STATUS هم خود بی واسطه با SNO وابستگی داردو هم از طریق CITY به SNO وابسته است.SNOCITYSTATUSS1C110S1C110S1C110S2C215S3C215S4C110
اسلاید 184: رابطه 3NFرابطه ای 3NF است که:اولا: 2NF باشد.ثانیا: هر صفت خاصه غیر کلید با کلید اصلی وابستگی بی واسطه داشته باشد.SNOPNOQTYS1P1100S1P2120S1P380S2P190S3P1100S4P160QTYSNOPNO
اسلاید 185: رابطه 3NF (مثال)SNOCITYSTATUSS1C110S1C110S1C110S2C215S3C215S4C1101. SNO → STATUS CITY→ STATUS مشخص نیست که تولیدکننده SNO در کدام شهر است!2. SNO → CITY SNO → STATUS شهر C10 چه STATUSی دارد را جواب نمی دهد!3. SNO → CITY CITY→ STATUS
اسلاید 186: قضیه ریسانناگر رابطه های R1 و R2 نتیجه تجزیه رابطه R باشد، آنگاه R1 و R2 از یکدیگر مستقل هستند هرگاه:تمام وابستگی های تابعی موجود در رابطه R یا در دو رابطه R1 و R2 وجود داشته یا از وابستگی های موجود در R1 و R2 منطقا استخراج شود.صفات خاصه مشترک در R1 و R2 حداقل در یکی از دو رابطه به عنوان کلید کاندید باشد.
اسلاید 187: رابطه 3NF (مثال)SNOCITYSTATUSS1C110S1C110S1C110S2C215S3C215S4C1101. SNO → STATUS CITY→ STATUS رابطه بین SNO و CITY گم شده است! (شرط اول)2. SNO → CITY SNO → STATUS شرط دوم را ندارد!3. SNO → CITY CITY→ STATUS CITY در جدول دوم به عنوان کلید اصلی است و رابطه ها نیز حفظ شده اند
اسلاید 188: رابطه 3NF (مثال)SNOCITYS1C1S1C1S1C1S2C2S3C2S4C1CITYSTATUSC110C110C110C215C215C110SNOPNOQTYS1P1100S1P2120S1P380S2P190S3P1100S4P160
اسلاید 189: مثالFAXSNOCITYSNAMESNOSNAMECITYFAXمی دانیم که SNAME و SNO هر دو منحصر بفردند
اسلاید 190: دترمینانبه سمت چپ یک وابستگی تابعی دترمینان گویندR.A → R.B
اسلاید 191: رابطه BCNFرابطه ای BCNF است که:اولا: 3NF باشد.ثانیا: هر دترمینان کلید کاندید باشد.نکته: 3NF حالتی را که چند کلید کاندید مرکب وجود داشته باشند و کلیدهای کاندید همپوشانی (اشتراک در یک صفت خاصه) داشته باشند را پوشش نمی دهد و به همین دلیل از BCNF استفاده می شود.
اسلاید 192: مثالSNOSNAMEPNOQTYمی دانیم که SNAME و SNO هر دو منحصر بفردند(SNO, PNO) کلیدهای کاندید(SNAME, PNO)QTYSNOPNOSNAME(SNO, PNO) → QTY BCNF در سطح(SNAME, PNO) → QTY BCNF در سطحSNO → SNAME نیست BCNF در سطحSNAME → SNO نیست BCNF در سطحاین رابطه 2NF نیست پس 3NF و BCNF نمی تواند باشد
اسلاید 193: مثالSNOSNAMEPNOQTYQTYSNOPNOSNAME(SNO, SNAME)(SNO, PNO, QTY) BCNF در سطح
اسلاید 194: مثالدر رابطه ای هر دانشجوی S درس C را با استادی گرفته و هر استاد یک درس را تدریس می کند و هر درس توسط چند استاد تدریس می شود.SCTSNOCNOTNOدر سطح 1NF ، 2NF و حتی 3NF است ولی BCNF نیستT → CS → T TNOCNOSNOTNOاستاددانشجودرس
اسلاید 195: الگوریتم تبدیل 1NF به 2NF1. هر بخش از کلید اصلی را که صفت وابسته دارد، با آن صفتها کنار هم قرار می دهیم.2. کل کلید اصلی را با صفتهای باقیمانده کنار هم قرار می دهیم.3. سایر وابستگی ها را ترسیم می کنیم.
اسلاید 196: الگوریتم تبدیل 2NF به 3NF1. صفتهایی را که وابستگی انتقالی ایجاد کرده اند، با وابسته های آنها کنار هم قرار می دهیم.2. کلید اصلی را با صفتهای باقیمانده کنار هم قرار می دهیم.3. صفتهای کلیدی را به عنوان کلید خارجی در 2 تکرار می کنیم.
اسلاید 197: مثالS#, SEC, C#, TERM CNAMEUNITCLG#ADMINPNAMESCORESEC, C#, TERM CNAMEUNITCLG#ADMINPNAMESCORES#,SEC, C#, TERM SCORE
اسلاید 198: مثالSEC, C#, TERM CNAMEUNITCLG#ADMINPNAMESCORE2NFC#CNAMEUNITS#,SEC, C#, TERM SCORESEC, C#, TERM CLG#ADMINPNAME
اسلاید 199: 3NFمثالC#CNAMEUNITS#,SEC, C#, TERM SCOREC#CNAMEUNITS#,SEC, C#, TERM SCORESEC, C#, TERM CLG#ADMINPNAMESEC, C#, TERM PNAMECLG#CLG#ADMIN
اسلاید 200: کار با Microsoft SQL Server 2008
اسلاید 201: مراحل نصب
اسلاید 202: مراحل نصب
اسلاید 203: مراحل نصب
اسلاید 204: مراحل نصب
اسلاید 205: مراحل نصب
اسلاید 206: مراحل نصب
اسلاید 207: مراحل نصب
اسلاید 208: مراحل نصب
اسلاید 209: مراحل نصب
اسلاید 210: مراحل نصب
اسلاید 211: مراحل نصب
اسلاید 212: مراحل نصب
اسلاید 213: مراحل نصب
اسلاید 214: مراحل نصب
اسلاید 215: مراحل نصب
اسلاید 216: مراحل نصب
اسلاید 217: مراحل نصب
اسلاید 218: مراحل نصب
اسلاید 219: مراحل نصب
اسلاید 220: مراحل نصب
اسلاید 221: مراحل نصب
اسلاید 222: مراحل نصب
اسلاید 223: مراحل نصب
اسلاید 224: مراحل نصب
اسلاید 225: مراحل نصب
اسلاید 226: مراحل نصب
اسلاید 227: مراحل نصب
اسلاید 228: مراحل نصب
اسلاید 229: مراحل نصب
اسلاید 230: مراحل نصب
اسلاید 231: مراحل نصب
اسلاید 232: مراحل نصب
اسلاید 233: مراحل نصب
اسلاید 234: مراحل نصب
اسلاید 235: مراحل نصب
اسلاید 236: مراحل نصب
اسلاید 237: با تشکر
خرید پاورپوینت توسط کلیه کارتهای شتاب امکانپذیر است و بلافاصله پس از خرید، لینک دانلود پاورپوینت در اختیار شما قرار خواهد گرفت.
در صورت عدم رضایت سفارش برگشت و وجه به حساب شما برگشت داده خواهد شد.
در صورت بروز هر گونه مشکل به شماره 09353405883 در ایتا پیام دهید یا با ای دی poshtibani_ppt_ir در تلگرام ارتباط بگیرید.
- پاورپوینتهای مشابه
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.