Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laboratorna_5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
92.16 Кб
Скачать

ДЕРЖАВНИЙ УНІВЕРСИТЕТ ІНФОРМАЦІЙНО – КОМУНІКАЦІЙНИХ

ТЕХНОЛОГІЙ

ЛЬВІВСЬКИЙ КОЛЕДЖ ДЕРЖАВНОГО УНІВЕРСИТЕТУ

ІНФОРМАЦІЙНО – КОМУНІКАЦІЙНИХ ТЕХНОЛОГІЙ

Навчальна дисципліна: Бази даних

Лабораторія: Комп’ютерних технологій

Розглянуто Затверджую

на засіданні циклової комісії Заступник директора з НВР

Обслуговування комп’ютерної техніки

Протокол №___від «___»_________20__р.

Голова комісії ______________Кужій Л.І. ___________Плешівський Я.М.

Інструкція до лабораторної роботи №5 Створення таблиць бази даних MySql

Склала викладач:

Дмитрів Г.Р.

Львів – 2011

Назва лабораторії: Комп’ютерних технологій.

Навчальна дисципліна: Бази даних.

Назва роботи: “Створення таблиць бази даних MySQL”.

Мета роботи: Навчитися створювати навчальні бази даних СУБД MySQL.

1. Теоретичні положення

Створення таблиці

Як ви вже встигли переконатися, створити базу даних було просто. Однак поки що в ній нічого немає – у цьому можна впевнитися за допомогою команди SHOW TABLES:

mysql> SHOW TABLES; Empty set (0.00 sec)

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

Вам обов’язково буде потрібна таблиця, що містить по запису кожної з тварин. Назвати її можна pet, і зберігатися в ній будуть, як мінімум, імена. Але тому що саме по собі ім'я неінформативне, у таблиці повинні бути присутні й інші дані. Наприклад, якщо свійські тварина є більш ніж в одного члена вашої родини, у таблицю можна додати й ім'я власника кожної тварини. Крім того, у базу варто внести й описову інформацію - наприклад, вид і стать тварини.

Але от як бути з віком? Ця інформація теж може виявитися корисною, але зберігати такі дані в базі незручно. Вік згодом змінюється, а це значить, що доведеться досить часто обновляти записи. Значно зручніше зберігати фіксовані значення - наприклад, дати народження. У такому випадку вік завжди можна одержати, обчисливши різницю між поточною датою й датою народження. В MySQL є функції для арифметичних дій над даними, так що це зовсім нескладно. Зберігання дати народження має й інші переваги:

  • Базу даних можна використовувати для видачі нагадувань про дні народження тварин, що наближаються (таке ж завдання може виникнути й при роботі з діловою базою даних, що повинна вміти нагадувати про дні народження клієнтів, полегшуючи в такий спосіб розсилання поздоровлень).

  • Вік можна підраховувати щодо будь-якої дати, а не тільки для поточної. Наприклад, якщо записати в базу дату смерті тварини, завжди можна буде довідатися, скільки років їй було на момент смерті.

Можна було б придумати й ще які-небудь дані, які непогано було б зберігати в таблиці pet, але поки що ми обмежимося вже обраними: ім'ям (name), ім'ям власника (owner), видом (species), статтю (sex), датою народження (birth) і датою смерті (death).

За допомогою команди CREATE TABLE визначимо структуру нової таблиці:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

Тип VARCHAR відмінно підійде для зберігання імені тварини, імені власника й назви виду, тому що довжина даних цього типу може варіюватися. Звичайно, довжини таких стовпців зовсім не повинні збігатися й не повинні бути рівні 20 – можна вибрати будь-яке значення в межах від 1 до 255 (якщо при виборі довжини стовпця ви помилитеся, і при роботі з базою виявиться, що стовпець замалий, можна буде виправити помилку за допомогою команди ALTER TABLE).

Стать тварини можна позначати декількома способами, наприклад буквами "m" і "f", або словами male (чоловічий) і female (жіночий). З буквами "m" і "f" буде простіше.

Застосування типу даних DATE для зберігання дат народження й смерті цілком очевидно.

Тепер, коли таблиця створена, команда SHOW TABLES повинна вивести таке:

mysql> SHOW TABLES; +---------------------+ |Tablesinmenagerie | +---------------------+ | pet | +---------------------+

Перевірити, чи правильно була таблиця створена відповідно до плану, можна за допомогою команди DESCRIBE:

mysql> DESCRIBE pet; +---------+-------------+------+-----+---------+-------+ |Field |Type |Null |Key |Default |Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+

Використовувати команду DESCRIBE можна в будь-який час, наприклад, якщо ви забудете імена стовпців або типи, до яких вони стосуються.

Завантаження даних у таблицю

Cтворивши таблицю, потрібно подбати про її заповнення. Для цього призначені команди LOAD DATA і INSERT.

Припустимо, ваші записи відповідають наведеним у цій таблиці (зверніть увагу: MySQL приймає дати у форматі РРРР-ММ-ДД; можливо, до такого запису ви не звикли).

name

owner

species

sex

birth

death

Fluffy

Harold

cat

f

1993-02-04

Claws

Gwen

cat

m

1994-03-17

Buffy

Harold

Dog

f

1989-05-13

Fang

Benny

Dog

m

1990-08-27

Bowser

Diane

Dog

m

1998-08-31

1995-07-29

Chirpy

Gwen

Bird

f

1998-09-11

Whistler

Gwen

Bird

1997-12-09

Slim

Benny

snake

m

1996-04-29

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

Створіть текстовий файл із ім'ям "pet.txt", що містить по одному запису в кожному рядку (значення стовпців повинні бути розділені символами табуляції й дані в тім порядку, що був визначений командою CREATE TABLE). Незаповненим полям (наприклад, невідома стать або дата смерті живих на сьогоднішній день тварин), можна присвоїти значення NULL. У текстовому файлі це значення представляється символами \N. Наприклад, запис для птаха Whistler повинен виглядати приблизно так (між значеннями повинні розташовуватися одиночні символи табуляції):

name

owner

species

sex

birth

death

Whistler

Gwen

bird

\N

1997-12-09

\N

Завантажити файл "pet.txt" у таблицю можна за допомогою наступної команди:

mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

Маркер кінця рядка й символ, що розділяє значення стовпців, можна спеціально задати в команді LOAD DATA, але за замовчуванням використовуються символи табуляції й переходу рядка. Сприймаючи їх, команда зможе коректно прочитати файл "pet.txt".

При додаванні одинарних записів використовується команда INSERT. У найпростішому варіанті її застосування необхідно задати значення кожного стовпця, у тому порядку, у якому вони були перераховані в команді CREATE TABLE. Припустимо, Діана (Diane) купила хом'ячка з іменем Puffball. Відповідний запис у таблицю можна внести за допомогою команди INSERT приблизно так:

mysql> INSERT INTO pet -> VALUES ("Puffball","Diane","hamster","f"," 1999-03-30",NULL);

Зверніть увагу на те, що тут стрічкові вирази й дати представлені у вигляді обмежених лапками рядків. Крім того, у команді INSERT дані, що є відсутніми можна безпосередньо заміняти на NULL. Користуватися евфемізмом \N, як у команді LOAD DATA, потреби немає.

Цей приклад наочно показує, що якби із самого початку всі дані вносилися в базу за допомогою декількох команд INSERT, а не однієї команди LOAD DATA, то набирати довелося б набагато більше тексту.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]