БАЗЫ ДАННЫХ - vlsu.rue.lib.vlsu.ru/bitstream/123456789/2746/1/00274.pdfнизации...

24
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых» Кафедра вычислительной техники БАЗЫ ДАННЫХ Методические указания к лабораторным работам Составитель И. Р. ДУБОВ Владимир 2012

Upload: others

Post on 03-Feb-2020

45 views

Category:

Documents


0 download

TRANSCRIPT

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования «Владимирский государственный университет

имени Александра Григорьевича и Николая Григорьевича Столетовых»

Кафедра вычислительной техники

БАЗЫ ДАННЫХ

Методические указания к лабораторным работам

Составитель И. Р. ДУБОВ

Владимир 2012

1

2

УДК 004.65 ББК 32.973.233

Б17

Рецензент Доктор технических наук, профессор

Владимирского государственного университета имени Александра Григорьевича и Николая Григорьевича Столетовых

М. Ю. Монахов

Печатается по решению редакционно-издательского совета ВлГУ

Базы данных : метод. указания к лаборатор. работам /

Владим. гос. ун-т имени Александра Григорьевича и Николая Григорьевича Столетовых ; сост. И. Р. Дубов. – Владимир : Изд-во ВлГУ, 2012. – 24 с. Даны методические указания для выполнения четырех лабораторных ра-

бот по курсу «Базы данных». В лабораторных работах изучаются средства орга-низации запросов к базе данных, инфологическое проектирование базы данных, средства обеспечения целостности базы данных и использование хранимых про-цедур и триггеров.

Предназначены для студентов направления 230100 – Информатика и вы-числительная техника очной и заочной форм обучения.

Рекомендовано для формирования профессиональных компетенций в со-ответствии с ФГОС 3-го поколения.

Библиогр.: 3 назв.

УДК 004.65 ББК 32.973.233

Б17

2

3

Введение

В настоящее время большинство эксплуатируемых и разрабатывае-мых корпоративных информационных систем используют для хранения данных и доступа к ним сторонние системы управления базами данных (СУБД). Особую роль в теории баз данных играет реляционная алгебра, которая является математически обоснованным аппаратом для разработ-ки эффективных структур хранимых данных и для средств доступа к дан-ным. Язык SQL позволяется выразить операции реляционной алгебры в виде формального языка запросов и получил широкое распространение. Благодаря наличию стандарта на язык SQL программирование взаимо-действий приложений с СУБД стало единообразным для различных язы-ков программирования приложений и программных платформ.

Курс «Базы данных» дает студентам основные понятия о реля-ционной алгебре и языке запросов SQL. В процессе выполнения предлагаемых лабораторных работ студенты должны глубже изучить теоретический материал и получить соответствующие практические навыки. Для успешного изучения выполнения лабораторных работ студенты должны знать основы теории множеств и прослушать соот-ветствующие разделы лекционного курса.

Первая лабораторная работа предназначена для получения студен-тами практического опыта использования языка запросов SQL. В ней студенты составляют запросы к базе данных различной сложности, ис-пользуя такие средства, как условное соединение, фильтрация, проекция, группировка данных, агрегатные функции, вложенные подзапросы. Вто-рая лабораторная работа посвящена проблеме разработки эффективной структуры базы данных. В этой работе студенты должны выполнить ин-фологическое проектирование базы данных в соответствии с правилами нормализации и освоить процедуру получения реляционной модели базы данных из модели «сущность-связь». В третьей лабораторной работе студенты должны получить представление о средствах поддержания це-лостности базы данных. Исследуются вопросы ссылочной целостности базы данных и декларативные средства обеспечения целостности. Чет-вертая лабораторная работа предназначена для получения представлений о процедурной части языка SQL. С этой целью студенты должны нау-читься разрабатывать хранимые процедуры и использовать их для вы-полнения обработки данных на стороне сервера баз данных.

3

4

Лабораторная работа № 1 Изучение средств формирования SQL запросов

к СУБД MS SQL Server

Цель работы. Изучить средства формирования SQL запросов к системе управления базами данных.

Теоретические положения Для получения данных из реляционной базы данных предназна-

чен оператор SELECT, который имеет следующий формат:

SELECT [ALL | DISTINCT] (<список полей> | *) FROM <список таблиц> [WHERE <предикат условия>] [GROUP BY <список полей результата>] [HAVING <предикат условия>] [ORDER BY <список полей>]

Здесь используются следующие обозначения: • ALL – результирующая таблица содержит все строки, в

том числе повторяющиеся; • DISTINCT – результирующая таблица содержит только

различающиеся строки; • * – результирующая таблица содержит все столбцы, полу-

ченные из части FROM; • FROM – предложение, в котором указывается исходная

таблица или операция декартова произведения, или опера-ция соединения таблиц;

• WHERE – предложение, которое содержит предикат вы-борки;

• GROUP BY – предложение, в котором указываются столб-цы, по которым выполняется группирование строк;

• HAVING – предложение, которое содержит предикат для фильтрации групп (а не отдельных строк);

• ORDER BY – предложение, содержащее список столбцов, по которым должно выполняться упорядочивание (ASC – по возрастанию, DESC – по убыванию).

4

5

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

• INNER – внутреннее соединение. Выбираются пары строк, для которых выполняется условие соединения, заданное предикатом в предложении ON;

• LEFT – левое внешнее соединение. В результат включает-ся внутреннее соединение таблиц, к которому добавляются строки из левой таблицы, не вошедшие во внутреннее со-единение. Строки из левой таблицы, не вошедшие во внутреннее соединение, дополняются значениями NULL в соответствии со схемой результирующей таблицы;

• RIGHT – правое внешнее соединение. В результат вклю-чается внутреннее соединение таблиц, к которому добав-ляются строки из правой таблицы, не вошедшие во внут-реннее соединение. Строки из правой таблицы, не вошед-шие во внутреннее соединение, дополняются значениями NULL в соответствии со схемой результирующей табли-цы;

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

В языке SQL предусмотрены следующие основные агрегатные функции:

• COUNT({[ALL | DISTINCT] <имя атрибута> | *}) – количест-во строк с непустыми значениями атрибута. Если *, то коли-чество всех строк таблицы независимо от содержания. Для числовых и символьных атрибутов;

• SUM([ALL | DISTINCT] <имя атрибута>) – сумма значений. Для числовых атрибутов;

5

6

• AVG([ALL | DISTINCT] <имя атрибута>) – среднее значение. Для числовых атрибутов;

• MIN([ALL | DISTINCT] <имя атрибута>) – минимальное зна-чение. Для числовых и символьных атрибутов;

• MAX([ALL | DISTINCT] <имя атрибута>) – максимальное значение. Для числовых и символьных атрибутов.

Порядок выполнения работы 1. Ознакомиться со своим вариантом задания. 2. Разработать схемы таблиц для предметной области. Таблиц

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

3. Разработать запросы, полезные для работы в предметной облас-ти. Запросы должны содержать реализации следующих опера-ций реляционной алгебры:

1) выборка из всех трех таблиц; проекция и выборка из всех трех таблиц;

2) внутреннее условное соединение двух таблиц; естествен-ное соединение двух таблиц;

3) условное соединение (внутреннее) трех таблиц; 4) внешнее соединение двух таблиц (левое, правое, полное); 5) объединение двух таблиц (можно использовать объедине-

ние выборок из одной и той же таблицы); 6) вычисление всех агрегатных функций; 7) упорядочивание данных; 8) группирование данных.

4. Запустить консольную программу для работы с СУБД. Имя учетной записи и пароль узнать у преподавателя.

5. Создать базу данных. 6. Создать таблицы. 7. Заполнить таблицы значениями. В каждой таблице должно быть

не менее десяти строк. 8. В редакторе SQL-запросов выполнить разработанные запросы.

Текст SQL-скриптов с запросами сохранить в файл. Результаты запросов также сохранять в файл.

6

7

Рекомендации 1. Для создания базы данных надо выполнить команду CREATE

DATABASE <имя базы данных>. 2. Для того чтобы созданная база данных стала текущей для по-

следующих действий, выполнить команду USE <имя базы дан-ных>.

3. Создать таблицы, используя команду CREATE TABLE. Напри-мер,

CREATE TABLE E (fio CHAR(20), disc CHAR (30), mark INTEGER)

4. Для добавления новых значений в базу данных использовать оператор INSERT, например,

INSERT INTO g(fio, gr) VALUES('Petrov', 'IVT-200') 5. Для изменения данных использовать оператор UPDATE, а для

удаления записей – DELETE. 6. Для сохранения результатов запроса в файл следует в окне ре-

зультирующей таблицы выполнить команду локального меню «Select All» и команду сохранения в файл.

Содержание отчета 1. Формулировка варианта индивидуального задания. 2. Все таблицы с исходными данными. 3. Тексты всех разработанных SQL-скриптов. Команды создания

таблиц должны сопровождаться письменным объяснением на-значения таблиц и их атрибутов.

4. Результаты выполнения запросов и объяснение полученных ре-зультатов.

5. Выводы по работе.

Контрольные вопросы 1. Операции реляционной алгебры. 2. Оператор SELECT и реализация с его помощью операций реля-

ционной алгебры. 3. Обобщающие функции. 4. Группирование записей.

7

8

Лабораторная работа № 2 Разработка инфологической модели данных

Цель работы. Изучить порядок разработки баз данных.

Теоретические положения Инфологическая модель – формализованное логическое описа-

ние предметной области, не зависящее от конкретной СУБД. Один из методов представления инфологической модели – модель «сущность-связь» (ER-модель). В этой модели используются следующие основ-ные элементы:

• сущность – класс однотипных объектов. Он имеет набор атрибутов;

• атрибут – характеристика, определяющая свойство экзем-пляра сущности;

• ключевой набор атрибутов – набор атрибутов, однознач-но идентифицирующий экземпляр сущности;

• связь – указывает как экземпляры сущностей соотносятся или взаимодействуют друг с другом;

• тип связи (ассоциация) – обобщение связей между экзем-плярами сущностей;

• множественность (кардинальность) ассоциации – опи-сывает количество возможных связей между экземплярами сущностей, участвующих в ассоциации. Множественность может принимать значения: 1:1, 1:N, 0..1:N, N:M и др.

Формирование реляционной модели данных из ER-модели вы-полняется в соответствии со следующим алгоритмом:

1. Каждой сущности ставится в соответствие отношение. 2. Атрибуты сущностей становятся атрибутами отношений. 3. Ключевые атрибуты становятся первичными ключами отноше-

ний. 4. Для ассоциаций 1:N в каждое отношение, соответствующее

подчиненной сущности, добавляется внешний ключ к родитель-ской сущности.

5. Для ассоциаций N:M вводятся дополнительные отношения (свя-зующие таблицы), в которые входят внешние ключи к ассоции-

8

9

рованным отношениям. Эти внешние ключи вместе образуют первичный ключ таблицы связи.

6. Для моделирования необязательного типа связи у атрибутов внешнего ключа устанавливают свойство допустимости неопре-деленного значения. Нормализация отношений – это формальный аппарат деком-

позиции отношений в соответствии с определенными требованиями к качеству отношений. Существует шесть нормальных форм: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF. Каждая последующая нормальная форма от-ношения может быть получена путем декомпозиции отношений толь-ко в том случае, если выполняются условия для предыдущей нор-мальной формы. На практике в большинстве случаев оказывается достаточным обеспечить третью нормальную форму для того, чтобы были выполнены условия и для всех остальных старших форм. Усло-вия для первых трех нормальных форм формулируются следующим образом.

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

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

Отношение находится в третьей нормальной форме тогда и только тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей.

Порядок выполнения работы 1. Разработать ER-диаграмму базы данных для своего индивидуально-го задания из первой лабораторной работы. Диаграмма должна со-держать указания множественности ассоциаций, названия ассоциа-ций или ролей сущностей, ключевые атрибуты сущностей. ER-диаграмма должна содержать не менее одной ассоциации вида «многие ко многим».

9

10

2. Выполнить формирование реляционной модели базы данных по ре-зультатам инфологического моделирования. Конечный результат этого шага – разработка скриптов создания таблиц базы данных.

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

Рекомендации Для графического построения ER-диаграммы можно использо-

вать CASE-средства, например, программный продукт ERWin или MS Visio.

Содержание отчета 1. Формулировка варианта индивидуального задания из первой

лабораторной работы. 2. ER-диаграмма разработанной базы данных. Текстовое объясне-

ние назначения сущностей и их атрибутов. 3. Тексты всех разработанных SQL-скриптов для создания таблиц

реляционной модели. 4. Выводы по работе.

Контрольные вопросы 1. Модель «сущность-связь». 2. Виды ассоциаций, множественность ассоциаций. 3. Порядок формирования реляционной модели базы данных по ее

ER-модели. 4. Нормальные формы отношений реляционной алгебры.

10

11

Лабораторная работа № 3 Поддержка целостности реляционной базы данных

Цель работы. Изучить средства поддержания целостности баз

данных в языке SQL.

Теоретические положения Целостность – соответствие информационной модели предмет-

ной области, хранимой в базе данных, объектам реального мира и взаимосвязям в каждый момент времени.

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

CREATE TABLE <имя таблицы> (<описание элемента таблицы> [,… n]) <описание элемента таблицы> ::= <определение столбца> | <ограничение таблицы> <определение столбца> ::= <имя столбца> <тип данных> [<значение по умолчанию>] [<ограничения столбца>] <значение по умолчанию> ::= [DEFAULT <выражение>] | [IDENTITY (<нач.значение>, <приращение>)] <ограничение столбца> ::= [CONSTRAINT <имя ограничения>] { [NULL | NOT NULL] [ {PRIMARY KEY | UNIQUE} | [ [FOREIGN KEY] REFERENCES <имя таблицы> (<имя столбца>) ] [ON DELETE {CASCADE | NO ACTION}] [ON UPDATE {CASCADE | NO ACTION}] ] | CHECK <логическое выражение>} <ограничение таблицы> ::= [ CONSTRAINT <название ограничения> ] { [ { PRIMARY KEY | UNIQUE } { ( <столбец>[

11

12

,...n ] ) } ] | FOREIGN KEY ( <столбец>[ ,...n ] ) REFERENCES <родительская таблица>[ ( <столбец ссылки>[ ,...n ] ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] | CHECK (<логическое выражение>)}

Следует обратить внимание на то, что ограничение целостности может быть задано на уровне столбца и на уровне таблицы. Ограни-чение на уровне таблицы задается в том случае, если оно зависит от двух или более столбцов.

Порядок выполнения работы 1. Разработать в соответствии с индивидуальным заданием концепту-альную модель базы данных. Выполнить нормализацию всех таб-лиц таким образом, чтобы они находились в третьей нормальной форме. Модель должна содержать не менее четырех связных таб-лиц. В качестве начального варианта базы данных можно использо-вать результаты второй лабораторной работы.

2. Создать таблицы, в которых предусмотреть средства поддержания целостности (см. рекомендации). Во всех таблицах должны быть оп-ределены первичные ключи, и не менее двух таблиц должны содер-жать внешние ключи. Не менее двух столбцов должны обеспечивать уникальность значений, не менее двух столбцов должны содержать предикат ограничения CHECK, в одной из таблиц должно быть хотя бы одно совместное ограничение на два или более столбцов.

3. Занести в таблицы данные, не менее десяти записей. 4. Составить запросы на изменение таблиц, не нарушающие целост-ности и запросы, нарушающие целостность базы данных. Исследо-вать реакцию СУБД на нарушение каждого ограничения. В том числе составить запросы на удаление строк из родительской и под-чиненной таблиц.

Рекомендации 1. Существует набор команд изменения объектов базы данных, на-

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

12

13

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

CREATE TABLE PROJECT ( PROJ_ID VARCHAR(20) CHECK(PROJ_ID IN ('A', 'B', 'C')) NOT NULL, PROJ_NAME VARCHAR(20) NOT NULL, TEAM_LEADER INT, PRODUCT VARCHAR(40) CHECK(PRODUCT IN ('P1', 'P2', 'P3', 'P4'), UNIQUE (PROJ_NAME), PRIMARY KEY (PROJ_ID), FOREIGN KEY (TEAM_LEADER) REFERENCES EMPLOYEE (EMP_NO) );

Содержание отчета 1. Формулировка варианта индивидуального задания из первой

лабораторной работы. 2. Скрипты создания таблиц. 3. Все таблицы с исходными данными. 4. Тексты всех разработанных SQL-скриптов. 5. Описание (объяснение) результатов выполнения запросов.

Контрольные вопросы 1. Домены значений. 2. Потенциальный ключ, первичный ключ. 3. Внешний ключ. 4. Поддержание целостности базы данных.

13

14

Лабораторная работа № 4 Хранимые процедуры и триггеры

Цель работы. Изучить средства поддержания целостности базы

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

Теоретические положения Хранимая процедура (Stored Procedure) – это именованный на-

бор команд языка Transact-SQL, хранящийся на сервере в качестве самостоятельного объекта БД. Синтаксис оператора создания храни-мой процедуры следующий: CREATE PROC[EDURE] <имя процедуры> [{@<параметр> <тип>} [= <значение по умолчанию>] [OUTPUT] ] [,…n] AS <SQL оператор> [,…n]

Здесь <имя процедуры> – уникальное имя; @<параметр> – имя формального параметра, которое должно содержать символ @; <SQL оператор> – операторы SQL, составляющие тело процедуры. Фор-мальные параметры могут быть входными, если для них не указыва-ется ключевое слово OUTPUT и входными-выходными, если указы-вается ключевое слово OUTPUT. Если для входного параметра ука-зывается значение по умолчанию, то при вызове хранимой процедуры значение этого параметра может не указываться.

Для вызова хранимой процедуры необходимо использовать опе-ратор вызова: EXEC[UTE] [ @<переменная> = ] <имя процедуры> [ [ @<параметр> = ] {<значение> | @<переменная> [OUT[PUT]] | [DEFAULT] } ] [,…n]

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

14

15

помечены ключевым словом OUTPUT. Значение выходного парамет-ра может быть присвоено переменной.

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

которые помечаются ключевым словом OUTPUT. • Через набор строк или набор данных. Набор строк возвра-

щается из хранимой процедуры, если в теле процедуры был выполнен SELECT-запрос. Если в теле процедуры бо-лее одного запроса, то возвращается набор данных.

• В виде кода завершения. Процедура всегда возвращает це-лочисленное значение. Его можно задать параметром в операторе RETURN в теле процедуры.

Триггер – процедура, связанная с таблицей или представлени-ем, которая автоматически выполняется при операции вставки, изме-нения или удаления строки этой таблицы или представления. Триггер создается командой CREATE TRIGGER <имя триггера> ON <имя таблицы> | <имя представления> {FOR | AFTER | INSTEAD OF} { [DELETE] [,] [INSERT] [,] [UPDATE]} AS <SQL оператор> […n]

Классификация триггеров по типу действия: • INSERT TRIGGER – запускаются при выполнении команды

INSERT; • UPDATE TRIGGER – запускаются при выполнении команды

UPDATE; • DELETE TRIGGER – запускаются при выполнении команды

DELETE. Классификация триггеров по типу поведения: • AFTER – триггер выполняется после успешного выполнения

команды; • INSTEAD OF – триггер вызывается вместо выполнения ко-

манды. Для представлений можно использовать только триг-гер INSTEAD OF.

AFTER триггер выполняется после того, как действие команды было завершено. Поэтому, если необходимо отменить действие ко-

15

16

манды, то в AFTER триггере надо использовать конструкцию ROLLBACK TRANSACTION. В этой же ситуации в INSTEAD OF триггере не надо отменять действие, так как оно не выполняется (т. е. не надо использовать ROLLBACK TRANSACTION). Но для фикса-ции операции сам триггер должен выполнить соответствующую опе-рацию (INSERT, DELETE, UPDATE).

В теле триггера могут использоваться две псевдо-таблицы с именами inserted и deleted. Схема этих псевдо-таблиц совпадает со схемой той таблицы или представления, с которой связан триггер. При выполнении команды INSERT псевдо-таблица inserted содержит все вставляемые строки, deleted – пустая. При выполнении команды DELETE псевдо-таблица inserted – пустая, deleted содержит удален-ные строки. При выполнении команды UPDATE псевдо-таблица in-serted содержит новые значения строк, deleted – старые (заменяемые) значения.

Порядок выполнения работы 1. В качестве начального варианта базы данных использовать резуль-таты третьей лабораторной работы.

2. Создать дополнительную таблицу для хранения изменений. Назна-чение журнала изменений (пусть соответствующая таблица называ-ется LOG) состоит в следующем: если в какой-то таблице происхо-дит изменение, то в LOG записываются характер изменения и вре-мя его выполнения.

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

4. Разработать триггер, выполняющий каскадное удаление записей из связных таблиц при удалении записи из родительской таблицы.

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

Содержание отчета 1. Формулировка варианта индивидуального задания из первой

лабораторной работы.

16

17

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

вованы хранимые процедуры и триггеры.

Контрольные вопросы 1. Хранимые процедуры. 2. Триггеры. 3. Процедурный способ обеспечения целостности БД. 4. Декларативный способ обеспечения целостности БД. 5. Расширение языка SQL.

17

18

ПРИЛОЖЕНИЕ

Варианты заданий Ниже перечислены варианты индивидуальных заданий для ла-

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

1. Химическое производство; место хранения, наименование изделия, план выпуска изделий, состав изделия, сырье, свойства сырья, количество в наличии, ФИО ответствен-ного за хранение вещества.

2. Банк; наименование и адрес отделения банка, номер сейфа, номер ключа от сейфа, местонахождение ключа (банк, клиент), ФИО клиента, доверенность на использование сейфа, доверенное лицо, дата посещения сейфа.

3. Банк; наименование и адрес отделения банка, ФИО клиен-та, адрес клиента, документы, удостоверяющие личность, номер счета, баланс счета, валюта счета; код финансовой операции, сумма операции, дата операции.

4. Банк; наименование и адрес отделения банка, номер и ад-рес банкомата, количество денег в банкомате, вид валюты; время инкассации банкомата, время подкрепления банко-мата; ФИО инкассатора.

5. Почта; наименование и адрес отделения почты, номер по-сылки, время прихода посылки в отделение, время пере-сылки в другое отделение, ФИО получателя, адрес получа-теля, дата получения посылки, ФИО отправителя, адрес отправителя.

6. Производство; цех, ФИО работника, номер бригады, со-став бригады, бригадир, наименование смены, время нача-ла и завершения смены, наименование изделия, количест-

18

19

во изделий выпущенных в смену, количество брака за смену.

7. Производство; наименование изделия, комплектующее из-делие, номер заказа, наименование заказчика, количество произведенных изделий по заказу.

8. Учет рабочего времени; ФИО сотрудника, должность, на-звание проекта, задача по проекту, время выполнения за-дачи, отчет сотрудника за неделю.

9. Библиотека; автор книги, название, год издания, цена, ан-нотация; номер читательского билета, ФИО, адрес и теле-фон читателя, дата выдачи книги читателю и дата сдачи книги читателем.

10. Отдел кадров университета; ФИО, адрес и должность пре-подавателя; название дисциплины, количество часов; на-звание кафедры, ФИО заведующего кафедрой, название факультета, ФИО декана, группа, специальность, количе-ство студентов в группе.

11. Склад; код товара, название товара, количество на складе, стоимость единицы товара, описание товара; номер и ФИО поставщика товара, срок поставки и количество товаров в поставке.

12. Производство; код изделия, название изделия, назначение изделия; код, название, адрес и телефон предприятий, вы-пускающих изделия; год выпуска и объем выпуска данно-го изделия предприятием.

13. Сеть магазинов; ФИО директора магазина, адрес, телефон магазина; ФИО, адрес, телефон поставщика, стоимость по-ставки данного поставщика в данный магазин.

14. Сеть автомастерских; номер водительских прав, ФИО, ад-рес и телефон владельца автомобиля; ФИО, адрес, телефон и квалификация механика; номер, марка и цвет автомоби-ля; название, адрес и телефон ремонтной мастерской.

15. Деканат; наименование специальности, код группы, ФИО, дата рождения, домашний адрес, телефон студента; назва-ние, количество часов и вид контроля предметов, оценки каждого слушателя по каждому предмету в каждую сес-сию.

19

20

16. Договорная деятельность организации; шифр договора, наименование организации, сроки выполнения, сумма до-говора, примечания, вид договора; ФИО, адрес, телефон, должность, оклад сотрудников, сроки работы данного со-трудника по данному договору.

17. Регистратура; фамилия, имя, отчество, дата рождения па-циента; ФИО, должность и специализация лечащего врача, диагноз, номер больничного листа, срок потери трудоспо-собности.

18. Телефонная служба; номер телефонной станции, адрес те-лефонной станции, номер абонента, фамилия абонента, ад-рес, дата установки, тариф оплаты, фактическая оплата.

19. Реестр предприятий; наименование предприятия, адрес, дата регистрации, вид собственности, количество работни-ков, вид деятельности, ФИО директора, обслуживающий банк, адрес банка, финансовый баланс предприятия.

20. Транспортное предприятие; вид транспорта, номер мар-шрута, перечень остановок по маршруту, время передви-жения между остановками, ФИО водителя, марка транс-портного средства, номер государственной регистрации.

21. Министерство иностранных дел; название страны, столи-ца, площадь территории, количество населения, преобла-дающая национальность, ФИО посла, соседние страны, военный блок, штаб-квартира военного блока.

22. Жилищное хозяйство; номер ЖЭУ, обслуживаемые дома, номер квартиры, площадь квартиры, количество комнат, ФИО квартиросъемщика, ФИО членов семьи.

23. Аэропорт; номер рейса, пункт назначения, дата рейса, тип самолета, время вылета, время в пути, сведения о пасса-жире.

24. Школа; ФИО учителя, директор, заместитель директора, учитель, преподаваемая дисциплина, учащийся, родители учащегося, номер класса.

25. Спортивный комитет; спортивный клуб, ФИО спортсмена, дата рождения, страна, квалификация, соревнования, ме-сто проведения, дата проведения, команда на соревнова-ниях, занятое место, ФИО тренера.

20

21

26. Зоопарк; место нахождения (страна, город) зоопарка, вид животного, род, семейство, количество, корм, нормы кормления, ответственный сотрудник, ФИО сотрудника, должность.

27. Дорожное хозяйство; название дороги, населенный пункт, расстояние между населенными пунктами, категория до-роги, вид покрытия.

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

29. Дошкольное образование; детское образовательное учреж-дение, директор, воспитатель, группа, ребенок, родитель, место работы родителя, должность, адрес жительства, до-машний телефон,

30. Гараж: марка автомобиля, номер государственной регист-рации, год выпуска, водитель, возраст, стаж работы, оклад, маршрут, план выезда, фактическое исполнение, заказчик.

21

22

Рекомендательный библиографический список

1. Карпова, Т. Базы данных: модели, разработка, реализация : учеб. пособие / Т. Карпова. – СПб. : Питер, 2002. – 304 с. – ISBN 5-272-00278-4. – (Серия. Учебник для вузов).

2. Коннолли, Т. Базы данных: проектирование, реализация, со-провождение : учеб. пособие : пер. с англ. / Т. Коннолли, К. Бегг, А. Страчан. – 2-е изд., доп. – М. : Вильямс, 2000. – 1120 с. – ISBN 5-8459-0109-Х.

3. Шкарина, Л. Язык SQL : учеб. пособие / Л. Шкарина. – СПб. : Питер, 2001. – 592 с. – ISBN 5-318-00195-5.

22

23

Оглавление ВВЕДЕНИЕ............................................................................................... 3 ЛАБОРАТОРНАЯ РАБОТА № 1. ИЗУЧЕНИЕ СРЕДСТВ ФОРМИРОВАНИЯ SQL ЗАПРОСОВ К СУБД  MS SQL SERVER..................................................................................... 4 ЛАБОРАТОРНАЯ РАБОТА № 2. РАЗРАБОТКА ИНФОЛОГИЧЕСКОЙ МОДЕЛИ ДАННЫХ .................................... 8 ЛАБОРАТОРНАЯ РАБОТА № 3. ПОДДЕРЖКА  ЦЕЛОСТНОСТИ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ ................. 11 ЛАБОРАТОРНАЯ РАБОТА № 4. ХРАНИМЫЕ ПРОЦЕДУРЫ  И ТРИГГЕРЫ ........................................................................................ 14 ПРИЛОЖЕНИЕ..................................................................................... 18 РЕКОМЕНДАТЕЛЬНЫЙ БИБЛИОГРАФИЧЕСКИЙ  СПИСОК...................................................................................................22 

23

24

БАЗЫ ДАННЫХ

Методические указания к лабораторным работам

Составитель ДУБОВ Илья Ройдович

Ответственный за выпуск – зав. кафедрой профессор В. Н. Ланцов

Редактор Е. А. Амирсейидова

Подписано в печать 13.04.12.

Формат 60х84/16. Усл. печ. л. 1,39. Тираж 100 экз. Заказ

Издательство Владимирского государственного университета

имени Александра Григорьевича и Николая Григорьевича Столетовых. 600000, Владимир, ул. Горького, 87.

24