Создание таблиц базы данных db_sales

База данных db_sales содержащий данные о продажах, включая личные данные клиентов, перечень товаров с указанием цена. О каждом клиенте в базе данных должна хранится следующая информация: код клиента, имя фамилия, адрес телефон, пол, дата рождения, образование. Каждому наименованию товара присваивается уникальный код. Данные о продажах включает в себя количество купленного товара и дату покупки. Подробное описание таблиц базы данных db_sales представлено в разделе "Описание базы данных db_sales"
IDevice IconСоздание таблиц базы данных

Таблица tbl_educ
Таблица содержит список возможных образовательных уровней. Каждой записи присваивается уникальный код (поле-счетчик ed_code). Поле ed_code выбирается в качестве первичного ключа.

MS SQL:
CREATE TABLE tbl_educ
(ed_code tinyint
NOT NULL IDENTITY PRIMARY KEY,
educ varchar(45) NOT NULL)

MySQL:
CREATE TABLE tbl_educ
(ed_code tinyint UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
educ varchar(45) NOT NULL)
TYPE=InnoDB


Таблица tbl_clients
Содержит личные данные клиента. В качестве первичного ключа указано поле client_id (код клиента). Поле ed_code определено как внешний ключ для связи с таблицей tbl_educ.

MS SQL:
CREATE TABLE tbl_clients (
client_id char(4) NOT NULL PRIMARY KEY,
name varchar(45),
lastname varchar(45),
dbirth date,
sex char(1),
ed_code tinyint,
addr varchar(45),
phone char(9) NOT NULL,
CONSTRAINT FOREIGN KEY (ed_code) REFERENCES tbl_educ (ed_code) ON DELETE SET NULL ON UPDATE CASCADE)

MySQL:
CREATE TABLE tbl_clients (
client_id char(4) NOT NULL PRIMARY KEY,
name varchar(45),
lastname varchar(45),
dbirth date,
sex char(1),
ed_code tinyint UNSIGNED,
addr varchar(45)
phone char(9) NOT NULL,
FOREIGN KEY (ed_code) REFERENCES tbl_educ (ed_code) ON DELETE SET NULL ON UPDATE CASCADE)
TYPE=InnoDB;
 


Таблица tbl_product
Содержит сведения о товарах. В качестве первичного ключа определено поле, содержащее код товара (prod_id).

MS SQL:
CREATE TABLE tbl_product
(prod_id int NOT NULL PRIMARY KEY,
pr_name varchar(100),
price float(6,2))


MySQL
:
CREATE TABLE tbl_product (
prod_id int UNSIGNED NOT NULL PRIMARY KEY,
pr_name varchar(100), price float(6,2))
TYPE=InnoDB ;

Таблица tbl_sale
Содержит данные о продажах, включая дату продажи и проданного товара для каждой такой транзакции. Каждой совершаемой продаже присваивается уникальный код (поле-счетчик ), которое используется в качестве первичного ключа. Для связи с таблицами tbl_product и tbl_clients определяются внешние ключи( поля , соответственно)

MS SQL:
CREATE TABLE tbl_sales (
sale_id int NOT NULL
IDENTITY PRIMARY KEY,
client_id char(4) NOT NULL,
prod_id int NOT NULL,
amount tinyint NOT NULL,
saledate date NOT NULL,
CONSTRAINT FOREIGN KEY (client_id) REFERENCES tbl_clients (client_id) ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (prod_id) REFERENCES tbl_product (prod_id) ON UPDATE CASCADE ON DELETE NO ACTION

MySQL:
CREATE TABLE tbl_sales (
sale_id int UNSINED NOT NULL AUTO_INCREMENT
PRIMARY KEY,
client_id char(4) NOT NULL,
prod_id int UNSIGNED NOT NULL,
amount tinyint UNSIGNED NOT NULL,
saledate date NOT NULL,
FOREIGN KEY (client_id) REFERENCES tbl_clients (client_id) ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (prod_id) REFERENCES tbl_product (prod_id) ON UPDATE CASCADE ON DELETE NO ACTION)

TYPE=InnoDB;