Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
MS ACCESS Лабораторная работа №3 12
Студенты
Дисциплины
реподаватели
M:M
1:M
Преподаватели
СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ ACCESS 2007
ЛАБОРАТОРНАЯ РАБОТА №3.
Создание инфологической и логической моделей базы данных
Цель работы: Научить студентов создавать информационно логическую модель и логическую модель реляционной базы данных
ЗАДАНИЕ 1
Перед разработкой информационно-логической модели реляционной базы данных рассмотрим, из каких информационных объектов должна состоять эта база данных. Можно выделить три объекта, которые не будут обладать избыточностью, Студенты, Дисциплины и Преподаватели. Представим состав реквизитов этих объектов в виде "название объекта (перечень реквизитов)": Студенты, (код студента, фамилия, имя, отчество, номер группы, дата рождения, стипендия, оценки), Дисциплины (код дисциплины, название дисциплины), Преподаватели (код преподавателя, фамилия, имя, отчество, дата рождения, телефон, заработная плата).
Рассмотрим связь между объектами Студенты и Дисциплины. Студент изучает несколько дисциплин, что соответствует многозначной связи и отражено на рис.2 двойной стрелкой. Понятно, что каждая дисциплина изучается множеством студентов. Это тоже многозначная связь, обозначаемая двойной стрелкой (связь "один" обозначена одинарной стрелкой). Таким образом, связь между объектами Студенты и Дисциплины Многие-ко-многим (М: M).
Рис. 1. Типы связей между объектами Студенты, Дисциплины и Преподаватели
Множественные связи усложняют управление базой данных, например, в СУБД Ассеss 2007 при множественных связях нельзя использовать механизм каскадного обновления. Поэтому использовать такие связи нежелательно и нужно строить реляционную модель, не содержащую связей типа Многие-ко-многим. В Ассеss 2007 для контроля целостности данных с возможностью каскадного обновления и удаления данных необходимо создать вспомогательный объект связи, который состоит из ключевых реквизитов связываемых объектов и который может быть дополнен описательными реквизитами. В нашем случае таким новым объектом для связи служит объект Оценки, реквизитами которого являются код студента, код дисциплины и оценки. Каждый студент имеет оценки по нескольким дисциплинам, поэтому связь между объектами Студенты и Оценки будет Один ко многим (1:М). Каждую дисциплину сдает множество студентов, поэтому связь между объектами Дисциплины и Оценки также будет Один-ко-многим (1: М). В результате получаем информационно-логическую модель базы данных, приведенную на рис. 4.10.
1:М
Преподаватели
Рис. 2. Информационно-логическая модель реляционной базы данных
В реляционной базе данных в качестве объектов рассматриваются отношения, которые можно представить в виде таблиц. Таблицы между собой связываются посредством общих полей, т.е. одинаковых по форматам и, как правило, по названию, имеющихся в обеих таблицах. Рассмотрим, какие общие поля надо ввести в таблицы для обеспечения связности данных. В таблицах Студенты и Оценки таким полем будет «Код студента», в таблицах Дисциплины и Оценки «Код дисциплины», в таблицах Преподаватели и Дисциплины «Код дисциплины». Выбор цифровых кодов вместо фамилий или названий дисциплин обусловлен меньшим объемом информации в таких полях: например, число "2" по количеству символов значительно меньше слова "математика". В соответствии с этим логическая модель базы данных представлена на рис.3, где жирными буквами выделены ключевые поля.
Рис.3. Логическая модель базы данных
ЗАДАНИЕ 2
Создание реляционной базы данных
Для создания новой базы данных:
Рис. 4.
На экране открывается окно таблицы в режиме конструктора, в котором следует определить поля таблицы.
Таблица .3.
Имя поля |
Тип данных |
Размер поля |
Код студента |
Числовой |
Целое |
Фамилия |
Текстовый |
15 |
Имя |
Текстовый |
12 |
Отчество |
Текстовый |
15 |
Номер группы |
Числовой |
Целое |
Телефон |
Текстовый |
9 |
Стипендия |
Логический |
Да/Нет |
Примечание. Заполнять таблицу данными пока не требуется, это будет сделано в режиме формы.
Таблица 4
Имя поля |
Тип данных |
Размер поля |
Код дисциплины |
Числовой |
Целое |
Название дисциплины |
Текстовый |
30 |
Рис.5.
Заполняться эта таблица будет также в режиме формы.
Структура таблицы Преподаватели уже создана в работе 1 и заполнена данными, поэтому для работы используйте эту таблицу с одним лишь изменением в соответствии с рис. 3 в структуру таблицы надо добавить поле «Код дисциплины» и заполнить его в соответствии с данными табл. 4.
Для того, чтобы добавить таблицу Преподаватели необходимо:
Рис.6. Вкладка Внешние данные
Рис.7.Диалоговое окно «Внешние данные».
Рис.8. Диалоговое окно «Импорт объектов»
Рис.9. Заключительный этап импортирования внешних данных.
Таблица 5
Имя поля |
Тип данных |
Размер поля |
Код студента |
Числовой |
Целое |
Код дисциплины |
Числовой |
Целое |
Оценки |
Числовой |
Байт |
В этой таблице задавать ключевое поле не надо, так как данные во всех полях могут повторяться. Эта таблица, аналогично предыдущим, будет заполняться в режиме формы.
Рис.10. Вкладка Работа с базами данных
Рис.11. Окно «Схема данных»
Рис.12. Окно «Добавление таблицы»
Примечание. Задание каскадного обновления связанных полей и каскадного удаления связанных записей позволит вам отредактировать записи только в таблице Дисциплины, а в таблице Оценки эти действия будут со связанными записями выполняться автоматически. Например, если вы удалите из таблицы Дисциплины один предмет, то в таблице Оценки удалятся все строки, связанные с этим предметом.
Рис 13. Структура таблицы Студенты
Задание 3
Создание форм для ввода данных в таблицы.
Таблица 6
Код студента |
Фамилия |
Имя |
Отчество |
Номер группы |
Телефон |
Стипендия |
1 |
Афанасьев |
Николай |
Николаевич |
151 |
260-15-63 |
Да |
2 |
Белов |
Петр |
Валерьевич |
151 |
110-67-82 |
Да |
3 |
Крылов |
Сергей |
Николаевич |
151 |
172-97-21 |
Нет |
4 |
Кузнецова |
Елена |
Петровна |
151 |
130-31-87 |
Да |
5 |
Кульбацкий |
Григорий |
Викторович |
151 |
269-53-75 |
Да |
6 |
Патрикеев |
Олег |
Борисович |
152 |
234-11-63 |
Нет |
7 |
Петров |
Кирилл |
Николаевич |
152 |
312-21-33 |
Нет |
8 |
Соколова |
Наталия |
Петровна |
152 |
166-87-24 |
Нет |
9 |
Степанова |
Ольга |
Витальевна |
152 |
293-43-77 |
Да |
10 |
Тимофеев |
Сергей |
Трофимович |
152 |
260-11-57 |
Да |
Примечание. Переход между ячейками лучше выполнять клавишей <Тab> либо мышью. Существуют и другие варианты перехода по строкам или полям с помощью различных клавиш и их комбинаций. Обычно их используют опытные пользователи, не любящие работать с мышью.
3. Создайте форму Дисциплины аналогично п. 1.
4. Заполните данными, приведенными в табл. 7, таблицу Дисциплины посредством формы и закройте форму, задав ей имя Дисциплины.
Таблица 7
Код дисциплины |
Название дисциплины |
1 |
Информатика |
2 |
Математика |
3 |
Физика |
4 |
Экономика |
5. Создайте форму Оценки аналогично п.1.
6. Заполните данными, приведенными в табл. 8, таблицу Оценки. Посредством формы закройте форму, задав ей имя Оценки
Таблица 8
Код студента |
Код дисциплины |
Оценки |
Код студента |
Код дисциплины |
Оценки |
|
1 |
1 |
4 |
6 |
1 |
5 |
|
1 |
2 |
5 |
6 |
2 |
4 |
|
1 |
3 |
4 |
6 |
3 |
5 |
|
1 |
4 |
4 |
6 |
4 |
4 |
|
2 |
1 |
5 |
7 |
1 |
4 |
|
2 |
2 |
5 |
7 |
2 |
3 |
|
2 |
3 |
4 |
7 |
3 |
4 |
|
2 |
4 |
4 |
7 |
4 |
3 |
|
3 |
1 |
3 |
8 |
1 |
3 |
|
3 |
2 |
5 |
8 |
2 |
5 |
|
3 |
3 |
4 |
8 |
3 |
5 |
|
3 |
4 |
3 |
8 |
4 |
4 |
|
4 |
1 |
4 |
9 |
1 |
4 |
|
4 |
2 |
4 |
9 |
2 |
4 |
|
4 |
3 |
5 |
9 |
3 |
4 |
|
4 |
4 |
4 |
9 |
4 |
4 |
|
5 |
1 |
5 |
10 |
1 |
5 |
|
5 |
2 |
5 |
10 |
2 |
5 |
|
5 |
3 |
5 |
10 |
3 |
5 |
|
5 |
4 |
5 |
10 |
4 |
5 |