Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Создадим таблицу «Клиенты»




DROP TABLE IF EXISTS `Клиенты`;

CREATE TABLE IF NOT EXISTS `Клиенты`

(

`Код Клиента` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`ФИО клиента` VARCHAR(80) NOT NULL,

`Телефон клиента` INT NULL, -- В дальнейшем изменим тип на строковый – VARCHAR.

`Адрес клиента` VARCHAR(150) NULL,

PRIMARY KEY (`Код Клиента`),

INDEX `ixClient` (`ФИО клиента` ASC)

);

Модифицируем таблицу. Изменим столбец «Телефон клиента», сменив для него тип данных на строковый. Для номеров телефонов лучше использовать тип данных VARCHAR, т.к. в этом случае удобнее осуществлять поиск. Например, можно будет проводить поиск по трем первым цифрам номера.

Заодно сделаем ввод номера телефона обязательным.

ALTER TABLE Клиенты MODIFY `Телефон клиента` VARCHAR(7) NOT NULL; -- Семь символов для телефона в данном примере достаточно.

Проверим правильность параметров таблицы.

DESC Клиенты;

 

Создадим таблицу «Заказы» c лишней, ненужной колонкой.

DROP TABLE IF EXISTS `Заказы`;

CREATE TABLE IF NOT EXISTS `Заказы`

(

`Код Заказа` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`Код магазина` INT UNSIGNED NOT NULL,

`Код товара` INT UNSIGNED NOT NULL,

`Количество` INT NOT NULL,

`Код клиента` INT UNSIGNED NOT NULL,

`Лишняя колонка` INT NOT NULL, -- Ненужная колонка, которая будет удалена далее оператором ALTER TABLE.

PRIMARY KEY (`Код Заказа`),

INDEX `FKShopCod` (`Код магазина` ASC), -- Создадим индекс по столбцу «Код магазина».

INDEX `FKGoodsCod` (`Код товара` ASC),

INDEX `FKClient` (`Код клиента` ASC),

CONSTRAINT `FKShopCod` -- Создадим ограничение на созданный индекс,

FOREIGN KEY (`Код магазина`) -- превратив его во внешний ключ,

REFERENCES `Интернет-Магазины` (`Код Магазина` ), -- ссылающийся на столбец «Код магазина» из таблицы «Интернет-магазины».

CONSTRAINT `FKGoodsCod`

FOREIGN KEY (`Код товара`)

REFERENCES `Товары` (`Код Товара`),

CONSTRAINT `FKClient`

FOREIGN KEY (`Код клиента`)

REFERENCES `Клиенты` (`Код Клиента`)

);

Примечание: MySQL 5, движок InnoDB поддерживает ссылочную целостность. Это означает, что задав вышеупомянутый внешний ключ, значениями атрибута «Код магазина» таблицы «Заказы» могут являться только те значения, которые уже существуют в одноименном столбце таблицы «Интернет-магазины». Проще говоря, нельзя сделать заказ по несуществующему в БД магазину. Аналогично два других внешних ключа.

Модифицируем таблицу.

В этот удалим не нужную нам колонку, и создадим другую, содержащую дату заказа.

ALTER TABLE заказы -- Изменим таблицу «Заказы».

ADD COLUMN `Дата заказа` DATE NULL, -- Добавим колонку «Дата заказа» типа DATE, которая не обязательна для заполнения (NULL).

DROP COLUMN `Лишняя колонка`; -- Удалим «лишнюю колонку».

Проверим правильность структуры таблицы.

DESC Заказы;

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...