- •1. Функціональність MySql
- •1.1 Можливості сервера MySql:
- •2. Типи даних і індекси MySql
- •2.1. Текстові типии даних
- •2.2. Автоінкрементні поля
- •2.3. Ключі та індекси
- •3. PhpMyAdmin – інструмент адміністрування через веб-інтерфейс
- •4. Моделювання предметної області за допомогою реляційної моделі даних
- •4.1. Основні типи відношень
- •4.1.1 Відношення «один-до-одного»
- •4.1.2 Відношення «один-до-багатьох»
- •4.1.2.1 Типові sql-запити для відношення «один-до-багатьох»
- •4.1.3 Відношення «багато-до-багатьох»
- •4.1.3.1 Типові sql-запити для відношення «багато-до-багатьох»
- •5. Доступ до бд MySql за допомогою php
- •Висновок
- •Список використаної літератури
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:
З’єднання з БД
mysql_connect()– з’єднання з MySQL
mysql_select_db()– вибір БД
Доступ до БД і отримання необхідних даних
- mysql_query()– виконати SQL-запит
- mysql_fetch_array(),mysql_fetch_assoc() – видобути наступний запис
Звільнення пам’яті
mysql_free_result()– звільнення пам’яті, відведеної для зберігання результату запита
Закриття з’єднання
- mysql_close()– закриття з’єднання; виконується автоматично після завершення виконання скрипта.
Скрипт підключення до бази даних, ввівши дані створеного нами користувача: ( див. рис. 5)
Рис. 5. Код підключення до бази даних
$db_host – ім'я хоста, на якому працює MySQL.
$db_user – ім'я користувача.
$db_pass – пароль.
$db_database – ім'я бази даних, з якою ми працюємо.
