Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по Б/Д.doc
Скачиваний:
19
Добавлен:
25.04.2019
Размер:
389.63 Кб
Скачать

Связи между таблицами

Связи между таблицами бывают 3 типов:

  1. Связь “один к одному”, когда каждой записи в первой таблице соответствует 1 запись во второй таблице.

  2. Связь “Один ко многим”, когда одной записи в одной таблице соответствует множество записей во второй таблице.

  3. С

    1

    1

    вязь “Многие ко многим”, когда одной записи из первой таблицы соответствует множество записей из второй таблицы, и одной записи из второй таблицы соответствует множество записей из первой таблицы. Такие связи в реляционных БД НЕДОПУСТИМЫ. Они преобразуются в две связи один-ко-многим через внедрение вспомогательной таблицы.

Поддержка целостности данных

Поддержка целостности данных предназначена для исключения ошибок при вводе данных и их редактировании, а также при удалении ненужных записей. При включенном режиме невозможно удалить записи из первой таблицы, если существуют связанные с ней записи во второй таблице. Например, имеется 2 таблицы: наименований товаров и их приход. При включённой поддержке целостности данных при удалении (или изменении ключевого поля) одного из товаров в таблице Товары будут также удалены (изменены) записи, соответствующие этому товару, в таблице Приход.

Характерные черты:

  1. При изменении значения ключевого поля в 1-й таблице автоматически изменяется значение в связанных записях.

  2. Невозможно ввести во вторую таблицу в поле внешнего ключа значение, которого нет в первой таблице.

Допустимые опции:

  1. Каскадное обновление.

  2. Каскадное удаление.

Нормализация бд

При создании БД, в первую очередь необходимо разработать её структуру. Следующим шагом должна быть её нормализация.

Нормализация БД предназначена для уменьшения объёма хранимых данных и снижения вероятности ошибки при вводе данных и затрат труда при этом.

Пример.

Имеется следующая таблица, в которой содержаться данные по товарным накладным:

№ накладной

Дата

Поставщик

Адрес

Товар

Цена

Количество

Стоимость

Она имеет очевидные недостатки:

  1. Одна накладная может иметь разные даты вследствие человеческой ошибки.

  2. У одного и того же товара могут быть разные цены.

  3. Адреса у одного и того же поставщика могут быть разные

  4. Стоимость можно ввести неверно.

Для того чтобы устранить эти недостатки, таблицу необходимо привести к 3-й нормальной форме (всего существует 5 нормальных форм).

  1. Первая нормальная форма. Таблица соответствует 1-й нормальной форме, если каждый столбец содержит атомарные (которые нельзя разделить на более простые) значения, а в таблице не содержаться повторяющиеся группы. В рассматриваемом примере повторяющейся группой является накладная, следовательно, часть полей повторяется. Группы удаляются помощью добавления таблиц. Создаём дополнительную таблицу “Накладная”.

  2. Чтобы привести таблицу ко второй нормальной форме необходимо, чтобы таблица была в первой нормальной форме, и каждый столбец должен зависеть от ключевого поля. В примере выделяется ещё одна таблица, в которой содержаться код товара (ключевое поле), наименование товара и его цена.

  3. БД находится в 3 нормальной форме, если она находится во второй нормальной форме, и каждый столбец зависит от первичного ключа и не зависти от части ключа. В таблице не должны присутствовать поля, которые можно вычислить, как бы сложно это ни было. Таким образом, в отдельную таблицу также выделяются поставщик, его уникальный идентификатор, его адрес и телефон.