Создадим таблицу «Клиенты»
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 Заказы;
Читайте также: INSERT: Добавление информации в таблицу Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|