| Специалност |
Mатематика и информатика (бакалавър) |
| Форма
на оценяване |
Изпит |
| Дисциплината
се води от |
Катедра
Компютърни системи |
| Анотация |
|
Въведение в системите за управление на бази данни. Архитектура
на СУБД. Релационни обекти - домейни и релации. Релационна
цялостност на данните – първични и външни ключове. Рлационна
алгебра. Релационен език SQL. Езици за програмиране
и SQL. Функционални зависимости. Затвореност на множество
от атрибути. Теория на нормализацията. ER модел. Възстановяване
на системата. Конкурентност. Цялостност и защита на
данните. Разпределени системи. Клиент/сървър архитектури. |
| Съдържание |
| 1. Въведение в системите
за управление на бази данни. Основни понятия.
Видове данни. Цялостност и независимост на данните.
Бази данни. Видове БД. Системи за управление на бази
данни. Компоненти на СУБД. Режими на работа на СУБД.
Предимства и недостатъци на еднопотребителските бази
данни. Многопотребителски бази данни: централизиран
контрол. |
| 2. Архитектура на СУБД.
Нива на архитектурата на СУБД. Външно, концептуално
и вътрешно ниво: същност и предназначение. Кореспонденции.
Алгоритъм на работа на СУБД. Клиент/Сървър архитектура.
Разпределена обработка. |
| 3. Релационни обекти: релации.
Определения. Дефиниране на данни. Релация.
Релационна променлива. Свойства на релациите. Нормализирани
и ненормализирани релации. Видове релации: именувани,
базови, дериватни, моментна снимка и др. Релации и предикати.
|
| 4. Релационна цялостност на данните:
първични ключове. Релационна цялостност. Специфични
и общовалидни правила за цялостност. Концепция за първичните
ключове. Суперключове. Ключове-кандидати: първични и
алтернативни ключове. Свойства и предназначение. Нулеви
стойности. Ключ-кандидат и нулеви стойности. |
| 5. Релационна цялостност на данните:
външни ключове. Определение. Свойства на външните
ключове. Референциална цялостност и референциално ограничение.
Правило за референциалната цялостност. Референциални
диаграми. Подходи за запазване референциалната цялостност
на данните. Външен ключ и нулеви стойности. |
| 6. Релационни оператори: релационна
алгебра. Въведение в релационната алгебра.
Релационни оператори – класификация. Затвореност. Традиционни
оператори: обединение, сечение, разлика, произведение.
Съвместимост на типове. Специални оператори: ограничение,
проекция, естествено сливане, делене. Асоциативност
и комутативност на релационните оператори. |
| 7. Релационен език SQL.
Обща характеристика. Език за дефиниране на данни (DDL)
– създаване, промяна и изтриване на таблица и домейн.
Опериране с данните (DML) – операции за въвеждане, промяна,
извличане и изтриване на данни. Индекси. |
| 8. Езици за програмиране и SQL.
Курсори. Вграден SQL. Драйвери за бази данни.
Интерфейси за достъп до бази данни: ODBC, JDBC. Достъп
до бази данни чрез Java. |
| 9. Функционални зависимости. Основни
понятия. Тривиални и нетривиални функционални зависимости.
Затвореност на множество от функционални зависимости.
Аксиоми на Армстронг. Следствия. |
| 10. Затвореност на множество от
атрибути. Суперключ. Затвореност на множество
от атрибути. Алгоритъм за определяне на затвореността
на множество от атрибути. Приложение. Обвивка и еквивалентност
на множества от функционални зависимости. Несъкратимо
минимално множество от функционални зависимости. |
| 11. Теория на нормализацията.
Нормални форми. Класификация. Декомпозиция
без загуба и функционални зависимости. Теорема на Хийт.
Диаграми на функционални зависимости. Нормализираща
процедура. Частична и пълна функционална зависимост.
Първа, втора и трета нормална форма – предимства и недостатъци.
UDATE-аномалии. |
| 12. Entity-Relationship (ER) модел.
Основни понятия. Диаграмно представяне на ER моделите.
Алгоритъм за генериране на схема на база данни от ER
модел. Схеми за представяне на бази данни. |
| 13. Възстановяване на системата.
Обща характеристика. Транзакции. Оператори. Реализация
на транзакциите. Структура на програма, използваща транзакции.
Свойства на транзакциите. |
| 14. Конкурентност. Определение.
Проблеми при конкурентността: загуба на промяна, незавършена
зависимост, неконсистентен анализ. Блокировки. Механизъм
на блокировка. Deadlock. |
| 15. Защита на данните.
Определение. Подходи за защита на данните, поддържани
от съвременните СУБД. Криптиране на данните - същност,
криптиращ алгоритъм, примери. SQL поддръжка – изгледи
и защита на данните. |
| 16. Цялостност. Определение.
Видове правила за цялостност: за области, атрибути,
релации и база данни. Тригери и тригерни процедури.
SQL поддръжка. Отложена проверка. |
| 17. Разпределени системи. Разпределени
бази данни. Обща характеристика. Предимства. Основен
принцип на разпределената обработка. Обективности: локална
автономност, непрекъснато опериране, независимост от
местоположението, фрагментарна независимост, разпределено
управление на транзакциите, хардуерна независимост и
др. |
| 18. Клиент/сървър архитектури.
Основна идея, принципи и предназначение. Архитектура
на многослойни приложения. Ползи от сървъра за бази
данни. |