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

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


 

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

41148. Лексические и фразеологические нормы русского литературного языка 142 KB
  Лексическое значение слова. Многозначные слова омонимы синонимы антонимы паронимы.Многозначные слова нужно отличать от омонимов. Если связь между значениями слов утрачена, значит это омонимы. Омонимы – слова одинаковые по звучанию, но разные по значению (жать руку- жать серпом)
41149. Способы задания плоскости на эпюре 592.5 KB
  Способы задания плоскости на эпюре Из курса элементарной геометрии известно что через три точки не лежащие на одной прямой можно провести плоскость и при том только одну. Таким образом положение плоскости в пространстве логично определить задать тремя точками точки А В С табл. Кроме этого положение плоскости в пространстве определяют: прямая АВ и точка С не лежащая на прямой табл.
41150. Изобарная и изохорная теплоемкости 80 KB
  3 где индекс х обозначает условия протекания процесса подвода теплоты – индекс указывает при каких условиях подводится теплота: при постоянном давлении или при постоянном объеме.2 то можно предположить что поскольку при постоянном объеме внешняя теплота равна изменению внутренней энергии а при постоянном давлении – изменению теплосодержания рабочего тела то в общем случае это должны быть разные количества теплоты. Другими словами количество теплоты для увеличения температуры на 1 градус при постоянном давлении будет отличаться от...
41151. Преобразование треугольника в эквивалентную звезду. Метод контурных токов 134 KB
  Преобразование треугольника в эквивалентную звезду. Преобразованием треугольника в эквивалентную звезду называется такая замена части цепи соединенной по схеме треугольником цепью соединенной по схеме звезды при которой токи и напряжения в остальной части цепи сохраняются неизменными. под эквивалентностью треугольника и звезды понимается то что при одинаковых напряжениях между одноименными зажимами токи входящие в одноименные выводы одинаковы. Преобразование треугольника в звезду.
41152. Программные средства обеспечения безопасности передачи данных в компьютерных сетях 320.5 KB
  Введение Интенсивное развитие глобальных компьютерных сетей появление новых технологий поиска информации привлекают все больше внимания к сети Internet со стороны частных лиц и различных организаций. Развитие глобальных сетей привело к многократному увеличению количества не только пользователей но и атак на компьютеры подключенные к сети Internet. При подключении к Internet локальной или корпоративной сети необходимо позаботиться об обеспечении информационной безопасности в этой сети. В сфере компьютерных сетей межсетевой экран представляет...
41153. Применение Первого начала термодинамики для процессов идеального газа 218 KB
  Т =const Если Т =const то после подстановки в уравнение состояния 4.4 получим pV = const или pv = const 4. В соотвествии с 1 внутрення энергия пропорциональна температуре U  T или dU  dT другими словами dU = CVdT где CV коэффициент пропорциональности CV теплоемкость газа при постоянном объеме Дж кг К Если Т =const то dT =0 и U = 0.7: pv = const следовательно pv=...
41154. Формирование уставного капитала и имущества организации, их состав и назначение. Определение потребности в основных и оборотных средствах, показатели использования 135.5 KB
  Определение потребности в основных и оборотных средствах показатели использования.Основные средства предприятия. Состав основных средств структура и воспроизводственная характеристика. Классификация основных средств основных фондов и ее экономическое значение.
41155. ТОВАР В СИСТЕМЕ МАРКЕТИНГА 1.06 MB
  Основные журналы по изучению товара в системе маркетинга Содержание товара как инструмента комплекса маркетинга. Услуги как особый вид товара в системе маркетинга. Концепция товарного ассортимента решения относительно товара продуктовой линии и упаковки.
41156. УЧЕТ ДЕНЕЖНЫХ СРЕДСТВ И ИХ ЭКВИВАЛЕНТОВ 138 KB
  Управление денежными средствами становится все более важным изза огромной сложности финансовых рынков. Правильное раскрытие и классификация денежных средств и их эквивалентов необходимы для точной оценки ликвидности компании. В МСБУ 7 Отчеты о движении денежных средств даны следующие определения денежным средствам их эквивалентам и потокам денежных средств: Денежные средства включают наличные деньги и вклады до востребования. Эквивалент денежных средств – краткосрочные высоколиквидные вложения...