Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_ПР_РИЭУБД_2203.doc
Скачиваний:
39
Добавлен:
03.05.2015
Размер:
2.31 Mб
Скачать

ГОУ CПО Марийский радиомеханическии техникум

Методические указания

для студентов

по выполнению практических работ по дисциплине

«Разработка и эксплуатация удаленных баз данных»

для специальности 230105 Программное обеспечение вычислительной техники и автоматизированных систем

2007

Рассмотрены цикловой

комиссией вычислительной

техники и программирования

Протокол заседания ЦК

от «__»________2007г.

Председатель ЦК

________________/Федорина О.Ю./

Утверждаю

Зам. директора по УВР

_____________/Валькова Е.Ю./

«__»__________2007г.

Составитель: Ананьева О.Е., преподаватель высшей квалификационной категории Марийского радиомеханического техникума

Рецензенты: Федорина О.Ю., преподаватель высшейквалификационной категории Марийского радиомеханического техникума Морозова Е.В. –начальник центра информационно образовательных технологий Марийского государственного технического университета

Методические указания для студентов по выполнению практических работ по дисциплине «Базы данных».

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

СОДЕРЖАНИЕ

Стр.

Предисловие

4

Описание рабочего места студента для выполнения практических работ

4

Требования к выполнению практических работ

4

Практическая работа 1 Разработка структуры базы данных

5

Практическая работа 2 Организация целостности данных

9

Практическая работа 3 Разработка формы для ввода данных в родительскую таблицу

16

Практическая работа 4 Разработка форм для ввода данных в дочерние таблицы

30

Практическая работа 5 Построение запросов

34

Практическая работа 6 Разработка форм для обработки данных

40

Практическая работа 7 Создание отчетов

41

Практическая работа 8 Отладка проекта

54

Практическая работа 9 Управление доступом в многозадачном режиме

60

Практическая работа 10 Использование транзакций

69

Практическая работа 11Разработка БД в ER-WIN

70

Практическая работа 12Создание корпоративной БД

78

Практическая работа 13Создание серверных страниц

82

Практическая работа 14Создание форм

86

Практическая работа 15Построение запросов к базе данных

88

Практическая работа 16 Внесение изменений в базу данных

92

Литература

101

Предисловие

Данная методическая разработка предназначена для изучения студентами специальности 230105 Программное обеспечение вычислительной техники и автоматизированных систем и смежных специальностей технологий разработки и эксплуатации удаленных баз данных. Курс рассчитан на 36 часов практических занятий.

В результате изучения дисциплины студенты должны:

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

  • применить на практике знания об этапах разработки баз данных;

  • приобрести и закрепить навыки работы с современными СУБД;

  • уметь пользовать дополнительной литературой.

Правила выполнения практических работ

  1. Перед выполнением практической работы студент должен ознакомиться с заданием к работе, относящимся к данной теме.

  2. В качестве отчета о выполнении практической работы студент должен сдать выполненную работу преподавателю и ответить на 1–2 контрольных вопроса по данной теме. Оценка выставляется в зависимости от качества сделанного задания и ответа на теоретические вопросы.

Описание рабочего места студента для выполнения практических работ

  1. ПЭВМ со следующими минимальными характеристиками:

  • процессор Intel Celeron 733

  • свободное место на диске 50 Mb

  • ОЗУ 128 Mb

  1. На компьютере должна быть установлена система СУБД FoxPro, MySql server, PHP, MsFront, Denver.

Требования к выполнению практических работ

  1. Сделанные работы должны соответствовать заданию и должны быть выполнены в полном объеме.

Практическая работа 1

Разработка структуры базы данных

Цель: приобрести и закрепить навыки использования языка SQL при разработке базы данных.

Пояснения к работе:

Создание нового отношения (таблицы) выполняется с помощью команды DDL CREATE TABLE. Команда CREATE TABLE используется для описания новой таблицы, её атрибутов (полей) и ограничений целостности. Упрощённый синтаксис этой команды:

CREATE TABLE <имя таблицы> ( {<имя поля> <тип данных> [(<размер>)] [<ограничения целостности поля>…]} .,.. [, <ограничения целостности таблицы>.,..] );

Расшифровка элементов описания приведена в таблице.

Элемент

Описание

<имя поля>

Имя поля (столбца) таблицы, обычный идентификатор.

<тип данных>

Тип данных поля. Можно использовать одно из значений:

– INTEGER, INT, SMALLINT – целые числа;

– NUMERIC[(длина [, точность])], DECIMAL[(длина [, точность])] – числа с фиксированной запятой;

– FLOAT, REAL, DOUBLE – вещественные числа;

– CHAR[(длина)], VARCHAR(длина) – символьные строки фиксированной и переменной длины;

– DATE – дата; TIME – время.

<размер>

Размер поля в символах (для текста и чисел).

<ограничения целостности>

Можно использовать следующие ограничения:

– PRIMARY KEY – первичный ключ (обязательный и уникальный);

– UNIQUE – уникальное значение поля в пределах столбца таблицы;

– [NOT] NULL – [не] возможность не указывать значение поля;

– CHECK (<условие>) – проверка условия для поля (полей);

– DEFAULT <выражение> – задание значения поля по умолчанию;

– REFERENCES <имя таблицы> [(<имя столбца>)] – внешний ключ.

<ограничения целостности таблицы>

То же, что и для поля. Дополнительно используется:

FOREIGN KEY [(<список полей>.,..)] REFERENCES <имя таблицы> [(<список полей>)] – внешний ключ.

Примеры создания таблиц:

  1. Таблица "Отделы" с полями "Номер отдела" (ПК), "Название отдела":

create table depart ( depno numeric(2) primary key, name char(30) not null)

  1. Таблица "Сотрудники" с полями "Номер отдела" (внешний ключ), "Табельный номер сотрудника" (ПК), "ФИО сотрудника", "Должность", "Оклад", "Дата рождения", "Телефон":

create table emp ( depno numeric(2) references depart, tabno char(3) primary key, name char(40) not null, post char(20) not null, salary numeric(7,2) not null, born data not null, tel char(9))

  1. Таблица "Дети сотрудников" с полями "Табельный номер родителя" (внешний ключ), "Имя ребенка", "Пол", "Дата рождения":

create table children ( tabno char(3) references emp(tabno), name char(20) not null, sex char(1), born date, primary key key(tabno+name) tag qwe , check (sex in (‘м’, ‘ж’)))

Обратите внимание:

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

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

  • если внешний ключ составной, список полей входящий в ключ, указывается после перечисления всех полей таблицы с ключевым словом FOREIGN KEY:

create table tab ( id numeric(6) primary key, class numeric(3), fdate date, group char(6), foreign key (class, fdate) references exam(class, fdate))

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

Рисунок 1.1 База данных, разработанная средствами SQL

Задание:Согласно варианту задания, построить базу данных средствами SQL.

Вариант 1. Фрагмент БД недвижимости.

  1. Отношение "Владельцы" (“Код владельца”, "Имя", "Телефон").

  2. Отношение "Станции метро" (“Код станции”, "Название").

  3. Отношение "Квартиры" ( “Код квартиры”, ”Код владельца”, ”Общая площадь”, ”Жилая площадь”, ”Количество комнат”, ”Размер кухни”, ”Этаж”, ”Всего этажей в доме”, ”Ближайшая станция метро(Код)”, ”Цена”, ”Адрес”, ”Дата поступления”)

Вариант 2. Фрагмент БД деканата (преподаватели).

  1. Отношение "Дисциплины" ("Шифр дисциплины", "Название").

  2. Отношение "Преподаватели" (“Код преподавателя”, "ФИО", "Отделение").

  3. Отношение "Сессия" (“Факультет”, “Курс”, “Шифр дисциплины”, “Группа”, “Экзаменатор(Код)”, “Аудитория”, “Дата”,”Время”)

Вариант 3. Фрагмент БД деканата (студенты).

  1. Отношение "Дисциплины" ("Шифр", "Название дисциплины").

  2. Отношение "Студенты" (“Номер зачётной книжки”, “ФИО”, “Год поступления”, “Группа”, “Курс”, “Форма обучения”, “Академический отпуск”)

  3. Отношение "Сессия" ("Группа", "Шифр дисциплины" , "Дата", "Время", "Аудитория").

  4. Отношение Отделение (“Группа”, ”Отделение”)

Вариант 4. Фрагмент БД института (сотрудники).

  1. Отношение "Отделы" (“Номер”, "Название отдела").

  2. Отношение "Научные направления" (“Шифр направления”, "Название научной специальности").

  3. Отношение "Сотрудники" (“Табельный номер”, “ФИО”, “Должность”, “Ученое звание”, ‘Шифр специальности”, “Научная специализация (Шифр)”, “Номер отдела”)

Вариант 5. Фрагмент БД библиотеки(журнальные публикации).

  1. Отношение "Журналы" (“Индекс журнала”, "Название", "Издатель").

  2. Отношение "Рубрикаторы" ("Шифр", "Название рубрики").

  3. Отношение "Публикации (статьи)" (“Индекс журнала”, “Автор(ы)”, “Название”, “Год выпуска”, “Номер выпуска”, “Шифр рубрики”, “Страницы”, “Примечание”)

Вариант 6. Фрагмент БД отдела кадров.

  1. Отношение "Отделы" ("Номер отдела", "Название отдела").

  2. Отношение "Сотрудники" (“Табельный номер”, “ФИО”, “Пол”, “Дата рождения”, “Образование”, “Номер отдела”, “Должность”)

  3. Отношение "Дети" ("Табельный номер", "Имя ребенка", "Дата рождения").

Вариант 7. Фрагмент БД библиотеки(книги).

  1. Отношение "Издательства" (“Шифр издательства”, "Название", "Адрес").

  2. Отношение "Рубрикаторы" ("Шифр рубрики", "Название рубрики").

  3. Отношение "Каталог книг" (“Рубрикатор”, “Шифр”, “Автор(ы)”, “Название”, “Место издания”, “Шифр издательства”, “Год издания”, “Количество страниц”, “Примечание”)

Вариант 8. Фрагмент БД больницы.

  1. Отношение "Больничные палаты" ("Номер палаты", "Количество коек", "Отделение").

  2. Отношение "Врачи" (“Код врача”, "ФИО врача", "Отделение", "Специализация").

  3. Отношение "Пациенты" (“Регистрационный №”, “ФИО”, “Пол”, “Номер полиса”, “Дата поступления”, “Номер палаты”, “Лечащий врач(код)”, “Диагноз”, “Дата выписки”)

Вариант 9. Фрагмент БД торгового предприятия.

  1. Отношение "Поставщики" (“Код поставщика”, "Название", "Адрес").

  2. Отношение "Товары" (“Код товара”, "Название", "Категория товара").

  3. Отношение "Поставки" (“Шифр поставки”, “Код поставщика”, “Код товара”, “Единица измерения”, “Количество товара”, “Цена единицы товара”, “Дата поставки”)

Вариант 10. Фрагмент БД складского предприятия.

  1. Отношение "Поставщики" (“Код поставщика”, "Название ", "Телефон").

  2. Отношение "Поставки" (“Шифр поставки”, “Индекс товара”, “Индекс поставщика”, “Единица измерения”, “Вес единицы товара”, “Количество товара”, “Номер склада”, “Номер линии”, “Дата поставки”)

  3. Отношение "Заказы" (“Код заказа”, "Индекс товара", "Единица измерения", "Количество").

Вариант 11. Фрагмент БД адвоката.

  1. Отношение "Статьи УК" (“Код статьи ”, "Статья", "Минимальный срок", "Максимальный срок").

  2. Отношение "Клиенты" (“Номер дела”, “ФИО”, “Дата рождения”, “Дата начала дела”, “Номер камеры”, ”Размер гонорара”, “Срок”, “Дата окончания дела”)

  3. Отношение "Статьи" ("Номер дела", "ФИО", "Номер статьи").

Вариант 12. Фрагмент БД гостиницы.

  1. Отношение "Стоимость мест" ("Класс", "Стоимость места").

  2. Отношение "Номера" (“Код номера”, "Класс", "Количество мест", "Количество забронированных мест").

  3. Отношение "Постояльцы" (“Номер паспорта”, “Занимаемый номер”, “ФИО”, “Пол”, “Организация”, “Дата вселения”, “Дата выселения”)

Вариант 13. Фрагмент БД организации.

  1. Отношение "Отделы" (“Номер отдела”, "Название отдела").

  2. Отношение "Проекты" (“Код проекта”, "Название", "Дата начала", "Дата завершения", “Руководитель проекта (Код)”).

  3. Отношение "Сотрудники" (“Код сотрудника”, “ФИО”, “Должность”, “Пол”, “Оклад”, “Номер отдела”)

  4. Отношение “Работа” (“Код сотрудника”, ”Код проекта”)

Вариант 14. Фрагмент БД Прокат DVDдисков.

  1. Отношение "Клиенты" ("ФИО", “Паспортные данные”, ”Домашний адрес”, “Телефон”).

  2. Отношение "Диски" (“Код диска”, "Название", “Стоимость проката”)

  3. Отношение "Прокат" (“Код диска”, “ФИО (паспортные данные)”, “Дата взятия”, “Дата возврата” )

  4. Отношение “Фильмы” (“Код диска”, ”Фильм”)

Вариант 15. Фрагмент БД Интернет-Магазин

  1. Отношение "Товары" ("Код товара” , “Описание товара”, ”Количество”, “Цена”).

  2. Отношение "Заказы" (“Номер заказа”,”Клиент”, “Код товара”, "Количество заказанного товара", “Дата заказа”, “Стоимость ” )

  3. Отношение "Клиенты" (“Код клиента”, “Адрес”, “Номер счета”, “Электронный адрес”)

Ход работы:

  1. Установить путь по умолчанию к своей папке

Set default to d:\student\ip4_2007

  1. создать базу данных

Create Databases ……(название произвольное)

  1. Открыть базу данных

File->Open->Databases->

  1. Создать таблицы

Create table…..

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

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

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

  1. Параметр reference при установке связи указывается у родительской, или дочерней таблицы?

  2. Можно ли связывать таблицы по полям, которые несут разную семантическую нагрузку (например, фамилия и код работы)?

  3. Можно ли связывать поля в разных таблицах, если их типы не одинаковы?

  4. Какой параметр отвечает за целостность данных?

  5. Какая команда позволяет вносить изменения в структуру отношения базы данных?

Практическая работа 2

Организация целостности данных.

Цель: Приобрести и закрепить навыки обеспечения целостности данных

Пояснения к работе:

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

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

Для определения свойств таблицы откройте окно конструктора для выбранной таблицы и перейдите на вкладку Table (Таблица) (рис. 2.1).

Рис. 2.1. Определение свойств таблицы

Для определения достоверности ввода данных могут использоваться триггеры добавления и изменения и поля ввода Rule (Условие) и Message (Сообщение) области Record validation (Проверка правильности ввода записей). В поле Rule (Условие) вводится логическое выражение, которое может содержать вызов хранимой процедуры. Если значение этого выражения равно True (Истина), то считается, что введены допустимые данные и разрешается переход на другую запись или закрытие таблицы. В противном случае выводится сообщение об ошибке, которое было задано в поле Message (Сообщение).

В Visual FoxPro для таблиц, входящих в состав базы данных, вы можете определить триггеры, приведенные в табл. 2.1.

Таблица 2.1. Триггеры

Триггер

Описание

Insert (Вставить)

Определяет действия, которые будут выполняться после добавления новой записи в таблицу

Update (Обновить)

Определяет действия, которые будут выполняться после изменения записи таблицы

Delete (Удалить)

Определяет действия, которые будут выполняться после удаления записи из таблицы

Для определения триггеров введите в поля ввода Insert trigger (Вставить триггер), Update trigger (Обновить триггер) или Delete trigger (Удалить триггер) вкладки Table (Таблица) окна конструктора выбранной таблицы операторы сравнения, вызов хранимой процедуры или любое логическое выражение. Если результат вычисления выражения равен True (Истина), то считается, что введены допустимые значения. В противном случае сохранения введенных данных не происходит и формируется сообщение об ошибке. При использовании хранимых процедур вы сможете не только проверить условие достоверности ввода данных, но и задать действия, выполняемые при добавлении, удалении и изменении данных.

Вызов триггера Delete (Удалить) осуществляется:

  • при выполнении команды DELETE;

  • когда вы помечаете запись на удаление в режиме Browse (Обзор) или Edit (Правка).

Вызов триггера Insert (Вставить) осуществляется в следующих случаях:

  • при выполнении команд APPEND FROM, APPEND FROM ARRAY,-APPEND BLANK;

  • при добавлении в таблицу новой записи в режиме Browse (Обзор) или Edit (Правка);

  • при выполнении команд IMPORT, INSERT SQL, RECALL;

  • при снятии метки об удалении записи в режиме Browse (Обзор) или Edit (Правка).

Триггер Update (Обновить) вызывается, когда:

  • наступает любое событие, которое приводит к модификации записи (например, при изменении значения поля);

  • выполняются команды GATHER, REPLACE, REPLACE FROM ARRAY, UPDATE SQL.

При использовании триггеров необходимо учитывать ограничения, имеющиеся в Visual FoxPro.

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

  • Выполнение команды ZAP не вызывает триггер Delete (Удалить).

  • При использовании буферизации ввода триггер Update (Обновить) вызывается только при вызове функции TABLEUPDATE (),

Для удаления триггера в окне конструктора перейдите на вкладку Table (Таблица) и очистите поле ввода выражения для триггера или используйте Команду DELETE TRIGGER.

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

  1. В окне проекта выберите базу данных.

  2. Перейдите в группу Stored Procedures (Хранимые процедуры).

  3. Нажмите кнопку New (Новый) (рис. 2.2).

Рис. 2.2. Для создания хранимой процедуры предназначена группа Stored Procedures окна проекта.

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

Редактирование или удаление хранимых процедур, которые Visual FoxPro создал автоматически при определении условия целостности данных, могут привести к непредсказуемым последствиям.

Для редактирования хранимых процедур в Visual FoxPro вы можете использовать команду MODIFY PROCEDURE, которая открывает окно редактирования хранимых процедур текущей базы данных.

Для удаления хранимой процедуры необходимо в окне редактирования выделить текст удаляемой процедуры и нажать клавишу <Delete> или в окне конструктора проекта установить курсор на ее наименование и выполнить команду Remove (Удалить) окна проекта.

Ход работы: