Ввод команд
Операторы создания БД book имеют следующий вид:
DROP DATABASE IF EXISTS book;
CREATE DATABASE book;
USE book;
CREATE TABLE catalogs (
catalog_ID int(6) NOT NULL AUTO_INCREMENT,
catalog_name varchar(20) NOT NULL,
PRIMARY KEY (catalog_ID)
) ENGINE=InnoDB;
CREATE TABLE books (
book_ID int(6) NOT NULL AUTO_INCREMENT,
book_name varchar(100) NOT NULL,
book_author varchar(100) NOT NULL,
book_year year NOT NULL,
book_price decimal(7,2) NULL default '0.00',
book_count int(6) NULL default '0',
book_catalog_ID int(6) NOT NULL default '0',
PRIMARY KEY (book_ID),
FOREIGN KEY (book_catalog_ID) REFERENCES catalogs(catalog_ID) ON DELETE
CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;
CREATE TABLE users (
user_ID int(6) NOT NULL AUTO_INCREMENT,
user_name varchar(20) NOT NULL,
user_patronymic varchar(20),
user_surname varchar(20) NOT NULL,
user_phone varchar(12) NULL,
user_email varchar(20) NULL,
user_status ENUM ('active','passive','lock','gold') default 'passive',
PRIMARY KEY (user_ID)
) ENGINE=InnoDB;
CREATE TABLE orders (
order_ID int(6) NOT NULL AUTO_INCREMENT,
order_user_ID int NOT NULL,
order_book_ID int NOT NULL,
order_time datetime NOT NULL default '0000-00-00 00:00:00',
order_number int(6) NOT NULL default '0',
PRIMARY KEY (order_ID),
FOREIGN KEY (order_book_ID) REFERENCES books(book_ID) ON DELETE
CASCADE ON UPDATE CASCADE,
FOREIGN KEY (order_user_ID) REFERENCES users(user_ID) ON DELETE CASCADE ON UPDATE CASCADE
)ENGINE=InnoDB;
Ч тобы удостовериться в правильности создания таблиц, можно вывести описание каждой из них с помощью команд DESCRIBE catalogs (рис. 1), DESCRIBE books (рис. 2), DESCRIBE users (рис. 3), DESCRIBE orders (рис. 4):
Рис. 1. Описание таблицы catalogs
Рис. 2. Описание таблицы books
Р ис. 3. Описание таблицы u sers
Рис. 4. Описание таблицы orders
Выводы
В данной работе была создана база данных средствами СУБД MySQL, созданы таблицы, определены их поля и индексы, а также определены связи между таблицами и ограничения целостности. Результаты работы были продемонстрированы с помощью вызова команды, возвращающей описание таблиц базы данных.