« Назад
Практична робота 12 на тему Розробка інфологічної моделі і створення структури реляційної бази даних
Мета: Засвоїти методику роботи з СУБД Access.
Завдання
1. Розробити інформаційно-логічну модель реляційної бази даних:
-
визначити інформаційні об’єкти, з яких складається база даних;
-
визначити склад реквізитів інформаційних об’єктів у вигляді „назва об’єкта (перелік реквізитів)”;
-
визначити зв’язок між об’єктами;
-
обґрунтувати необхідність введення допоміжного об’єкта Оцінки
- відобразити схематично зв’язки між об’єктами
2. Розробити логічну модель реляційної бази даних.
3. Файл бази даних з власним іменем перейменувати на Деканат _№(-) (у скобках вказати номер по журналу в списку групи).
4. У фалі Деканат створити структуру таблиці Студенти.
5. Створити структуру таблиці Дисципліна.
6. Змінити структуру таблиці Викладачі
7. Створити структуру таблиці Оцінки.
8. Розробити схему даних, тобто створити зв’язки між таблицями.
9. Створити форму Студенти.
10. Заповнити даними таблицю Студенти за допомогою форми Студенти.
11. Створити форму Дисципліни.
12. Заповнити даними таблицю Дисципліни, використовуючи форму Дисципліни.
13. Створити форму Оцінки.
14. Заповнити даними таблицю Оцінки, використовуючи форму Оцінки.
15. Написати звіт.
16. Перед розробкою інформаційно-логічної моделі реляційної бази даних необхідно визначити з яких інформаційних об’єктів повинна складатись ця база даних. У даному випадку можна виділити три об’єкта, які не будуть володіти надмірністю, — Студенти, Дисципліни і Викладачі. Розглянемо склад реквізитів цих об’єктів у вигляді „назва об’єкта (перелік реквізитів)”:
Технологія роботи
-
Студенти (код студента, прізвище, ім’я, по батькові, номер групи, телефон, стипендія, оцінки);
-
Дисципліни (код, дисципліни, назва дисципліни);
-
Викладачі (код викладача, прізвище, ім’я, по батькові, дата народження, телефон, заробітна плата);
Розглянемо зв’язок між об’єктами Студенти і Дисципліни. Кожен студент вивчає декілька дисциплін, що визначає багатозначний зв’язок і на схемі позначається подвійною стрілкою. Зрозуміло, що кожна дисципліна вивчається багатьма студентами. Це також багатозначний зв’язок, який позначається подвійною стрілкою (зв’язок „один” позначено одинарною стрілкою). Таким чином зв’язок між об’єктами Студенти і Дисципліни — багато до багатьох (М:М)).
Зв’язок між об’єктами Дисципліни і Викладачі. Кожну дисципліну викладає декілька викладачів, а викладач викладає одну дисципліну (зв’язок "один" визначається одинарною стрілкою), таким чином зв’язок між об’єктами Дисципліни – Викладачі – один до багатьох (1:М)).
Типи зв’язків між об’єктами Студенти, Дисципліни і Викладачі
Зв’язок багато до багатьох ускладнює управління базою даних, наприклад у СУБД Access не можна використовувати механізм каскадного оновлення для зв’язків М:М. Тому використовувати такі зв’язки небажано і потрібно будувати реляційну модель, яка не містить зв’язків типу М:М. В Access для контролю цілісності даних з можливістю каскадного оновлення і знищення даних необхідно створити допоміжний об’єкт зв’язку, який складається з ключових реквізитів об’єктів, що пов’язані, і який може бути доповнений описовими реквізитами. У нашому випадку таким новим об’єктом для зв’язку є інформацій об’єкт Оцінки, реквізитами якого є — код студента, код дисципліни і оцінки. Кожен студент має оцінки по декількох дисциплінам, тому зв’язок між об’єктами Студенти і Оцінки буде один до багатьох (1:М). Кожну дисципліну здає багато студентів, тому зв’язок між об’єктами Дисципліни і Оцінки також буде один до багатьох (1:М). У результаті отримуємо таку інфологічну модель бази даних:
Інформаційно-логічна модель реляційної бази даних
- У реляційній базі даних в якості об’єктів розглядаються відношення, які можна представити у вигляді таблиць. Таблиці між собою зв’язуються через однакові поля, тобто ці поля в обох таблицях мають однакові формати і, як правило, однакові назви (імена). Розглянемо, які однакові поля потрібно ввести у таблиці для забезпечення зв’язку між даними. У таблицях Студенти і Оцінки таким полем є "Код студента", у таблицях Дисципліни і Оцінки – "Код студента", у таблицях Викладачі і Дисципліни – "Код дисципліни". Відповідно з цим логічна модель бази даних має вигляд (жирними літерами виділені ключові поля):
Логічна модель бази даних
-
Скопіювати файл з власним іменем із власної папки на робочий стіл. Перейменувати його на Деканат_№.() (у скобках вказати номер по журналу в списку групи). Завантажити файл Деканат (у файлі повинна бути вже створена таблиця Викладачі).
-
Створити структуру таблиці Студенти за допомогою конструктору. Для цього:
-
у вікні бази даних вибрати вкладку Таблицы, а потім натиснути кнопку Создать;
-
у вікні Новая таблица вибрати пункт Конструктор і натиснути кнопку ОК. В результаті виконаних операцій відкриється вікно таблиці у режимі конструктору, у якому потрібно визначити поля таблиці;
- визначити поля таблиці у відповідності з табл. 3
Таблиця 3.Таблиця даних "Студенти".
Ім’я поля
|
Тип даних
|
Розмір поля
|
Код студента
|
Числовой
|
Целое
|
Прізвище
|
Текстовый
|
15
|
Ім’я
|
Текстовый
|
12
|
По-батькові
|
Текстовый
|
15
|
Дата народження
|
Дата/время
|
Краткий
|
Номер групи
|
Числовой
|
Целое
|
Телефон
|
Текстовый
|
9
|
Стипендія
|
Логический
|
Да/Нет
|
-
в якості ключового полю задамо поле Код студента. Для цього потрібно встановити курсор на ім’я поля Код студента і натиснути кнопку на панелі інструментів або виконати команду з меню Правка, Ключевое поле;
-
закрити таблицю надавши їй ім’я Студенти.
Примітка. Заповнювати таблицю не треба, це буде зроблено у режимі форми.
Створити структуру таблиці Дисципліни аналогічно п.4 у відповідності з табл. 4.
Таблиця 4. Таблиця даних "Дисципліна"
Ім’я поля
|
Тип даних
|
Розмір поля
|
Код дисципліни
|
Числовой
|
Целое
|
Назва дисципліни
|
Текстовый
|
30
|
|
|
|
У якості ключового полю задати поле Код дисципліни. Заповнюватись таблиця буде також у режимі форми.
-
Структура таблиці Викладачі вже створена в практичної роботі №1 і заповнена даними. У таблицю Викладачі потрібно додати поле Код дисципліни (тип – Числовой, розмір поля – Целое).
-
Створити структуру таблиці Оцінки аналогічно п.4 у відповідності з табл. 5.
Таблиця 5. Таблиця даних "Оцінки"
Ім’я поля
|
Тип даних
|
Розмір поля
|
Код студента
|
Числовой
|
Целое
|
Код дисципліни
|
Числовой
|
Целое
|
Оцінки
|
Числовой
|
Байт
|
В цій таблиці ключове поля задавати не потрібно, так як дані у всіх полях можуть повторюватись. Дані у таблицю будуть занесені у режимі форми.
Розробити схему даних, тобто створити зв’язки між таблицями. Для цього необхідно:
-
натиснути кнопку на панелі інструментів або виконати команду з меню Сервис, Схема данных. На екрані з’явиться вікно Схема данных;
-
натиснути кнопку на панелі інструментів або виконати команду Связи, Добавить таблицу;
-
у діалоговому вікні, що з’явиться, буде виділена назва однієї таблиці. Потрібно натиснути кнопку Добавить;
-
перевести виділення на ім’я наступної таблиці і натиснути кнопку Добавить. Аналогічно потрібно добавити дві таблиці, що залишилися;
-
натиснути кнопку Закрыть і вікно закриється;
-
створити зв’язок між таблицями Дисципліни і Оцінки. Для цього потрібно підвести курсор миші до поля Код дисципліни в таблиці Дисципліни, натиснути лівою кнопкою миші і, не відпускаючи її, перетягнути курсор на поле Код дисципліни у таблицю Оцінки, а потім відпустити кнопку миші. На екрані з’явиться діалогове вікно Связи;
-
встановити прапорець ("галочку") у властивості Обеспечение целостности данниых, натиснувши на ній;
-
встановити прапорець у властивостях Каскадное обновление связанных полей і Каскадное удаление связаных записей;
Примітка. Задання каскадного оновлення зв’язаних полів і каскадного знищення зв’язаних записів дозволить відредагувати записи лише у таблиці Дисципліни, а у таблиці Оцінки ці дії будуть виконані автоматично. Наприклад, якщо знищити з таблиці Дисципліни один предмет, то в таблиці Оцінки знищаться всі рядки, які пов’язані з цим предметом.
-
натиснути кнопку Создать. Зв’язок буде створено;
-
аналогічно створити зв’язки між полем Код дисципліни з таблиці Дисципліни і полем Код дисципліни з таблиці Викладачі, а також між полем Код студента з таблиці Студенти і полем Код студента з таблиці Оцінки.
-
закрити вікно Схема даннях, відповівши Да на питання про збереження макета.
Для створення форми Студенти необхідно:
-
відкрити вкладку Форми;
-
натиснути кнопку Создать;
-
з списку, що відкрився вибрати таблицю Студенти;
-
вибрати пункт Автоформа: ленточная. Форма для введення даних створена.
Примітка. Макет форми можна змінити у режимі конструктора.
Заповнити даними, які наведені в таблиці 6, таблицю Студенти, за допомогою форми.
Таблиця 6. Таблиця Студенти
Прізвище
|
Ім’я
|
По-батькові
|
Номер групи
|
Телефон
|
Стипендія
|
Арбузов
|
Микола
|
Миколайович
|
151
|
260-15-63
|
Є
|
Киршин
|
Петро
|
Валерійович
|
151
|
110-67-82
|
Є
|
Кривинський
|
Сергій
|
Миколайович
|
151
|
172-97-21
|
Немає
|
Крилова
|
Олена
|
Петрівна
|
151
|
130-31-87
|
Є
|
Кульчий
|
Григорій
|
Вікторович
|
151
|
269-53-75
|
Є
|
Петрик
|
Олег
|
Борисович
|
152
|
234-11-63
|
Немає
|
Перлов
|
Кирило
|
Миколайович
|
152
|
312-21-33
|
Є
|
Соколова
|
Наталія
|
Петрівна
|
152
|
166-87-24
|
Немає
|
Степанська
|
Ольга
|
Віталіївна
|
152
|
293-43-77
|
Є
|
Тимофіїв
|
Сергій
|
Тимофійович
|
152
|
260-11-57
|
Є
|
Примітка. Перехід між полями краще здійснювати клавішею ТАВ або мишею.
Закрити форму, надавши їй ім’я Студенти.
-
Створити форму Дисципліни аналогічно п. 9.
-
Заповнити даними, які наведені в таблиці 7, таблицю Дисципліни, за допомогою форми і закрити форму, давши їй ім’я Дисципліни.
Таблиця 7. Таблиця Дисципліни
Код дисципліни
|
Назва дисципліни
|
1
|
Інформатика
|
2
|
Математика
|
3
|
Фізика
|
4
|
Економіка
|
-
Створити форму Оцінки аналогічно п. 9.
-
Заповнити даними, які наведені в таблиці 8, таблицю Оцінки, за допомогою форми і закрити форму, давши їй ім’я Оцінки.
Таблиця 8. Таблиця Оцінки
Код студента
|
Код дисципліни
|
Оцінки
|
|
Код студента
|
Код дисципліни
|
Оцінки
|
1
|
1
|
4
|
|
5
|
4
|
5
|
1
|
2
|
5
|
|
6
|
1
|
5
|
1
|
3
|
4
|
|
6
|
2
|
4
|
1
|
4
|
4
|
|
6
|
3
|
5
|
2
|
1
|
5
|
|
6
|
4
|
4
|
2
|
2
|
5
|
|
7
|
1
|
4
|
2
|
3
|
4
|
|
7
|
2
|
3
|
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
|
2
|
4
|
4
|
2
|
4
|
|
9
|
3
|
4
|
4
|
3
|
5
|
|
9
|
4
|
4
|
4
|
4
|
4
|
|
10
|
1
|
5
|
5
|
1
|
5
|
|
10
|
2
|
5
|
5
|
2
|
5
|
|
10
|
3
|
5
|
5
|
3
|
5
|
|
10
|
4
|
5
|
Написати звіт, у якому відобразити схематично інфорлогічну модель, схему зв’язків таблиць і хід виконання завдання.
З повагою ІЦ "KURSOVIKS"!
|