Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК ИТУ СКД.doc
Скачиваний:
25
Добавлен:
25.11.2018
Размер:
1.59 Mб
Скачать

Установление связи между таблицами

Используем пример телефонной книги (таблица 6.1), для того, чтобы обсудить БД, которую можно использовать реально в деловой жизни. Предложим, что индивидуумы из первой таблицы – студенты. Дополнительную информацию о них декан может хранить в другой таблице

Таблица 6.2.

Студент

Группа

зачетной книжки

Форма обучения

Стипендия

Петров Иван

411

980020

Бюджет

Да

Иванов Глеб

411

980001

Бюджет

Нет

Степанов Олег

412

970251

договор

нет

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

Первичный ключ

Так как записи не имеют определенного номера и по ряду других причин необходимо иметь столбец (поле) таблицы, который однозначно определяет каждую запись. Обычно этот столбец содержит номер, приписанный каждой записи (каждому объекту БД), например абоненту телефонной станции. Можно идентифицировать абонентов и по имени, но ведь может случиться, что имеется несколько абонентов с одинаковыми фамилией и именем. Именно поэтому используют номера. Такой столбец, который однозначно определяет каждую запись, называется первичным ключом. Кроме того, что по первичному ключу можно найти запись, он обеспечивает и целостность данных.

Целостность данных

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

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

Рассмотрим несколько ограничений:

  • две записи БД не могут иметь одно и тоже значение этого атрибута (поля), т.к. первичный ключ обладает свойством уникальности;

  • значения, которые принимает некоторый атрибут, могут быть ограничены некоторым диапазоном. Например, возраст служащего должен быть от 18 до 65 лет;

  • для некоторого атрибута может существовать очень небольшой (перечислимый) набор допустимых значений. Например, количество детей у работника [ 0,1,2,3,4,5 ];

  • значения некоторого атрибута должны удовлетворять определенному формату. Например, телефон (TTTT)TT-TTTT.

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

Избыточность данных

Например, рассмотрим БД, в которой хранятся данные о студентах и их успеваемости.

Дата

Студент

Группа

Номер зачетки

Предмет

Срок

сдачи

Контроль

Преподаватель

Оценка

31.12.98

Петров

411

980020

История

31.12.98

Экз

Иванов А.А.

Отл

31.12.98

Иванов Г.

411

980001

История

31.12.98

Экз

Иванов А.А.

Удовл

31.12.98

Степанов

412

970251

СХМ

26.12.98

зачет

ЛобовН.Н.

зачет

25.12.98

Петров

411

980020

СХМ

25.12.98

зачет

ЛобовН.Н.

зачет

31.12.98

Зайцев

412

980120

История

4.01.99

экз

Иванов А.А.

Хорошо

4.01.99

Иванов Д

411

980001

История

31.12.98

Экз

Иванов А.А.

Хорошо

Всегда наблюдается избыточность данных, если они хранятся в одной таблице, для того, чтобы устранить избыточность, надо хранить данные в нескольких таблицах.

Вопросы для самоконтроля:

  1. Дайте определение понятиям база данных, банк данных, СУБД.

  2. Перечислите основные функции СУБД.

  3. Какие существуют современные технологии баз и банков данных?

  4. Опишите основные компоненты (объекты) и их назначение БД MS Access.