- •Содержание
- •Введение
- •1Лабораторная работа № 1 Создание концептуальной модели предметной области
- •1.5Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •2Лабораторная работа № 2 Создание и заполнение реляционной базы данных с помощью языка sql
- •2.1Цель лабораторной работы
- •2.2Задачи лабораторной работы
- •2.3Задание
- •2.4Методика выполнения задания
- •Этап 1. Создание структуры реляционной базы данных и ее модификация
- •Этап 2. Выполнение операций вставки, обновления и удаления данных
- •Этап 3. Выполнение операций выборки данных из одной таблицы
- •2.5Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •3.4Методика выполнения задания
- •Этап 1. Сортировка и встроенные функции
- •Этап 2. Вложенные запросы и операция соединения
- •Этап 3. Создание и обновление представлений
- •3.5Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •4Лабораторная работа № 4 Разработка триггеров и хранимых процедур
- •4.5Курсоры
- •4.6Хранимые процедуры
- •4.7Триггеры
- •4.8Методика выполнения задания
- •4.9Требования к оформлению и содержанию отчета
- •4.10 Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •Список литературы
- •Приложение 1 Варианты заданий для лабораторной работы № 1
- •1. Страховая компания
- •2. Гостиница
- •3. Ломбард
- •4. Реализация готовой продукции
- •5. Ведение заказов
- •6. Бюро по трудоустройству
- •7. Нотариальная контора
- •8. Химчистка
- •9. Курсы повышения квалификации
- •10. Сдача в аренду торговых площадей
- •11. Распределение учебной нагрузки
- •12. Распределение дополнительных обязанностей
- •13. Техническое обслуживание станков
- •14. Туристическая фирма
- •15. Грузовые перевозки
- •Приложение 2 Построение концептуальной модели предметной области в пакете AllFusion eRwin Data Modeler Введение
- •5Описание интерфейса
- •6Создание логической модели данных
- •6.1Сущности и атрибуты
- •6.2Связи
- •6.3Ключи
- •1. Табельный номер,
- •7Создание физической модели данных
- •7.1Выбор сервера
- •7.2Таблицы и колонки
- •Приложение 3. Примеры кода на языке sql
- •Операторы ddl (Data Definition Language)
- •Определение первичных и альтернативных ключей с помощью оператора alter
- •Выборка данных – select
- •Внешние соединения
- •Представления
Операторы 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 ПРОЕКТ;
|
