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

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


 

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

28176. Голография. Схема записи и восстановления голограмм. Запись голограмм на толстослойных эмульсиях. Применение голограмм 115 KB
  Схема записи голограммы представлена на рисунке 1. Денисюк осуществил запись голограммы в трехмерной среде объединив таким образом идею Габора с цветной фотографией Липпмана. Тогда участки голограммы с максимальным пропусканием света будут соответствовать тем участкам фронта предметной волны в которых ее фаза совпадает с фазой опорной волны. Поэтому при последующем освещении голограммы опорной волной в ее плоскости образуется то же распределение амплитуды и фазы которое было у предметной волны чем и обеспечивается восстановление...
28177. Искусственная анизотропия, создаваемая в результате механического деформирования, воздействия электрического (эффекты Керра и Поккельса) и магнитного (эффект Коттона - Мутона) поля. Естественная и искусственная (эффект Фарадея) оптическая активность 51 KB
  Искусственная анизотропия создаваемая в результате механического деформирования воздействия электрического эффекты Керра и Поккельса и магнитного эффект Коттона Мутона поля. Естественная и искусственная эффект Фарадея оптическая активность Среды в которых скорость распространения света в различных направлениях неодинакова называют оптически анизотропными. был открыт эффект Керра возникновение двулучепреломления под действием электрического поля рисунок 2. Явление Керра квадратичный электрооптический эффект объясняется...
28178. Тепловое излучение тел и его законы. Ультрафиолетовая катастрофа. Формула Планка 102 KB
  Отличительной чертой теплового излучения является то что оно возникает за счет внутренней энергии тела. Тепловое излучение имеет сплошной спектр положение максимума в спектральной кривой излучения зависит от температуры. При полном термодинамическом равновесии все части системы имеют одинаковую температуру и энергия теплового излучения испускаемого каждым телом компенсируется энергией поглощаемого этим телом теплового излучения других тел. Спектр равновесного излучения не зависит от природы вещества.
28179. Фотоэффект. Основные законы внешнего фотоэффекта. Уравнение Эйнштейна. Внутренний фотоэффект. Фотоэлементы и их применение 87.5 KB
  Фотоэффект. Основные законы внешнего фотоэффекта. Внутренний фотоэффект. Явление вырывания электронов с поверхности вещества под действием электромагнитного излучения называется внешним фотоэффектом.
28180. Поглощение (абсорбция) света веществом. Закон Бугера. Элементарная квантовая теория излучения и поглощения света. Спонтанные и вынужденные переходы. Коэффициенты Эйнштейна. Условие усиления света 165 KB
  Элементарная квантовая теория излучения и поглощения света. Условие усиления света Под действием электромагнитного поля световой волны проходящей через вещество возникают колебания электронов среды с чем связано уменьшение энергии излучения затрачиваемой на возбуждение колебаний электронов. Частично эта энергия восполняется в результате излучения электронами вторичных волн частично она может преобразовываться в другие виды энергии. Действительно опытным путем установлено а затем и теоретически доказано Бугéром что интенсивность...
28181. Лазеры. Принципиальная схема лазера. Основные структурные элементы лазера и их назначение. Типы лазеров. Основные характеристики лазеров 181 KB
  Каждому радиационному переходу между энергетическими уровнями и в спектре соответствует спектральная линия характеризующаяся частотой и некоторой энергетической характеристикой излучения испущенного для спектров испускания поглощенного для спектров поглощения или рассеянного для спектров рассеяния атомной системой. При этом распространение излучения в среде обязательно сопровождается уменьшением его интенсивности выполняется закон Бугера где интенсивность излучения вошедшего в вещество d толщина слоя коэффициент...
28182. Оптика движущихся сред. Эффект Доплера. Поперечный и продольный эффект Доплера 194 KB
  Он гласит: все физические законы независимы инвариантны по отношению к выбору инерциальной системы отсчёта. Это означает что уравнения выражающие законы физики имеют одинаковую форму во всех инерциальных системах отсчёта. Поэтому на основе любых физических экспериментов нельзя выбрать из множества инерциальных систем отсчёта какуюто главную абсолютную систему отсчёта обладающую какимилибо качественными отличиями от других инерциальных систем отсчёта. Она одинакова во всех направлениях в пространстве и во всех инерциальных системах...
28183. Поляризация света. Способы получения поляризованного света. Закон Малюса. Поляризационные призмы 238.5 KB
  Явление поляризации света было открыто Эразмусом Бартолинусом, датским учёным, в 1669 году. В своих опытах Бартолинус использовал кристаллы исландского шпата, имеющие форму ромбоэдра. Если на такой кристалл падает узкий пучок света, то, преломляясь
28184. Распространение света в изотропных средах. Отражение и преломление света на границе между диэлектриками. Основные законы геометрической оптики. Формулы Френеля 146 KB
  При этом падающий отражённый и преломленный лучи лежат в одной плоскости с перпендикуляром восстановленным к границе раздела сред в точке падения О. Углы соответственно углы падения отражения преломления волн. Амплитуду падающей волны разложим на составляющие Ер параллельную плоскости падения и Еs перпендикулярную плоскости падения. Для составляющих вектора Е перпендикулярных плоскости падения рисунок 3 выполняются условия в которых индексы при Е и p при Н опущены: .