Лого на 91. НЕГ „Проф. Константин Гълъбов“

Модул 3 · Урок 13

Проектиране на БД

Шестте стъпки при проектиране: таблици, типове, първичен ключ, общи атрибути, свързване (1:N с външен ключ, M:N с таблица на взаимодействието) и цялостност.

Стъпките при проектиране на база от данни

За да създадем схемата на базата, първо трябва да имаме текстово описание на процеса, който моделираме — и то изчерпателно. После:

  1. Планиране на таблици — за всеки обект от ER модела по една таблица. Четейки заданието, най-често срещаните съществителни са добри кандидати за обекти: за училищна ИС — клас, преподавател, ученик; за автомобили под наем — клиент, автомобил, наем.
  2. Избор на типове данни — определя се типът на всеки атрибут (аналогично на типовете на променливи в програмирането).
  3. Избор на първичен ключ — задължителен, ако искаме да няма дублиране. Първо търсим естествен атрибут-идентификатор; после комбинация от атрибути (внимаваме за мощността на домейна); в краен случай добавяме нов атрибут за ключ.
  4. Установяване на общите атрибути — първичен или външен ключ. Единственото, което може да се повтаря на логическо ниво, са стойностите на ключовете, когато от една таблица сочим (референцираме) кортеж от друга.
  5. Свързване на таблиците — 1:1 и 1:N чрез механизма на външния ключ; M:N чрез таблица на взаимодействието.
  6. Поддържане на целостността на връзките — правила за контрол на изтриването и промяната.

Свързване: 1:N и M:N

1:N — външен ключ

Стоки, произвеждани от производител: една стока има точно един производител, а той произвежда много стоки — 1:N. Моделира се, като атрибутът Идентификатор на производителя стои не само в таблицата Производител (първичен ключ), но и в таблицата Продукт — там той е указател към ред от таблицата на производителите и е външен ключ.

M:N — таблица на взаимодействието

Клиенти и Продукти: един клиент купува много продукти, един продукт се купува от много клиенти. Фактът „клиент К е купил продукт П" означава, че двойката (К, П) е елемент на декартовото произведение Клиенти × Продукти, а множеството от установените двойки е релация — представяме я с таблица на взаимодействието.

Изисквания към таблицата на взаимодействието

Съдържа като външни ключове атрибутите, които са първични ключове в свързваните таблици — те задължително участват в първичния ѝ ключ, но невинаги стигат: ако взаимодействието може да се повтори (клиент купува същия продукт втори път), добавяме атрибут за време (час и дата на покупката) към първичния ключ.

Цялостност на връзките

Осъществява се чрез правила за контрол на изтриването и промяната в свързани таблици. Прилагат се, когато общото поле е първичен ключ на таблица, свързаните полета имат еднакъв формат и таблиците са в една база:

  • Преди добавяне на запис в свързаната таблица, в първичната трябва да съществува съответен запис.
  • Стойността на първичния ключ в първичната таблица не може да се променя, ако в свързаната има кортежи, цитиращи тази стойност.
  • Кортеж в първичната таблица не може да бъде изтрит, ако в свързаната има съответстващи му кортежи.

Практикум и контрол

Задача (практикум, 6 уч. часа)

Проектирайте базата от данни за ИС на вашето училище. Задължително съдържание: данни за училището, учениците, паралелките, преподавателите, изучаваните предмети и оценките (срочни и годишни) за една година. По желание: библиотека, извънкласни форми, олимпиади и състезания.

Задача (контрол и оценка)

Проектирайте базата от данни на търговска фирма: стоки (в една или няколко таблици), доставчици, корпоративни клиенти, продажби, складови наличности. Установете зависимостите и приведете таблиците в 3НФ; съставете схема на базата и я документирайте.

Какво трябва да запомниш

  • Шест стъпки: таблици → типове → първичен ключ → общи атрибути → свързване → цялостност.
  • Съществителните в заданието са кандидатите за обекти/таблици.
  • 1:1 и 1:N → външен ключ; M:N → таблица на взаимодействието.
  • Повтарящо се взаимодействие → добавяме време към първичния ключ.
  • Трите правила за цялостност пазят връзките при добавяне, промяна и изтриване.