СУБД Система управління базами даних
методичні вказівки до лабораторних занять
1
Система управління базами даних MySQL: методичні вказівки до лабораторних занять. – 68 c.
© НМЦ ПОЛИТЕХ Ніяка частина цього видання не може бути тиражована у будь-який спосіб без письмового дозволу правовласників. ® Методичка http://metodichka.com.ua/
2
Зміст
ЗАНЯТТЯ 1. ЗНАЙОМСТВО З СУБД MYSQL...................................................... 6 ПОЧАТОК РОБОТИ З MYSQL ........................................................................................ 6 РОБОТА З МОНІТОРОМ MYSQL .................................................................................... 7 УПРАВЛІННЯ МОНІТОРОМ MYSQL............................................................................... 7 ЗАВЕРШЕННЯ РОБОТИ З MYSQL................................................................................... 8 ІТОГИ 1. ЩО МИ УЗНАЛИ ПРО СУБД MYSQL............................................................... 8 ЗАНЯТТЯ 2. СТВОРЕННЯ ПРОЕКТУ БАЗИ ДАНИХ........................................ 10 ПРОЕКТ БАЗИ ДАНИХ BOOK_SHOP ................................................................................ 10 ПОЛЯ ТАБЛИЦЬ, ЇХ ПРИЗНАЧЕННЯ І ВЛАСТИВОСТІ ....................................................... 12 ІТОГИ 2. ЩО МИ УЗНАЛИ ПРО ПРОЕКТУВАННЯ БАЗИ ДАНИХ......................................... 13 ЗАНЯТТЯ 3. СТВОРЕННЯ СТРУКТУРИ БАЗИ ДАНИХ................................... 14 СТВОРЕННЯ НОВОЇ БАЗИ ДАНИХ ................................................................................. 14 СТВОРЕННЯ ТАБЛИЦЬ У БАЗІ ДАНИХ ........................................................................... 15 СТВОРЕННЯ ТАБЛИЦІ CUSTOMERS ТА ПЕРЕГЛЯД ЇЇ СТРУКТУРИ....................................... 16 СТВОРЕННЯ ТАБЛИЦІ ORDERS...................................................................................... 18 СТВОРЕННЯ ТАБЛИЦІ ORDER_ITEMS ............................................................................ 20 СТВОРЕННЯ ТАБЛИЦІ BOOKS........................................................................................ 21 СТВОРЕННЯ ТАБЛИЦІ BOOK_REVIEWS........................................................................... 22 ЗМІНА СТУКТУРИ ТАБЛИЦЬ......................................................................................... 22 ІТОГИ 3. ЩО МИ УЗНАЛИ ПРО СТВОРЕННЯ СТРУКТУРИ БАЗИ ДАНИХ ............................. 24 ЗАНЯТТЯ 4. ВСТАВКА ЗАПИСІВ У ТАБЛИЦІ.................................................. 25 ВСТАВКА ЗАПИСІВ У ТАБЛИЦЮ CUSTOMERS.................................................................. 26 ВСТАВКА ЗАПИСІВ У ТАБЛИЦЮ BOOKS......................................................................... 27 ВСТАВКА ЗАПИСІВ У ТАБЛИЦЮ BOOK_REVIEWS ............................................................ 28 ВСТАВКА ЗАПИСІВ У ТАБЛИЦЮ ORDER_ITEMS............................................................. 29 ВСТАВКА ЗАПИСІВ У ТАБЛИЦЮ ORDERS ...................................................................... 30 ІТОГИ 4. ЩО МИ УЗНАЛИ ПРО ВВОД ДАНИХ У ТАБЛИЦІ ................................................ 31 ЗАНЯТТЯ 5. ПЕРЕГЛЯД ЗАПИСІВ У ТАБЛИЦЯХ (ПРОСТІ ЗАПИТИ НА ВИБОРКУ) ............................................................................................................... 32 ПЕРЕГЛЯД УСІЄЇ ТАБЛИЦІ........................................................................................... 32 ПЕРЕГЛЯД ОКРЕМИХ ПОЛІВ У ТАБЛИЦІ........................................................................ 33 ПЕРЕГЛЯД ОКРЕМИХ ЗАПИСІВ У ТАБЛИЦІ .................................................................... 33 ПЕРЕГЛЯД ОКРЕМИХ ЗАПИСІВ ТА ОКРЕМИХ ПОЛІВ У ТАБЛИЦІ....................................... 35 ВИКОРИСТАННЯ КІЛЬКОХ УМОВ ВІДБОРУ ЗАПИСІВ ...................................................... 37 СОРТУВАННЯ ДАНИХ У ТАБЛИЦЯХ.............................................................................. 38 ІТОГИ 5. ЩО МИ УЗНАЛИ ПРО ПЕРЕГЛЯД ДАНИХ У ТАБЛИЦЯХ ...................................... 39 3
ЗАНЯТТЯ 6. ОНОВЛЕННЯ ТА ВИЛУЧЕННЯ ЗАПИСІВ У ТАБЛИЦЯХ (ПРОСТІ ЗАПИТИ НА ОНОВЛЕННЯ ТА ВИЛУЧЕННЯ ЗАПИСІВ)............... 41 ОНОВЛЕННЯ ЗАПИСІВ У ТАБЛИЦЯХ............................................................................. 41 ВИЛУЧЕННЯ ЗАПИСІВ З ТАБЛИЦЬ ................................................................................ 43 ІТОГИ 6. ЩО МИ УЗНАЛИ ПРО ОНОВЛЕННЯ ТА ВИЛУЧЕННЯ ЗАПИСІВ У ТАБЛИЦЯХ ......... 43 ЗАНЯТТЯ 7. ВИБОРКА ДАНИХ З КІЛЬКОХ ТАБЛИЦЬ (СКЛАДНІ ЗАПИТИ НА ВИБОРКУ)........................................................................................ 44 ПРОСТЕ ОБ’ ЄДНАННЯ ДВОХ ТАБЛИЦЬ ......................................................................... 44 ОБ’ ЄДНАННЯ ТРЬОХ І БІЛЬШЕ ТАБЛИЦЬ....................................................................... 46 ОБ’ ЄДНАННЯ ТАБЛИЦЬ ЗА ОСТАЧЕЮ........................................................................... 48 ІТОГИ 7. ЩО МИ УЗНАЛИ ПРО ВИБОРКУ ДАНИХ З КІЛЬКОХ ТАБЛИЦЬ ............................. 50 ЗАНЯТТЯ 8. ГРУПУВАННЯ ДАНИХ. ЗАПИТИ З ОБЧИСЛЕННЯМИ............ 52 ОБЧИСЛЕННЯ СЕРЕДНЬОГО ЗНАЧЕННЯ: ФУНКЦІЯ AVG().............................................. 53 ПІДРАХУНОК КІЛЬКОСТІ ЗАПИСІВ: ФУНКЦІЯ COUNT()................................................ 54 ПІДРАХУНОК СУМИ ЗНАЧЕНЬ: ФУНКЦІЯ SUM()........................................................... 59 ПОШУК НАЙБІЛЬШОГО ТА НАЙМЕНШОГО ЗНАЧЕННЯ: ФУНКЦІЇ MAX() ТА MIN().......... 60 ІТОГИ 8. ЩО МИ УЗНАЛИ ПРО ГРУПУВАННЯ ДАНИХ ТА ЗАПИТИ З ОБЧИСЛЕННЯМИ ........ 62 ДОДАТОК 1. ВИКОРИСТАННЯ ПІДПИСІВ ЗАМІСТЬ НАЗВ ПОЛІВ............ 63 ДОДАТОК 2. ОДЕРЖАННЯ, ВСТАВКА І ЗМІНА ЗАПИСУ ПРО ПОТОЧНУ ДАТУ .................................................................................................... 64
Фрагмент методического пособия представлен для ознакомления с продукцией электронного магазина МЕТОДИЧКА http://metodichka.com.ua/ МЕТОДИЧКА – Лучшие пособия для самостоятельного практического обучения!
4
MySQL (“май ес-кю-ель”) – це сучасна система управління базами даних (СУБД) – програмне середовище для розробки реляційних баз даних та роботи з ними. Головні переваги MySQL порівняно з іншими реляційними СУБД – висока надійність та швидкість роботи, невибагливість до системних ресурсів, можливість одночасного підключення кількох користувачів, безоплатне використання програми. Головне призначення MySQL – створення баз даних для використання у локальних мережах (Інтранет) та Інтернет. СУБД MySQL побудована за технологією клієнт-сервер. Це означає, що вона складаеться з двох головних частин – серверу MySQL та клієнту MySQL. Сервер MySQL є головною частиною СУБД MySQL. Це окрема спеціальна програма, яка власне й забезпечує виконання усіх функцій, властивих реляційній СУБД: створення баз даних та управління ними. Клієнт MySQL – друга важлива частина СУБД MySQL. Це теж окрема програма-утіліта, яка надає інтерфейс, що дозволяє людині взаємодіяти із сервером MySQL і таким чином працювати із СУБД MySQL та з будь-якою базою даних, створеною у середовищі MySQL. Існують різні клієнти MySQL, у тому числі й графічні. Ми будемо використовувати найпростішій з існуючих клієнтів MySQL – спеціальну утіліту, яка називаеться “монітор MySQL”. Монітор MySQL входить до стандартного набору утіліт СУБД MySQL. Ця програма має інтерфейс командного рядку, тому для роботи з нею необхідно мати навички роботи у командному рядку MS DOS та знати спеціальні команди, за допомогою яких здійснюється управління монітором MySQL. Крім того, для роботи з СУБД MySQL необхідно знати команди (інструкції) спеціальної мови програмування SQL, яка використовується для створення реляційних баз даних та роботи з ними. MySQL працює у середовищі більшості сучаних операційних систем. Ми працюватимемо з MySQL у середовищі Windows’98 у режимі Сеанс MS-DOS.
5
Заняття 1. Знайомство з СУБД MySQL Початок роботи з MySQL Робота з СУБД MySQL розпочинається за два кроки: • запуск серверу MySQL; • запуск монітору MySQL. Для запуску серверу і монітору MySQL необхідно знати, де розміщені файли цих програм на комп’ютері користувача (розміщення файлів програми задається під час її інсталяції). Звичайно всі файли СУБД MySQL розташовані у каталозі C:\mysql Сервер і монітор MySQL знаходяться у каталозі C:\mysql\bin 8Опрацюйте початок роботи з MySQL. 1. Перейдіть у режим Сеанс MS-DOS. Команда: Пуск⇒Программы⇒Сеанс MS-DOS 2. Перейдіть у каталог, де знаходяться сервер і монітор MySQL. Команда: cd C:\mysql\bin 3. Запустіть сервер MySQL. Команда: mysqld-opt Примітка. Команда mysqld-opt запускає сервер MySQL оптимізований для роботи в ОС Windows’98. У Windows’95 використовуйте команду mysqld. 4. Запустіть клієнт MySQL (монітор MySQL) командою mysql З’явиться повідомлення англійською мовою: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version 3.23.33 Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer
Це повідомлення означає: Ласкаво просимо до монітору MySQL. Команди обов’язково закінчуйте символом ; або \g. Ваше з’єднання із сервером MySQL версії 3.23.33 має ідентифікатор 1. Для одержання допомоги введіть команду ‘help;’ або ‘\h’. Для очистки команди введіть ‘\c’
Після цього повідомлення має з’явитися запрошення монітору MySQL 6
mysql> Це означає, що монітор MySQL готовий до роботи. Робота з монітором MySQL Монітор MySQL виконує функції клієнта СУБД MySQL, тобто надає інтерфейс для доступу до серверу і роботи з базами даних MySQL. Управління монітором MySQL Для роботи з монітором MySQL користувачеві необхідно знати спеціальні команди, за допомогою яких здійснюється управління цією програмою. Перелік основних команд з короткими поясненнями можна одержати, якщо викликати допомогу у моніторі MySQL. 8Перегляньте допомогу монітору MySQL. Для цього: 1. запустить монітор MySQL; 2. виконайте одну з команд: mysql> help; або mysql> \h або mysql> ? Має з’явитися список команд, які використовують для роботи з монітором MySQL (команди, що подані у круглих дужках можна використовувати замість повної текстової команди): MySQL commands (команди MySQL): Note that all the text commands must be first on line and end with ‘ ; ‘ (Всі текстові команди мають починатися з початку рядку та закінчуватися знаком ‘ ; ’) help ? clear connect
(\h)
ego
(\G)
exit
(\q)
go notee print
(\g) (\t) (\p)
(\c) (\r)
Виклик допомоги. Те саме, що help. Очистити команду. Встановити нове з’єднання із сервером MySQL. Послати команду серверу, результати вивести вертикально (тобто по рядках). Вийти з монітору MySQL. Те саме, що й quit. Послати команду серверу для виконання. Не вести протокол сеансу роботи з MySQL. Надрукувати поточну команду (відображає поточну інформацію, що міститься у 7
quit rehash
(\q) (\#)
source
(\.)
status
(\s)
tee
(\T)
use
(\u)
буфері). Вийти з монітору MySQL. Включити режим автоматичного доповненння імен. Виконати інструкції MySQL, що містяться у файлі. Вивести інформацію про стан серверу MySQL. Задати файл для ведення протоколу сеансу роботи з MySQL. Відкрити базу данних.
Connection id: 1 (Can be used with mysqladmin kill) * Ідентифікатор з’єднання: 1 (Використовується для розриву з’єднання із сервером MySQL за допомогою команди mysqladmin kill) Завершення роботи з MySQL Завершення роботи з СУБД MySQL виконується у порядку, зворотньому до порядку запуску, а саме: • спочатку вимкніть клієнт MySQL (монітор MySQL); • потім – зупиніть сервер MySQL. 8Вимкніть СУБД MySQL. 1. Закрийте монітор MySQL. Команда: mysql> exit; або mysql> quit; або mysql> \q З’явиться повідомлення Buy Це повідомлення означає, що роботу монітору MySQL припинено. 2. Зупиніть сервер MySQL. Команда: mysqladmin shutdown 3. Закрийте Сеанс MS-DOS. Команда: exit Ітоги 1. Що ми узнали про СУБД MySQL 1) Як розпочати роботу з MySQL ? a) Перейдіть у режим Сеанс MS-DOS Пуск⇒Программы⇒Сеанс MS-DOS b) Перейдіть у каталог, де знаходяться сервер і монітор MySQL cd C:\mysql\bin 8
c) Запустіть сервер MySQL mysqld-opt d) Запустіть монітор MySQL mysql 2) Як завершити роботу з MySQL ? a) Закрийте монітор MySQL командою mysql> exit; або mysql> quit; або mysql> \q b) Зупиніть сервер MySQL командою mysqladmin shutdown c) Закрийте Сеанс MS-DOS: exit
Пользуясь эти методическим пособием Вы сможете детально, на прмерах, изучить работу в системе управления базами данных MySQL МЕТОДИЧКА http://metodichka.com.ua/
9
Заняття 2. Створення проекту бази даних Ми будем працювати над створенням бази даних на прикладі оптового книжкового магазину – книгарні. Така база даних повинна містити основні відомості про книги, про клієнтів-замовників та їх замовлення, а також забезпечувати можливість швидкого пошуку і перегляду інформації, що міститься у базі даних. Перед тим, як перейти до створення комп’ютерної бази даних, необхідно скласти її проект “на папері”, а саме необхідно: 1. Визначити назву бази даних; 2. Визначити перелік всіх необхідних таблиць та назву кожної таблиці; 3. Визначити структуру кожної окремої таблиці: кількість стовпців (полів) у таблиці, назву і властивості кожного поля; 4. Продумати зв’язки, які мають бути між таблицями, і створити у кожній таблиці ключові поля, які необхідні для утворення цих зв’язків. Проект бази даних book_shop 8Ознайомтеся з проектом майбутньої бази даних. 1. Назва бази даних буде такою: book_shop (“книгарня”). 2. У базі даних має бути п’ять таблиць. Назви таблиць: customers (“користувачі” або “клієнти”); orders (“замовлення”); order_items (“замовлені_екземпляри”); books (“книги”); book_reviews (“анотації_до_книг” або “короткий зміст”). 3. Структура таблиць бази даних: customers customerID
orders orderID
1 2 3 4
name
1 Іван Іваненко 2 Петро Петренко 3 Сидор Сидоренко
customerID
3 1 2 3
address
м. Полтава, вул. Калініна 1 кв. 1 м. Полтава, вул. Фрунзе 2, кв. 2 м. Полтава, вул. Жовтнева 3, кв. 3
amount
60.00 144.00 42.00 222.00
10
date
01-09-2003 10-09-2003 15-09-2003 25-09-2003
order_items ISBN
orderID
966-7393-98-4 5-8459-0291-6 966-539-320-0 966-7393-98-4 5-8459-0291-6 966-539-320-0 966-7393-98-4
books ISBN 966-7393-98-4 5-8459-0291-6 966-539-320-0
quantity 1 2 2 3 4 4 4
author
1 2 1 1 1 2 1
title
year
Томсон Лаура, Веллінг Дюк Аткинсон Леон
Разработка Web-приложений на PHP и MySQL MySQL. Библиотека профессионала Каратыгин С.А., Visual FoxPro 7. Тихонов А.Ф., Руководство пользователя с Тихонова Л.Н. примерами
price
2001
60.00
2002
42.00
2003
60.00
book_reviews ISBN review 966-7393-98-4 5-8459-0291-6
966-539-320-0
Руководство по совместному применению PHP и MySQL для профессиональ ных программистов. Ориентировано на решение реальных задач. В книге описана программа MySQL версии 3.23 - самый последний стабиль ный выпуск, доступный на момент написания книги. Содержит примеры проектирования и реализации систем корпоративного уровня. Описана новая версия системы управления базами данных Visual FoxPro 7. Содержит боль шое количество примеров и иллюстраций.
4. Схема зв’язків між таблицями: customers customerID name address
1
books ISBN author title price
orders orderID ∞ customerID amount date 1 1
1
11
1
∞ order_items ISBN ∞ orderID quantity
book_reviews ISBN review
Поля таблиць, їх призначення і властивості Таблиця customers Поле
Призначення поля
customerID унікальний реєстраційний номер клієнта, ключове поле для зв’язку з таблицею orders name П.І.Б. клієнта address адреса кліента
Властивості
ключове поле, первинний ключ типу лічильник (autoincrement) текстове поле текстове поле
Таблиця orders Поле
Призначення поля
унікальний реєстраційний номер замовлення, ключове поле для зв’язку з таблицею order_items customerID для зв’язку з таблицею customers amount поле містить рахунок – загальну вартість замовлення date дата замовлення orderID
Властивості
ключове поле, первинний ключ типу лічильник (autoincrement) числове поле цілочисельного типу числове поле, десяткові числа, 2 знака після коми поле типу “дата”
Таблиця order_items Поле
Призначення поля
ISBN orderID quantity
унікальний номер замовленої книги, ключове поле для зв’язку з таблицею books для зв’язку з таблицею orders кількість замовлених книг
Властивості
ключове поле – зовнішній ключ, текстового (символьного) типу числове поле цілочисельного типу поле цілочисельного типу
Таблиця books Поле
Призначення поля
унікальний ISBN-номер книги, ключове поле для зв’язку з таблицями order_items та book_reviews author П.І.Б. автора книги ISBN
title
назва книги
year
рік видання книги
price
ціна книги 12
Властивості
ключове поле – зовнішній ключ, текстового (символьного) типу поле текстового (символьного) типу поле текстового (символьного) типу поле текстового (символьного) типу десяткове число, 2 знака після коми
Таблиця book_reviews Поле
Призначення поля
унікальний ISBN-номер замовленої книги – для зв’язку з таблицею books review короткий опис змісту книги (анотація) ISBN
Властивості
ключове поле – зовнішній ключ, текстового типу поле текстового (символьного) типу
Ітоги 2. Що ми узнали про проектування бази даних 1. Перед тим, як перейти до створення комп’ютерної бази даних, необхідно скласти її проект “на папері”, а саме: 1.1. Визначити назву бази даних; 1.2. Визначити перелік всіх необхідних таблиць та назву кожної таблиці; 1.3. Визначити структуру кожної окремої таблиці: кількість стовпців (полів) у таблиці, назву і властивості кожного стовпця; 1.4. Продумати зв’язки, які мають бути між таблицями, і створити у кожній таблиці ключові поля, які необхідні для утворення цих зв’язків. 2. Назву бази даних MySQL, а також назви полів і стовпців слід задавати латиницею. Назви таблиць в ОС Windows не чутливі до регістру, тобто їх можна набирати як великими, так і малими літерами. В інших операційних системах назви таблиць можуть бути чутливими до регістру. Назви таблиць та стовпців – чутливі до регістру, їх прийнято набирати малими літерами. Назви не повинні містити “пробєлов”.
Пользуясь эти методическим пособием Вы сможете детально, на прмерах, изучить работу в системе управления базами данных MySQL МЕТОДИЧКА http://metodichka.com.ua/
13
Заняття 3. Створення структури бази даних Процедура створення бази даних складається з двох етапів: • спочатку необхідно створити структуру бази даних, тобто порожню базу даних та таблиці всередині неї, які готові до введення даних; • потім треба ввести дані у базу даних, тобто заповнити таблиці даними. Створення структури бази даних включає: • створення самої бази даних, • створення таблиць та визначення їх структури, • організацію зв'язків між таблицями через завдання ключових полів у таблицях. Для створення структури і роботи з базами даних в MySQL використовують спеціальні команди – інструкції SQL. SQL – скорочення від англ.: Structured Query Language – “мова структурованих запитів” – це особлива мова програмування, яка створена спеціально для роботи з базами даних і застосовується у більшості сучасних реляційних СУБД, у тому числі й у MySQL. За допомогою клієнта (монітора) MySQL користувач направляє інструкції SQL до серверу MySQL, який приймає і відповідним чином виконує ці інструкції. Створення нової бази даних Основні інструкції SQL: Перегляд списку баз даних
SHOW DATABASES
Створення нової бази даних
CREATE DATABASE ім’я_бази_даних
Знищення бази даних
DROP DATABASE ім’я_бази_даних Примітка. Будьте обережні! Інструкція DROP DATABASE знищує базу даних разом з усіма таблицями та даними. Знищену базу даних відновити неможливо. 8Створіть нову базу даних book_shop. Для цього: 1. Запустіть сервер і монітор MySQL. 2. У моніторі MySQL виконайте команду mysql> create database book_shop; Має з’явитися повідомлення: Query OK, 1 row affected (0.00 sec) Це означає, що база даних створена успішно. 14
Якщо база даних не була створена, то можливе таке повідомлення: ERROR 1007: Can't create database 'book_shop'. Database exists Воно означає, що базу даних з такою назвою створити неможливо, тому, що вона вже існує. Тоді необхідно створити базу даних з іншою назвою. 3. Після успішного створення бази даних перегляньте список існуючих баз даних. Команда: mysql> show databases; У відповідь маєте одержати список баз даних, у якому має бути і нова щойно створена вами база даних: +------------+ | Database | +------------+ | book_shop | | mysql | | test | +------------+ 3 rows in set (0.05 sec) Створення таблиць у базі даних Для того, щоб створити таблиці у базі даних book_shop необхідно: • увійти у базу даних. Команда: mysql> use назва_бази_даних; • створити по черзі кожну таблицю. Створення нової таблиці (інструкція SQL): CREATE TABLE назва_таблиці ( стовпець1, стовпець2, . . . ) Після інструкції CREATE TABLE необхідно вказати назву таблиці, і далі, у круглих дужках ввести через кому визначення всіх стовпців (полів) таблиці, вказати ключове поле. Визначення стовпця починається з імені стовпця та містить опис його властивостей (тип даних, розмір тощо).
15
Інші важливі інструкції SQL: Перегляд списку таблиць у поточній базі SHOW TABLES даних: Перегляд структури таблиці:
DESCRIBE назва_таблиці
Знищення таблиці у поточній базі даних:
DROP TABLE назва_таблиці
Примітка. Будьте обережні! Інструкція DROP TABLE знищує таблицю разом з усіма даними. Знищену таблицю відновити неможливо. Створення таблиці customers та перегляд її структури Таблиця customers створюється такою інструкцією SQL: CREATE TABLE customers ( CustomerID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name CHAR(32) NOT NULL, Address CHAR(128) NOT NULL ) Ця інструкція створює у поточній базі даних таблицю customers, яка містить три поля: CustomerID Name Address
(Ідентифікатор – код_користувача) (Ім’я – ім’я_користувача), (Адреса – адреса_користувача),
Поле CustomerID – цілочисельного типу INT, має властивість Лічильник (AUTO_INCREMENT), є ключовим полем (PRIMARY KEY). Поле Name – символьного типу, або текстове поле (CHAR), довжина поля 32 символи (CHAR(32)), воно не може бути порожнім, тобто це обов’язкове поле (NOT NULL). Поле Address – символьного типу, або текстове поле (CHAR), довжина поля 128 символи (CHAR(128)), воно не може бути порожнім (NOT NULL). Зауваження. Інструкції SQL можна виконувати двома способами. 1 спосіб. Можна просто ввести інструкцію у командний рядок монітору MySQL. Якщо при цьому буде зроблено хоч одну помилку, то всю інструкцію доведеться вводити спочатку. Цей спосіб застосовуть лише для виконання простих інструкцій. Наприклад, щоб створити таблицю customers першим способом у моніторі MySQL необхідно виконати таку команду: mysql> CREATE TABLE customers ( CustomerID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name CHAR(32) NOT NULL, Address CHAR(128) NOT NULL ); 16
2 спосіб. При виконанні складних інструкцій SQL, зручно використовувати другий спосіб – виконання інструкцій SQL записаних у текстовому файлі. Послідовність дій: • необхідні інструкції SQL наберіть у простому текстовому редакторі, наприклад, у Блокноті, і збережіть у файлі з розширенням *.txt у своєму робочому каталозі. Краще, якщо ім’я файлу буде написано англійськими літерами. У разі необхідності, цей файл можна буде відкрити, щоб виправити помилки і внести необхідні зміни; • щоб виконати інструкції SQL, що зберігаються у текстовому файлі, у моніторі MySQL введіть одну з наступних команд: mysql> source шлях_до_sql-файлу; або mysql> \. шлях_до_sql-файлу; 8Створіть таблицю customers у базі даних book_shop. Для цього: 1. Увійдіть у базу даних book_shop. Команда: mysql> use book_shop; У відповідь маєте одержати: Database changed Це означае, що ви увійшли у вказану базу даних. 2. Створіть таблицю customers. Для цього у моніторі MySQL виконайте команду: mysql> CREATE TABLE customers ( CustomerID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name CHAR(32) NOT NULL, Address CHAR(128)NOT NULL); З’явиться повідомлення Query OK, 0 rows affected (0.05 sec) Це означає, що інструкції SQL із файлу tabl1.txt виконані успішно. Можливе й інше повідомлення: ERROR 1050: Table 'customers' already exists Воно означає, що таблиця customers вже існує. 8 Перегляньте список таблиць у поточній book_shop. Команда: mysql> show tables; 17
Відповідь сервера має бути такою: +---------------------+ | Tables_in_book_shop | +---------------------+ | customers | +---------------------+ 1 row in set (0.06 sec) 8 Перегляньте структуру таблиці customers. Команда: mysql> describe customers; Відповідь сервера: +------------+-----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-----------+------+-----+---------+----------------+ | CustomerID | int(11) | | PRI | NULL | auto_increment | | Name | char(32) | | | | | | Address | char(128) | | | | | +------------+-----------+------+-----+---------+----------------+ 3 rows in set (0.11 sec)
Створення таблиці orders Інструкція SQL: CREATE TABLE orders ( OrderID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerID INT NOT NULL, Amount FLOAT(6,2), Date DATE NOT NULL ); Ця інструкція створює у поточній базі даних таблицю customers, яка містить чотири поля: OrderID CustomerID Amount Date
(код_замовлення), (код_користувача), (Рахунок – вартість_замовлення), (Дата – дата_замовлення).
Поле OrderID – цілочисельне (INT), має тип Лічильник (AUTO_INCREMENT), ключове поле (PRIMARY KEY). Поле Amount – числового типу, може містити десяткові числа довжиною до 6 символів з двома знаками після коми (на це вказує запис FLOAT(6,2)). Поле Date – типу Дата (DATE); воно не може бути порожнім (NOT NULL). 18
Зауваження. У таблиці orders всі поля мають властивість NOT NULL, крім поля Amount. Це тому, що коли у базу даних вноситься запис про заказ, то його необхідно зберегти у таблиці orders, додати замовлені екземпляри у таблицю order_items, і лише потім підрахувати загальну вартість замовлення у полі Amount. Отже, під час створення замовлення його вартість ще невідома, і тому їй можна присвоїти порожнє значення NULL. 8 Створіть таблицю orders. Для цього введіть вказану вище інструкцію у командний рядок монітору MySQL. Маєте одержати відповідь: Query OK, 0 rows affected (0.05 sec) 8 Знову перегляньте список таблиць у поточній базі даних book_shop. Команда: mysql> show tables; Відповідь сервера має бути такою: +---------------------+ | Tables_in_book_shop | +---------------------+ | customers | | orders | +---------------------+ 2 rows in set (0.00 sec) 8 Перегляньте структуру таблиці orders. Команда: mysql> describe orders; Відповідь сервера: +------------+------------+------+-----+------------+---------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------+------+-----+------------+---------------+ | OrderID | int(11) | | PRI | NULL | auto_increment | | CustomerID | int(11) | | | 0 | | | Amount | float(6,2) | YES | | NULL | | | Date | date | | | 0000-00-00 | | +------------+------------+------+-----+------------+---------------+ 19
4 rows in set (0.00 sec)
Створення таблиці order_items Інструкція SQL: CREATE TABLE order_items ( ISBN CHAR(13) NOT NULL, OrderID INT NOT NULL, Quantity TINYINT, PRIMARY KEY (ISBN, OrderID) ); Ця інструкція створює у поточній базі даних таблицю order_items, яка містить чотири поля: ISBN OrderID Quantity
(ISBN код_книги), (код_замовлення), (кількість_замовлених_екземплярів).
Поле ISBN – символьного (текстового) типу, довжиною 13 знаків. Поле Quantity – цілочисельне, може містити невеликі цілі числа (на це вказує властивість TINYINT). Ключове поле таблиці утворюється як унікальна комбінація полів ISBN та OrderID (на це вказує запис PRIMARY KEY (ISBN, OrderID)). 8 Створіть таблицю order_items. Для цього введіть вказану інструкцію у командний рядок монітору MySQL. Маєте одержати відповідь: Query OK, 0 rows affected (0.00 sec) 8 Знову перегляньте список таблиць у поточній book_shop. Команда: mysql> show tables; Маєте одержати: +---------------------+ | Tables_in_book_shop | +---------------------+ | customers | | order_items | | orders | +---------------------+ 3 rows in set (0.00 sec) 8 Перегляньте структуру таблиці order_items. Команда: mysql> describe order_items; 20
Відповідь сервера: Query OK, 0 rows affected (0.05 sec) +----------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+------------+------+-----+---------+-------+ | ISBN | char(13) | | PRI | | | | OrderID | int(11) | | PRI | 0 | | | Quantity | tinyint(4) | YES | | NULL | | +----------+------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
Створення таблиці books Інструкція SQL: CREATE TABLE books ( ISBN CHAR(13) NOT NULL PRIMARY KEY, Author CHAR(30), Title CHAR(60), Price FLOAT(5,2) ); 8 Створіть таблицю books. Для цього введіть вказану інструкцію у командний рядок монітору MySQL. 8 Для контролю перегляньте список таблиць. Команда: mysql> show tables; Маєте одержати: +---------------------+ | Tables_in_book_shop | +---------------------+ | books | | customers | | order_items | | orders | +---------------------+ 4 rows in set (0.00 sec) 8 Перегляньте структуру таблиці books: mysql> describe books; Відповідь сервера: +--------+------------+------+-----+---------+-------+ 21
| Field | Type | Null | Key | Default | Extra | +--------+------------+------+-----+---------+-------+ | ISBN | char(13) | | PRI | | | | Author | char(30) | YES | | NULL | | | Title | char(60) | YES | | NULL | | | Price | float(5,2) | YES | | NULL | | +--------+------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) Створення таблиці book_reviews Інструкція SQL: CREATE TABLE book_reviews ( ISBN CHAR(13) NOT NULL PRIMARY KEY, Review TEXT ); 8 Створіть таблицю book_reviews. 8 Для контролю перегляньте список таблиць. Маєте одержати: +---------------------+ | Tables_in_book_shop | +---------------------+ | book_reviews | | books | | customers | | order_items | | orders | +---------------------+ 5 rows in set (0.06 sec) 8 Перегляньте структуру таблиці book_reviews. Маєте одержати: +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | ISBN | varchar(13) | | PRI | | | | Review | text | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 2 rows in set (0.05 sec) Зміна стуктури таблиць Досить часто виникає необхідність внести зміну у структуру таблиці – це, наприклад, вилучення зайвого поля або створення нового поля, зміна властивостей поля і т.п. Для внесення змін у структуру таблиць використовують таку інструкцію SQL:
22
ALTER TABLE назва_таблиці інструкція_до_зміни В цій інструкції після назви таблиці необхідно через кому вказати інструкцію_до_зміни, тобто операцію, яку необхідно виконати з даною таблицею. Операції описуються такими інструкціями: Операція
Перейменувати таблицю Вставити новий_стовпець у кінець таблиці Вставити новий_стовпець перед/після вказаного стовпця Вилучити стовпець
Інструкція_до_зміни
RENAME нова_назва_таблиці ADD COLUMN (опис_нового_стовпця) ADD COLUMN опис_нового_стовпця FIRST/AFTER назва_стовпця DROP COLUMN назва_стовпця
8 Додайте у таблицю customers новий стовпець Phone, у якому будуть зберігатися номери телефонів клієнтів магазину. Для цього у моніторі MySQL виконайте команду mysql> ALTER TABLE customers ADD COLUMN(Phone CHAR(16) NOT NULL); Маєте одержати відповідь: Query OK, 0 rows affected (0.06 sec) Records: 0
Duplicates: 0
Warnings: 0
Після цього перегляньте структуру таблиці customers командою mysql> describe customers; Відповідь сервера: +------------+-----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-----------+------+-----+---------+----------------+ | CustomerID | int(11) | | PRI | NULL | auto_increment | | Name | char(32) | | | | | | Address | char(128) | | | | | | Phone | char(16) | | | | | +------------+-----------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
Отже, структура таблиці customers змінилася – у таблиці з’явилось нове поле Phone. 8 Додайте у таблицю books нове поле Year після поля Title. У цьому полі у якому будуть дані про рік видання книги. Для цього у моніторі MySQL виконайте команду mysql> ALTER TABLE books ADD COLUMN Year CHAR(4) NOT NULL 23
AFTER Title; Маєте одержати відповідь: Query OK, 0 rows affected (0.06 sec) Records: 0
Duplicates: 0
Warnings: 0
Після цього перегляньте структуру таблиці customers командою mysql> describe books; Відповідь сервера: +--------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+------------+------+-----+---------+-------+ | ISBN | char(13) | | PRI | | | | Author | char(30) | YES | | NULL | | | Title | char(60) | YES | | NULL | | | Year | char(4) | | | | | | Price | float(5,2) | YES | | NULL | | +--------+------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) На цьому створення таблиць завершено. Ітоги 3. Що ми узнали про створення структури бази даних 1. Створення бази даних відбувається у два етапи: • спочатку необхідно створити структуру бази даних; • потім треба ввести самі дані у таблиці. 2. Створення структури бази даних включає: • створення самої бази даних, • створення таблиць та визначення їх структури, • організацію зв'язків між таблицями через завдання ключових полів у таблицях. 3. Нова база даних створюється за допомогою інструкції SQL CREATE DATABASE ім’я_бази_даних 4. Перегляд списку баз даних здійснюється командою SQL SHOW DATABASES 5. База даних знищується за допомогою інструкції SQL DROP DATABASE ім’я_бази_даних 6. Щоб створити таблицю у базі даних необхідно спочатку увійти у базу даних. Команда для входу у базу даних: mysql> use назва_бази_даних; 7. Таблиці у базі даних створюються за допомогою інструкції SQL: 24
CREATE TABLE назва_таблиці ( стовпець1, стовпець2, . . . ) 8. Перегляд списку таблиць у поточній базі даних виконується інструкцією SQL: SHOW TABLES 9. Перегляд структури таблиці виконується командою: DESCRIBE назва_таблиці 10. Таблиця знищується за допомогою інструкції SQL: DROP TABLE назва_таблиці 11. Для внесення змін у структуру таблиць використовують таку інструкцію SQL: ALTER TABLE назва_таблиці інструкція_до_зміни
МЕТОДИЧКА http://metodichka.com.ua/ Магазин классных методичек!
25
Гимнастика для глаз А. Динамический комплекс 1.
Движения глаз вправо-влево, 30 секунд.
2.
Движения глаз вверх-вниз, 30 секунд.
3.
Движения глаз по диагоналям, по 30 секунд.
4.
Круговые движения глазами по часовой стрелке, 30 секунд.
5.
Круговые движения глазами против часовой стрелки, 30 секунд.
6.
Упражнения 1-5, только с закрытыми глазами, общая продолжительность до 3 минут.
Б. Самомассаж глаз 1.
Сильно зажмурить глаза на 3-5 секунд, затем широко открыть глаза на 3-5 секунд. Повторить 10-12 раз.
2.
Быстро моргать в течение 1-2 минут.
3.
Смотреть вдаль 3-5 секунд (можно в окно), затем на палец руки в 2530 см от глаз (можно на оконную раму) в течение 3-5 секунд, повторить 10-12 раз.
4.
Тремя пальцами каждой руки легко нажать на верхнее веко, спустя 1-2 секунды снять пальцы. Повторить 5-6 раз.
5.
Круговыми движениями подушечек пальцев помассировать височную область в течение 2-3 минут.
6.
Выполнить массаж затылочной области продольными движениями пальцев обеих рук в направлении от затылочного бугра к 7-му шейному позвонку и обратно до появления чувства «прилива» к голове.
Регулярное выполнение этих простых упражнений поможет вам уменьшить усталость глаз при работе на компьютере и надолго сохранить хорошее зрение. 26