Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование структуры базы данных с помощью команд
Практическая работа № 1
1. Тема практической работы: Технология соединения с сервером SQL
2. Количество часов: 2
3. Место проведения: компьютерный класс
4. Характер работы: частично-поисковый
5. Форма организации деятельности студентов: групповая
6. Внутрипредметные и межпредметные связи: Базы данных. Типы SQL-серверов, особенности операционной среды. Архитектуры удаленных баз данных
7. Дидактические цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Введение в работу с удаленными базами данных.
b. Сформировать практические умения и навыки: Создавать соединения с SQL-серверами в режиме командной строки и в графической оболочке.
c. Сформировать исследовательские и интеллектуальные умения: анализировать различия в технологиях соединения с серверами SQL, самостоятельно вести исследование, оформлять результаты.
8. Задания студентам на самоподготовку:
· Определение, функции сервера, клиента
· Повторить определение SQL-серверов и их типов
· Проанализировать, какие данные необходимы для доступа к серверу.
9. Оборудование: компьютеры класса IBM PC, ОС Windows ХР, IBConsole, MySQL-manager, WinMySQL-admin, dbForgeStudio
10. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам: 1. Понятие локальной сети, сервера, клиента 2. Типы SQL-серверов, особенности операционной среды 3. Краткая характеристика сервера InterBase 4. Краткая характеристика сервера MySQL 5. Порядок авторизации пользователей на сервере БД 6. Команды подключения к БД | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Изучить технологию соединения с SQL-сервером Этапы выполнения работы: 1. Проверка состояния работы серверов InterBase, MySQL 2. Команды соединения с сервером 3. Соединение с сервером InterBase в IBConsole 4. Разрыв соединения с IBConsole 5. Соединение с MySQL в режиме командной строки 6. Соединение с MySQL в dbForgeStudio 7. Остановка службы MySQL | 10 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 15 мин |
Инструкция по выполнению практической работы №1
1. Проверка состояния работы серверов InterBase, MySQL
Сервер InterBase может запускаться в автоматическом или ручном режиме, в зависимости от заданных параметров запуска.
Вместе с серверной частью InterBase на компьютер устанавливается программа IBmgr – InterBase Manager.
· Запустите ее из главного меню системы и в разделе Status просмотрите, запущен ли сервер в настоящее время. Если нет, нажмите кнопку Start
· Войдите в диспетчер задач Windows и убедитесь в том, что в Процессах отображаются процессы ibguard, ibserver.
Вместе с сервером MySQL разработчики обычно устанавливают различные программы администрирования. В нашем случае это MySQL Admin, присутствие которой можно определить по значку светофора в панели задач Windows. Если сервер запущен, сфетофор горит зеленым. Кроме того, в диспетчере задач Windows должен быть запущен процесс mysqld-nt.
2. Команды соединения с сервером
Для получения доступа к базам данных InterBase администратор должен зарегистрировать пользователя на сервере. По умолчанию при установке сервера в нем автоматически регистрируется пользователь SYSDBA с паролем masterkey.
Команда соединения пользователя с сервером:
CONNECT 'filespec' [USER 'username'][PASSWORD 'password']
[CACHE int] [ROLE 'rolename']
Например:
CONNECT 'employee. gdb' USER 'ACCT_REC' PASSWORD 'peanuts';
Команда соединения с сервером MySQL выглядит следующим образом:
MySQL. exe - uлогин –pпароль
3. Соединение с сервером InterBase в IBConsole
· Для подключения к серверу InterBase запустите программу IBConsole
· В меню Server выберите пункт Register… или нажмите на первую кнопку в панели инструментов Register a new InterBase Server.
· Укажите параметры соединения с удаленным сервером. ServerName совпадает в нашем случае с именем компьютера. Alias Name укажите произвольно. Логин и пароль пользователя: SYSDBA, masterkey. При успешном подключении с сервером в левой панели появится значок нового соединения, отмеченный зеленой галочкой.
4. Разрыв соединения с IBConsole
· Перед выходом из IBConsole выберите работающее соединение и нажмите на кнопку панели инструментов Unregister an InterBase Server.
5. Соединение с MySQL в режиме командной строки
· Войдите в режим командной строки.
· Перейдите в каталог программы (Папка программы может находиться либо на диске C, либо в папке Program Files)
· Зайдите в папку bin
Установке сервера, на нем был зарегистрирован пользователь с логином и паролем Server, Server
· Наберите команду подключения к серверу:
MySQL. exe - uServer –pServer
При успешном подключении вы увидите строки приветствия:

· Закройте окно
6. Соединение с MySQL в dbForgeStudio
· Откройте программу dbForgeStudio for MySQL.
· В проводнике в левой части окна нажмите на кнопку нового соединения. Откроется окно, в котором нужно ввести параметры соединения:
Хост: localhost
Порт: 3306
Имя: Server
Пароль: Server
· Базу данных пока выбирать необязательно.
· Имя соединения задайте произвольно
· Нажмите на кнопку Проверить и ОК
При успешном соединении в проводнике отобразиться новое подключение с возможностью доступа ко всем базам данных, расположенных на сервере.
7. Остановка службы MySQL
Остановить службу MySQL можно либо в консоли администрирования Windows Службы, либо выбрав в контекстном меню значка светофора в панели задач пункт Stop the Service
8. Подготовьте отчет в электронном виде по указанному ниже шаблону
Шаблон оформления отчета
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Практическая работа № 1
Тема практической работы: Технология соединения с сервером SQL
Цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Введение в работу с удаленными базами данных.
b. Сформировать практические умения и навыки: Создавать соединения с SQL-серверами в режиме командной строки и в графической оболочке.
c. Сформировать исследовательские и интеллектуальные умения: анализировать различия в технологиях соединения с серверами SQL, самостоятельно вести исследование, оформлять результаты.
Ход и результаты выполнения практической работы:
1. Для проверки состояния работы сервера InterBase необходимо выполнить следующие действия:
· …
· …
2. Для проверки состояния работы сервера MySQL необходимо выполнить следующие действия:
· …
· …
3. Команда соединения с сервером InterBase:
· …
4. Команда соединения с сервером MySQL:
· …
5. Порядок соединения с сервером InterBase в IBConsole следующий:
· …
6. Разрыв соединения с IBConsole выполняется следующим образом:
· …
7. Для соединения с MySQL в режиме командной строки пользователем выполняются следующие действия:
· …
· …
8. При соединении с MySQL в dbForgeStudio указываются следующие параметры:
· …
· …
9. Для остановки службы MySQL необходимо:
· …
· …
Выводы:…
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование структуры базы данных с помощью команд
Практическая работа № 2
7. Тема практической работы: Команды по управлению построителем баз данных
8. Количество часов: 2
9. Место проведения: компьютерный класс
10. Характер работы: частично-поисковый
11. Форма организации деятельности студентов: групповая
12. Внутрипредметные и межпредметные связи: Базы данных. Типы SQL-серверов, особенности операционной среды. Архитектуры удаленных баз данных. Структурированный язык запросов SQL.
13. Дидактические цели практической работы:
14. Обобщить, закрепить теоретические знания по теме: Проектирование структуры базы данных с помощью команд
15. Сформировать практические умения и навыки: Создавать соединения с SQL-серверами в режиме командной строки. Создавать таблицы баз данных с помощью команд. Задавать ограничения на значения полей. Изменять созданные таблицы.
16. Сформировать исследовательские и интеллектуальные умения: анализировать различия в технологиях соединения с серверами SQL, самостоятельно вести исследование, оформлять результаты.
17. Задания студентам на самоподготовку:
9. Структура команд создания таблиц
10. Виды ограничений на значения столбцов
11. Команда изменения таблицы базы данных
18. Оборудование: компьютеры класса IBM PC, ОС Windows ХР, IBConsole
19. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам: · Команда Create Table · Задание ограничений на значение полей с помощью инструкции Check · Команда Alter Table | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Создавать структуру базы данных с помощью команд Этапы выполнения работы: · Соединение с сервером InterBase · Создание учебной (временной) базы данных · Создание таблиц базы данных с установленными ограничениями: · поле обязательно должно быть заполнено · значения в поле должны быть элементами заданного множества · Значения в поле в заданном интервале · значение в поле больше (<, =) заданного · Изменение таблиц · Удаление учебной базы данных | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Инструкция по выполнению практической работы №2
q Выполните соединение с сервером InterBase.
q Создайте в папке «Мои документы» временную базу данных с именем TempXX, где XX – номер группы
q Создайте в базе данных две таблицы, связанных реляционной связью по номеру группы
Grups(GrupID, GFIO_Starosta, GFIO_Prep, Gkurs, Gspec, Gkol_predel)
Students(StudID, SFIO, Spol, Sdate, SGrup)
где GrupID — код группы, первичный ключ, GFIO_Starosta — ФИО старосы, GFIO_Prep — ФИО калссного руководителя, Gkurs - курс, Gspec - специальность, Gkol_predel — предельная численность.
StudID -код студента, первичный ключ, SFIO — ФИО студента, Spol - пол, Sdate — дата рождения, Sgrup — код группы, внешний ключ.
При создании таблиц базы данных установите ограничения:
q поля GrupID, Gkurs, Gspec, SFIO обязательно должнs быть заполнены.
q значения в поле SPol должны быть элементами множества («М», «Ж»)
q Значения в поле Sdate в заданном интервале с 1.01.1985 по 1.01.1995
q значение в поле GKol_predel меньше 35
q Измените таблицу Students, добавив поле для хранения адреса.
Шаблон оформления отчета
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Отчет по выполнению практической работы № 2
«Команды по управлению построителем баз данных»
1. Фамилия, имя студента_______________________________ Группа______
· Команда создания таблицы Grups:
...
· Команда создания таблицы Students
...
· Команда изменения структуры таблицы Students
…
· Команда удаления базы данных
…
· Выводы:
11. Реляционная связь между двумя таблицами организовывается следующим образом:
…....
12. Ограничения на значения столбцов задаются инструкцией _______ команды SQL_____________________________
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование структуры базы данных с помощью команд
Практическая работа № 3
1. Тема практической работы: Проектирование структуры базы данных. Нормализация таблиц. Алиас, файлы БД, таблицы
2. Количество часов: 2
3. Место проведения: компьютерный класс
4. Характер работы: частично-поисковый
5. Форма организации деятельности студентов: групповая
6. Внутрипредметные и межпредметные связи: Базы данных. Назначение и структура файлов базы данных. Приемы создания структуры базы данных. Индексы.
7. Дидактические цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Проектирование серверной части приложения.
b. Сформировать практические умения и навыки: Выделять основные сущности и атрибуты предметной области, строить концептуальную, логическую и физическую модель базы данных, выполнять нормализацию таблиц. Создавать алиас базы данных, таблицы базы данных, индексы, задавать ограничения на значения столбцов.
c. Сформировать исследовательские и интеллектуальные умения: анализировать предметную область, спроектированные таблицы на соответствие нормальным формам, выявлять ограничения столбцов для поддержания целостности, самостоятельно вести исследование, оформлять результаты.
8. Задания студентам на самоподготовку:
10. Разработать структуру таблиц базы данных «Книголюб»
11. Проверить таблицы на соответствие нормальным формам
12. Продумать ограничения на значения столбцов
13. Определить первичные и внешние ключи для реализации реляционной связи
9. Оборудование: компьютеры класса IBM PC, ОС Windows 2000, IBConsole, BDE Administrator,
10. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 8. Этапы проектирования базы данных 9. Нормальные формы 10. Команда Create Table 11. Задание ограничений на значение столбцов 12. Задание первичных и внешних ключей 13. Команда создания индексов 14. Команда Alter Table 15. Алиас | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, Этапы выполнения работы: q Соединение с сервером InterBase q Создание новой базы данных q Создание таблиц БД «Книголюб» q Создание индексов q Возможное изменение структуры таблиц с помощью команды Alter Table q Создание алиаса БД «Книголюб» в BDE Administrator | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
ПРАКТИЧЕСКАЯ РАБОТА № 3
тема: «Проектирование структуры базы данных.
Нормализация таблиц. Алиас, файлы БД, таблицы»
Цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Проектирование серверной части приложения.
b. Сформировать практические умения и навыки: Выделять основные сущности и атрибуты предметной области, строить концептуальную, логическую и физическую модель базы данных, выполнять нормализацию таблиц. Создавать алиас базы данных, таблицы базы данных, индексы, задавать ограничения на значения столбцов.
c. Сформировать исследовательские и интеллектуальные умения: анализировать предметную область, спроектированные таблицы на соответствие нормальным формам, выявлять ограничения столбцов для поддержания целостности базы данных, самостоятельно вести исследование, оформлять результаты.
Вопросы для повторения.
Этапы проектирования баз данных Нормализация таблиц. Алгоритм приведения таблиц к 1, 2, 3 нормальным формам. Алиас Команда создания таблиц Create Table Определение ключей и ссылочной целостности Команда изменения структуры таблицы Alter TableРассматриваемая предметная область:
Оптовый поставщик является промежуточным звеном между издательствами (поставщики книг) и магазинами (покупатели книг). Наличие этого звена выгодно тем и другим: издательство, выпустив книгу, передает весь ее тираж или значительную его часть оптовому поставщику и, таким образом, не заботится об отслеживании многочисленных связей с магазинами; магазины, в свою очередь, находят у оптового поставщика огромный ассортимент книг, выпущенных многочисленными издательствами не только в России, но и в ближнем зарубежье. На рисунке отображены взаимосвязи между оптовым поставщиком и его партнерами. Характерной особенностью является двусторонний обмен книгами как с поставщиками, так и с покупателями. Это связано с тем, что большинство покупателей (магазинов) берут книги без предварительной оплаты, обязуясь реализовать их в определенный срок. По истечении этого срока магазин обязан оплатить взятые им книги и, возможно, вернуть не проданные книги оптовому поставщику. На таких же условиях берет книги оптовый поставщик у издательств. Итак, существует два вида документов, которыми обменивается оптовый поставщик со своими партнерами: это накладные на отпуск, покупку или возврат книг и платежные извещения. В накладных указывается, кому, сколько и каких книг продано (или куплено). В платежных извещениях — суммы платежей и наименование партнера. Характерно, что в них обычно не указывается, за какие конкретные книги осуществляется платеж - СУБД должна автоматически перераспределить сумму платежа на книги, указанные в накладных, в соответствии с обычным правилом: оплачиваются самые ранние накладные по мере их поступления.

В базе данных должны хранится:
· все нужные сведения о партнерах — с указанием юридического адреса, контактных лиц, телефонов и, разумеется, полного названия каждого партнера, а также суммарный долг каждого покупателя (или каждому поставщику), который обычно называется сальдо.
· полные сведения о каждой книге, хотя бы раз купленной у какого-либо поставщика или полученной по обмену от другого оптового поставщика (практика обмена книгами между оптовыми поставщиками широко распространена; за книги, полученные или переданные по обмену, не осуществляются платежи).
· сведения о накладных: дату отгрузки или получения партии книг, тип накладной (на покупку или продажу, с предоплатой или в рассрочку, с возвратом ранее проданных/купленных книг или с передачей их по обмену), наименование партнера, общая сумму накладной и т. п.
· сведения о собственно получаемых или передаваемых по накладной книгах. Их состав и количество могут быть какими угодно: если осуществляется покупка книг у поставщика, в накладной обычно указываются лишь одна - две книги, которые покупаются крупными партиями; если книги покупает магазин, он может закупить до сотни наименований книг относительно небольшими партиями; не исключена и розничная продажа одной-единственной книги случайному покупателю.
Инструкция по выполнению практической работы №3
20. Откройте программу IBConsole.
21. Зарегистрируйтесь на сервере. Логин – SYSDBA, пароль – masterkey.
22. Выполните команду DataBase -> Create Database
23. Задайте алиас «BIBLXX», где XX – номер группы.
24. Далее укажите полный адрес файла базы данных: c:\BIBLXX.gdb.
25. В разделе Options укажите Default Character Set – CYRL – используемую по умолчанию кодировку кириллицы. Нажмите ОК.
26. Выберите режим «Interactive SQL».
27. Последовательно набирайте команды создания таблиц базы данных в соответствии с физической моделью, с указанием ограничений и первичных ключей. Выполняются команды по нажатии на значок молнии или выбору пункта меню Query -> Execute.
28. Попробуйте добавить в таблицы записи:
- щелкните по строке Tables в дереве базы данных выберите нужную таблицу; двойным щелчком на ней откройте окно свойств. на вкладке Properties можно ознакомиться с полями таблицы и их типами на вкладке Metadata просмотреть команды создания таблицы на вкладке Permissions – установленные по умолчанию разрешения (права) на вкладке Data – стандартный интерфейс для ввода данных
29. Проанализируйте возможные ошибки и исправьте их. Если требуется внести изменения в структуры созданных таблиц, воспользуйтесь командой Alter Table.
АЛИАСЫ
InterBase сохраняет все таблицы в одном файле, имеющем расширение. GDB.
Удобно не просто указывать путь доступа к таблицам базы данных, а использовать для этого некий заменитель - псевдоним, называемый алиасом. Он сохраняется в отдельном конфигурационном файле в произвольном месте на диске и позволяет исключить из программы прямое указание пути доступа к базе данных. Такой подход дает возможность располагать данные в любом месте, не перекомпилируя при этом программу. Кроме пути доступа, в алиасе указываются тип базы данных, языковый драйвер и много другой управляющей информации. Поэтому использование алиасов позволяет легко переходить от локальных баз данных к SQL-серверным базам (естественно, при выполнении требований разделения приложения на клиентскую и серверную части).
ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ
Проектирование БД
Весь процесс проектирования БД подразделяется на три основных этапа: концептуальное, логическое и физическое проектирование.
Концептуальное проектирование БД начинается с создания концептуальной модели данных предприятия, полностью независимой от любых деталей реализации, включающей определение типов важнейших сущностей и существующих между ними связей и атрибутов.
Задачей первого этапа является разбиение проекта на группу относительно небольших (и более простых) задач исходя из представлений о предметной области приложения, свойственных каждому из типов конечных пользователей. Результатом выполнения этого этапа является создание локальных концептуальных моделей данных, представляющих собой полное и точное отражение представлений о предметной области приложения отдельных типов пользователей.
Логическое проектирование БД – конструирование информационной модели предприятия на основе существующих конкретных моделей данных, но без учета используемой СУБД и прочих физических условий реализации.
Логическое проектирование БД заключается в преобразовании концептуальной модели данных в логическую модель с учетом выбранного типа СУБД. Логическая модель является источником информации для этапа физического проектирования. Она предоставляет разработчику физической модели данных средства проведения всестороннего анализа различных аспектов работы с данными, что имеет исключительно важное значение для выбора действительно эффективного проектного решения.
На втором этапе локальные концептуальные модели данных преобразуются в локальные логические модели данных (для реляционной модели данных), состоящие из ER- диаграмм, реляционной схемы и сопроводительной документации. Затем корректность логических моделей проверяется с помощью правил нормализации.
Физическое проектирование БД – описание конкретной реализации БД, размещаемой во внешней памяти. Физический проект описывает базовые отношения, определяет организацию файлов и состав индексов, применяемых для обеспечения эффективного доступа к данным, а также регламентирует все соответствующие ограничения целостности и меры защиты.
Физическое проектирование предусматривает принятие разработчиком окончательного решения о способах реализации создаваемой базы. Поэтому физическое проектирование обязательно производится с учетом всех особенностей используемой СУБД. Между этапами физического и логического проектирования всегда имеется определенная обратная связь, поскольку решения, принятые на этапе физического проектирования с целью повышения производительности разрабатываемой системы, могут потребовать определенной корректировки логической модели данных.
ОБЩИЙ ОБЗОР ЭТАПОВ ПРОЕКТИРОВАНИЯ БД
Концептуальное проектирование БД
Ø Создание локальной концептуальной модели данных исходя из представлений о предметной области каждого из типов пользователей.
Ø Определение типов сущности.
Ø Определение связей.
Ø Определение атрибутов и связывание их с типами сущностей и связей.
Ø Определение доменов и атрибутов
Ø Определение атрибутов, являющихся потенциальными и первичными ключами.
Ø Проверка модели на отсутствие избыточности.
Ø Проверка соответствия локальной концептуальной модели конкретным пользовательским транзакциям.
Ø Обсуждение локальных концептуальных моделей данных с конечным пользователем.
Логическое проектирование БД
· Создание и проверка локальной логической модели данных на основе представления о предметной области каждого из типов пользователей.
· Устранение особенностей локальной логической модели, несовместимых с реляционной моделью (необязательный этап).
· Определение набора отношений исходя из структуры локальной логической модели данных.
· Проверка отношений с помощью правил нормализации.
· Проверка соответствия отношений требованиям пользовательских транзакций.
· Определение требований поддержки целостности данных.
· Обсуждение разработанных локальных логических моделей данных с конечным пользователем.
· Создание и проверка глобальной логической модели данных.
· Слияние локальных логических моделей данных в единую глобальную модель данных.
· Проверка глобальной логической модели данных.
· Проверка возможностей расширения модели в будущем.
· Обсуждение глобальной логической модели данных с пользователями.
Физическое проектирование БД (с использованием реляционной СУБД)
· Перенос глобальной логической модели данных в среду целевой СУБД
· Проектирование базовых отношений в среде целевой СУБД
· Проектирование отношений, содержащих производные данные.
· Реализация ограничений предметной области.
· Проектирование физического представления данных.
· Анализ транзакций
· Выбор файловой структуры.
· Определение индексов.
· Определение требований к дисковой памяти.
· Разработка пользовательских представлений
· Разработка механизмов защиты
· Анализ необходимости введения контролируемой избыточности
· Организация мониторинга и настройка функционирования операционной системы.
НОРМАЛИЗАЦИЯ ОТНОШЕНИЙ
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т. е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.
Каждая таблица в реляционной БД удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение, и никогда не может быть множества таких значений. Любая таблица, удовлетворяющая этому условию, называется нормализованной. Фактически, ненормализованные таблицы, т. е. таблицы, содержащие повторяющиеся группы, даже не допускаются в реляционной БД.
Теория нормализации работает с 5 нормальными формами. Каждая следующая нормальная форма в некотором смысле лучше предыдущей. При переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.
Теория нормализации основывается на наличии той или иной зависимости между полями таблицы.
Функциональная зависимость. Поле В таблицы функционально зависит от поля А той же таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля А обязательно существует только одно из различных значений поля В. Отметим, что здесь допускается, что поля А и В могут быть составными.
Полная функциональная зависимость. Поле В находится в полной функциональной зависимости от составного поля А, если оно функционально зависит от А и не зависит функционально от любого подмножества поля А иначе поле В будет частично зависимым (зависит только от части ключа).
Многозначная зависимость. Поле А многозначно определяет поле В той же таблицы, если для каждого значения поля А существует хорошо определенное множество соответствующих значений В.
Первая нормальная форма (1НФ)
Таблица, находящаяся в первой нормальной форме тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения (не содержит группы повторяющихся значений) и ни одно из ее ключевых полей не пусто.
Для приведения к 1НФ можно использовать следующий алгоритм:
Определить поле, которое можно назначить первичным ключом. Если такого поля нет, то добавить новое уникальное ключевое поле.
Определить группы повторяющихся полей.
Вынести группы повторяющихся полей в отдельные таблицы, в основной таблице остается одно поле для организации связи между таблицами.
Назначить первичные ключи в новых таблицах. (В качестве ключевых полей можно использовать поля таблицы или добавить новое поле. Если ключевое поле имеет большой размер, предпочтительно добавлять новое поле)
Определить тип отношения между таблицами.
Вторая нормальная форма (2НФ)
Таблица, находящаяся во второй нормальной форме, удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ связаны полной функциональной зависимостью с первичным ключом (любое неключевое поле однозначно идентифицируется полным набором ключевых полей).
Для приведения ко 2НФ необходимо:
вынести все частично зависимые поля в отдельную таблицу;
определить ключевые поля;
установить отношения между таблицами.
Третья нормальная форма (3НФ)
Таблица, находящаяся в третьей нормальной форме, удовлетворяет определению 2НФ и не одно из ее неключевых полей не зависит функционально от любого другого неключевого поля (в таблице нет полей, не зависящих от ключа).
Для приведения к 3НФ необходимо вынести поля, зависящие от неключевого поля, в отдельную таблицу и установить отношения между таблицами.
СОЗДАНИЕ ТАБЛИЦ
Для создания таблиц используется оператор CREATE TABLE, имеющий такой общий формат:
CREATE TABLE <Имя_таблицы> [EXTERNAL [FILE] "<имя_файла>"] (<опр_столбца> [, <опр_столбца> | <ограничение> ...]);
Здесь <опр_столбца> — определение столбца БД. Определение столбца имеет такой формат:
<опр_столбца> = <имя_столбца>{<тип_данных> | COMPUTED [BY]
(<выражение>) | <домен>}
[DEFAULT {<литерал>| NULL | USER}]
[NOT NULL] [<огранич_столбца>]
[COLLATE collation]
Здесь:
<имя_столбца> — имя столбца;
<тип_данных> — тип столбца (основные сведения о типах столбцов приведены в уроке 11);
COMPUTED [BY] (выражение>) — служит для определения столбца вычисляемых значений;
<домен> — имя домена;
DEFAULT — определяет значение, которое по умолчанию заносится в столбец при вставке новой записи;
<огранич_столбца> — ограничения, накладываемые на значения столбца;
COLLATE collation — определяет порядок сортировки символов (для символьных столбцов).
Ограничения на значения столбцов
При определении (изменении) таблицы или домена на значения столбца могут налагаться ограничения. В этом случае InterBase будет автоматически отслеживать вводимые в столбец значения, отвергая те из них, которые не удовлетворяют наложенным на столбец ограничениям. Ограничение накладывается спецификатором CHECK и имеет такой формат:
CHECK (<ограничение>)
<ограничение> =
{<значение> <знак операции> {<значение1> | (<выбор_одного>)}
|<значение> [NOT] BETWEEN <значение1> AND <значение2>
|<значение> [NOT] LIKE <маска_подобия> [ESCAPE <символ>]
|<значение> [NOT] IN (<значение1> [, <значение2>...] | <выбор_многих>)
<значение> IS [NOT] NULL
|<значение> {[NOT] {=| < | >} | >= | <=}
{ALL | SOME | ANY} (<выбор_многих>)
EXISTS (<выражение_выбора>)
SINGULAR (<выражение_выбора>)
<значение> [NOT] CONTAINING <значение1>
<значение> [NOT] STARTING [WITH] <строка>
NOT <ограничение>
<ограничение> OR <ограничение>
<ограничение> AND <ограничение>}
<значение> = {столбец | <константа> | <выражение> | <функция>
|NULL | USER | RDB$DB_KEY } [COLLATE collation]
<константа> = число | "строка"
<Функция> = {
COUNT (* | [ALL] <значение> | ISTINCT <значение>)
|SUM ([ALL] <значение> |DISTINCT <значение>)
|AVG ([ALL] <значение> |DISTINCT <значение>)
|MAX ([ALL] <значение> | DISTINCT <значение>)
|MIN ([ALL] <значение> | DISTINCT <значение>)
|CAST (<значение> AS <тип_данных>)
|UPPER (<значение>)
|GEN_ID (генератор, <значение>)
}
Ниже перечислены используемые обозначения.
12. <знак операции> — один из следующих символов или их комбинация: < > <= >= !< !> <> !=
13. <выбор_одного> — оператор SELECT, возвращающий одно значение или не возвращающий ничего;
14. <маска_подобия> — произвольная строка, возможно, содержащая символы-заменители % (символ процента) и/или _ (символ подчеркивания):
• символ процента означает произвольное (в том числе и нулевое) количество любых символов, которые могут стоять на его месте;
• символ подчеркивания означает, что на его месте должен стоять любой символ' О <символ> — любой символ, отличный от символа-заменителя, который в маске подобия играет роль символа-заменителя;
· <выбор_многих> — оператор SELECT, который может возвращать более одного значения (список значений) или ни одного;
· <выражение_выбора> — оператор SELECT, который может возвращать более одного значения (список значений) или ни одного.
Примеры наложения ограничений:
CREATE TABLE MixTable (
/* Столбец не должен содержать отрицательных значений */
Coll INT CHECK(Coll>=0),
/* Значения столбца >= 100 и <= 200 */
Со12 INT CHECK(Col2 BETWEEN 100 AND 200),
/* Значения столбца должны заканчиваться символами "у. е."
Со13 CHAR(40) CHECK(Col3 LIKE '% у.е. '),
/* Значения столбца должны заканчиваться символом "%" */
Со14 CHAR(20) CHECK(Col4 LIKE '%!%' ESCAPE '!'),
/* Значения столбца должны совпадать с одним из значений столбца NakllD таблицы Nakls */
Со15 INT CHECK(Col5 IN (SELECT BookID FROM Books)),
/* Столбец должен содержать значения большие, чем значение, возвращаемое генератором GEN_BOOKS */
Со16 INT CHECK(Со1б > Gen_ID(GEN_BOOKS, 0)),
/* Строка в значении столбца должна начинаться пробелом */
Со17 CHAR(5) CHECK(Col7 STARTING WITH " "))
ОПРЕДЕЛЕНИЕ КЛЮЧЕЙ И ССЫЛОЧНЫХ ЦЕЛОСТНОСТЕЙ
С помощью спецификатора PRIMARY KEY можно указать столбец (столбцы), по которому (которым) в таблице будет построен первичный ключ. Если в первичный ключ входит единственный столбец, спецификатор ставится при определении столбца:
CREATE TABLE MyTable(Coll INT NOT NULL PRIMARY KEY, Col2 VARCHAR(20))
Если в состав первичного ключа должны входить несколько столбцов, спецификатор ставится после определения всех полей:
CREATE TABLE MyTable(Coll INT NOT NULL,
Col2 VARCHAR(20) NOT NULL, PRIMARY KEY (Coll, Col2))
В любом случае поля, по которым строится первичный ключ, не могут быть пустыми, поэтому при их определении указывается спецификатор NOT NULL.
Внешний ключ создается для обеспечения ссылочной целостности в дочерней таблице с помощью спецификатора FOREIGN KEY, который имеет такой формат:
FOREIGN KEY (<сп_столбцов_дочерней_табл>) references <имя_родит_таблицы>
[<сп_столбцов_родит_таблицы>]
[ON DELETE {NO ACTION | CASCADE | SET DEFAULT | SET NULL}]
[ON UPDATE {NO ACTION | CASCADE | SET DEFAULT SET NULL}]
Здесь:
<сп_столбцов_дочерней_табл> — список столбцов дочерней таблицы, которые входят во внешний ключ;
<имя_родит_таблицы> — имя родительской таблицы;
<сп_столбцов_родит_таблицы> — список столбцов родительской таблицы которые являются ключевыми для связи таблиц (список можно опускать, если связь с родительской таблицей устанавливается по первичному ключу);
необязательные параметры ON DELETE и ON UPDATE указывают, что должен делать сервер при соответственно удалении и изменении первичного ключа родительской таблицы:
• NO ACTION — блокировать удаление (изменение), если в дочерней таблице есть хотя бы одна запись, ссылающаяся на удаленное (измененное) значение;
• CASCADE — произвести каскадные изменения в дочерней таблице: удалить записи, ссылающиеся на удаленное значение первичного ключа, или изменить вторичный ключ в соответствии с новым значением первичного ключа;
• SET DEFAULT — установить значение вторичного ключа, заданное по умолчанию;
• SET NULL — установить значение NULL.
Пусть в БД созданы две таблицы: Р — родительская и С — дочерняя. Их объявления показаны ниже.
CREATE TABLE P(P_ID INT NOT NULL PRIMARY KEY, P_0ther INT)
CREATE TABLE С(C_Number INT, C_0ther INT, FOREIGN KEY (C_Number) REFERENCES P ON UPDATE CASCADE ON DELETE NO ACTION)
ИЗМЕНЕНИЕ И УДАЛЕНИЕ ТАБЛИЦ
Изменение ранее созданной таблицы осуществляется оператором ALTER TABLE, в котором дополнительно указывается характер действия спецификаторами ADD (добавить) или DROP (удалить). Добавлять можно только столбцы, удалять — столбцы и именованные ссылочные целостности. Например:
/* Добавление нового столбца */
ALTER TABLE P ADD New_Column VARCHAR(SO)
/* Удаление именованной ссылочной целостности */ ALTER TABLE С DROP Cons_C
Если необходимо изменить атрибуты какого-либо столбца (например, увеличить максимальное количество символов для текстового столбца), это можно сделать только за несколько этапов. Сначала создается временный столбец, атрибуты которого полностью повторяют атрибуты изменяемого столбца, после чего данные из изменяемого столбца копируются во временный:
ALTER TABLE P ADD Temp VARCHAR(50); UPDATE P SET Temp=New_Column
Затем изменяемый столбец удаляется и создается одноименный новый столбец с нужными атрибутами, после чего данные из временного столбца переносятся в новый:
ALTER TABLE P DROP New_Column;
ALTER TABLE P ADD New_Column VARCHAR(70);
UPDATE P SET New_Column=Temp;
ALTER TABLE P DROP Temp
Удаление таблиц реализуется оператором DROP TABLE: DROP TABLE MyTable
Данные из удаленной таблицы, а также связанные с ней индексы, ссылочные целостности и ограничения безвозвратно теряются. Удаление таблицы будет блокировано, если объявлена затрагивающая ее ссылочная целостность ON DELETE NO ACTION, а в дочерней таблице есть ссылающиеся на нее записи.
Требования к оформлению отчета
Отчет должен содержать:
Название практической работы ФИО студента Схему данных спроектированной таблицы Команды по созданию таблиц базы данных, включающих определения первичных и внешних ключей, ограничений на значения столбцов. Команды изменения структуры созданных таблиц. Анализ ошибок и выводыНаименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Визуальные средства проектирования структуры базы данных
Практическая работа № 4
15. Тема практической работы: Визуальное проектирование структуры базы данных: таблицы, индексы
16. Количество часов: 2
17. Место проведения: компьютерный класс
18. Характер работы: частично-поисковый
19. Форма организации деятельности студентов: групповая
20. Внутрипредметные и межпредметные связи: Базы данных. Назначение и структура файлов базы данных. Приемы создания структуры базы данных. Индексы.
21. Дидактические цели практической работы:
22. Обобщить, закрепить теоретические знания по теме: Проектирование серверной части приложения.
23. Сформировать практические умения и навыки: Создание базы данных, ее таблиц, индексов с помощью графической среды для разработки баз данных SQL.
24. Сформировать исследовательские и интеллектуальные умения: анализировать предметную область, определять критерии выборки, самостоятельно вести исследование, оформлять результаты.
25. Задания студентам на самоподготовку:
· Проанализировать структуру таблиц базы данных, содаваемой ранее при выполнении практической работы №2 на предмет задания ссылочных целостностей и ограничений.
· Продумать критерии выборки и сортировки записей в таблицах с точки зрения пользователей.
· Написать команды создания индексов для таблиц.
26. Оборудование: компьютеры класса IBM PC, ОС Windows Server 2003, MySQL 5.0, DBForge Studio for MySQL
27. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: · Команда создания таблиц базы данных · Задание ограничений на значение столбцов · Задание первичных и внешних ключей · Команда создания индексов · Команды по изменению индекса и его состояния. | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, Этапы выполнения работы: 14. Запуск DBForge Studio for MySQL 15. Создание новой базы данных и соединения с ней 16. Создание таблиц учебной БД с помощью графической оболочки 17. Создание индексов 18. Использование индексов | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Инструкция по выполнению практической работы №4
30. Откройте DBForge Studio for MySQL и выполните соединение с сервером MySQL, выполненное в п. 6 практической работы № 1.
31. Используя контекстное меню соединения, создайте новую базу данных с именем Proba.
Задайте кодировку charset - latin1 и порядок сортировки collation - latin1_bin
32. В контекстном меню базы данных Proba выберите меню Создать — Таблица...
Откроется окно, в котором Вы должны указать имя первой таблицы Grups, выбрать базу данных Proba и тип таблицы (по умолчанию INNODB).
33. Из контекстного меню раздела «Столбцы» выберите пункт «Новый столбец». В открывшемся окне укажите все реквизиты первого столбца: наименование, тип, размер и т. д.
34. Аналогично добавьте остальные стольцы таблицы.
35. Так же создайте вторую таблицу Students.
36. Сохраните все.
37. Для тех полей таблиц, по которым возможна сортировка, создайте индексы:
16. развернув дерево соответствующей таблицы, из контекстного меню «Индексы» выберите пункт «Новый индекс». В открывшемся окне выберите индексируемый столбец или несколько столбцов, входящих в индекс. Укажите, являются ли значения полей, входящих в индекс, уникальными. Просмотрите свойства индекса (в левой нижней части окна) на предмет указания дополнительных параметров.
17. Сохранитесь.
38. Заполните таблицы данными (3-5 строк). Просмотрите, как сортируются данные в зависимости от выбранного индекса
39. Оформите отчет по выполненной практической работе.
Шаблон оформления отчета
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Отчет по выполнению практической работы № 4
«Визуальное проектирование структуры базы данных: таблицы, индексы»
1. Фамилия, имя студента_______________________________ Группа______
q Команда создания таблицы Grups:
...
q Команда создания таблицы Students
...
q Выводы:
· Индексы создаются и используются в целях:
...
· Использование визуальной среды разработки баз данных дает следующие преимущества:
...
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Визуальные средства проектирования структуры базы данных .
Практическая работа № 5
28. Тема практической работы: Визуальное проектирование структуры базы данных: условия ссылочной целостности, взаимосвязи
29. Количество часов: 2
30. Место проведения: компьютерный класс
31. Характер работы: частично-поисковый
32. Форма организации деятельности студентов: групповая
33. Внутрипредметные и межпредметные связи: Базы данных. Основные понятия реляционных БД. Целостность базы данных. Организация взаимосвязи
34. Дидактические цели практической работы:
35. Обобщить, закрепить теоретические знания по теме: Проектирование серверной части приложения.
36. Сформировать практические умения и навыки: Создание базы данных, ее таблиц, индексов с помощью графической среды для разработки баз данных SQL.
37. Сформировать исследовательские и интеллектуальные умения: анализировать предметную область, определять критерии выборки, самостоятельно вести исследование, оформлять результаты.
38. Задания студентам на самоподготовку:
· Проанализировать структуру таблиц базы данных, содаваемой ранее при выполнении практической работы №2 на предмет задания ссылочных целостностей и ограничений.
· Продумать взаимосвязи между таблицами.
· Повторить команды создания индексов для таблиц.
39. Оборудование: компьютеры класса IBM PC, ОС Windows ХР, Сервер InterBase, IBConsole
40. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: · Команда создания таблиц базы данных · Задание ограничений на значение столбцов · Задание первичных и внешних ключей · Команда создания индексов · Команды по изменению индекса и его состояния. | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, Этапы выполнения работы: 19. Запуск IbConsole. Соединение с сервером 20. Создание новой базы данных и соединения с ней 21. Создание таблиц учебной БД с помощью графической оболочки 22. Создание первичных и внешних ключей 23. Заполнение базы данных. | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Инструкция по выполнению практической работы № 5
18. Выполните соединение с сервером InterBase.
19. Выполните соединение с базой данных, созданной в ходе выполнения практической работы №2.
20. Добавьте в базу данных таблицу, связанную реляционной связью с таблицей Students.
Vedomost (Vstudent, Vdate, Vpredm, Vball)
Проанализируйте какое поле (поля) таблицы — первичный ключ, какое поле будет внешним ключом.
Выполните создание таблицы с помощью визуальной среды проектирования базы данных:
q Выберите в дереве объектов пункт «Таблицы».
q В контекстном меню правой части окна выберите пункт «Create...». Откроется окно создания таблицы, в котором задайте структуру таблицы: поля, их типы, свойства, ограничения, первичные и внешние ключи.
21. Заполните таблицу данными. Сделайте выводы.
Шаблон оформления отчета
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Отчет по выполнению практической работы № 5
«Визуальное проектирование структуры базы данных: условия ссылочной целостности, взаимосвящи»
· Фамилия, имя студента_______________________________ Группа______
· Поля первичного ключа таблицы Vedomost:
…
· Поле внешнего ключа таблицы Vedomost:
...
4. Команда создания таблицы Vedomost:
...
3. Выводы:
40. Первичные и внешние ключи создаются и используются в целях:
...
41. Использование визуальной среды разработки баз данных дает следующие преимущества:
...
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения баз данных.
Практическая работа № 6
42. Тема практической работы: Клиентская часть: размещение компонентов доступа к данным, соединение с БД, размещение компонентов визуализации, отображение таблиц
43. Количество часов: 2
44. Место проведения: компьютерный класс
45. Характер работы: частично-поисковый
46. Форма организации деятельности студентов: групповая
47. Внутрипредметные и межпредметные связи: Базы данных. Невизуальные компоненты доступа к данным. Компоненты визуализации данных
48. Дидактические цели практической работы:
49. Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения.
50. Сформировать практические умения и навыки: создавать пользовательское приложение, размещать компоненты доступа к данным и компоненты визуализации данных, организовывать соединение с БД InterBase, отображать данные, реализовывать реляционную связь между таблицами БД.
51. Сформировать исследовательские и интеллектуальные умения: анализировать возможности использования различных технологий доступа к данным, задания необходимых условий для связи с БД, оформлять результаты.
52. Задания студентам на самоподготовку:
41. Способы доступа к данным.
42. Компоненты, реализующие навигационный и реляционный доступ
43. Компоненты визуализации данных
53. Оборудование: компьютеры класса IBM PC, ОС Windows ХР, Delphi, БД InterBase
54. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: · Алиас · Технологии доступа к данным BDE, Interbase Express – особенности · Компоненты доступа к данным по технологии Interbase Express · Соединение с базой данных IB · Компоненты визуализации данных | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться создавать приложение БД Interbase Этапы выполнения работы: · Создание приложения · Размещение компонентов · Соединение с БД InterBase · Отображение данных · Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
ПРАКТИЧЕСКАЯ РАБОТА № 6
тема: «Клиентская часть: размещение компонентов доступа к данным, соединение с БД, размещение компонентов визуализации, отображение таблиц»
Цели практической работы:
55. Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения.
56. Сформировать практические умения и навыки: создавать пользовательское приложение, размещать компоненты доступа к данным и компоненты визуализации данных, организовывать соединение с БД InterBase, реализовывать реляционную связь между таблицами БД, отображать данные.
57. Сформировать исследовательские и интеллектуальные умения: анализировать возможности использования различных технологий доступа к данным, задания необходимых условий для связи с БД, оформлять результаты
Инструкция по выполнению практической работы:
Начните новый проект и измените следующие свойства пустой формы, заданные по умолчанию:Caption = 'Накладные на книги'
Name = 'fmNakls'
После изменения свойств сразу сохраните модуль в специально отведенной для этого папке под именем fmNaklsU, а проект — под именем Nakls. Поместите на форму две панели ТPanel, поместите в их свойства Align значения alBottom: самая нижняя из них предназначена для размещения кнопок навигатора и кнопки закрытия программы, а расположенная над ней — для размещения сетки DBGrid, в которой будет отображаться список книг. Чтобы пользователь программы мог менять высоту этой панели, поместите на пустую часть формы вешку разбивки TSplitter (вкладка Additional палитры компонентов), в ее свойство Align поместите значение alBottom, в свойство Beveled — True и в свойство Height — 5. Поместите на форму еще одну панель и установите в ее свойство Align значение alClient — на этой панели будет расположена сетка DBGrid с данными о накладных. Поместите на верхнюю и среднюю панели по компоненту TDBGrid (вкладка Data Controls) и в их свойство Align установите значение alClient. Очистите свойство Caption у самой нижней панели и поместите на нее кнопки навигатора БД TDBNavigator (вкладка Data Controls) и кнопку TBitBtn (вкладка Additional). Навигатор расположите у левого края панели, а кнопку — у правого. В свойство Kind кнопки поместите значение bkClose. Сохраните все сделанные вами изменения модуля главной формы на диске.В программе нам понадобятся 2 компонента TIBТаblе, два компонента TDataSource, компоненты TIBDataBase, IIBTransaction. Разместим их в отдельном модуле данных, чтобы эти компоненты не загромождали основное окно.
Выберите команду File > New > Others > Delphi Files, чтобы открыть окно хранилища объектов, и на вкладке New открывшегося окна дважды щелкните на значке Data Module. В свойство Name модуля данных поместите значение DM и сохраните модуль в файле dmNaklsU. Чтобы связать модуль с проектом, щелкните на копке Add File To Project (Shift+F11) панели инструментов и выберите только что созданный файл dmNaklsU. Для связи таблиц с БД воспользуемся компонентом TIBDatabase на вкладке InterBase палитры компонентов Delphi: щелкните на нем и затем — на имени модуля DM в окне дерева объектов. В окне инспектора объектов раскройте список свойства DatabaseName и с его помощью установите ссылку на файл своей базы данных. Измените имя компонента TIBDatabase, заданное по умолчанию, на DB. Раскройте список Params компонента DB и введите регистрационное имя и пароль.USER_NAME=SYSDBA
PASSWORD=masterkey
Установите в свойство LoginPrompt компонента DB значение False. Поместите в модуль данных компонент IBTransaction. С помощью списка свойства DefaultDatabase свяжите компонент IBTransaction1 с компонентом DB. Теперь перенесите в окно дерева объектов компонент ТIBТаblе (вкладка InterBase) и «положите» его на объект DB в дереве объектов. В окне инспектора объектов в свойстве DatabaseName нового компонента автоматически появится имя базы данных DB, однако слева от компонента в окне дерева объектов будет красный знак вопроса, означающий, что компонент ТIBТаblе еще не готов к работе. Чтобы подготовить компонент к работе, необходимо определить имя этой таблицы: раскройте список его свойства TableName и выберите в нем таблицу NAKLS.В дальнейшем нам придется много раз обращаться к методам и свойствам этого компонента, поэтому измените его имя TIBTablel, заданное по умолчанию, на имя связанной с ним таблицы: в строке свойства Name введите Nakls. Чтобы данные из НД Nakl s смогла отобразить сетка DBGridl в главном окне программы, ее нужно связать с НД с помощью специального компонента TDataSource: выделите его на вкладке Data Access палитры компонентов и затем щелкните на компоненте Nakls в окне дерева объектов, чтобы связать его с НД. Теперь подготовьте вторую пару ТIBТаble — TDataSource для отображения данных из таблицы MOVEBOOK во второй сетке главного окна (свяжите НД с таблицей MOVEBOOK и дайте ему имя Move).Наборы данных Nakls и Move связаны реляционным отношением один ко многим: единственной записи (накладной) в первом НД может соответствовать произвольное количество записей (книг) во втором. Чтобы НД «знали» об этом и согласованно отображали данные, их нужно предварительно подготовить.
Для установления связи между таблицами в компоненте-наборе данных подчиненной таблицы для свойства MasterSource укажите источник данных родительской таблицы. Чтобы установить связь, нужно указать связываемые поля в родительской и дочерней таблицах. В поле Detail Fields выберите поле MNakl — щелкните на нем, и в списке Master Fields - поле NakllD, после чего щелкните на кнопке Add (эта кнопка станет доступной только после выделения полей связи и перестает быть доступной после щелчка на ней). Закройте окно конструктора связей щелчком на кнопке ОК.После выполнения этих действий между таблицами NAKLS и MOVEBOOK устанавливается связь один ко многим по полю NakllD.
Щелкните на таблице Movebook в окне дерева объектов и откройте набор данных Move: в окне инспектора объектов поместите в его свойство Active значение True. Точно так же откройте таблицу Nakls. На этом начальный этап работы с окном модуля данных закончен, и нам нужно перейти к главному окну программы (щелкните на вкладке fmNaklsU в окне кода и нажмите клавишу F12). С помощью команды File > Use Unit свяжите модуль главного окна с модулем данных. Для верхней сетки DBGrid1 раскройте список свойства DataSource и выберите в нем пункт DataSource1 - сетка тут же наполнится данными из НД Nakls. Точно так же свяжите нижнюю сетку с источником данных DataSource2. Свяжите навигатор баз данных DBNavigatorl в нижней части окна с источником DataSourcel. Запустите программу на выполнение. Проверьте работу приложения. Подготовьте отчет о выполнении практической работы. Отчет должен содержать:q Название ПР
q ФИО студента, № группы
q цели
q Перечень используемых компонентов и их свойств для организации доступа к данным
q Порядок отображения данных
q Организация реляционной связи между двумя таблицами
q Описание работы приложения
q Анализ ошибок
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения БД.
Практическая работа № 7
· Тема практической работы: Запросы на добавление данных
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: частично-поисковый
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Структурированный язык запросов SQL
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения; Запросы на добавление данных в таблицу
· Сформировать практические умения и навыки: создавать пользовательское приложение, размещать компоненты доступа к данным и компоненты визуализации данных, организовывать соединение с БД InterBase, отображать данные, выполнять пользовательские запросы.
· Сформировать исследовательские и интеллектуальные умения: анализировать возможности использования различных технологий доступа к данным, строить пользовательские запросы, оформлять результаты.
· Задания студентам на самоподготовку:
24. Способы доступа к данным.
25. Компоненты, реализующие реляционный доступ к данным
26. Запросы на добавление данных
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, Delphi, БД InterBase
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 88. 1. Компоненты доступа к данным по технологии Interbase Express 89. 2. Компоненты, реализующие навигационный и реляционный доступ к данным 90. 3. 2 вида запросов на добавление данных 91. 4. Методы компонентов — наборов данных, используемые для выполнения запросов | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться создавать приложение БД Interbase Этапы выполнения работы: 22. Создание приложения, размещение компонентов, Соединение с БД InterBase 23. Отображение данных 24. выполнение запросов 25. Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
ПРАКТИЧЕСКАЯ РАБОТА № 7
· Создайте новое приложение. Сохраните файл pas с именем Uchange.pas, проект с именем Pchange.dpr.
· Разместите на форме невизуальные компоненты доступа к данным по технологии InterBase Express: TIBDataBase, TIBTransaction, 2 компонента TIBQuery
Выполните соединение со своей базой данных InterBase.
· Разместите на форме:
· компонент TMemo;
· компонент TEdit;
· кнопку Button1 – свойство Caption измените на «Выполнить запрос»;
· кнопку Button2– свойство Caption измените на «Очистить поле ввода»;
· копку Button3 - свойство Caption измените на «Открыть набор данных»;
· Источник данных. Свяжите его с Query2 через свойство DataSet.
· Для компонентов TIBQuery, в свойстве DataBase укажите имя соответствующего компонента;
· сетку DBGrid. Свяжите его с DataSource1 через свойство DataSource.
· В свойстве SQL компонента Query2 напишите запрос, который выводит все записи из таблицы Books. Откройте набор данных. В сетке DbGrid1 должны отобразиться данные. Просмотрите их.
· Для кнопки «Выполнить запрос» напишите обработчик события OnClick: Query1.SQL.Clear;
Query1.SQL. AddStrings(memo1.Lines);
Query1.ExecSQL
· Для кнопки «Открыть набор данных» напишите обработчик события OnClick:
Query2.Close;
Query2.SQL. Clear;
Query2.SQL. add(Edit1.text);
Query2.Open
· Для кнопки «Очистить поля ввода» напишите обработчик события OnClick:
Memo1.Lines. Clear;
Edit1.Clear;
· Запустите приложение;
· В поле ввода многострочного текста напишите запрос на изменение данных таблицы BOOKS, который уменьшает цены оптовой и розничной продажи тех книг, остаток на складе которых меньше пяти.
· Выполните команду SQL, нажав на кнопку «Выполнить запрос».
· Во второе поле ввода введите запрос на выборку всех записей из таблицы Books.
· Просмотрите результат выполнения первого запроса.
· Аналогичным образом выполните следующие задачи:
44. Добавьте в таблицу TypeNakl новую запись: в поле TypeID – значение 8, в поле Tname – значение «Брак».
45. Увеличьте на 5% цену покупки книг издательства «Питер».
46. Измените название типа накладной 8 таблицы TypeNakl на «Списание в брак».
47. Добавьте для любой фирмы адрес электронной почты.
48. Удалите из таблицы TypeNakl запись с номером типа 8.
49. Создайте в IB_Console копию таблицы Nakls, дайте ей имя Nakls_CopyXX (XX - № группы)
50. Скопируйте в таблицу Nakls_CopyXX записи из таблицы Nakls, относящиеся к 21 марта 2000 г. Просмотрите результат.
51. Удалите все записи из таблицы Nakls_Copy. Убедитесь в том, что запрос на удаление выполнен.
52. Скопируйте в таблицу Nakls_CopyXX все записи из таблицы Nakls. Убедитесь в правильности написания запроса на добавление записи.
53. Закройте программу, предварительно сохранив все
54. Подготовьте отчет о выполнении практической работы. Отчет должен содержать:
q ФИО студента, № группы
q Название ПР
q цели
q Перечень используемых компонентов и их свойств и методов для организации доступа к данным и выполнения запросов.
q Команды выполненных запросов.
q Анализ ошибок
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения БД.
Практическая работа № 8
· Тема практической работы: Запросы на редактирование и удаление данных
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: частично-поисковый
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Структурированный язык запросов SQL.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения; Запросы на добавление данных в таблицу
· Сформировать практические умения и навыки: создавать пользовательское приложение, размещать компоненты доступа к данным и компоненты визуализации данных, организовывать соединение с БД InterBase, отображать данные, выполнять пользовательские запросы.
· Сформировать исследовательские и интеллектуальные умения: анализировать возможности использования различных технологий доступа к данным, строить пользовательские запросы, оформлять результаты.
· Задания студентам на самоподготовку:
27. Способы доступа к данным.
28. Компоненты, реализующие реляционный доступ к данным
29. Запросы на редактирование и удаление данных
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, Delphi, БД InterBase
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: Компоненты доступа к данным по технологии Interbase Express Компоненты, реализующие навигационный и реляционный доступ к данным Команды на редактирование и удаление данных Методы компонентов — наборов данных, используемые для выполнения запросов | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться создавать приложение БД Interbase Этапы выполнения работы: 26. Создание приложения, размещение компонентов, Соединение с БД InterBase 27. Отображение данных 28. Построение запросов на редактирование данных 29. Построение запросов на удаление данных 30. Построение параметрических запросов 31. Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Инструкция к практической работе № 8
55. Создайте новое приложение
56. Разместите на форме 3 панели.
57. Свойство Align нижних панелей установите в «alBottom», верхней – «alClient»
58. Поместите в верхнюю панель компонент DBGrid.
59. Разместите на форме компоненты, необходимые для связи с вашей базой данных.
60. Добавьте компонент TIBQuery, оставив его свойство Name заданным по умолчанию.
61. В свойстве Database укажите компонент TIBDataBase.
62. Для связи визуального компонента DBGrid с набором данных IBQuery1 добавьте на форму Источник данных. В строке DataSet инспектора объектов выберите IBQuery1.
63. Свяжите компонент DBGrid с Источником данных.
64. Откройте окно редактирования запроса SQL компонента Query и наберите запрос, выводящий все записи из таблицы Firms.
65. Откройте компонент Query, изменив его свойство Active на True. В сетке отобразятся все записи таблицы Firms.
66. Создайте параметрический запрос, который возвращает набор данных со списком партнеров, поставивших книги в определенный день. Для этого проделайте следующие операции:
67. поместите на форму в нижнюю панель компонент MonthCalendar. Измените его свойство Name на «MC».
68. в окне редактора запроса наберите:
SELECT NaklID, FName, NSum FROM Nakls, Firms
WHERE FirmID=NFirm AND NDate=:DATE AND NType IN (0, 6)
ORDER BY FName
Обратите внимание: в тексте запроса имени параметра Date предшествует двоеточие.
Напишите следующий обработчик события OnClick компонента MC:
IBQuery1.Active:=False;
IBQuery1.ParamByName('DATE').AsDate:= MC. Date;
IBQuery1.Open;
69. Постройте параметрический запрос, возвращающий набор данных с накладными, отражающими перемещение книг для определенного поставщика. Для этого:
70. Разместите на второй панели компонент DBGrid.
71. Добавьте еще один компонент IBQuery, В свойстве Database укажите компонент TIBDataBase.
72. Добавьте компонент Источник данных, в строке DataSet выберите IBQuery2.
73. В окне редактора запросов для компонента IBQuery2 напишите соответствующий параметрический запрос.
74. В обработчике событий OnDblClick компонента DBGrid1 самостоятельно напишите процедуру задания значения параметра.
75. Постройте запрос, отображающий данные трех полей таблицы Books: BName, BAuthor, BPublish
76. Выведите все записи из таблицы Nakls с полным наименованием фирмы (из таблицы Firms)
77. Создайте запрос, отбирающей те накладные, сумма которых превышает 100000 рублей или в которых ненулевая сумма возврата. Отсортируйте записи по номеру накладной
78. Отберите из таблицы Books только те названия книг, которые начинаются буквой «Я».
79. Создайте запрос, выводящий информацию о накладных с номерами 1, 3, 7.
80. Создайте запрос, возвращающий среднее значение долга покупателей
81. Выдайте список всех поставщиков с указанием суммы стоимости всех поставленных ими книг
82. Выдайте количество накладных, связанных с поставкой книг
83. Выдайте количество поставщиков книг
84. Подготовьте отчет по выполненной практической работе. Отчет должен содержать
· ФИО студента, № группы
· Название ПР
· цели
· Перечень используемых компонентов и их свойств и методов для организации доступа к данным и выполнения запросов, в том числе параметрических.
· Команды выполненных запросов. Организация выполнения параметрических запросов
· Анализ ошибок
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Хранимые процедуры, триггеры и генераторы. Обеспечение достоверности, целостности и непротиворечивости данных. Каскадные воздействия.
Практическая работа № 9
· Тема практической работы: Создание хранимых процедур.
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: частично-поисковый
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Язык написания хранимых процедур и триггеров.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Хранимые процедуры, триггеры и генераторы. Обеспечение достоверности, целостности и непротиворечивости данных. Каскадные воздействия
· Сформировать практические умения и навыки: создавать хранимые процедуры, реализующие каскадные воздействия на БД. Использовать их в приложении Delphi
· Сформировать исследовательские и интеллектуальные умения: строить алгоритм процедуры обработки данных, определять список передаваемых и возвращаемых параметров, осуществлять выбор компонентов для выполнения хранимых процедур.
· Задания студентам на самоподготовку:
30. Назначение хранимых процедур
31. язык написания хранимых процедур и триггеров
32. Компоненты Delphi для вызова хранимых процедур.
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, Delphi, БД InterBase, IBConsole
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: Назначение хранимых процедур Язык написания хранимых процедур. Различия в использовании хранимых процедур и триггеров Компоненты Delphi для выполнения хранимых процедур | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться создавать приложение БД Interbase Этапы выполнения работы: 32. Создание хранимой процедуры 33. Создание пользовательского прилложения 34. Размещение компонентов для выполнения хранимой процедуры 35. Выполнение приложения. | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Инструкция к практической работе № 9
Хранимая процедура создается следующим оператором:
CREATE PROCEDURE ИмяПроцедуры
[(<входной_параметр> <тип_данных>
[,<входной_параметр> <тип_данных> ...])]
[RETURNS (<выходной_параметр> <тип_данных>
[,<выходной_параметр> <тип_данных> ...])] AS
[<объявление локальных переменных>] BEGIN
<оператор>;
[<оператор>; .. . ] END
Входные параметры служат для передачи в процедуру значений из вызывающего приложения. Изменять значения входных параметров в теле процедуры бессмысленно: эти изменения будут забыты после окончания работы процедуры. Выходные параметры служат для возвращения результирующих значений. Значения выходных параметров устанавливаются в теле процедуры и после окончания ее работы передаются в вызывающее приложение.
Как входные, так и выходные параметры могут быть опущены, если в них нет необходимости.
85. В IBConsole создайте хранимую процедуру, которая по номеру накладной возвращает список связанных с ней книг
Для обращения к хранимым процедурам InterBase, которые возвращают результат, следует использовать компонент TQuery, в свойстве SQL которого указан запрос вида
SELECT * FROM <имя_процедуры>
86. Создайте клиентское приложение, расположив на форме необходимые компоненты для связи с базой данных, компонент визуализации данных DBGrid, компонент Tedit для ввода параметра — номера накладной.
87. Разместите на форме один компонент TIBQuery и один источник данных, чтобы иметь возможность отобразить результат выполнения хранимой процедуры. Выполните необходимые настройки для отображения данных.
88. В свойстве SQL компонента TIBQuery напишите запрос — вызов хранимой процедуры с параметром, созданной Вами ранее.
89. Разместите на форме кнопку, при нажатии на которую входному параметру хранимой процедуры будет присваиваться значение введенное в поле Tedit. Не забудьте выполнить преобразование данных (значение в поле Edit — строковое, параметр — числовой).
90. Добавьте к нопке команду открытия набора данных.
91. Подготовьте отчет по выполненной практической работе. Отчет должен содержать
· ФИО студента, № группы
· Название ПР
· Текст хранимой процедуры
· Перечень используемых компонентов и их свойств и методов для организации доступа к хранимой процедуре и ее выполнения.
· Выводы. Анализ ошибок
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения БД. Хранимые процедуры, триггеры и генераторы. Обеспечение достоверности, целостности и непротиворечивости данных. Каскадные воздействия
Практическая работа № 10
· Тема практической работы: Создание триггеров. Каскадные воздействия
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: частично-поисковый
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения; Хранимые процедуры, триггеры и генераторы. Обеспечение достоверности, целостности и непротиворечивости данных. Каскадные воздействия
· Сформировать практические умения и навыки: создавать генераторы и триггеры, в том числе реализующие каскадные воздействия в связанных таблицах в ответ на изменение данных.
· Сформировать исследовательские и интеллектуальные умения: выполнять анализ базы данных, выстраивать алгоритм реализации каскадных воздействий на базу данных при измении, удалении, добавлении данных для сохранения ссылочной целостности.
· Задания студентам на самоподготовку:
· команды создания генераторов и триггеров.
· Алгоритм триггера удаления данных во взаимосвязанных таблицах
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, БД InterBase, IBConsole
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 33. 1. Назначение Хранимых процедур и триггеров 34. 2. Командны создания Хранимых процедур и триггеров 35. 3. Реализация реляционной связи между таблицами 36. 4. Алгоритм триггера удаления данных во взаимосвязанных таблицах | 20 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться создавать триггеры, реализующие каскадные воздействия на базу данных Этапы выполнения работы: 100. Создание генераторов для получения значений ключевых полей 101. Создание триггера, присваивающего значение, возвращенное генератором, ключевому полю при добавлении новой записи 102. Построение триггера, реализующего каскадные воздействия при изменении базы данных 103. Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 45 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Практическая работа
Создание генераторов
92. Вызовите IBConsole, зарегистрируйтесь на сервере и зарегистрируйте БД IB_BIBL_ХХ (меню Database – Register…).
93. Выполните запрос в режиме Interactive SQL:
CREATE GENERATOR GEN_NAKLS
94. К сожалению, в операторе SET GENERATOR начальное значение не может быть результатом запроса SELECT. Поэтому сначала с помощью следующего оператора получите (и запомните) очередное значение, которое нужно поместить в столбец NaklID таблицы NAKLS:
SELECT MAX(NaklID)+1 FROM Nakls
95. Далее установите начальное значение генератора:
SET GENERATOR Gen_Nakls TO число
Здесь число — значение, полученное предыдущим оператором SELECT.
96. Создайте таким же образом генераторы GEN_BOOKS, GEN_FIRMS, GEN_ PAYMENTS и GEN_MOVEOOK для соответствующих таблиц.
Создание триггеров
97. С помощью триггеров можно установить в автоинкрементное поле значение, полученное от генератора. Создайте такой триггер:
CREATE TRIGGER BEF_INS_NAKLS FOR Nakls
ACTIVE BEFORE INSERT
AS
BEGIN
NEW. NaklID = GEN_ID(GEN_NAKLS,1);
END
В первой строке помимо имени триггера BEF_INS_NAKLS (хотя триггеры нельзя вызвать обращением к ним по имени в хранимых процедурах или SQL-запросах, они, как и все другие сущности серверной БД, должны иметь уникальные имена) указывается также таблица Nakls, для которой он предназначен. Следующая строка указывает, когда триггер должен активизироваться (в нашем случае — перед вставкой новой записи). Третья строка содержит зарезервированное слово AS, которым открывается тело триггера. Тело триггера всегда (даже если триггер содержит единственный оператор, как в нашем случае) должно ограничиваться парой ключевых слов BEGIN и END. В пятой строке расположен единственный исполняемый оператор, в котором новому значению (предикат NEW) поля NaklID присваивается значение, полученное от встроенной функции GEN_ID. Двумя параметрами обращения к этой функции указывается имя генератора и то значение, на которое должно увеличиться текущее значение генератора («шаг» генератора). В триггерах INSERT и UPDATE можно обращаться к новому значению поля, если его имени предшествует предикат NEW, а в триггерах DELETE и UPDATE — к старому значению (предикат OLD).
ВНИМАНИЕ Инициировать автоинкрементные поля с помощью генераторов можно только в триггерах, срабатывающих перед вставкой новой записи.
98. Аналогичным образом создайте триггеры BEF_INS_FIRMS, BEF_INS_MOVEB BEF_INS_BOOKS, BEF_INS_PAYMENTS для остальных автоинкрементных полей.
99. Создайте триггер, который перед удалением данных о накладной удаляет данные обо всех связанных с ней книгах:
CREATЕ TRIGGER BEFORE_DEL_NAKLS FOR NAKLS
ACTIVE BEFORE DELETE AS
BEGIN
DELETE FROM MoveBook WHERE MNakl = NakllD;
END
100. Удаление данных об отдельной книге влечет за собой более сложную логику действий: на основании типа накладной необходимо скорректировать количество экземпляров книги на складе и сальдо партнера, а также изменить сумму накладной. Напишите триггер, который будет выполнять следующие действия:
36. при удалении книги из накладной, связанной с приходом книг, уменьшает количество книг на складе, при удалении книги из накладной, связанной с уходом книг, увеличивает количество книг на складе.
37. Корректирует финансовое сальдо партнера
38. Корректирует сумму накладной
101. Сравните текст триггеров, написанных Вами с триггерами эталонной базы данных.
102. Подготовьте отчет по следующему шаблону:
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Отчет по выполнению практической работы № 2
«Создание триггеров. Каскадные воздействия»
1. Фамилия, имя студента_______________________________ Группа______
q Команды создания генераторов и триггеров GEN_BOOKS, GEN_FIRMS, GEN_ PAYMENTS и GEN_MOVEOOK для соответствующих таблиц
q Текст триггера, реализующего каскадные воздействия при удалении книг из накладной.
...
q Анали ошибок, выводы:
...
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения БД. Сортировка и поиск данных: в базе данных и в выборках
Практическая работа № 11
· Тема практической работы: Сортировка и поиск данных: в базе данных и в выборках
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: репродуктивный
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Проектирование БД. Критерии выборки данных.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения; Методы поиска и сортировки записей в наборе данных.
· Сформировать практические умения и навыки: Используя методы Locate и Lookup реализовать поиск данных. Создавать индексы для осуществления сортировки по требуемым полям. Выполнять переключения индексов во время выполнения приложения.
· Сформировать исследовательские и интеллектуальные умения: Анализировать базу данных на предмет возможных критериев поиска и сортировки данных, осуществлять выбор необходимых методов объектов.
· Задания студентам на самоподготовку:
37. Команды создания и модификации индексов
38. Методы осуществления поиска в наборе данных
39. Анализ базы данных на предмет возможных критериев поиска и сортировки данных
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, БД InterBase, IBConsole, Delphi
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 104. 1. Метод Locate — назначение, использование 105. 2. Метод Lookup — назначение, использование 106. 3. Способы сортировки данных 107. 4. Критерии выборки и сортировки данных | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться использовать свойства и методы наборов данных, индексы Этапы выполнения работы: · Поиск записей методом Locate · Поиск записей методом Lookup · Сортировка с использованием индексов | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
ПОИСК И ФИЛЬТРАЦИЯ ДАННЫХ
· Поиск записей методом Locate
Метод Locate ищет первую запись, удовлетворяющую критерию поиска, и если такая запись найдена, делает ее текущей. В этом случае в качестве результата возвращается значение True. Если запись не найдена, возвращается значение False и курсор не меняет своего положения.
· Откройте проект Delphi, созданный при выполнении практической работы «Создание объектов полей».
· Разместите на форме компонент SpinEdit (вкладка Samples)
· Компонент DBGrid свяжите с источником данных.

· Для компонента SpinEdit напишите обработчик события onChange: при изменении значения SpinEdit курсор должен быть установлен на запись с соответствующим номером накладной. Используйте метод Locate
if not DM. Nakls. Locate('Naklid',SpinEdit1.Value,[]) then
ShowMessage('Нет накладных с указанным номером');
DBGrid1.SetFocus
· Проверьте работу программы.
· Сохраните проект
· Поиск записей с использованием метода Lookup
Метод Lookup находит запись, удовлетворяющую условию поиска, но не делает ее текущей, а возвращает значения некоторых ее полей. Независимо от результата поиска записи указатель текущей записи в НД не изменяется. В отличие от метода Locate, метод Lookup осуществляет поиск только на точное соответствие критерию поиска значения поля поиска записи.
Создайте новый проект в Delphi. Создайте модуль данных, куда поместите компоненты для связи с БД IB_BIBL.gdb, а также компоненты – наборы данных и компоненты – источники данных для таблиц Nakls и Firms. С помощью редактора полей для компонента Nakls создайте подстановочное поле Firm для поиска наименования фирмы по ее номеру. Разместите на форме один компонент SpinEdit, четыре компонента StaticText, четыре текстовых метки, одну кнопку, как показано на рисунке.


Пример процедуры:
procedure TfmNakl. Button1Click(Sender: TObject);
var
LookupResult: Variant;
begin
LookupResult := DM. Nakls. Lookup('NaklID',seNaklID. Value,
'NDate;Firm;NSum;NPayedSum');
if VarType(LookupResult)=varNull then
ShowMessage('Нет накладной с номером '+IntToStr(seNaklID. Value))
else if VarType(LookupResult)=varEmpty then
ShowMessage('Поиск не проведен')
else if VarIsArray(LookupResult) then
begin
stDate. Caption := LookupResult[0];
stName. Caption := LookupResult[1];
stSum. Caption := LookupResult[2];
stPayed. Caption := LookupResult[3];
end else
stDate. Caption := LookupResult
end;
Проверьте работу программы· Фильтрация записей
Свойство Filter задает критерий фильтрации. В этом случае НД будет отфильтрован, как только в его свойство Filtered будет помещено значение True. Синтаксис описания критерия похож на синтаксис секции WHERE SQL-запроса с тем исключением, что имена переменных программы указывать нельзя, можно указывать имена полей и литералы (явно заданные значения); допускается использовать обычные операции отношения и логические операции AND, NOT и OR, например:
q Откройте проект, выполненный в первой части практической работы.
q Добавьте на форму компонент Edit и кнопку.

q Напишите для кнопки обработчик события onClick
if Edit1.Text<>'' then
with Nakls do
begin
Filter := Edit1.Text;
Filtered := True
end
q Запустите программу.
q В поле для ввода текста напишите условия фильтрации:
q NaklID=5
q При нажатии на кнопку в сетке должны отображаться записи, соответствующие поставленному условию.
q Поменяйте условия фильтрации:
39. Задайте фильтр, отображающий записи за 17 марта 2000 года.
40. Измените условие фильтрации. Выдайте список накладных за март
41. Выберите все накладные, сумма по которым больше 5000 руб.
42. Выберите только оплаченные накладные
43. Выберите накладные с типом «Поставка на реализацию»
· Сортировка с использованием индексов
40. Убедитесь, что в таблице Books индексными полями являются поля BName, BYear, BPublish, BAuthor.
41. Если какие-то из этих полей не проиндексированы, создайте для них индекс.
Для создания индекса используется оператор CREATE INDEX следующего формата:
CREATE [UNIQUE] {[ASC[ENDING] | DESC[ENDING]} INDEX <Имя_индекса> ON <Имя таблицы>(<Столбец1> [, <Столбец2> [, •••]])
Здесь:
UNIQUE — создается уникальный индекс;
ASC [ENDING] — значения индекса сортируются по возрастанию (спецификатор по умолчанию);
103. DESC [ENDING] — значения сортируются по убыванию;
104. <Имя_индекса> — имя индекса (должно быть уникальным среди всех остальных имен индексов в БД);
105. <Имя_таблицы> — имя таблицы, для которой создается индекс;
106. <СтолбецN> — имя входящего в индекс столбца.
42. Создайте приложение Delphi.
43. Выполните пункты 2-3 первой части
44. Компонент IBTable свяжите с базой данных, для свойства TableName установите значение Books
45. Откройте набор данных
46. Свяжите источник данных с таблицей.
47. Разместите на форме компонент DBGrid.
48. Компонент DBGri свяжите с источником данных.
49. Поместите на форму компонент RadioGroup
50. В свойство Items этого компонента добавьте строки с именами проиндексированных столбцов (указаны в пункте 1)
51. Напишите для компонента RadioGroup обработчик события onClick
IbTable1.Close;
IbTable1.IndexFieldNames:=radiogroup1.Items. Strings[radiogroup1.ItemIndex] ;
IbTable1.Open
52. Запустите программу.
53. Убедитесь, что при переключении радиокнопок изменяется поле сортировки в таблице.
54. Подготовьте отчет по выполненной практической работе, в который включите:
Название практической работы ФИО студента, № группы Различия в использовании методов Locate, Lookup Команды создания индексов для таблицы Books Описание способа переключения индексов во время работы приложения.Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения БД. Фильтрация данных: в базе данных и в выборках
Практическая работа № 12
· Тема практической работы: Фильтрация данных: в базе данных и в выборках
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: репродуктивный
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Проектирование БД. Критерии выборки данных.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения; Методы поиска и сортировки записей в наборе данных.
· Сформировать практические умения и навыки: Используя методы наборов данных, осуществлять фильтрацию данных. Создавать требуемы тексты фильтров.
· Сформировать исследовательские и интеллектуальные умения: Анализировать базу данных на предмет возможных критериев отбора данных, осуществлять выбор необходимых методов объектов.
· Задания студентам на самоподготовку:
· Свойства наборов данных, необходимых для осуществления отбора данных путем фильтрации
· Анализ базы данных на предмет возможных критериев отбора данных
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, БД InterBase, IBConsole, Delphi
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 55. 1. Свойство Filtered — назначение, использование 56. 2. Свойство Filter — назначение, использование 57. 3. Изменение фильтра на этапе разработки приложения 58. 4. Изменения фильтра на этапе выполнения приложения | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться использовать свойства и методы НД Этапы выполнения работы: q Создание приложения q Задание условий фильтрации q Изменение фильтров | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
ФИЛЬТРАЦИЯ ДАННЫХ
107. Фильтрация записей
Свойство Filter задает критерий фильтрации. В этом случае НД будет отфильтрован, как только в его свойство Filtered будет помещено значение True. Синтаксис описания критерия похож на синтаксис секции WHERE SQL-запроса с тем исключением, что имена переменных программы указывать нельзя, можно указывать имена полей и литералы (явно заданные значения); допускается использовать обычные операции отношения и логические операции AND, NOT и OR, например:
44. Откройте проект, выполненный в предыдущей практической работе.
45. Добавьте на форму компонент Edit и кнопку.

46. Напишите для кнопки обработчик события onClick
if Edit1.Text<>'' then
with Nakls do
begin
Filter := Edit1.Text;
Filtered := True
end
47. Запустите программу.
48. В поле для ввода текста напишите условия фильтрации:
49. NaklID=5
50. При нажатии на кнопку в сетке должны отображаться записи, соответствующие поставленному условию.
51. Поменяйте условия фильтрации:
114. Задайте фильтр, отображающий записи за 17 марта 2000 года.
115. Измените условие фильтрации. Выдайте список накладных за март
116. Выберите все накладные, сумма по которым больше 5000 руб.
117. Выберите только оплаченные накладные
118. Выберите накладные с типом «Поставка на реализацию»
Подготовьте отчет по выполненной практической работе, в который включите:
· Название практической работы
· ФИО студента, № группы
· Тексты фильтров, заданных в п. 7
· Анализ ошибок, выводы
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения баз данных. Управление транзакциями и кэширование памяти
Практическая работа № 13
· Тема практической работы: Работа с транзакциями
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: репродуктивный
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Проектирование БД. Обеспечение достоверности и целостности БД.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Управление транзакциями и кэширование памяти
· Сформировать практические умения и навыки: Создавать приложения Delphi для работы с БД; объединять операции манипулирования данными в транзации; использовать методы поддержки транзакций.
· Сформировать исследовательские и интеллектуальные умения: Анализировать БД на предмет поддержки транзакций, объединения операций воздействия на БД в транзакции.
· Задания студентам на самоподготовку:
· Понятие транзакции
· Свойства транзакций
· Возможные завершения транзакций
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, Delphi
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам: 59. Определение транзакций 60. Свойства транзакций 61. Цель использования транзакций 62. Возможные завершения транзакций | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Научиться управлять транзакциями Этапы выполнения работы: 119. Создание приложения 120. Написание операций транзакции 121. Использование компонентов и методов поддержки транзакций 122. Проверка работы приложения | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
РАБОТА С ТРАНЗАКЦИЯМИ
108. Создайте новое приложение Delphi.
109. Сохраните проект с именем Transact.
110. Поместите на форму 3 компонента Panel, установите значение свойств Align в alBottom.
111. Разместите на форме компонент DBGrid1, установите значение свойства Align в alBottom.
112. Разместите на форме компонент Splitter (панель Additional), установите значение свойства Align в alBottom.
113. Добавьте компонент Panel, установите значение свойства Align в alBottom.
114. Разместите на форме компонент DBGrid2, установите значение свойства Align в alClient.
115. Поместите на форму компонент IBDataBase, дайте ему имя DB.
116. Установите соединение с базой данных IB_BIBLXX.GDB.
117. В параметрах компонента DB установите:
user_name=SYSDBA
password=masterkey
118. Установите в свойство LoginPrompt компонента DB значение False.
119. В свойство Connected компонента DB установите значение True.
120. Обратите внимание на свойство TransIsolation компонента DataBase.
Выбор свойства TransIsolatioin обеспечивает нужный уровень изоляции транзакций. Изолировать транзакции необходимо при одновременном доступе к одним и тем же данным нескольких пользователей.
При уровне изоляции Dirty Read (буквальный перевод — грязное чтение) пользователь видит любые изменения в данных, даже если они еще не подтверждены. В этой ситуации может нарушиться непротиворечивость данных. Уровень Dirty Read фактически не изолирует транзакции. Только этот уровень возможен для файл-серверных БД, вот почему в СУБД этого типа транзакции используются крайне редко.
Уровень Read Committed (чтение подтверждений) разрешает транзакции видеть только подтвержденные изменения. Этот уровень рекомендуется для клиент-серверных БД (по умолчанию компонент TDatabase автоматически устанавливает уровень Dirty Read для файл-серверных и уровень Read Committed для клиент-серверных БД).
Для клиент-серверных БД возможен также уровень Repeatable Read (повторяющееся чтение). На этом уровне изоляции также читаются только подтвержденные изменения, однако раз прочитанная запись помещается в локальный буфер и повторно читается из этого буфера, то есть повторное чтение не позволит увидеть изменений, внесенных другим пользователем, даже если эти изменения подтверждены.
Какой уровень изоляции установлен для вашей базы данных?
121. Разместите на форме два компонента IBTable, и два компонента DataSource.
122. Поместите в свойство DatabaseName компонента IBTable1 ссылку на компонент DB (в раскрывающемся списке выберите имя, введенное в пункте 10).
123. Поместите на форму компонент IBTransaction.
124. Укажите в свойстве DefaultTransaction компонента DB имя добавленного компонента.
125. То же сделайте для компонентов Table в свойстве Transaction.
126. В списке свойства TableName выберите таблицу BOOKS, в свойстве Name задайте имя BOOKS.
127. Раскрывающемся списке DataSet компонента DataSource1 выберите BOOKS.
128. Второй компонент Table свяжите с компонентом DB и таблицей FIRMS, укажите для него имя Firms.
129. Раскрывающемся списке DataSet компонента DataSource2 выберите FIRMS.
130. Вызовите редактор полей компонентов IBTable2 (двойным щелчком на компоненте) и добавьте все поля.
131. Поместите в свойство DataSource сетки DBGrid1 ссылку на источник данных DataSource2, а в такое же свойство DBGrid2 — на источник DataSource1, сохраните проект.
132. На первую панель поместите компонент DBNavigator, в свойстве DataSource сделайте ссылку на источник данных DataSource2.
133. На вторую панель поместите компонент DBNavigator, в свойстве DataSource сделайте ссылку на источник данных DataSource1.
134. Установите нужные свойства UpdateMode наборов данных.
Свойство UpdateMode определяет, по каким столбцам сервер ищет в таблице запись, чтобы внести в нее изменения. Если установлено свойство upWhereAl1, транзакция будет подтверждена только в том случае, если все столбцы изменяемой записи имеют те значения, которые были к моменту старта транзакции. Если свойство имеет значение upWhereChange, ищется запись, у которой ключевые столбцы и столбцы с изменениями остались прежними. В этом случае может быть нарушена непротиворечивость данных. Еще хуже защищаются данные в случае, если свойство UpdateMode имеет значение upWhereKeyOnly, которое заставит сервер искать запись только по ключевым столбцам.
135. На нижнюю панель поместите компонент GroupBox (палитра Standart), и дайте ему имя Транзакция, изменив свойство Caption.
136. В GroupBox1 поместите две кнопки «Подтвердить» и «Откатить».
137. Далее на ту же панель правее GroupBoxа поместите три кнопки «Изменить», «Освежить», «Выход».

138. Для кнопки «Подтвердить» напишите обработчик события onClick, завершающий транзакцию (подтверждающий выполненные изменения):
mit
139. Для кнопки «Откатить» напишите обработчик события onClick, возвращающий БД к состоянию до начала транзакции:
DB. Rollback
140. Для кнопки «Изменить» напишите обработчик, добавляющий записи в обе таблицы и изменяющий значение полей Name:
Firms. Append;
FirmsFName. Value := 'Партнер - транзакция';
Firms. Post;
Books. Append;
BooksBName. Value := 'Проверка механизма транзакций';
Books. Post;
141. Для кнопки «Освежить»:
Books. Refresh;
Firms. Refresh;
142. Для кнопки «Выход»:
Close
143. Сохраните приложение и запустите. Проверьте работу механизма транзакций
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Управление транзакциями и кэширование памяти
Практическая работа № 14
· Тема практической работы: Кэширование изменений при работе с транзакциями
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: репродуктивный
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Проектирование БД. Управление транзакциями.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Управление транзакциями и кэширование памяти
· Сформировать практические умения и навыки: использование режима кэширования набора данных, подтверждение внесенных изменений.
· Сформировать исследовательские и интеллектуальные умения: необходимость использования свойств и методов набора данных для использования кэширования изменений.
· Задания студентам на самоподготовку:
144. Суть кэширования изменений
145. Свойства и методы компонентов — наборов данных.
146. Использование компонента TUpdateSQL
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, Delphi
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам: · Понятие кэширования · Преимущества использования кэширования изменений · Свойства и методы компонентов — наборов данных для использования кэширования · Назначение компонента TUpdateSQL | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить изученный ранее материал, научиться управлять кэшированием изменений Этапы выполнения работы: 63. Создание приложения Delphi, реализующего доступ к данным. 64. Перевод набора данных в режим кэширования изменений 65. Написание процедуры отмены выполненных изменений 66. Использование событий OnUpdateRecord и OnUpdateError перед подтверждением изменений очередной записи кэша 67. Использование компонента TupdateSQL, его свойств InsertSQL, ModifySQL, DeleteSQL, метода ApplyUpdates | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Перехват исключительных ситуаций и обработка ошибок
Практическая работа № 15
· Тема практической работы: Обеспечение достоверности данных и перехват исключительных ситуаций
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: репродуктивный
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Проектирование БД. Хранимые процедуры и триггеры.
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Обеспечение достоверности данных и перехвать исключительных ситуаций
· Сформировать практические умения и навыки: Создавать исключения.
· Сформировать исследовательские и интеллектуальные умения: Анализировать БД на предмет поддержки транзакций, объединения операций воздействия на БД в транзакции.
· Задания студентам на самоподготовку:
147. Определение хранимых процедур и триггеров
148. Понятие исключительной ситуации
149. Использование и обработка событий и исключений
· Оборудование: компьютеры класса IBM PC, ОС Windows ХР, IBConsole
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам: · Понятие исключения · Цель использования исключений · Способы обработки исключений | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить изученный ранее материал, научиться создавать исключения и обрабатывать исключительные ситуации Этапы выполнения работы: 68. Созданиеисключения деление на ноль 69. Создание хранимой процедуры для обработки исключения 70. Использование оператора When Exeption 71. Обработка ошибок SQL 72. Обработка нестандартной ситуации | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Требования к отчетe
Отчет должен содержать:
ФИО студента, № группы Наименование практической работы Команда создания исключения Команды создания хранимых процедур. Операторы When Exeption, When SQLCODE Выводы, анализ ошибокНаименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Формирование и вывод отчетов.
Практическая работа № 16
1. Тема практической работы: Работа с отчетами
2. Количество часов: 2
3. Место проведения: компьютерный класс
4. Характер работы: частично-поисковый
5. Форма организации деятельности студентов: групповая
6. Внутрипредметные и межпредметные связи: Базы данных. Невизуальные компоненты доступа к данным. Компоненты визуализации данных. Публикация данных.
7. Дидактические цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения, формирование и вывод отчетов.
b. Сформировать практические умения и навыки: создавать пользовательское приложение, реализовывать реляционную связь между таблицами БД, создавать проект отчета в среде Rave Designer.
c. Сформировать исследовательские и интеллектуальные умения: анализировать возможности использования различных технологий публикации данных.
8. Задания студентам на самоподготовку:
· Способы публикации данных.
· Интерфейс среды Rave Designer
· Объекты данных Rave Report
· Виды отчетов
· привязка отчета к приложению
9. Оборудование: компьютеры класса IBM PC, ОС Windows 2000, Delphi, БД InterBase, Rave Designer
10. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 1. Преимущества использования технологии Rave Report для публикации данных 2. возможные источники данных – отличия в использовании 3. виды отчетов 4. привязка отчета к приложению | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться создавать проекты отчетов и внедрять отчет Rave в приложение Delphi Этапы выполнения работы: 1. Создание приложения Delphi · организация соединения с БД InterBase; · создание пользовательского интерфейса
2. Создание проекта отчета в среде Rave Designer 3. внедрение отчета в приложение 4. Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 65 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 5 мин |
ПРАКТИЧЕСКАЯ РАБОТА № 16
тема: «Работа с отчетами»
Цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения, формирование и вывод отчетов.
b. Сформировать практические умения и навыки: создавать пользовательское приложение, реализовывать реляционную связь между таблицами БД, создавать проект отчета в среде Rave Designer.
c. Сформировать исследовательские и интеллектуальные умения: анализировать преимущества использования различных технологий публикации данных.
Инструкция по выполнению практической работы:
Создание главного окна
1. Для создания главного окна начните новый проект, поместите на пустую форму компонент IBDatabase (вкладка InterBase), выполните соединение с БД IB_BIBLXX. Задайте значение свойства Name компонента, например, AAA.
2. Поместите на форму компонент IBTransaction (вкладка InterBase), для его свойства DefaultDatabase укажите имя компонента IBDatabase.
3. Поместите на форму компонент ТIBTable (вкладка InterBase), в списке его свойства DatabaseName выберите вариант ААА, а в списке TableName — вариант BOOKS. Назовите компонент именем Books (свойство Name). Создайте для набора данных 5 объектов-полей, связав их с полями BookID, BName, BAuthor, BPublish и BPrice. Для объекта BName напишите такой обработчик события OnGetText:
procedure TForml. BooksBNameGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text := BooksBName. Value+'\ '+BooksBAuthor. Value+'\ '+BooksBPublish. Value
end;
4. Разместите на форме компонент DataSource (вкладка DataAccess) и свяжите его свойство DataSet с набором данных Books. Откройте набор данных (Active=True).
5. Поместите на форму две панели TPanel (вкладка Standard). Установите для одной из них свойство Align=alBottom, для другой - Align=alClient. Очистите их свойства Caption.
6. На верхнюю панель поместите компонент DBGrid (вкладка Data Controls), установите в его свойство Align значение alClient, а в свойство DataSource — DataSource1.
7. Создайте для сетки два столбца, связав первый с полем BName, а второй — с полем BPrice. В свойство Title.Name первого поместите значение Название\ Автор\ Издательство, а в такое же свойство второго — значение Цена. Установите ширину первого столбца (свойство Width) равной 600.
8. На нижнюю панель поместите навигатор DBNavigator (вкладка Data Controls) и кнопку TButton (вкладка Standard). Свяжите навигатор с источником DataSourcel и оставьте в нем только первые 4 кнопки (в примере не предполагается изменение набора данных). В свойство Caption кнопки поместите значение Отчет. Вид формы на этом этапе показан на рисунке.

9. Сохраните проект на жестком диске под именем RaveDemo.
Вызов Rave Designer
10. Поместите на форму компонент RvDataSetConnection (вкладка Rave) и свяжите его с набором данных Books (свойство DataSet).
11. Вся дальнейшая работа осуществляется под управлением утилиты Rave Reports Designer. Для ее вызова выберите в главном меню команду Tools ► Rave Designer. На экране появится окно, показанное на рисунке.

Rave Designer имеет собственную палитру компонентов, дерево объектов, инспектор объектов и набор инструментальных кнопок. Центральную часть окна занимает рабочая область с двумя вкладками — Page Designer и Event Editor. Первая используется подобно окну формы среды Delphi — на ней автор отчета размещает нужные компоненты из палитры Rave Designer. На вкладке Event Editor он может написать код для обработчиков событий OnBeforePrint, OnBeforeReport, OnAfterPrint, OnAfterReport, OnGetText для любого размещенного на вкладке Page Designer компонента отчета. Обработчики пишутся на языке, который представляет собой подмножество языка Delphi.
Создание отчета
12. С помощью команды File ► New Data Object вызовите окно Data Connections, в котором выберите продолжение Direct Data View, и после щелчка на кнопке Next — RvDataSetConnectionl. Таким образом, отчет связывается с источником данных, которые он будет отображать.
13. Командой Tools ► Report Wizards ► Simple Table вызовите мастера создания отчета по данным, получаемым из единственной таблицы. Этот мастер с помощью последовательно раскрывающихся окон определяет основные параметры отчета. В первом окне выбирается источник данных (DataViewl), во втором — отображаемые поля (отметьте флажками все поля или установите флажок Аll).
14. В следующем окне вы можете изменить порядок следования в отчете выбранных полей (оставьте без изменения).
15. Окно Report Layout Options позволяет определить заголовок отчета (введите в поле Report Title строку Прайс-лист) и ширину полей (группа полей Report Margin). Для экономии бумаги установите во все поля значения 0,3.
16. Заключительное окно предназначено для выбора шрифтов, которыми будут отображаться три основные части отчета: его заголовок, заголовки полей и данные. Не все шрифты (в частности, умалчиваемый шрифт Arial) правильно отображают кириллицу. Поэкспериментируйте с выбором шрифта (шрифтов), чтобы исключить искажение данных.

17. После щелчка на кнопке Generate в завершающем окне мастера происходит начальная генерация файла проекта отчета, который появляется в окне утилиты Rave Designer.

18. На этом этапе полезно сохранить файл проекта отчета. Выберите команду File – Save ил щелкните на соответствующей кнопке инструментальной панели. Сохраните файл проекта Project1.rav в той же папке, в которой хранится проект RaveDemo.
Изменение отчета
Теперь внесем изменения в отчет:
- сформируем дату генерации;
- изменим формат вывода данных;
- введем нумерацию страниц;
- расчертим отчет горизонтальными и вертикальными линиями.
Обратите внимание: многие системные параметры отчета, в том числе текущая дата и номер текущей страницы, доступны в компоненте DataText палитры Rave Designer (вкладка Report). Его свойство DataField позволяет не только ссылаться на нужное поле данных, но и использовать выражения с участием системных переменных.
19. Для формирования даты разместите сразу под заголовком отчета компонент DataText (вкладка Report палитры компонентов Rave Designer) и установите для него подходящие свойства: Left (отступ слева), Width (ширина), Тор (отступ от края поля сверху), Font Justify (выравнивание), Font (шрифт).
20. В свойство DataField поместите следующий текст: "от " &Report. DateLong. Как видите, вместо имени поля в свойство можно помещать произвольное выражение с участием системных переменных (в нашем случае — с переменной Report. DateLong, содержащей текущую дату в полном формате ДД Месяц ГГГГ). Другой вариант формирования значения этого поля: раскройте редактор поля (кнопка в правом углу значения свойства), в поле Data Text окна Data Text Editor введите 'от ' +, раскройте список Report Variables и выберите в нем пункт DateLong, после чего щелкните на кнопке Insert Report Var.
21. Для изменения формата отображаемых данных удалите с нижней полосы компоненты DataText3 и DataText4 для отображения полей BAuthor и BPublish, а в свойство DataField компонента DataText2 (для поля BName) поместите такую строку:
BName+ ' \ ' +BAuthor+ ' \ ' +BPublish. Установите подходящие для компонент DataText1, DataText2, DataText5 свойства Left и Width.
22. Соответственно измените названия колонок в средней полосе: № вместо Bookld, Название\ Автор\ Издательство вместо BName и Цена вместо BPrice.
23. Чтобы вставить в отчет нумерацию страниц, нужно предусмотреть в проекте страницы пространство для размещения компонента DataText. Мастер создания отчета отвел для заголовков и данных всю страницу. Щелкните на компоненте DataView1Region в дереве объектов (предварительно раскройте узлы ReportLibrary, Reportl, MainPage) и установите в его свойство Height значение 25.
24. С помощью вертикальной полосы прокрутки сместите изображение страницы в окне Page Design к самому ее концу и вставьте под серым пространством компонент DataText. В его свойство DataField поместите такую строку:
'Стр. '+Report. RelativePage+' из '+Report. TotalPages.
Установите для компонента шрифт MS Sans Serif, 14, Bold.

25. Чтобы расчертить отчет линиями, поместите на среднюю полосу (объект DataViewlBand в дереве объектов) компонент HLine (вкладка Drawing) с нужными свойствами Top, Left, Width, а также два компонента VLine, укажите нужные параметры Тор, Height, Left.
26. На нижнюю полосу с данными поместите по два компонента HLine и VLine. Длина горизонтальных линий равна ширине проекта. Высота вертикальных линий равна высоте полосы.
27. Для предварительного просмотра формируемого отчета нажмите клавишу F9 или щелкните на соответствующей инструментальной кнопке.
28. После подготовки проекта отчета сохраните его на диске, закройте окно утилиты Rave Designer и вернитесь в Delphi. Поместите на форму компонент RvProject, в его свойстве ProjectFile укажите ссылку на файл проекта Projectl. rav. Напишите такой обработчик щелчка на кнопке Отчет:
procedure TForrnl. ButtonlClick(Sender: TObject);
begin
RvProjectl.Execute
end;
Привязка проекта отчета к приложению
Для указания связи приложения с проектом отчета имя файла отчета помещается в свойство ProjectFile компонента TRvProject. Это делает программу чувствительной к положению на диске или к изменению в ходе ее работы текущей папки. В самом деле, в свойство ProjectFile можно поместить полное имя файла с маршрутом доступа или только имя файла. В первом случае программа зависит от положения файла проекта, что затрудняет ее тиражирование или продажу. Во втором случае программа и файл проекта просто должны быть в одной папке, и эта папка должна быть текущей. Это снимает проблему тиражирования, но если в ходе работы программы происходит смена текущей папки, связь программы с проектом теряется. Выходом из положения может быть указание в свойстве ProjectFile только имени файла и дополнение этого имени полным маршрутом доступа в момент старта программы. Например:
procedure TForrnl. FormCreate(Sender: TObject);
var S:String;
begin
S:= Application. ExeName;
while S[Length(S)]<>'\' do
Delete (S, Length (S), 1);
rvProject. ProjectFile := S+rvProject. ProjectFile
end;
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Особенности проектирования клиентской части приложения в различных технологиях доступа к данным
Практическая работа № 17
· Тема практической работы: Компоненты для доступа к данным ADO
· Количество часов: 2
· Место проведения: компьютерный класс
· Характер работы: частично-поисковый, репродуктивный.
· Форма организации деятельности студентов: групповая
· Внутрипредметные и межпредметные связи: Базы данных. Невизуальные компоненты доступа к данным. Компоненты визуализации данных. Понятие и назначение транзакции
· Дидактические цели практической работы:
· Обобщить, закрепить теоретические знания по теме: Особенности проектирования клиентской части приложения в различных технологиях доступа к данным
· Сформировать практические умения и навыки: Осуществлять подкулючение к различным источникам данных. Создавать пользовательские приложения с использованием компонентов, реализующих различные технологии доступа к данным.
· Сформировать исследовательские и интеллектуальные умения: Определять необходимые параметры соединения с базой данных, проверять состояние подключения, оформлять результаты.
· Задания студентам на самоподготовку:
· Технология доступа к данным ODBC
· Компоненты ADO
· Источники данных — добавление, подключение в ОС Windows
· Оборудование: компьютеры класса IBM PC, ОС Windows XP, Delphi
· Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 73. Технологии доступа к данным в двухзвенных приложениях. 74. Открытый интерфейс доступа к БД ODBC 75. Компоненты ADO | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться осуществлять подключение к источнику данных, строить клиентское приложение с использованием компонентов ADO Этапы выполнения работы: 129. Создание приложения Delphi 130. Настройка MS Paradox Driver 131. Подключение источника данных 132. Осуществление связи компонентов ADO с провайдером данных 133. Отображение данных 134. Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
Практическая работа
ADO – Тестовая программа
150. Начните новый проект и добавьте к нему модуль данных. Поместите в него компонент ADOConnection, 5 компонентов ADOTable (вкладка dbGo палитры компонентов) и два компонента DataSource (вкладка Data Access). Назовите таблицы именами Nakls, Move, Firms, Books, TypeN и свяжите источник данных DataSourсe1 с таблицей Nakls, а источник данных DataSource2 с таблицей Move.
151. Поскольку предполагается использовать файл-серверные таблицы типа Paradox, в рамках ADO такие таблицы должны управляться драйвером ODBC. Этот драйвер следует предварительно настроить на работу с нужным каталогом. Для этого в главном меню выберите команду Пуск -> Настройка -> Панель управления -> Администрирование и щелкните на значке Источники данных (ODBC).
152. На вкладке Пользовательский DSN открывшегося окна выберите в списке Источники данных пользователя пункт Paradox Files и щелкните на кнопке Настройка.
В некоторых конфигурациях Delphi устанавливает не все ODBC-драйверы. В этом случае в списке на вкладке Пользовательский DSN вы можете не увидеть пункта Paradox files. Если это так, щелкните на кнопке Добавить и в списке открывшегося окна выберите пункт Microsoft Paradox Driver.
153. В открывшемся окне если строка Имя источника данных пуска, напишите Paradox Files, далее щелкните на кнопке Выбор каталога (убрав отметку Использовать текущий каталог) и с помощью нового диалогового окна выберите каталог размещения файлов БД BiblData. (При назначении каталога в реальной программе часто бывает необходимо сослаться на сетевой серверный диск. В этом случае нужно щелкнуть на кнопке Сеть окна выбора каталога…). Нажмите на кнопку «Параметры» и выберите доступный сетевой каталог, после чего закройте все окна щелчками на кнопках ОК.
154. Теперь следует настроить связь объектов ADO с соответствующим провайдером. Для этого дважды щелкните на компоненте AdoConnection1 или выделите его в окне инспектора объектов и щелкните на кнопке с многоточием в строке свойства ConnectionString, чтобы вызвать окно настройки связи.
155. Щелкните на кнопке Build и в списке на вкладке Поставщик данных нового окна выберите пункт Microsoft OLE BD Provider for ODBC Drivers.
156. Далее перейдите на вкладку Подключение и, установив переключатель Использовать имя источника данных, выберите в раскрывающемся списке тип используемых данных – пункт Paradox Files.
157. Поскольку ранее драйвер ODBC уже настроили, можно щелкнуть на кнопке Проверить подключение, чтобы убедиться в нормальном функционировании связи. Закройте окно щелчком на кнопке ОК и щелкните на кнопке ОК еще раз – связь готова. Чтобы в дальнейшем связь с БД устанавливалась без открытия промежуточного диалогового окна с запросом имени пользователя и пароля, поместите в свойство LoginPrompt компонента AdoConnection1 значение False. Установите свойство Connected в значение True.
158. Настройте оставшиеся компоненты. В свойстве Connection компонентов-таблиц сошлитесь на компонент AdoConnection1 (этого не нужно делать, если вы поместили таблицы непосредственно на дерево компонентов – в этом случае связи устанавливаются автоматически). В свойстве TableName этих компонентов выберите соответствующие таблицы БД.
159. Свяжите таблицы отношением главная – детальная: установите в свойство MasterSource таблицы Move ссылку на источник данных DataSource1 и щелкните на кнопке с многоточием в строке свойства MasterFields, чтобы вызвать окно настройки.
160. Установите связь по общим полям Mnakl и NaklID и закройте окно щелчком на кнопке ОК.
161. Перейдите на вкладку Diagrams модуля данных и перетащите на нее мышью таблицы Nakls и Move – между ними тут же отобразится установленная реляционная связь.
162. Поместите на основную форму два компонента DBGrid. Первый свяжите с источником данных DataSource1, второй с DataSource2.
163. Откройте наборы данных, установив свойство Active таблиц Nakls и Move в True.
164. Сохраните на диске модуль данных под именем dmADO, основную форму программы – под именем FmADO и проект – под именем ADOTest.
165. Запустите программу.
Подготовьте отчет по выполненной практической работе.
Отчет должен содержать:
52. Название практической работы
53. ФИО студента, № группы
54. Порядок настройки пользовательского DNS
55. Параметры подключения к источнику данных
56. Компоненты для реализации доступа к данным, их используемы свойства.
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Установка привилегий доступа к данным.
Практическая работа № 18
11. Тема практической работы: Установление привилегий доступа
12. Количество часов: 2
13. Место проведения: компьютерный класс
14. Характер работы: частично-поисковый
15. Форма организации деятельности студентов: групповая
16. Внутрипредметные и межпредметные связи: Базы данных. Администрирование и эксплуатация удаленных баз данных, Технология соединения с сервером SQL, Команды SQL.
17. Дидактические цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Администрирование и эксплуатация удаленных баз данных.
b. Сформировать практические умения и навыки: выполнять регистрацию пользователя на сервере InterBase, соединение с базой данных, добавление пользователей, назначение привилегий доступа к данным, отмена привилегий.
c. Сформировать исследовательские и интеллектуальные умения: анализ способов защиты удаленных данных.
18. Задания студентам на самоподготовку:
· Составляющие механизма защиты удаленных данных.
· Идентификаторы пользователей и права владения
· Привилегии
· Команда назначения привилегий
· Команда отмены привилегий
19. Оборудование: компьютеры класса IBM PC, ОС Windows 2000, Delphi, БД InterBase, IBConsole
20. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 5. На чем построен механизм защиты удаленных БД? 6. Что такое идентификатор пользователя? 7. Кто является владельцем создаваемого объекта БД? 8. Какие привилегии определены в стандарте ISO? 9. Команды назначения и отмены привилегий | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться добавлять пользователей БД и назначать им привилегии доступа. Этапы выполнения работы: 5. Соединение с сервером InterBase 6. Регистрация БД 7. Добавление пользователей 8. Назначение прав доступа пользователям 9. Делегирование привилегий 10. Проверка работы 11. Отмена привилегий 12. Удаление пользователей | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 65 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 5 мин |
Инструкция к выполнению практической работы
1. Откройте программу IBConsole
2. Зарегистрируйтесь на сервере с именем SYSDBA.
3. Установите соединение с базой данных IB_BIBL.
4. Щелкните на строке USERS дерева объектов сервера InterBase. В списке пользователей в правой части окна - одна запись, заданная по умолчанию при установке сервера.
5. Пользователь SYSDBA является владельцем всех объектов базы данных, обладает всеми привилегиями и правом передачи привилегий другим пользователям базы данных. Убедитесь в этом, просмотрев свойства таблиц базы данных:
- выберите строку Tables в дереве объектов; дважды щелкните по имени любой таблицы БД; откройте вкладку Permissions.
Пользователь SYSDBA – единственный в списке пользователей, обладающих всеми привилегиями по отношению к данной таблице. Он может также передавать привилегии другим пользователям БД, о чем свидетельствуют синие значки в ячейках таблицы разрешений.
6. Закройте окно свойств таблицы.
7. Создайте нового пользователя User1.
- В контекстном меню объекта Users выберите пункт Add user; Заполните строки Имя пользователя (User name), пароль (Password), подтверждение пароля (Confirm password)
8. Новый пользователь пока не обладает никакими привилегиями по отношению к объектам базы данных, в чем вы можете удостовериться, просмотрев свойства таблиц.
9. Назначьте новому пользователю все привилегии по отношению к таблице TypeNakl без права их делегирования.
10. Добавьте пользователя User2.
11. Назначьте пользователю User2 привилегии выборки данных, изменения данных в полях FEMAIL, FPERSON таблицы Firms с правом делегирования полномочий другим пользователям.
12. Какие привилегии, не определенные в стандарте ISO, могут использоваться в InterBase?
13. Зарегистрируйтесь на сервере под именем пользователя User1.
14. Выполните команду SQL, добавляющую запись в таблицу TypeNakl
15. Попробуйте выполнить добавление записи в таблицу Books. Сервер отклонит операцию, так как у пользователя нет такой привилегии по отношению к данной таблице.
16. При попытке добавить нового пользователя в БД, сервер также отклонит операцию. Новый пользователь не имеет права добавлять записи в таблицу USERS сервера InterBase.
17. Зарегистрируйтесь на сервере с именем User2.
18. Добавьте адрес электронной почты (поле FEmail) для фирмы с номером 4 (поле FirmID) таблицы Firms.
19. Измените адрес (поле FAddress) для этой же фирмы. Какое сообщение выдал сервер?
20. Делегируйте имеющиеся привилегии пользователю User1.
21. Зарегистрируйтесь на сервере под именем пользователя SYSDBA.
22. Отмените все привилегию изменения данных в таблице Firms пользователя User2
23. Отмените все привилегии пользователя User1 по отношению к таблицам Firms, TypeNakl
24. Удалите пользователей User1, User2 из списка пользователей.
25. Закройте программу IBConsole
26. Подготовьте отчет по практической работе, в котором укажите:
· порядок добавления нового пользователя;
· команду SQL предоставления привилегии, выполненную в п.11;
· привилегии, используемые в InterBase;
· команду SQL, выполненную в п. 18
· команду SQL, отменяющую привилегии, выполненную в п.11;
· порядок удаления пользователей
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Администрирование и эксплуатация удаленных баз данных.
Практическая работа № 19
21. Тема практической работы: Копирование и восстановление данных
22. Количество часов: 2
23. Место проведения: компьютерный класс
24. Характер работы: частично-поисковый
25. Форма организации деятельности студентов: групповая
26. Внутрипредметные и межпредметные связи: Базы данных. Невизуальные компоненты доступа к данным. Компоненты визуализации данных. Понятие и назначение транзакции
27. Дидактические цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Администрирование и эксплуатация удаленных баз данных.
b. Сформировать практические умения и навыки: Создавать резервные копии баз данных, восстанавливать базу данных из резервной копии в случае различного рода сбоев средствами IBConsole, программно управлять БД InterBase. Использовать компоненты администрирования сервера при создании программы архивации и восстановления БД.
c. Сформировать исследовательские и интеллектуальные умения: Анализировать возможные способы восстановления данных при различного рода сбоях, выбирать наиболее подходящие инструменты, определять преимущества и недостатки программного управления архивацией и восстановлением БД, оформлять результаты.
28. Задания студентам на самоподготовку:
· Функции поддержания БД в достоверном и согласованном состоянии.
· Общие требования к системе восстановления данных в составе СУБД
· Сервисные средства для восстановления данных.
· Структура сервера и БД InterBase.
29. Оборудование: компьютеры класса IBM PC, ОС Windows 2000, Delphi, БД InterBase
30. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: 10. Понятие транзакции 11. Средства восстановления данных в составе сервера InterBase 12. Требования к системе восстановления данных | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться выполнять архивирование и восстановление БД средствами IBConsole, создавать программы администрирования БД InterBase, используя компоненты InterBase Admin. Этапы выполнения работы: 13. Создание архивной копии БД средствами IBConsole 14. Восстановление БД средствами IBConsole 15. Создание нового приложения 16. Размещение компонентов администрирования 17. Написание программного кода 18. Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
ПРАКТИЧЕСКАЯ РАБОТА № 19
тема: «Администрирование и эксплуатация удаленных баз данных»
Цели практической работы:
a. Обобщить, закрепить теоретические знания по теме: Администрирование и эксплуатация удаленных баз данных.
b. Сформировать практические умения и навыки: Создавать резервные копии баз данных, восстанавливать базу данных из резервной копии в случае различного рода сбоев средствами IBConsole, программно управлять БД InterBase. Использовать компоненты администрирования сервера при создании программы архивации и восстановления БД.
c. Сформировать исследовательские и интеллектуальные умения: Анализировать возможные способы восстановления данных при различного рода сбоях, выбирать наиболее подходящие инструменты, определять преимущества и недостатки программного управления архивацией и восстановлением БД, оформлять результаты.
Инструкция по выполнению практической работы
1. Запустите программу IBConsole.
2. Выполните регистрацию на сервере и соединение с базой данных IB_BIBLXX.GDB.
3. Вызовите контекстное меню пункта Backup в левой панели IBConsole. Выберите команду Backup…
4. В открывшемся окне выполните настройки параметров архивирования:
a. Из выпадающего списка в группе DataBase выберите Alias своей базы данных;
b. В разделе Backup File(s) оставьте Local Server выбранным (сервер, для которого выполняется архивирование, должен быть запущен)
c. В строке Alias задайте новый алиас архивной копии, или выберите из выпадающего списка существующий алиас, если вы хотите перезаписать архивный файл.
d. Далее укажите имя файла архива (с расширением).
e. Оставьте существующие настройки в разделе Options.
- Опция Format устанавливается в Transportable, если архивная копия должна быть доступна другим серверам, Non-Transportable – создает архивный файл, используемый только текущим сервером.
- Metadata Only устанавливается в True, если требуется сохранить только метаданные (сведения о структуре объектов БД). Если установлено значение False - будет сохранена вся база
- Garbage Collection. Если установлено значение True (по умолчанию), то при архивировании выполняется очистка базы от ошибочных данных. БД, полученная в результате архивирования, может быть меньше.
- Transactions in Limbo - если опция установлена в Ignore, то при создании архивной копии игнорируются незавершенные или ошибочные транзакции. Установите опцию в Process, чтобы подтвердить или откатить незавершенные транзакции.
- Checksum - если опция установлена в Procees, производится постраничный анализ контрольных сумм и, если возникают ошибки (например, из-за повреждения БД), система останавливает резервное копирование и сообщает об ошибке. Значение Ignore выбирается в том случае, если резервное копирование необходимо закончить даже при обнаружении ошибок в контрольных суммах.
- Convert To Tables - Если установлено значение True, внешние файлы базы данных конвертируются во внутренние и включаются в резервную копию.
- Verbose Output – вы можете контролировать процесс архивирования данных, установив для опции значение To Screen – вывод на экран. To File – запись файла протокола.
5. Нажмите кнопку OK – будет произведена архивация БД.
6. Просмотрите протокол выполнения архивирования базы данных.
7. Для того чтобы восстановить базу, выберите в контекстном меню Backup команду Restore…
8. В открывшемся окне выберите файл архивной копии, укажите, куда и с каким именем следует сохранять восстановленный файл БД. Далее выполните настройки восстановления в разделе Option
a. Page Size – размер страницы БД
b. Overwrite – установите для опции значение False, если восстанавливаете БД с новым именем, если хотите перезаписать существующий файл – установите значение True
c. Commit After Each Table. Обычно Сервер-Менеджер восстанавливает все метаданные перед восстановлением данных. Если вы установите эту опцию в True, IBConsole восстановит метаданные и собственно данные вместе, по одной таблице за раз. Эта опция обычно используется, если есть проблемы при восстановлении backup-файлов, например, если данные повреждены или нарушена целостность – вы можете восстановить данные, предшествующие поврежденным
d. Create Shadow Files
e. Deactivate Indices – обычно InterBase после восстановления БД восстанавливает индексы. Если база данных содержит повторяющиеся значения ключевых поля, восстановление прерывается. Если для опции установлено значение True, индексы временно деактивируются. Нельзя активировать индекс вновь, если ключевой столбец содержит повторяющиеся значения.
f. Validity Conditions – значение Ignore снимает ограничения целостности для восстанавливаемых копий.
9. Выполните восстановление БД. Просмотрите протокол.
10. Откройте проект Backup/ Restore.
11. Внимательно изучите состав компонент, размещенных на форме, программный код каждой кнопки.
Какие компоненты и методы используются в приложении для программного архивирования и восстановления данных?
12. Обратите внимание на настройки опций компонентов администрирования БД InerBase.
13. Запустите приложение. Проверьте его работу.
14. Сделайте выводы. Закройте приложение.
15. Подготовьте отчет по практической работе. Отчет должен содержать:
- Последовательность действий по созданию архивных копий базы данных Значение опций диалогового окна Backup… Последовательность действий по восстановлению данных из архива. Значение опций диалогового окна Restore… Обобщенное содержание протоколов выполнения операций архивирования и восстановления данных. Описание компонентов Delphi, используемых для создания архивных копий и восстановления данных. Методы компонентов. Выводы
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Администрирование и эксплуатация удаленных баз данных.
Практическая работа № 20
57. Тема практической работы: Копирование клиентской части
58. Количество часов: 2
59. Место проведения: компьютерный класс
60. Характер работы: репродуктивный
61. Форма организации деятельности студентов: групповая
62. Внутрипредметные и межпредметные связи: Базы данных. Невизуальные компоненты доступа к данным. Компоненты визуализации данных. Понятие и назначение транзакции
63. Дидактические цели практической работы:
64. Обобщить, закрепить теоретические знания по теме: Администрирование и эксплуатация удаленных баз данных.
65. Сформировать практические умения и навыки: Создавать резервные копии баз данных, восстанавливать базу данных из резервной копии в случае различного рода сбоев средствами IBConsole, программно управлять БД InterBase. Использовать компоненты администрирования сервера при создании программы архивации и восстановления БД.
66. Сформировать исследовательские и интеллектуальные умения: Анализировать возможные способы восстановления данных при различного рода сбоях, выбирать наиболее подходящие инструменты, определять преимущества и недостатки программного управления архивацией и восстановлением БД, оформлять результаты.
67. Задания студентам на самоподготовку:
· Функции поддержания БД в достоверном и согласованном состоянии.
· Общие требования к системе восстановления данных в составе СУБД
· Сервисные средства для восстановления данных.
· Структура сервера и БД InterBase.
68. Оборудование: компьютеры класса IBM PC, ОС Windows 2000, Delphi, БД InterBase
69. Дидактическая структура практической работы:
Элементы урока | Содержание элементов урока | |
1. Целевая установка | Постановка целей практического занятия, ее обоснование. | 5 мин. |
2. Проверка теоретической готовности студентов к выполнению практической работы | Фронтальный опрос по ранее изученным темам и выполнению заданий на самоподготовку: · Понятие транзакции · Средства восстановления данных в составе сервера InterBase · Требования к системе восстановления данных | 10 мин |
3. Инструктаж о содержании, этапах практической работы, способах (методах) действий, правилах и технике безопасности | Цель: Закрепить ранее изученный теоретический материал, научиться выполнять архивирование и восстановление БД средствами IBConsole, создавать программы администрирования БД InterBase, используя компоненты InterBase Admin. Этапы выполнения работы: 76. Создание архивной копии БД средствами IBConsole 77. Восстановление БД средствами IBConsole 78. Создание нового приложения 79. Размещение компонентов администрирования 80. Написание программного кода 81. Проверка работы | 5 мин |
4. Выполнения практической работы | Контроль и корректировка самостоятельной работы студентов | 60 мин |
5. Оценка выполненной работы | Возврат к целевой установке, что студенты знают, что умеют. Комментирование результатов работы. Выставление оценок Выдача домашнего задания | 10 мин |
ПРАКТИЧЕСКАЯ РАБОТА № 19
тема: «Администрирование и эксплуатация удаленных баз данных»
Цели практической работы:
70. Обобщить, закрепить теоретические знания по теме: Администрирование и эксплуатация удаленных баз данных.
71. Сформировать практические умения и навыки: Создавать резервные копии баз данных, восстанавливать базу данных из резервной копии в случае различного рода сбоев средствами IBConsole, программно управлять БД InterBase. Использовать компоненты администрирования сервера при создании программы архивации и восстановления БД.
72. Сформировать исследовательские и интеллектуальные умения: Анализировать возможные способы восстановления данных при различного рода сбоях, выбирать наиболее подходящие инструменты, определять преимущества и недостатки программного управления архивацией и восстановлением БД, оформлять результаты.
Инструкция по выполнению практической работы
166. Запустите программу IBConsole.
167. Выполните регистрацию на сервере и соединение с базой данных IB_BIBLXX.GDB.
168. Вызовите контекстное меню пункта Backup в левой панели IBConsole. Выберите команду Backup…
169. В открывшемся окне выполните настройки параметров архивирования:
170. Из выпадающего списка в группе DataBase выберите Alias своей базы данных;
171. В разделе Backup File(s) оставьте Local Server выбранным (сервер, для которого выполняется архивирование, должен быть запущен)
172. В строке Alias задайте новый алиас архивной копии, или выберите из выпадающего списка существующий алиас, если вы хотите перезаписать архивный файл.
173. Далее укажите имя файла архива (с расширением).
174. Оставьте существующие настройки в разделе Options.
175. Опция Format устанавливается в Transportable, если архивная копия должна быть доступна другим серверам, Non-Transportable – создает архивный файл, используемый только текущим сервером.
176. Metadata Only устанавливается в True, если требуется сохранить только метаданные (сведения о структуре объектов БД). Если установлено значение False - будет сохранена вся база
177. Garbage Collection. Если установлено значение True (по умолчанию), то при архивировании выполняется очистка базы от ошибочных данных. БД, полученная в результате архивирования, может быть меньше.
178. Transactions in Limbo - если опция установлена в Ignore, то при создании архивной копии игнорируются незавершенные или ошибочные транзакции. Установите опцию в Process, чтобы подтвердить или откатить незавершенные транзакции.
179. Checksum - если опция установлена в Procees, производится постраничный анализ контрольных сумм и, если возникают ошибки (например, из-за повреждения БД), система останавливает резервное копирование и сообщает об ошибке. Значение Ignore выбирается в том случае, если резервное копирование необходимо закончить даже при обнаружении ошибок в контрольных суммах.
180. Convert To Tables - Если установлено значение True, внешние файлы базы данных конвертируются во внутренние и включаются в резервную копию.
181. Verbose Output – вы можете контролировать процесс архивирования данных, установив для опции значение To Screen – вывод на экран. To File – запись файла протокола.
182. Нажмите кнопку OK – будет произведена архивация БД.
183. Просмотрите протокол выполнения архивирования базы данных.
184. Для того чтобы восстановить базу, выберите в контекстном меню Backup команду Restore…
185. В открывшемся окне выберите файл архивной копии, укажите, куда и с каким именем следует сохранять восстановленный файл БД. Далее выполните настройки восстановления в разделе Option
186. Page Size – размер страницы БД
187. Overwrite – установите для опции значение False, если восстанавливаете БД с новым именем, если хотите перезаписать существующий файл – установите значение True
188. Commit After Each Table. Обычно Сервер-Менеджер восстанавливает все метаданные перед восстановлением данных. Если вы установите эту опцию в True, IBConsole восстановит метаданные и собственно данные вместе, по одной таблице за раз. Эта опция обычно используется, если есть проблемы при восстановлении backup-файлов, например, если данные повреждены или нарушена целостность – вы можете восстановить данные, предшествующие поврежденным
189. Create Shadow Files
190. Deactivate Indices – обычно InterBase после восстановления БД восстанавливает индексы. Если база данных содержит повторяющиеся значения ключевых поля, восстановление прерывается. Если для опции установлено значение True, индексы временно деактивируются. Нельзя активировать индекс вновь, если ключевой столбец содержит повторяющиеся значения.
191. Validity Conditions – значение Ignore снимает ограничения целостности для восстанавливаемых копий.
192. Выполните восстановление БД. Просмотрите протокол.
193. Откройте проект Backup/ Restore.
194. Внимательно изучите состав компонент, размещенных на форме, программный код каждой кнопки.
Какие компоненты и методы используются в приложении для программного архивирования и восстановления данных?
195. Обратите внимание на настройки опций компонентов администрирования БД InerBase.
196. Запустите приложение. Проверьте его работу.
197. Сделайте выводы. Закройте приложение.
198. Подготовьте отчет по практической работе. Отчет должен содержать:
q Последовательность действий по созданию архивных копий базы данных
q Значение опций диалогового окна Backup…
q Последовательность действий по восстановлению данных из архива.
q Значение опций диалогового окна Restore…
q Обобщенное содержание протоколов выполнения операций архивирования и восстановления данных.
q Описание компонентов Delphi, используемых для создания архивных копий и восстановления данных.
q Методы компонентов.
q Выводы


