Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лабораторная работа № 2. Создание баз данных посредством SQL



Цель работы – изучить возможности создания баз данных посредством инструкций SQL, правила задания ограничений различных типов, а также запросов на добавление, обновление, удаление информации из базы данных

 

· Теоретические сведения

Условия целостности данных

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

Как правило, в реляционных БД используются следующие условия целостности:

- Обязательное наличие данных. Некоторые столбцы базы данных должны обязательно содержать некоторые определенные значения, т.е. для них не допускаются значения NULL. В качестве примера из рассмотренного выше примера учебной базы данных такими столбцами являются, очевидно, столбцы Fname, Lname и некоторые другие. Стандарт ANSI/ISO и большинство коммерческих СУБД (ORACLE в частности) поддерживают выполнение подобного условия посредством ограничения NOT NULL.

- Условие на значение. Во многих коммерческих СУБД при создании базы данных для некоторых столбцов таблиц можно назначить условия на принимаемые ими значения. Данные условия задаются в инструкциях по созданию таблиц посредством так называемых check conditions. В качестве примера можно рассмотреть фрагмент инструкции create table для создания таблиц:

create table staff (sno integer not null,

age integer,

check (sno between 101 and 199),

check (age > =21));

- Целостность таблицы (сущности). Первичный ключ таблицы должен в каждой строке иметь уникальное значение и не допускать значений NULL. Создание первичных ключей таблиц в БД поддерживается СУБД посредством ограничения primary key.

- Деловые правила. Обновление информации в базе данных может быть ограничено так называемыми деловыми правилами. Так в системе можно запретить принимать заказы на определенный вид продукции, в случае если на складе не имеется её достаточного количества. Реализация данных правил в СУБД может реализовываться посредством автоматически запускаемых процедур, запуск которых осуществляется после выполнения некоторых из операций по изменению содержимого записей базы. Такие процедуры сохраняются в откомпилированном виде в базе и являются наряду с таблицами также объектами базы. Эти процедуры называются триггерами, и при создании “прикрепляются ” к определенным таблицам, а также настраиваются на определенные операции изменения записей этих таблиц.

- Непротиворечивость. Многие реальные операции вызывают в базе данных несколько изменений одновременно. Например, операция увольнения сотрудника должна реально сопровождаться переводом всех выполняемых им работ на какого-то другого сотрудника, либо путем временного задания значений NULL или значений по умолчанию для некоторых предназначенных для этого столбцов. Зачастую последовательное выполнение инструкций, в совокупности решающих общую задачу по изменению информации в базе данных с соблюдением конечного непротиворечивого состояния базы данных, решается СУБД посредством поддержки механизма транзакций. Транзакция считается успешно завершенной, если каждая из операций входящих в неё выполнена успешно. Подтверждением успешного завершения является выполнение инструкции commit. В случае неуспешного завершения хотя бы одной из операций, транзакция должна отменить все произведённые ранее изменения в базе и перевести её в начальное непротиворечивое состояние посредством инструкции rollback. Выполнение инструкции rollback вызывает “откат” текущей транзакции.

- Ссылочная целостность. В рассматриваемом контексте нарушение целостности может случится при выполнении операций удаления или обновления над связанными строками различных таблиц базы данных. Стандартом ANSI/ISO регламентированы правила удаления и обновления связанных строк таблиц. Таких правил четыре:

- restrict – Правило, запрещающее удалять или обновлять строки-предки, в случае если на них ссылаются строки-потомки из других таблиц базы данных. В некоторых СУБД данное правило носит название no action. Следует также иметь в виду, что данное правило зачастую воспринимается СУБД по умолчанию.

- cascade – Правило, в соответствии с которым СУБД производит автоматическое (каскадное) удаление или обновление значений в некоторых столбцах строк-потомков при удалении или изменении соответствующих им столбцов в строках-предках. Данное правило опасно в употреблении, в случае если в базе существуют разнообразные множественные связи. Правило реализуется посредством ограничения foreign key посредством фраз on delete или on update cascade.

- set null и set default – Правила, регламентируемые стандартом ANSI/ISO, однако не поддерживаемые СУБД ORACLE. В соответствии с ними при удалении или изменении первичного ключа строки-предка во внешнем ключе строки-потомка устанавливаются значения null или значения по умолчанию.

 

Создание таблиц

Инструкция create table SQL позволяет создавать таблицы БД и ограничения на значения столбцов, а также создавать связи типа первичный ключ - внешний ключ между таблицами.

Синтаксическая диаграмма данной инструкции представлена на рисунке 1.

 

 
 

 


 

Рисунок 1 Cсинтаксическая диаграмма create table

Создание таблицы ORDERS посредством create table можно продемонстрировать следующим примером, на рисунке 2 продемонстрированы таблицы и предполагаемые связи, создаваемые между ними.

 

Рисунок 2 Пример именованных таблиц и именованных связей между ними

 

create table orders (ord_n integer not null,

ord_date date not null,

cust_n varchar2(5) not null,

sale_n varchar2(5) not null,

prod_n varchar2(10) not null,

qty integer,

amount integer,

primary key (ord_n),

unique (ord_n),

constraint placed_by foreign key (cust_n) references customers on delete cascade,

constraint taken_by foreign key (sale_n) references salesreps,

constraint is_for foreign key (prod_n) references products);

 

 

· Варианты заданий

1. Создать базу данных малого коммерческого предприятия (таблицы сотрудников, заказчиков, продукции, заказов) со всеми необходимыми ограничениями и именованными связями между таблицами.

 

2. Создать базу данных произвольного сборочного производства. Предварительно зарисовать иерархическую структуру используемых деталей. Уровни иерархии выдерживать по этапам сборки. Перенести иерархию на таблицы реляционной базы данных с организацией связей между таблицами, отражающими реальные связи между этапами сборки.

 

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

 

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

1. Какие типы ограничений, используются при создании таблиц?

2. Какие правила можно использовать для обеспечения ссылочной целостности при создании связанных таблиц БД?

3. Объясните порядок задания определения столбцов и ограничений при создании таблиц в инструкции create table?

 

 


Поделиться:



Популярное:

  1. B2 (базовый уровень, время – 4 мин)
  2. I WORK UNDER MANY DIFFICULTIES (я работаю в трудных условиях: «под многими сложностями»)
  3. I ЭТАП: ОБСЛЕДОВАНИЯ (СБОР ДАННЫХ)
  4. III. Вид работы: «Использование информационной базы данных»
  5. IV. Анализ и обработка данных.
  6. А. В. Петровский разработал следующую схему развития групп. Он утверждает, что существует пять уровней развития групп: диффузная группа, ассоциация, кооперация, корпорация и коллектив.
  7. Авторское право - правовое положение авторов и созданных их творческим трудом произведений литературы, науки и искусства.
  8. Адресная, данных, управления
  9. Анализ и интерпретация данных экспериментально-психологического исследования
  10. Анализ исходных данных и разработка математической модели
  11. Анализ экспериментальных данных
  12. Анализируя опыт мирового развития, можно выделить пять наиболее типичных моделей капиталистической экономики, базирующейся на многообразии форм собственности.


Последнее изменение этой страницы: 2016-07-13; Просмотров: 1002; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь