Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Система керуваннями базами даних MySQL.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
141 Кб
Скачать
☆

4.1.1 Відношення «один-до-одного»

Відношення один-до-одного зустрічаються досить рідко. Як правило, вони використовуються у разі, коли набір атрибутів застосовується до невеликої кількості примірників сутності. Наприклад, лише мала частина колективу співробітників компанії може бути учасниками команди з софтболу. Проектувальник бази даних може помістити всі атрибути софтбольного команди в окрему таблицю, а потім створити відношення один-до-одного між нею і таблицею співробітників.

Приклад відношення один-до-одного ( див. рис. 2. )

Рис. 2. Приклад «Один-до-одного»

4.1.2 Відношення «один-до-багатьох»

Відношення один-до-багатьох досить широко поширені. При побудові інтерфейсів це відношення також називають «головний-детальний» (master-detailed) (головний – «один», детальний – «багато»). 

Приклад відношення один-до-багатьох ( див. рис. 3. )

Рис. 3. Приклад «один-до-багатьох»

4.1.2.1 Типові sql-запити для відношення «один-до-багатьох»

Отримати інформацію з детальної таблиці таким чином, щоб до кожного її запису також було додано відповідну інформацію з головної таблиці (тут же використовується групування GROUP BY). 

select * from groups, students where students.groupCode=groups.code

Отримати усі записи детальної таблиці, які стосуються деякого запису головної таблиці.

select * from groups, students where groupCode=code and code=’ТВ-72’

Отримати докладну інформацію про запис детальної таблиці (додавши до нього інформацію з головної таблиці)

select * from groups, students where groupCode=code and id=’Петренко’

4.1.3 Відношення «багато-до-багатьох»

Для реалізації відношення багато-до-багатьох використовується таблиця-посередник (вузлова таблиця). Вузлова таблиця складається з первинних ключів таблиць з кожної зі сторін відносини. Відношення один-до-багатьох встановлюється між вузловою таблицею і кожною з оригінальних таблиць. Тож відношення  багато-до-багатьох реалізується з використанням вузлової таблиці.

Приклад відношення багато до багатьох ( див. рис. 4.)

Рис. 4. Приклад багато-до-багатьох

4.1.3.1 Типові sql-запити для відношення «багато-до-багатьох»

Більшість відношень у базі даних встановлюють між двома різними таблицями. Проте буває, коли таблиця зв'язується сама з собою або через відношення один-до-одного, або через відношення один-до-багатьох. Подібні відношення називаються зворотними відношеннями.

  Зворотні відношення найчастіше застосовуються для реалізації ієрархій. Типовий приклад – ієрархія співробітників в організації. Співробітник може бути підпорядкований менеджеру, а менеджер, у свою чергу, може як співробітник мати вищестоящого менеджера.

Це відношення оформляється в межах однієї таблиці шляхом додавання поля, яке посилатиметься на ключове поле цієї ж таблиці, але на інший запис.

5. Доступ до бд MySql за допомогою php

Етапи роботи з БД в PHP:

  1. З’єднання з БД

      • mysql_connect()– з’єднання з MySQL

      • mysql_select_db()– вибір БД

  2. Доступ до БД і отримання необхідних даних

- mysql_query()– виконати SQL-запит

- mysql_fetch_array(),mysql_fetch_assoc() – видобути наступний запис

  1. Звільнення пам’яті

      • mysql_free_result()– звільнення пам’яті, відведеної для зберігання  результату запита

  2. Закриття з’єднання

- mysql_close()– закриття з’єднання;  виконується автоматично після завершення виконання скрипта.

Скрипт підключення до бази даних, ввівши дані створеного нами користувача: ( див. рис. 5)

Рис. 5. Код підключення до бази даних

$db_host – ім'я хоста, на якому працює MySQL.

$db_user – ім'я користувача.

$db_pass – пароль.

$db_database – ім'я бази даних, з якою ми працюємо.