Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование и разработка баз данных. Лаборат...doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3.07 Mб
Скачать

Операторы ddl (Data Definition Language)

Листинг 1

CREATE TABLE ПРОЕКТ

(ИдПроекта Integer Primary Key,

Название Char(25) Unique Not Null,

Отдел VarChar(100) Null,

МаксТрудозатраты Numeric(6,1) Default 100);

Листинг 2

CONSTRAINT SalesPriceRange

CHECK ((SalesPrice > 1000) AND (SalesPrice <= 200000))

CONSTRAINT BirthValuesCheck

CHECK (BirthDate < DeceasedDate)

Листинг 3

CONSTRAINT NationalityValues

CHECK (Nationality IN

('Canadian', 'English', 'French', 'German',

'Mexican', 'Russian', 'Spanish', 'US'));

CONSTRAINT ValidBirthYear

CHECK (BirthDate LIKE '[l-2][0-9][0-9][0-9]');

Определение первичных и альтернативных ключей с помощью оператора alter

Листинг 4. Добавление ограничений с помощью оператора ALTER

CREATE TABLE ПРОЕКТ

(ИдПроекта Integer Primary Key,

Название Char(25) Unique Not Null,

Отдел VarChar(l00) Null,

МаксТрудозатраты Numeric(6,1) Default 100);

CREATE TABLE СОТРУДНИК

(ТабельныйНомер Integer Not Null,

Имя Char(25)

Телефон Char(8),

Отдел VarChar(100));

ALTER TABLE СОТРУДНИК

ADD CONSTRAINT СотрудникПК PRIMARY KEY (ТабельныйНомер);

CREATE TABLE НАЗНАЧЕНИЕ

(ИдПроекта Integer Not Null,

НомерСотрудника Integer Not Null,

ФактТрудозатраты Numeric(5,2) Default 10,

CONSTRAINT НазначениеПК PRIMARY KEY (ИдПроекта, НомерСотрудника));

ALTER TABLE НАЗНАЧЕНИЕ

ADD CONSTRAINT СотрудникВК

FOREIGN KEY (НомерСотрудника) REFERENCES СОТРУДНИК(ТабельныйНомер)

ON UPDATE CASCADE

ON DELETE NO ACTION;

ALTER TABLE НАЗНАЧЕНИЕ

ADD CONSTRAINT ПроектВК

FOREIGN KEY (ИдПроекта) REFERENCES ПРОЕКТ(ИдПроекта)

ON UPDATE CASCADE

ON DELETE CASCADE;

Листинг 5. Еще один способ определения ограничений

CREATE TABLE ПРОЕКТ

(ИдПроекта Integer Primary Key,

Название Char(25) Unique Not Null,

Отдел VarChar(100) Null,

МаксТрудозатраты Numeric(6,1) Default 100);

CREATE TABLE СОТРУДНИК

(ТабельныйНомер Integer Not Null,

Имя Char(25),

Телефон Char(8),

Отдел VarChar(100),

CONSTRANT СотрудникПК Primary Key(ТабельныйНомер));

CREATE TABLE НАЗНАЧЕНИЕ

(ИдПроекта Integer Not Null

FOREIGN KEY REFERENCES ПРОЕКТ(ИдПроекта),

НомерСотрудника Integer Not Null,

ФактТрудозатраты Numeric(5,2) Default 10,

CONSTRAINT НазначениеПК PRIMARY KEY (ИдПроекта, НомерСотрудника),

FOREIGN KEY (НомерСотрудника) REFERENCES

СОТРУДНИК(ТабельныйНомер));

Операторы DROP

Листинг 6

DROP TABLE ПРОЕКТ;

ALTER TABLE НАЗНАЧЕНИЕ DROP CONSTRAINT ПроектВК; – удаление ограничения

Модификация столбцов таблицы

Добавление столбца:

ALTER TABLE ПРОЕКТ ADD Описание varchar(100) Not NULL

Изменение ранее созданного столбца – разрешение на хранение пустых значений:

ALTER TABLE ПРОЕКТ ALTER COLUMN Описание varchar(100) NULL

Удаление столбца:

ALTER TABLE ПРОЕКТ DROP COLUMN Описание

Операторы DML (Data Manipulation Language)

Средства модификации данных языка SQL

Листинг 7

INSERT INTO ПРОЕКТ VALUES

(1600, 'КВ4 Подготовка налогового отчет', 'Бухгалтерия', 100);

Листинг 8

INSERT INTO ПРОЕКТ (Название, ИдПроекта) VALUES

('KB4 Подготовка налогового отчета', 1700);

Листинг 9. Если ИдПроекта является суррогатным ключом:

INSERT INTO ПРОЕКТ VALUES ('KB4 Подготовка налогового отчета', 'Бухгалтерия', 100);

Листинг 10. Если требуется скопировать большое количество данных из другой таблицы

INSERT INTO СОТРУДНИК1 (Имя, ТабельныйНомер)

SELECT Имя, ТабельныйНомер FROM СОТРУДНИК;

Листинг 11

UPDATE СОТРУДНИК

SET Телефон = '287-1435'

WHERE Имя = 'Джеймс Нестор';

Листинг 12

UPDATE СОТРУДНИК

SET Телефон = '287-1435', Отдел = 'Производство'

WHERE ТабельныйНомер = 200;

Листинг 13

DELETE

FROM ПРОЕКТ

WHERE Отдел = 'Бухгалтерия';

Листинг 14

DELETE

FROM ПРОЕКТ;