русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Закрыть соединение с сервером и выйти из программы mysql.exe


Дата добавления: 2015-07-09; просмотров: 1010; Нарушение авторских прав


 

10. Написать командный файл (*.bat) для определения параметров соединения и запуска mysql.exe. Запустить mysql.exe при помощи созданного командного файла.

 

 

 

11. Написать сценарий (набор SQL-команд) для создания базы данных «Предприятие». Концептуальное описание БД «Предприятие»:

База данных «Предприятие» содержит информацию о работе некоторого промышленного предприятия, которое осуществляет сборку изделий (проектов) из деталей. В базе данных присутствуют следующие сущности: Детали, Проекты, Поставщики, Поставки, Города. Таблица «Детали» содержит описания деталей. Поля: Номер_детали[1], Наименование, Материал, Вес. Таблица «Поставщики» содержит описания организаций, поставляющих детали. Поля: Номер_поставщика, Наименование, Номер_города. Таблица «Проекты» содержит описание проектов (сборочных изделий). Поля: Номер_проекта, Наименование, Номер_города. Таблица «Города» содержит описание городов, в которых могут находиться проекты и поставщики. Поля: Номер_города, Наименование. Каждый проект содержит некоторое количество различных деталей, поставляемых различными поставщиками в определенном количестве. Проект рассматривается как совокупность поставок. Таблица «Поставки» содержит записи о типе, количестве деталей и цене одной детали, поставляемых определенным поставщиком для определенного проекта. Поля: Номер_проекта, Номер_поставщика, Номер_детали, Количество, Цена, Дата_начала, Дата_конца.

В сценарии необходимо определить первичные и внешние ключи в таблицах. Для генерации значений первичных ключей использовать спецификатор AUTO_INCREMENT. Задать для первичных ключей требование обязательности данных NOT NULL. Задать для полей ВЕС, КОЛИЧЕСТВО и ЦЕНА беззнаковый целочисленный тип.

1. Добавить в начало сценария команды очистки базы данных. Внести в сценарий операторы заполнения таблиц тестовыми данными (не менее 5-и строк в каждой таблице). Запустить сценарий в пакетном режиме. При необходимости произвести отладку (устранение ошибок).



2. Проверить работу ограничений целостности CHECK и ограничений целостности внешних ключей путем добавления в таблицы некорректных данных.

 

use 1201_oav;

CREATE TABLE ДЕТАЛИ

(НОМЕР_ДЕТАЛИ INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,

НАИМЕНОВАНИЕ VARCHAR(80),

МАТЕРИАЛ VARCHAR(80),

ВЕС INTEGER NOT NULL CHECK (ВЕС>0));

 

CREATE TABLE ГОРОДА

(НОМЕР_ГОРОДА INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,

НАИМЕНОВАНИЕ VARCHAR(80));

 

CREATE TABLE ПОСТАВЩИКИ

(НОМЕР_ПОСТАВЩИКА INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,

НАИМЕНОВАНИЕ VARCHAR(80),

НОМЕР_ГОРОДА INTEGER UNSIGNED,

FOREIGN KEY (НОМЕР_ГОРОДА) REFERENCES ГОРОДА (НОМЕР_ГОРОДА));

CREATE TABLE ПРОЕКТЫ

(НОМЕР_ПРОЕКТА INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,

НАИМЕНОВАНИЕ VARCHAR(80),

НОМЕР_ГОРОДА INTEGER UNSIGNED,

FOREIGN KEY (НОМЕР_ГОРОДА) REFERENCES ГОРОДА (НОМЕР_ГОРОДА));

CREATE TABLE ПОСТАВКИ

(НОМЕР_ПРОЕКТА integer unsigned not null,

НОМЕР_ПОСТАВЩИКА integer unsigned not null,

НОМЕР_ДЕТАЛИ integer unsigned not null,

КОЛИЧЕСТВО INTEGER NOT NULL CHECK (КОЛИЧЕСТВО >0),

ЦЕНА INTEGER NOT NULL CHECK (ЦЕНА > 0),

ДАТА_НАЧАЛА DATE CHECK (ДАТА_НАЧАЛА <ДАТА_КОНЦА),

ДАТА_КОНЦА DATE CHECK (ДАТА_НАЧАЛА <ДАТА_КОНЦА),

FOREIGN KEY (НОМЕР_ПРОЕКТА) REFERENCES ПРОЕКТЫ (НОМЕР_ПРОЕКТА),

FOREIGN KEY (НОМЕР_ПОСТАВЩИКА) REFERENCES ПОСТАВЩИКИ (НОМЕР_ПОСТАВЩИКА),

FOREIGN KEY (НОМЕР_ДЕТАЛИ) REFERENCES ДЕТАЛИ (НОМЕР_ДЕТАЛИ));

Добавить в начало сценария команды очистки базы данных. Внести в сценарий операторы заполнения таблиц тестовыми данными (не менее 5-и строк в каждой таблице). Запустить сценарий в пакетном режиме. При необходимости произвести отладку (устранение ошибок).



INSERT INTO ДЕТАЛИ VALUES (1, 'РУЧКА', 'ЖЕЛЕЗО', 100);

INSERT INTO ДЕТАЛИ VALUES (2, 'ПАЛКА', 'ДЕРЕВО', 30);

INSERT INTO ДЕТАЛИ VALUES (3, 'БРУС', 'ДЕРЕВО', 30);

INSERT INTO ДЕТАЛИ VALUES (4, 'ТРУБА', 'СТАЛЬ', 400);

INSERT INTO ДЕТАЛИ VALUES (5, 'РУЧКА', 'СТАЛЬ', 150);

SELECT*FROM ДЕТАЛИ;

 

 

 

INSERT INTO ГОРОДА VALUES (1, 'СУРГУТ');

INSERT INTO ГОРОДА VALUES (2, 'ОРЕЛ');

INSERT INTO ГОРОДА VALUES (3, 'МОСКВА');

INSERT INTO ГОРОДА VALUES (4, 'ПИТЕР');

INSERT INTO ГОРОДА VALUES (5, 'МОСКВА');

SELECT*FROM ГОРОДА;

 

INSERT INTO ПРОЕКТЫ VALUES (1, ' ПРОЕКТ_1', '1');

INSERT INTO ПРОЕКТЫ VALUES (2, ' ПРОЕКТ_2', '2');

INSERT INTO ПРОЕКТЫ VALUES (3, ' ПРОЕКТ_3', '3');

INSERT INTO ПРОЕКТЫ VALUES (4, ' ПРОЕКТ_4', '4');

INSERT INTO ПРОЕКТЫ VALUES (5, ' ПРОЕКТ_5', '5');

SELECT*FROM ПРОЕКТЫ;

 

 

INSERT INTO ПОСТАВЩИКИ VALUES (1, 'ПОСТАВЩИК_1', '1');

INSERT INTO ПОСТАВЩИКИ VALUES (2, 'ПОСТАВЩИК_2', '2');

INSERT INTO ПОСТАВЩИКИ VALUES (3, 'ПОСТАВЩИК_3', '3');

INSERT INTO ПОСТАВЩИКИ VALUES (4, 'ПОСТАВЩИК_4', '4');

INSERT INTO ПОСТАВЩИКИ VALUES (5, 'ПОСТАВЩИК_5', '5');

SELECT*FROM ПОСТАВЩИКИ;

 

 

INSERT INTO ПОСТАВКИ VALUES (1, 1, 1, 5, 100, '2014-09-01,', '2014-05-02');

INSERT INTO ПОСТАВКИ VALUES (1, 2, 3, 7, 50, '2014-05-07,', '2014-08-07');

INSERT INTO ПОСТАВКИ VALUES (4, 4, 2, 12, 578, '2014-01-02,', '2014-08-03');

INSERT INTO ПОСТАВКИ VALUES (5, 1, 4, 28, 12, '2014-10-08,', '2014-12-10');

INSERT INTO ПОСТАВКИ VALUES (2, 3, 2, 123, 23, '2014-08-07,', '2014-09-04');

INSERT INTO ПОСТАВКИ VALUES (2, 3, 2, 123, 23, '2014-02-05,', '2014-09-01');

SELECT*FROM ПОСТАВКИ;

 



<== предыдущая лекция | следующая лекция ==>
Работа с сервером MySQL при помощи терминального клиента mysql.exe | Способы классификации расходов предприятия.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.337 сек.