طراحی پایگاه داده‌ها

Database Design

شماره درس: ۴۰۳۸۴ تعداد واحد: ۳
مقطع: کارشناسی نوع درس: نظری
پیش‌نیاز: ساختمان داده‌ها و الگوریتم‌ها هم‌نیاز: –

اهداف درس

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

ریز مواد

  • مشی پایگاهی و سیستم‌های پایگاهی (۳ جلسه)
    • معرفی درس
    • تعریف پایگاه داده‌ها
    • مشی فایلینگ و مشی پایگاهی
    • عناصر محیط پایگاه داده
    • انواع معماری سیستم پایگاهی (متمرکز، مشتری-خدمتگزار، توزیع‌شده)
    • اجزای سیستم مدیریت پایگاه داده رابطه‌ای (RDBMS، OLTP)
  • مدل‌سازی معنایی داده‌ها با روش ER و ERR (۴ جلسه)
    • موجودیت
    • صفت
    • ارتباط
    • نمودار ER و EER
    • انواع دام‌ها
    • تکنیک‌های تخصیص، تعمیم، تجزیه، ترکیب و تجمیع
    • ویژگی‌های روش مدل‌سازی معنایی
  • اصول طراحی پایگاه داده‌ها (۲ جلسه)
    • اشنایی با ساختار جدولی و پایگاه داده جدولی
    • روش طراحی بالا به پایین (تبدیل مدل‌سازی معنایی به طراحی منطقی)
  • مقدمات پیاده‌سازی و SQL (۳ جلسه)
    • زبان پایگاه داده‌ی جدولی (SQL)
    • آشنایی مقدماتی با دستورات DDL و DCL
    • اشنایی با دستورات DML
    • SQL توکار در زبان‌های برنامه‌سازی
    • پیاده‌سازی تراکنش
    • پرس‌وجوی پارامتری (Parameterized Query)
  • معماری سه‌سطحی پایگاه داده‌ها (۳ جلسه)
    • معماری سه‌سطحی ANSI، دید (نمای) ادراکی
    • دید داخلی و دید خارجی
    • تبدیلات بین سطوح
    • انواع شاخص در سطح داخلی (B-Tree، B+-Tree و Hash)
    • عملیات از دید خارجی در پایگاه داده‌ها و مشکلات مربوطه
    • استقلال داده‌ای فیزیکی و منطقی
  • مفاهیم اساسی مدل داده‌ای رابطه‌ای (۲ جلسه)
    • مولفه‌های مدل داده‌ای در مدل رابطه‌ای
    • رابطه و مفاهیم مربوطه
    • کلید در مدل رابطه‌ای
    • مروری بر اصول طراحی پایگاه داده‌های رابطه‌ای
  • جامعیت در مدل رابطه‌ای (۲ جلسه)
    • ؛ قواعد جامعیت عام (C1 و C2)
    • قواعد جامعیت یا محدودیت‌های کاربری
    • مکانیزم‌های اعمال قواعد جامعیت کاربری شامل اظهار (Assertion) و رهانا (Trigger)
  • عملیات در پایگاه رابطه‌ای (۳ جلسه)
    • جبر رابطه‌ای
    • حساب رابطه‌ای
  • تئوری وابستگی و ارتقاء سطح نرمال‌سازی رابطه‌ها (۳ جلسه)
    • مفاهیمی از تئوری وابستگی
    • شرح صورت‌های نرمال (تا سطح BCNF، بقیه سطوح مطالعه انفرادی)
    • تجزیه مطلوب
  • امنیت پایگاه داده‌ها (۱ جلسه)
    • مدیریت کاربران
    • احراز اصالت
    • کنترل دسترسی
    • رمزنگاری داده‌ها
  • سیستم‌های مدیریت پایگاه داده غیررابطه‌ای (NoSQL DBMS) (۲ جلسه)
    • دلایل استفاده از پایگاه داده‌های غیررابطه‌ای (NoSQL)
    • تئوری CAP
    • پایگاه داده‌های کلید-مقدار، ستون-محور، گراف-محور و سند-محور
  • (اختیاری) مقدمه‌ای بر انباره داده (Data Warehouse) (۱ جلسه)
    • معرفی انباره داده، OLAP

توجه: از مرحله معرفی ساختارهای داده‌ای جدولی و پس از آن، هرجا که لازم باشد، از SQL برای ارائه مثال استفاده می‌شود. دانشجو بایستی از هفته سوم و همروند با پیشرفت درس، SQL را مطالعه کند.

ارزیابی

  • آزمون: آزمون‌های میان‌نیم‌سال (۳۰ درصد نمره) و پایان‌نیم‌سال (۳۵ درصد نمره)
  • تمرین: (۱۷٪ کل نمره)
  • پروژه: (۱۳٪ کل نمره)
  • کوییز و فعالیت‌های کلاسی (۵٪ کل نمره)

مراجع

  • سید محمد تقی روحانی رانکوهی، "مفاهیم بنیادی پایگاه داده‌‌‌ها"، ویراست چهارم، ۱۳۹۰.
  • R. Elmasri, S. Navathe. Fundamentals of Database Systems. 8th Edition, Pearson, 2019.
  • A. Silberschatz, H. F. Korth, S. Sudarshan. Database System Concepts. 6th Edition, McGraw-Hill, 2010.
  • C. J. Date. An Introduction to Database Systems 8th Edition, Pearson, 2003.
  • T. Connolly, C. Begg. Database Systems. 6th Edition, Pearson, 2014.
  • R. Ramakrishnan, J. Gehrke. Database Management Systems. 4th Edition, McGraw-Hill, 2014.