Файл: Методичка-ЛАБЫ по Поектированию ИС.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.12.2025

Просмотров: 976

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

Часть 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. Триггеры и процедуры

Лабораторная работа 14

ТРИГГЕРЫ И ПРОЦЕДУРЫ

Цель работы

Написать необходимый набор триггеров и процедур, обеспечивающих задание процедурных ограничений целостности.

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

к ее выполнению

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

При определении триггера задаются:

  • имя триггера;

  • условия включения триггера;

  • имя таблицы, при обращении к которой срабатывает триггер;

  • момент срабатывания триггера;

  • имя, идентифицирующее строку со вставляемой, модифицируемой или удаляемой информацией;

  • дополнительное условие;

  • действие, выполняемое при срабатывании триггера (операторы Insert, Delete, Update, Execute procedure).

Синтаксис оператора Create trigger (в нотации СУБД Informix) для создания триггера приведен в Приложении 2.

При выполнении триггера выполняется оператор модификации данных либо вызывается хранимая процедура, предварительно созданная и помещенная в базу данных оператором Create procedure. Хранимая процедура в отличие от триггеров может выполнять достаточно сложный набор действий:

  • задавать и манипулировать с переменными различных типов;

  • проверять логические условия и выполнять различные виды циклов;

  • указывать действия, которые следует предпринять в случае ошибки (on exception);

  • вызывать другие процедуры, передавать и возвращать параметры и пр.

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



Последовательность выполнения лабораторной работы:

1. Ознакомиться со средствами разработки триггеров и хранимых процедур.

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

3. Проверить правильность работы триггеров и процедур, разработанных в п. 2.

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

5. Проверить правильность работы триггеров и процедур, разработанных в п. 4.

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

7. Проверить правильность работы процедур, разработанных в п. 6.

8. Оформить раздел отчета "Хранимые процедуры и триггеры", включив в него описание разработанных триггеров и хранимых процедур.

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

  1. Что вкладывается в понятие физической и логической независимости данных?

  2. Что вкладывается в понятие целостности данных?

  3. Как разделяются ограничения целостности по способам реализации?

  4. Как разделяются ограничения целостности по времени проверки?

  5. Как разделяются ограничения целостности по области действия?

  6. Что такое утверждение?

  7. Как создается хранимая процедура?

  8. Каковы основные конструкции языка SPL?

  9. Как создается триггер?

  10. Какие оператора языка SQL допустимы внутри триггера?

  11. Как реализуется механизм событий?

  12. Как указать действия, которые следует предпринять в случае ошибки?

  13. Как удалить хранимую процедуру, триггер из базы данных?

  14. С какими моделями транзакций связано исполнение триггеров?

Лабораторная работа 15

РАЗРАБОТКА ПРОГРАММНОГО ПРИЛОЖЕНИЯ НАД БАЗОЙ ДАННЫХ

Цель работы

Выбрав необходимые средства разработки приложений, реализовать программное приложение, работающее с созданной базой данных.

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

к ее выполнению

Результатом выполнения лабораторной работы должны быть законченное программное приложение и отчет о выполнении лабораторных работ 11 - 15. Раз-рабатываемое программное приложение должно:

  • заносить информацию в созданную базу данных;

  • выполнять необходимые действия по модификации и удалению информации в базе данных; при этом все операции по занесению, модификации и удалению данных должны выполняться в терминах предметной области, а не базы данных;

  • поддерживать целостность базы данных, не допуская появления некорректных данных;

  • выполнять все действия над базой данных в рамках транзакций;

  • содержать достаточное количество данных, позволяющих показать результаты выполнения запросов

  • выполнять запросы из варианта задания учебного пособия "Введение в проектирование реляционных баз данных";

  • контролировать все вводимые данные;


Представляемый отчет должен содержать

  1. Содержание.

  2. Текст исходного задания.

  3. Анализ предметной области, в том числе:

  • состав подразделений (подсистем) информационной системы;

  • перечень функций и задач системы в целом и каждого подразделения (подсистемы) в отдельности;

  • подробное описание работы каждого подразделения (подсистемы), взаимоотношение их между собой, описание отдельных сценариев работ;

  • диаграммы работ и диаграммы потоков данных для всей информационной системы в целом и для входящих в нее подразделений (подсистем).

  • Вопросы инфологического проектирования модели базы данных, в том числе:

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

    • классификацию сущностей (стержневые, характеристические, ассоциативные, обозначающие);

    • классификацию атрибутов каждой сущности;

    • сущности вида подтип/супертип, где это необходимо;

    • анализ связей между сущностями, удаление избыточных;

    • определение множественности и условности связей;

    • классификацию связей (1:1, 1:M, M:N);

    • формализацию связей;

    • ER-диаграмму модели базы данных;

    • описание модели базы данных на языке инфологического проектирования.

  • Вопросы логического проектирования модели базы данных, в том числе:

    • описание состава отношений базы данных и набора атрибутов каждого отношения;

    • первичные и внешние ключи отношений;

    • шаги по нормализации полученных отношений с приведением модели базы данных к третьей нормальной форме;

    • необходимые декларативные ограничения целостности исходя из специфики предметной области;

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

  • Выражения на языке SQL, выполняющие выборку данных из созданной базы данных для указанных в варианте задания запросов.

  • Описание разработанных хранимых процедур и триггеров для обеспечения ограничений целостности и выполнения законченных фрагментов действий.

  • Описание разработанного программного приложения.

    Приложение 2


  • Операторы языка sql

    1. Операторы описания

    CREATE DATABASE database-name                           создание базы данных

    [WITH

    { [BUFFERED] LOG                                с (буфферизованной) журнализацией

    | LOG MODE ANSI}]                                             в стандарте ANSI

    CREATE SCHEMA schema-name                           создание схемы базы данных

    CREATE [TEMP] TABLE table-name          создание таблицы

    { c именем table-name

    { column-name column-type                                     имя и тип столбца

    | column-name {BYTE | TEXT}                                    типа BYTE | TEXT

    [IN {TABLE | blobspace-name}]                         где создавать

    [NOT NULL]                                                       отсутствие NULL-значений

    [UNIQUE [(unique col-list)]                                  уникальность

    [CONSTRAINT constraint-name]                           наложено ограничение

    [, ...])

    [WITH NO LOG]                                                         без журнализации

    [IN dbspace-name]                                              где создавать

    [LOCK MODE ({PAGE | ROW})]                        уровень блокирования

    CREATE [UNIQUE][CLUSTER]                            создание индекса

    INDEX index-name ON table-name                            для какой таблицы

    (column-name [ASC | DESC] [,...])                             по какому столбцу

    и в каком порядке

    CREATE SYNONYM                                      создание синонима имени

    synonym-name FOR table-name                   указанной таблицы

    CREATE VIEW view-name                                      создание представления

    [(column-list)] AS SELECT-statement

    ALTER TABLE table-name                             изменение структуры таблицы

    {

    ADD ( newcol-name                                               если необходимо добавить

    newcol-type [NOT NULL][UNIQUE                    столбец в таблицу