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.<имя_столбца>

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


 

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

78691. Воспитание гуманистического отношения к природе у учащихся в процессе изучения естественнонаучных дисциплин 943 KB
  Объект исследования: процесс воспитания гуманистического отношения к природе у учащихся средней и старшей ступеней общеобразовательной школы в ходе освоения ими содержания естественнонаучных дисциплин. Предмет исследования: педагогические средства, условия, факторы успешности процесса воспитания...
78692. ФАКТОР СОЦИАЛЬНОЙ БЕЗОПАСНОСТИ В ИНСТИТУЦИОНАЛЬНОМ КОНТЕКСТЕ СОВРЕМЕННОЙ РОССИИ 246.77 KB
  Конец прошлого столетия в Российской Федерации характеризуется такими понятиями, как: политически нестабильная обстановка, экономический дефолт и демографический кризис. Как правило, за черной полосой наступает белая, поэтому на данный момент времени можно смело утверждать...
78693. ОЦЕНКА ЭФФЕКТИВНОСТИ ПРОЕКТОВ И ПРОГРАММ РЕНОВАЦИИ ЖИЛИЩНОГО ФОНДА 3.06 MB
  Целью диссертационного исследования является разработка методики оценки эффективности проектов реновации жилых зданий с учетом интересов субъектов инвестиционного процесса, и решение на этой основе вопросов экономического обоснования и формирования программ реновации жилищного фонда.
78694. «Северный край» - печатный орган оппозиции губерний Севера и Верхнего Поволжья конца XIX – начала XX веков 1.23 MB
  Конец XIX – начало XX в. для российской печати стали временем количественного и качественного роста. Данная тенденция в полной мере характерна и для столичной, и для провинциальной журналистики. Причин перехода отечественной прессы на новую ступень эволюции в это время несколько.
78695. Методические основы оценки конкурентной позиции предприятия на примере рынка водки г. Москвы 1.55 MB
  Между тем разработанные механизмы оценки взаимодействия конкCрентной и внутренней среды предприятия не позволяют определять эффе:тивность решений с точки зрения улучшения или укрепления конкурентной позиции предприятия относительно других производителей.
78696. МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ОЦЕНКИ АССОРТИМЕНТНОЙ ПОЛИТИКИ ПРЕДПРИЯТИЙ МЕБЕЛЬНОЙ ПРОМЫШЛЕННОСТИ 1.36 MB
  Практика реформирования экономики России наглядно продемонстрировала, что недооценка микроэкономических предпосылок роста реального сектора экономики может привести к негативному влиянию на экономическое развитие, к значительным потерям ресурсов и увеличению продолжительности реформ.
78697. Коррекция девиантного поведения подростков в условиях оздоровительно-образовательных центров 440.33 KB
  Рост девиантного поведения различных возрастных категорий населения несовершеннолетней молодежи обозначил актуальность проблемы организации профилактической работы с детьми и молодежью, но в связи с тем, что реализация профилактических технологий осуществляется с детьми...
78698. ПРАВОВЫЕ ОТНОШЕНИЯ В ИНФОРМАЦИОННОЙ СФЕРЕ 2.51 MB
  Сегодня все больше увеличивается значение информации в самых различных социальных процессах. Активное использование средств обработки и передачи информации развитие новых технологий вызывает существенные изменения в экономической политической и иных сферах общественной жизни.
78699. Ідея розвитку у працях Я. А. Коменського, М. Монтеня, Ж.-Ж. Руссо 69.5 KB
  Мета даного реферату - розкрита одну з головних проблем сучасної педагогіки, а саме проблему розвиваючого навчання. Можна із впевненістю сказати, що запровадження розвиваючого навчання в сучасну школу має величезне педагогічне значення.