КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Порядок работы
Целостность данных Целостность данных - это система правил, используемых в СУБД Access для поддержания связей между записями в связанных таблицах, а также обеспечение защиты от случайного удаления или изменения связанных данных: 1 Поле таблицы, посредством которого реализована связь, является ключевым полем или имеет уникальный индекс (индекс – это значение поля в записи, по которому выполняется поиск этой записи). 2 Связанные поля таблиц имеют один тип данных (исключение - поле счетчика может быть связано с числовым полем, если оно имеет тип Длинное целое). 3 Обе таблицы принадлежат одной базе данных Access.
4 При изменении поля связи в записи родительской таблицы следует синхронно изменить значение поля связи в записях дочерней таблицы. 5 При удалении записи в родительской таблице следует удалить соответствующие записи в дочерней таблице. Изменения или удаления в записях дочерней таблицы при одновременном изменении или удалении записи в родительской таблице называются каскадными изменениями или каскадными удалениями. Таким образом, ссылочная целостность – это совокупность каскадных связей между отдельными таблицами БД. Нарушение хотя бы одной из них делает информацию в БД недостоверной. СУБД обычно блокирует действия, которые нарушают целостность связей между таблицами, т.е. ссылочную целостность.
Пример 1 Создать реляционную БД Спортзал, состоящую из объектов Тренеры (Код тренера, Фамилия, Имя, Отчество, Дата рождения, Должность, Дисциплина, Код дисциплины, Телефон, Зарплата), Спортсмены (Код спортсмена, Фамилия, Имя, Отчество, № группы, Телефон) и Виды спорта(Код дисциплины, Название дисциплины). Разработать инфологическую и логическую модели БД, структуру таблиц, установить связи. Ввод данных в таблицы выполнить посредством форм. 1 Разработка инфологической модели БД Спортзал, т.е. определение всех таблиц БД и связей между ними. По условию, БД должна содержать 3 таблицы: Тренеры, Спортсмены, Виды спорта. Между таблицами Тренеры и Виды спорта действует связь 1:M, между таблицами Виды спорта и Спортсмены – связь N:M. Связь "многие ко многим" между объектами Виды спорта и Спортсмены заменяем на новую таблицу с именем Оценки (Код спортсмена, Код дисциплины, Оценки) и двумя связями типа 1:N. Всего в БД Кафедра получается 4 таблицы и 3 связи типа 1:N, её инфологическая модель имеет вид (рис. 3):
1:N 1:N 1:N
Рисунок 3 Инфологическая модель БД Спортзал
2 Составление логической модели БД, она должна показывать схему(структуру) каждой таблицы и связанные ключевые атрибуты (рис. 4). Назначим ключевые атрибуты: · в таблице Спортсмены - Код спортсмена, · в таблице Тренеры: первичный ключ – Код тренера (для связи с внешними структурами, например, с Тренерским советом), внешний ключ - Код дисциплины, · в таблице Виды спорта - Код дисциплины. В таблице связи Оценки первичного ключа быть не может, т.к. данные в любом поле повторяются и идентификаторами записей быть не могут.
Рисунок 4 Логическая модель БД Спортзал 3 Создание реляционной БД в Access. 3.1 Создание РБД Спортзал: § загрузить Access, в появившемся окне выбрать пункт Новая база данных, затем щелкнуть по кнопке ОК; § в окне Файл новой базы данных задайте имя (пункт Имя файла) и выберите папку (пункт Папка), где ваша база будет находиться. По умолчанию Access предлагает имя базы dbl, а тип файла — Базы данных Access. Имя задайте Спортзал, а тип файла оставьте прежним; § щелкнуть по кнопке Создать. 3.2 Создать структуру таблицы Тренеры.Для этого: § в окне базы данных выберите объект Таблицы, а затем щелкните по кнопке Создать; § в окне «Новая таблица» выберите пункт Конструктори щелкните по кнопке ОК. В результате проделанных операций откры-
§ вается окно таблицы в режиме конструктора, в котором следует определить поля таблицы; § определите поля таблицы в соответствии с табл. 1; § в качестве ключевого поля задайте «Код тренера». Для этого щелкните по полю «Код тренера» и по кнопке § закройте таблицу, задав ей имя Тренеры Таблица 1 Тренеры.
Заполнение таблицы данными будет сделано в режиме формы. 3.3 Создать структуру таблицы Виды спортааналогично п. 3.2 в соответствии с табл. 2. Таблица 2 Виды спорта
В качестве ключевого поля задайте «Код дисциплины». Заполняться эта таблица будет также в режиме формы. 3.4 Создать структуру таблицы Спортсменыаналогично п. 3.2 в соответствии с табл. 3. Таблица 3 Спортсмены
В качестве ключевого поля задайте "Код спортсмена". Заполняться эта таблица будет также в режиме формы. 3.5 Создайте структуру таблицы Оценкианалогично п. 3.2 в соответствии с табл. 4. Таблица 4 Оценки
В этой таблице задавать ключевое поле не надо, так как данные во всех полях могут повторяться. Заполнение таблицы - в режиме формы. 3.6 Разработать схему данных, т.е. создать связи между таблицами. Для этого: § щелкните по кнопке § щелкните по кнопке § в появившемся окне будет выделено название одной таблицы. Щелкните по кнопке Добавить; § переведите выделение на имя следующей таблицы и щелкните по кнопке Добавить. Аналогично добавьте оставшиеся две таблицы; § закройте окно, щелкнув по кнопке 3акрыть; Создайте связь между таблицами Тренерыи Виды спорта.Дляэтого подведите курсор мыши к полю Код дисциплины в таблице Виды спорта,щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле Код дисциплины в таблицу Тренеры, а затем отпустите кнопку мыши. На экране откроется окно Изменение связей; § установите флажок ("галочку") в свойстве Обеспечение целостности данных, щелкнув по нему; § установите флажок в свойстве Каскадное обновление связанных полей и Каскадное удаление связанных записей', Задание каскадного обновления связанных полей и каскадного уда-
ления связанных записей позволяет отредактировать записи только в таблице Виды спорта,а в таблице Тренерыэти данные изменятся автоматически. Например, если удалить из таблицы Виды спорта один предмет, то в таблице Тренерыудалятся все строки, связанные с этим предметом. § щелкните по кнопке Создать. Связь будет создана; § аналогично создайте связи между другими таблицами БД согласно рис. 4. Результат представлен на рис. 5; § закройте окно схемы данных, ответив ДАна вопрос о сохранении макета.
Рисунок 5 Структурная схема реляционной БД Спортзал
Дата добавления: 2017-02-01; Просмотров: 73; Нарушение авторских прав?; Мы поможем в написании вашей работы! |