- •Введение
- •Часть 1. Технологии работы с базами данных
- •Часть 2. Проектирование ис и разработка базы данных для некоторой предметной области и программного приложения для работы с ней
- •Лабораторная работа 1 создание и модификация таблиц базы данных Цель работы
- •Содержание работы и методические указания к ее выполнению
- •Insert into имя_таблицы [(поле [,поле]...)]
- •Values (константа [,константа]...)
- •Контрольные вопросы
- •Лабораторная работа 2 выбор и модификация данных таблиц Цель работы
- •Содержание работы и методические указания к ее выполнению
- •Варианты заданий на составление запросов по выборке информации из таблиц базы данных
- •Варианты заданий на составление запросов по модификации информации из таблиц базы данных
- •Контрольные вопросы
- •Лабораторная работа 3 полномочия на использование схемы бызы данных. Работа с внешними схемами базы данных Цель работы
- •Содержание работы и методические указания к ее выполнению
- •Последовательность выполнения лабораторной работы:
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 4 реализация простейших операций работы с базой данных средствами встроенного sql Цель работы
- •Содержание работы и методические указания к ее выполнению
- •Последовательность выполнения лабораторной работы
- •Требования к разрабатываемой программе
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 5
- •Последовательность выполнения лабораторной работы
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 6
- •Последовательность выполнения лабораторной работы:
- •Требования к разрабатываемой программе
- •Варианты заданий
- •Контрольные вопросы
- •2. Средства отслеживания ошибок
- •3. Непосредственное и подготавливаемое выполнение операторов sql
- •4. Использование параметров при выполнении
- •5. Настройка доступа к источнику данных
- •Последовательность выполнения лабораторной работы
- •Требования к разрабатываемой программе
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 8 выборка данных с использованием средств odbc Цель работы
- •Содержание работы и методические указания к ее выполнению
- •Последовательность выполнения лабораторной работы
- •Требования к разрабатываемой программе
- •Варианты заданий
- •Лабораторная работа 9 доступ к базам данных посредством cgi-скрипта, написанного на языке esql/c Цель работы
- •Содержание работы и методические указания к ее выполнению
- •Последовательность выполнения лабораторной работы
- •Требования к разрабатываемой программе
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 10 использование языка php для доступа к базам данных Цель работы
- •Содержание работы и методические указания к ее выполнению
- •Последовательность выполнения лабораторной работы
- •Требования к разрабатываемой программе
- •Варианты заданий
- •Контрольные вопросы
- •Последовательность выполнения лабораторной работы:
- •Контрольные вопросы
- •Последовательность выполнения лабораторной работы:
- •Контрольные вопросы
- •Лабораторная работа 13
- •Последовательность выполнения лабораторной работы:
- •Контрольные вопросы
- •Лабораторная работа 14
- •Последовательность выполнения лабораторной работы:
- •Контрольные вопросы
- •Лабораторная работа 15
- •Операторы языка sql
- •1. Операторы описания
- •2. Операторы манипуляции данными
- •3. Операторы определения транзакций
- •4. Операторы определения прав доступа
- •5. Встроенный sql
- •6. Триггеры и процедуры
Последовательность выполнения лабораторной работы:
1. Изучить вопросы теории нормализации, условия нахождения отношения в той или иной нормальной форме
2. Выполнить процедуру построения реляционной модели данных из ER-модели, построив необходимый набор отношений. Определить состав атрибутов отношений.
Определить первичные и внешние ключи отношений.
Выполнить шаги по нормализации полученных отношений, приведя модель к третьей нормальной форме.
5. Задать необходимые декларативные ограничения целостности исходя из специфики предметной области.
6. Представить связи между первичными и внешними ключами в виде вертикальной диаграммы.
7. Средствами имеющейся СУБД создать спроектированную базу данных, ее таблицы, задать необходимые ограничения целостности.
8. На языке SQL записать выражения для указанных в варианте задания запросов на выборку данных из созданной базы данных. Проверить работоспособность написанных запросов в интерактивном режиме.
9. Оформить следующие разделы отчета:
"Логическое проектирование реляционной модели базы данных", включив в него информацию из пп. 2 - 6;
"Типовые запросы на выборку данных", включив в него тексты запросов на языке SQL на выборку данных из созданной базы данных.
Контрольные вопросы
Каковы задачи, решаемые на этапе логического проектирования?
Каковы базовые свойства реляционной модели данных?
В чем состоят требования структурной части реляционной модели данных?
В чем состоят требования манипуляционной части реляционной модели данных?
В чем состоят требования целостной части реляционной модели данных?
Каковы общие свойства нормальных форм?
Что такое функциональная, функционально полная зависимость?
Каковы условия нахождения отношений в первой нормальной форме?
Каковы условия нахождения отношений во второй нормальной форме?
Каковы условия нахождения отношений в третьей нормальной форме?
Каковы условия нахождения отношений в третьей усиленной нормальной форме?
Что понимается под многозначной зависимостью?
Каковы условия нахождения отношений в четвертой нормальной форме?
Что понимается под понятием "проецирование без потерь"?
Каковы условия нахождения отношений в пятой нормальной форме?
В чем состоят общие требования обеспечения ограничений целостности?
Каковы средства задания ограничений целостности в языке SQL?
Лабораторная работа 14
ТРИГГЕРЫ И ПРОЦЕДУРЫ
Цель работы
Написать необходимый набор триггеров и процедур, обеспечивающих задание процедурных ограничений целостности.
Содержание работы и методические указания
к ее выполнению
Механизм триггеров позволяет программировать обработку ситуаций, возникающих при любых изменениях в базе данных. Триггер придается таблице базы данных и применяется при выполнении над таблицей операций включения, удаления или обновления строк. Применение триггера заключается в проверке сформулированных в нем условий, при истинности которых выполняются SQL-операторы, определенные внутри триггера, либо происходит вызов специфицированной внутри триггера процедуры базы данных. Триггер хранится в базе данных наряду с таблицами, представлениями, хранимыми процедурами.
При определении триггера задаются:
имя триггера;
условия включения триггера;
имя таблицы, при обращении к которой срабатывает триггер;
момент срабатывания триггера;
имя, идентифицирующее строку со вставляемой, модифицируемой или удаляемой информацией;
дополнительное условие;
действие, выполняемое при срабатывании триггера (операторы Insert, Delete, Update, Execute procedure).
Синтаксис оператора Create trigger (в нотации СУБД Informix) для создания триггера приведен в Приложении 2.
При выполнении триггера выполняется оператор модификации данных либо вызывается хранимая процедура, предварительно созданная и помещенная в базу данных оператором Create procedure. Хранимая процедура в отличие от триггеров может выполнять достаточно сложный набор действий:
задавать и манипулировать с переменными различных типов;
проверять логические условия и выполнять различные виды циклов;
указывать действия, которые следует предпринять в случае ошибки (on exception);
вызывать другие процедуры, передавать и возвращать параметры и пр.
Одним из базовых требований к проектируемой базе данных является требование ее логической независимости от приложений, которые с ней работают. Все ограничения целостности должны задаваться не логикой работы приложения, а определяться на уровне базы данных. Ранее отмечалось, что по способам реализации ограничения целостности подразделяются на декларативные и процедурные, позволяющие задавать логически более сложные ограничения, в частности обеспечивать целостность по ссылкам. В этой связи важная цель механизма триггеров - обеспечение целостности базы данных и обеспечение логической независимости базы данных.