Практика БД 09.02.21. Таблицы 36
Скачать 1.98 Mb.
|
Целостность данныхОбеспечение целостности данных нам нужно для того, чтобы одна и та же информация в связанных таблицах была представлена одинаково. Например, человек может при вводе ошибиться и ввести в одном случае код группы 1721, а в другом код группы 1721_. Это разные коды с точки зрения Access. Обеспечение целостности страхует нас от таких ошибок. Зададим Обеспечение целостности. Для этого надо выделить линию связи, например, между полем «Группа» таблицы «Группы» и полем «Группа» таблицы «Студенты», и правой кнопкой мыши вызвать контекстное меню, в котором выбрать "Изменить связь". Появится окно «Изменение связей». Поставим галочку для обеспечения целостности (рис. 31). Рисунок_31.'>Рисунок 31. Окно «Изменение связей». Включено Обеспечение целостности. После обеспечения целостности для всех связей получим такую схему данных (рис. 32). Рисунок 32. Схема данных с обеспечением целостности. У концов линий связи появятся знаки "1" и "∞". Таблицы на стороне "1" называются главными, а на стороне "∞" – подчиненными или связанными. Например, таблица «Группы» – главная, а таблица «Студенты» – подчиненная. Тип связи между ними "один-ко-многим". Это обозначает, что в одной группе может быть много студентов, а может и ни одного. Бывают еще типы связи "один-к-одному" и "многие-ко-многим". Например, таблица «Успеваемость» обеспечивает связь "многие-ко-многим". Один студент сдает экзамены по многим дисциплинам, одну дисциплину сдают многие студенты. Правила целостностиПравила целостности гарантируют нам, что первичный ключ (например, поле «Группа» таблицы «Группы») не будет содержать повторяющихся значений, а внешний ключ (в нашем примере поле «Группа» таблицы «Студенты») будет содержать только те значения, которые ранее были введены в соответствующий первичный ключ. Самостоятельно проверьте, как работает Обеспечение целостности. Для этого, надо открыть какую- нибудь таблицу, например «Группы», и попробовать изменить или удалить код какой-нибудь группы. Если у этой группы есть подчиненные записи в таблице Студенты, то Access не позволит нам это сделать. Действительно, как же можно удалять группу, если в ней есть студенты. А вот если студентов в группе нет, тогда можно и удалить код группы, и изменить его. А теперь откроем подчиненную таблицу «Студенты» и попробуем изменить код группы у какого-либо студента, если такой группы нет в главной таблице Группы, то Access не позволит нам это сделать, в то же время перевести студента из одной группы в другую можно. Поэкспериментируйте. |