50476

Создание удаленной базы данных InterBase

Лабораторная работа

Информатика, кибернетика и программирование

Создайте домены таблицы БД используя ограничения целостности домена. Создайте таблицы со ссылочной целостностью и ограничением сущности. Заполнить таблицы данными не менее 5 записей. Создать триггер для изменения значений таблицы.

Русский

2014-01-24

1.35 MB

22 чел.

                                                             Выполнила: студентка НИУ «БелГУ»

                                                                 Переверзева О. С. Гр.141104

                                                             Проверили: преподаватели Сунцова А. И. и

                                                                  Петрова М. А.                   

Дата: «     »   __________ 20___

     Оценка: ____________

Отчет

по лабораторной работе №2

«Создание удаленной базы данных InterBase»

Модели данных «Магазин сувениров»

Задание:

  1.  Создайте базу данных согласно курсовой работе.
  2.  Создайте домены таблицы БД, используя ограничения целостности домена.
  3.  Создайте таблицы со ссылочной целостностью и ограничением сущности.
  4.  Заполнить таблицы данными (не менее 5 записей).
  5.  Создать представления (не менее 3).
  6.  Создать генераторы.
  7.  Создать триггеры для реализации ограничений ссылочной целостности и для занесения в ключевые столбцы уникальных значений.
  8.  Создать триггер для изменения значений таблицы.
  9.  Создать хранимые процедуры на добавление, изменение и удаление данных.

Контрольные вопросы:

1. Конструкция INNER JOIN

2. Конструкция OUTER JOIN

3. Конструкция FULL JOIN

4. Конструкция CROSS JOIN

5. Оператор CREATE TABLE

6. Оператор ALTER

7. Оператор DROP

8. Ограничения сущностей

9. Ограничения домена

10. Ограничения ссылочной целостности

11. Ограничения столбца

12. Создание представления

13. Удаление представления

14. Хранимые процедуры

15. Генераторы

16. Триггеры

   

NEW.PRT_ID_VIBITOGO_CHEKA=gen_id ("GEN_PRODAZA", 1);

Ответы на контрольные вопросы:

1. Конструкция INNER JOIN

Объединяет две таблицы, где каждая строка обоих таблиц в точности соответствует условию. Если для строки одной таблицы не найдено соответствие в другой таблице, то она не включается в набор. Формат:

SELECT column FROM table1 INNER JOIN table2 ON condition(условие)

2. Конструкция OUTER JOIN

Это внешнее объединение. Делится на LEFT JOIN и на RIGHT  JOIN.

LEFT – это левое внешнее объединение. Выбираются вне записи первой таблицы, даже если они не соответствуют записям во второй таблице. RIGHT – правое внешнее объединение. Выбираются все записи второй правой таблицы, даже если они не соответствуют записям левой первой таблицы.

3. Конструкция FULL JOIN

Это комбинация правого и левого объединения. Показывает строки из обеих таблиц: при наличии соответствия – это бъединенные данные, в противном случае – это null значения.

4. Конструкция CROSS JOIN

Перекрестное объединение, выводятся все комбинации строк (декартово произведение множеств). Каждой строке первой таблице соответствует каждая строка второй таблице.

5. Оператор CREATE TABLE

Создание таблицы заключается в задании имени и структуры таблицы и выполняется с помощью оператора create table. Формат:

CREATE TABLE table_name

(Column_name TYPE [ограничения],

[описание ключа],

[описание индекса] );

Обязательно должны быть заданы имя таблицы и как минимум один столбец.

Часть элементов структуры БД можно специфицировать на уровне столбца или на уровне таблицы.

Описание столбца имеет формат:

<описание столбца>={<имя>|<домен>|COMPUTED [BY]}

6. Оператор ALTER

Изменение таблицы выполняется оператором ALTER TABLE, который позволяет добавлять и удалять отдельные столбцы, а так же ограничения.

Удаляя и добавляя столбцы можно требуемым образом изменить состав таблицы. Если необходимо только немного изменить описание столбца, то рекомендуется поступать так:

  1.  Создать новый столбец с требуемым описанием;
  2.  Скопировать данные из старого столбца, описание которого изменяется, в новый столбец;
  3.  Удалить старый столбец.

7. Оператор DROP

Этот оператор позволяет удалить таблицу и имеет следующий формат:

DROP TABLE <имя таблицы>;

8. Ограничения сущностей

Ограничение сущностей полностью относится к отдельным строкам. В ограничении этого типа не рассматривается весь столбец, интерес представляет только какая-то конкретная строка. К ограничениям такого рода относятся ограничения примарного ключа и ограничению уникальности.

Изменение/создание примарного/уникального ключа после создания таблицы: ALTER TABLE List ADD CONSTRAINT PR_idList PRIMARY KEY(idList)

9. Ограничения домена

Домен представляет собой именованное описание столбца. После определение домена его имя можно использовать при описании других столбцов. Перед использованием домена его нужно создать при помощи оператора CREATE DOMAIN. Он имеет формат: CREATE DOMAIN <domain_name> [AS] <описание домена>

Имя созданного домена затем можно включать в описание столбцов. В отличии ограничений для столбца имя домена нельзя использовать в выражениях для ограничений, вместо имени домена в них используется слово value.

10. Ограничения ссылочной целостности

Действие ограничения ссылочной целостности заключается в следующем: если для записи главной таблицы имеется запись в подчиненной таблице/таблицах, то эту запись нельзя удалить, а так же изменить значения столбцов, образующих ключ.  Определение ограничения ссылочной целостности имеет следующий формат:

[CONSTRAINT <имя ограничения>]

FOREIGN KEY (список столбцов)

REFERENCES <имя главной таблицы> [<список ключа главной таблицы>]

При задании ограничений ссылочной целостности ключу (примарному или уникальному) главной таблицы ставится в соответствие внешний ключ подчиненной таблицы. Для описания внешнего ключа используются операнд FOREIGN KEY. Список этого операнда задает столбцы, по которым строится внешний ключ. В операнде REFERENCES указывается главная таблица. Описания столбцов ключа главной и подчиненной таблицы должны полностью совпадать. Ограничение ссылочной целостности, как и другие ограничения, именуется. Имя должно быть задана при определении ограничения в операнде CONSTRAINT.

11. Ограничения столбца

Ограничение столбца задавать не обязательно, однако его использование позволяет автоматизировать процесс ввода значений, предотвращать ошибки ввода и управлять порядком сортировки строк. Ограничение столбца имеет следующий формат:

[DEFAULT { <значение>| NULL | USER}]

[NOT NULL]

[COLLATE <порядок сортировки>]

[CHECK <условие>]

Операнд DEFAULT определяет для столбца значений по умолчанию, которое автоматически заносится в столбце при добавлении к таблице новой записи. Операнд NOT NULL указывает, что столбец не может быть пустым и в обязательном порядке должен содержать значение допустимого типа и диапазона. Операнд COllATE определяет порядок сортировки строковых значений. Операнд CHECK позволяет установить для столбца разнообразные условия, управляющие его значением. При редактировании записей столбцу разрешается присваивать только те значения, которые удовлетворяют заданным условиям.

12. Создание представления

Представление является логической (виртуальной) таблицей, записи в которую отобраны с помощью оператора SELECT. Преимущества просмотра заключается в том, что можно один раз отобрать записи и использовать из в дальнейшем без повторного выполнения оператора SELECT. Создание просмотра имеет следующий формат:

 CREATE VIEW <имя просм> [список столбцов]

 AS <инструкция SELECT>

[WITH CHECK OPTION]

Имя просмотра после его создания можно использовать как имя физической таблицы. Состав столбцов просмотра определяет список, который следует за именем просмотра. Если список столбцов не задан, то в просмотр отбираются все столбцы таблиц, указанных в операторе SELECT. Операнд WITH CHECK OPTION для редактируемого просмотра запрещает добавление записей, не удовлетворяющих условиям отбора, заданным в операторе SELECT.

13. Удаление представления

Удалить просмотр можно следующим оператором:

DROP VIEW<имя просмотра>;

DROP VIEW vStore;

14. Хранимые процедуры

Хранимая процедура представляет собой подпрограмму, расположенную на сервере и вызываемую из приложения клиента. Использование этих объектов. Увеличивает скорость доступа к БД по следующим причинам:

  1.  Вместо текста запроса, который может быть достаточно длинным, серверу передается по сети относительное обращение к хранимой процедуре;
  2.  Хранимая процедура, в отличии от запроса, не требует предварительной синтаксической проверки

По числу строк, возвращаемых в качестве результата, можно выделить следующие виды хранимых процедур:

  •  Процедура выбора, которая возвращает несколько строк, т.е. передает набор данных, записями в котором являются строки результатов;
  •  Исполняемые процедуры, которые возвращают одну строку, и обеспечивают тем самым возврат значений выходных параметров.

Вызов хранимой процедуры представляет собой обращение в процедуре с передачей исходных данных для обработки и последующим получением результатов.

Исходные данные передаются через входные параметры, а результаты возвращаются через выходные параметры.

15. Генераторы

Генератор – это механизм, формирующий уникальное число, после чего это число вставляется в указанное поле при операциях вставки или обновления записей. Генератор создается при помощи оператора CREATE GENERATOR:

CREATE GENERATOR generator_name;

В результате выполнения этого оператора в БД  будет создан новый генератор с указанным именем и его начальное значение будет установлено в 0. Чтобы получить очередное значение генератора используется функция GEN_ID(generator_name, step).
Функцию
gen_id() можно вызвать прямо из приложения из триггера или хранимой процедуры, а так же использовать в операторах INSERT, UPDATE или DELETE.

16. Триггеры

Триггер представляет собой процедуру, которая находится на сервере БД и вызывается автоматически при модификации записей БД. В отличии от хранимых процедур  триггеры нельзя вызывать из приложения клиента, а так же передавать им параметры и получать от них результаты. Шаблон создания триггера:

CREATE TRIGGER trigger_name FROM {table_name|view_name}

[ACTIVE | INACTIVE]

{BEFORE | AFTER} {DELETE | INSERT | UPDATE}

[POSITION number]

AS {trigger_body}

Оператор CREATE TRIGGER вводит определение триггера, которое состоит из заголовка и тела триггера. В заголовке указывается имя триггера, имя таблицы или представления. Тело триггера включает необязательный список объявление переменных, а так же набор операторов на языке триггеров и процедур InterBase, заключенных в операторные скобки BEGINEND.

В заголовке триггера можно употребить ключевое слово ACTIVE или INACTIVE. В первом случае триггер будет работать в указанных в его заголовке ситуациях, во втором не будет.  Ключевое слово INACTIVE используется в исключительно отладочных целях.

Следующие две группы ключевых слов задают шесть вариантов событий, при наступлении которых триггер активизируется: BEFORE DELETE – перед удалением, BEFORE INSERT – перед вставкой, BEFORE UPDATE – перед обновления, или же AFTER – перед этими действиями. С одной и той же таблицей может быть связано несколько триггеров. Для того, чтобы определить очередности их активизации в заголовке можно указать конструкцию POSITION.

Шаблон тела:

AS

BEGIN

[объявление переменных]

список операторов

END;

Переменные объявляются следующим образом:

DECLARE VARIABLE имя_переменной тип_данных

Для доступа к значениям столбца используется конструкции формата:

OLD.<имя_столбца>

NEW.<имя_столбца>

Первая позволяет обратиться к старому столбцу (до внесения изменения), а вторая к новому значению столбца (после внесения изменения).


 

А также другие работы, которые могут Вас заинтересовать

4725. Виды конфликтов в организации 110 KB
  У каждого человека в жизни есть свои цели, связанные с различными областями приложения. Каждый стремится достичь чего-то своего или по-своему. Но часто люди, связанные узами совместной деловой активности сталкиваются...
4726. Анализ организации устройства планирования и оборудования торгового предприятия на примере конкретного магазина - № 19 Борисовского ГПТ 480.5 KB
  Торговля Республики Беларусь, как одна из важных отраслей народного хозяйства на пути рыночных преобразований в настоящее время столкнулась с рядом проблем, которые привели эту отрасль в состояние глубокого кризиса. Кризис экономики в РБ за...
4727. Расчет электрического освещения 2.21 MB
  В цехе используется технологическое оборудование, которое и является основным потребителем электроэнергии, но в цехе есть и цепь освещения, которая потребляет сравнительно малое количество электроэнергии. На территории медногорского, термического отделений и в сварочном посту...
4728. Кривая производственных возможностей. Схема экономического кругооборота 68.5 KB
  Кривая производственных возможностей: содержание и графическое изображение. Нарисовать схему экономического кругооборота в рыночной экономике. Раскрыть содержание внутреннего и внешнего круга кругооборота. Экономическая теория изучает деятельнос...
4729. Социальная структура и социальная стратификация общества 135 KB
  Социальная структура и социальная стратификация общества. Понятие социальной структуры и социальной стратификации общества. Причины социальной стратификации. Методологические подходы к анализу социальной стратификации (марксистское учени...
4730. Соотношения между допусками размеров, формы и расположения поверхностей 155 KB
  Соотношения между допусками размеров, формы и расположения поверхностей Допуски размеров фактически полностью определяют точность формы и расположения поверхностей. Поскольку разнотолщинности призматической детали ограничена размерами...
4731. Проблемы отклонения социального поведения личности в условиях российского общества 94.5 KB
  Введение Девиантное поведение, понимаемое как нарушение социальных норм, приобрело в последние годы массовый характер и поставило эту проблему в центр внимания социологов, социальных психологов, медиков, работников правоохранительных органов. Опреде...
4732. Расчет стержневой конструкции на сложное сопротивление 135 KB
  Пояснительная записка представляет собой отчет о выполнении курсовой работы. Дано подробное решение стержневой конструкции на сложное сопротивление. Приведена исходная схема конструкции, построены эпюры поперечных и нормальных сил, а также...
4733. Соціологія, як наука. Її місце в системі наук 910.96 KB
  Предмет соціології та її місце в системі суспільної науки. Структура та функції соціології. Мета вивчення соціології. Societas – суспільство. Logos – наука...