- •Создание базы данных «Программы»
- •Ягту 220301.65-015 лр
- •Задание:
- •1. Разработка структуры базы данных
- •1.1 Уточнение задания
- •1.2 Анализ предметной области, определение сущностей и взаимосвязей между ними
- •Структура сущностей:
- •1.3 Нормализация Первая нормальная форма требует:
- •1.4 Проектирование таблиц базы данных.
- •2. Реализация серверной части.
- •2.1 Создание таблиц.
- •2.2 Работа с данными.
- •3. Разработка клиентской части.
- •3.1. Описание клиентской части с точки зрения разработки.
- •3.2 Описание клиентской части с точки зрения пользователя.
2. Реализация серверной части.
2.1 Создание таблиц.
Запросы SQL для создания таблиц выглядят следующим образом:
CREATE TABLE AngPROGRAMMA
(nazvanie VARCHAR2(20) CONSTRAINT pkluch_nazvanie PRIMARY KEY,
firma VARCHAR2(20) CONSTRAINT fkluch_firma REFERENCES AngPROIZVODITEL(firma),
tip VARCHAR2(20),
podderjka VARCHAR2(20))
CREATE TABLE AngPROGRAMMA - данный запрос создаёт таблицу ПРОГРАММА.
Далее в скобках указывается, из каких полей будет состоять данная таблица и какой тип данных каждого из полей:
поле nazvanie является первичным ключом и имеет тип VARCHAR2(20), т.е. строка длиною 20 символов;
поле firma является вторичным ключом, т.е. ссылка на соответствующее поле таблицы 2, и имеет тип данных VARCHAR2(20), т.е. строка длиною 20 символов;
поле tip имеет тип VARCHAR2(20), т.е. строка длиною 20 символов;
поле podderjka имеет тип данных VARCHAR2(20), т.е. строка длиною 20 символов.
Некоторые поля требуют установления ограничений целостности с помощью ключевого слова CONSTRAINT:
PRIMARY KEY – первичный ключ;
CHECK (<ЛВ>) – ограничение поля, где ЛВ – логическое выражение, определяющее это ограничение;
REFERENCES <ИТ> (<ПК>) – внешний ключ для связи с таблицей <ИТ> по ключу <ПК>;
FOREIGN KEY – вторичный ключ, т.е. ссылка на соответствующее поле другой таблицы.
Если таких полей несколько, то они перечисляются в скобках через запятую после ключевого слова CONSTRAINT и указанного ограничения целостности. Данная операция проводится после перечисления полей. Пример в таблицах 3 и 4.
Остальные таблицы создаются аналогично:
CREATE TABLE AngPROIZVODITEL
(firma VARCHAR2(20) CONSTRAINT pkluch_firma PRIMARY KEY,
strana VARCHAR2(20),
svyaz NUMBER)
CREATE TABLE AngVERSIYA
(nazvanie VARCHAR2(20) CONSTRAINT fkluch_nazvanie REFERENCES AngPROGRAMMA(nazvanie),
versiya NUMBER,
naznachenie VARCHAR2(20),
dataV NUMBER,
stoimost NUMBER(5) CONSTRAINT ch_stoimost CHECK (stoimost>0),
CONSTRAINT pkluch_AnzVERSIYA PRIMARY KEY (nazvanie,versiya))
CREATE TABLE AngTEXNXARAKT
(nazvanie VARCHAR2(20),
versiya NUMBER,
tipSistTreb VARCHAR2(20),
znachenieSistTreb NUMBER,
yazik VARCHAR2(20),
CONSTRAINT pkluch_AngTEXNXARAKT PRIMARY KEY (nazvanie,versiya,tipSistTreb),
CONSTRAINT fkluch_nazvanie_versiya FOREIGN KEY(nazvanie,versiya)
REFERENCES AngVERSIYA(nazvanie,versiya))
В ответ на данные запросы мы получим ответ сервера в виде фразы:
TABLE CREATED – таблица создана.
Запросы SQL для удаления таблиц выглядят следующим образом:
DROP TABLE AngTEXNXARAKT.
Для изменения данных в полях используется команда ALTER TABLE c добавлением фразы MODIFY, она изменяет следующие значения столбца: тип данных, размер, умалчиваемое значение, ограничение столбца NOT NULL. Во фразе MODIFY достаточно специфицировать имя столбца и модифицируемую часть определения.
Например:
Изменить стоимость программ с пятизначного числа на четырехзначное.
ALTER TABLE AngVERSIYA
MODIFY (stoimost NUMBER(4))
Для добавления нового столбца в таблицу используется команда ALTER TABLE c добавлением фразы ADD.
Например:
Добавить ограничение стоимости программ не равной нулю.
ALTER TABLE AngVERSIYA
ADD (CONSTRAINT nn_Stoimost NOT NULL Stoimost)