- •Общие указания к выполнению практических работ
- •Критерии оценки:
- •Практическая работа № 1
- •Указания по выполнению практической работы Возможности монитора MySql
- •Задание 1
- •Описание учебного примера
- •Удаление таблиц
- •Задание 1
- •Контрольные вопросы
- •Практическая работа №2
- •Указания по выполнению практической работы Команда alter table
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа № 3
- •Указания по выполнению практической работы
- •Задание 1
- •Задание 1
- •Задание 2
- •1. Создание eer-диаграммы
- •Контрольные вопросы
- •Лабораторная работа № 7
- •Указания по выполнению лабораторной работы
- •Для компонента adoConnection1 устанавливаем следующие свойства
- •Простая выборка
- •Использование вычисляемых полей
- •Логические связки and и or
- •Выборка с упорядочением
- •Контрольные вопросы
- •Практическая работа № 11
- •Указания к выполнению лабораторной работы Запросы к нескольким таблицам
- •Задание1
- •Табличный подзапрос
- •Использование операций in и not in
- •Использование операций some, any и all
- •Использование exists и not exists
- •Задание
- •Контрольные вопросы
- •Лабораторная работа № 14
- •Команда insert
- •Задание 1
- •Команда update
- •Задание 2
- •Команда delete
- •Задание 3
- •Контрольные вопросы
- •Лабораторная работа № 15
- •Задание
- •Задание 2
- •Контрольные вопросы
- •Лабораторная работа № 16
- •Контрольные вопросы
- •Практическая работа № 17
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа № 18
- •Добавление триггера
- •Создание триггера на before update
- •Удаление триггера
- •Список созданных триггеров
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Лабораторная работа № 19
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа № 20
- •Задание 1
- •Контрольные вопросы
- •Практическая работа № 21
- •Уровни привилегий и пользователи
- •Отмена привилегий и удаление пользователей
- •Задание 1 Работа локально
- •Варианты заданий предметных областей для создания баз данных Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Вариант 22
- •Вариант 23
- •Вариант 24
- •Вариант 25
- •Вариант 26
- •Вариант 27
- •Вариант 28
- •Вариант 29
- •Вариант 30
- •Вариант 31
- •Вариант 32
Контрольные вопросы
Продемонстрируйте процесс связывания "Один-ко-многим". Продемонстрируйте процесс связывания "Один-к-одному".
Продемонстрируйте процесс установки автоинкремента.
Продемонстрируйте процесс установки первичного ключа.
Продемонстрируйте процесс установки ненулевеого значения колонки таблицы.
Продемонстрируйте процесс экспорта скрипта SQL.
Лабораторная работа № 7
Тема: «Разработка клиентской части приложения в C++ Builder. Настройка приложения клиента для работы с удалённой базой данных».
Цель работы: Научиться разрабатывать клиентскую часть приложения для работы с базой данных.
Время выполнения: подготовка: 3 мин; выполнение: 167 мин; проверка: 10 мин; всего: 180 мин.
Указания по выполнению лабораторной работы
Перед выполнением данной работы сделаем базу данных “Студенты” в СУБД Access.
Заполните базу данных данными.
Для того, чтобы связать базу Access и С++Builder нам потребуется три компонента, и выносим их на форму.
ADOConnection1
DataSource1
ADOQuery1
Для компонента adoConnection1 устанавливаем следующие свойства
Connected – try
LoginPrompt– false
ConnectionString – нажимаем на свойство, откроется окно
После чего нажимаем build…
Откроется окно
Щелкните на “…” и находим нужную базу данных.
По необходимости можно указать пароль.
Provider - выбираем Microsoft.Jet.OLEDB.4.0
Для компонента DataSource1 устанавливаем следующие свойства: находим DataSet, в списке выбираем ADOQuery1.
Для компонента ADOQuery1 устанавливаем следующие свойства.
SQL – Открываем и пишем запрос:
SELECT *
FROM Студенты;
Active – tru.
Connection – выбираем ADOConnection1.
Для того, чтобы вывести нашу базу потребуется компонент TDBGrid. Выносим его на форму.
Для компонента TDBGrid находим свойство DataSource, и выбираем DataSource1.
Если все было сделано, верно, выйдет такой результат:
Контрольные вопросы
Назовите компонент, с помощью которого устанавливается связь между базой данных и клиентским приложением
Какие свойства необходимо заполнить у компонента ADOQuery?
Для чего служит компонент DataSource?
Какое свойство компонента TDBGrid надо установить, чтобы в нем появились данные?
Без какого свойства компонента ADOQuery данные не будут выведены в TDBGrid?
Практическая работа № 8
Тема: «Построение запросов на выборку с использованием сравнения и условий в выборках и исключение дубликатов».
Цель работы: Научиться писать запросы на выборку.
Время выполнения: подготовка: 5 мин; выполнение: 210 мин; проверка: 10 мин; всего: 225 мин.
Указания к выполнению лабораторной работы
Команда SELECT
Команда SELECT является ключевой командой языка SQL. Собственно с нее и начинался язык SQL. Команда позволяет осуществлять выборки данных из одной или нескольких соединенных по условию таблиц. Команда имеет довольно сложный синтаксис.
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[FROM СсылкиНаТаблицы
[WHERE Условие]
[GROUP BY {ИмяАтрибута | Выражение | Позиция}
[HAVING Условие]
[ORDER BY { ИмяАтрибута | Выражение | Позиция }
[LIMIT пределы];
Или:
SELECT ...
UNION [ALL | DISTINCT] SELECT ...
[UNION [ALL | DISTINCT] SELECT ...]
СсылкиНаТаблицы:
СсылкиНаТаблицы [,СсылкиНаТаблицы] ...
СсылкиНаТаблицы:
ОписаниеТаблицы
| СоединениеТаблиц
ОписаниеТаблицы:
ИмяТаблицы [[AS] Алиас]
| (СсылкиНаТаблицы)
| { OJ СсылкиНаТаблицы LEFT OUTER JOIN
СсылкиНаТаблицы
ON УсловиеСоединения }
СоединениеТаблиц:
СсылкиНаТаблицы [INNER] JOIN ОписаниеТаблицы
[УсловиеСоединения]
| СсылкиНаТаблицы {LEFT|RIGHT} [OUTER] JOIN
СсылкиНаТаблицы УсловиеСоединения
ALL – означает, что результирующий набор данных будет содержать все записи, в том числе и одинаковые.
DISTINCT или DISTINCTROW – это синонимы, которые означают, что результирующая выборка будет содержать только разные записи.
FROM – задает список таблиц, из которых выбираются данные.
WHERE – задает условие выборки данных из таблиц, а также условие соединения таблиц.
GROUP BY – задает поле(поля), по которому данные объединяются в группы для подведения итогов.
HAVING – задает условие, накладываемое на группы.
ORDER BY – задает поле(поля), которым выполняется сортировка данных в результирующей выборке.
UNION – используется для выполнения операции объединения таблиц.
INNER JOIN – задает внутреннее соединение таблиц по условию.
{LEFT|RIGHT} OUTER JOIN – задает внешнее(левое или правое) соединение таблиц по условию.
AS – при описании таблиц позволяет задать второе имя для таблицы(алиас). Алиасы удобно использовать при описании списка столбцов в выборке, помечая каждый столбец алиасом той таблицы, из которой он выбирается.
Рассмотрим использование оператора SELECT на примере выборок из следующих таблиц:
Таблица «Темы» содержит информацию о темах, к которым относится та или иная книга. Имеет следующую структуру:
Tem(*N_t(номер темы), Nazv_t(название темы))
Таблица «Книги» содерит информацию о книгах, имеющихся в библиотеке. Имеет следующую структуру:
Books(*N_b(номер книги), Nazv(название), Avtor(автор),
Cena(цена), God_izd(год издания), N_tem(номер темы))
Таблица «Читатели» содержит информацию о читателях библиотеки. Имеет следующую структуру:
Readers(*N_r(номер читателя), Fio(ФИО), Adres(Адрес), Tel(телефон), Pol(пол))
Таблица «Регистрация выдачи и возврата книг» содержит информацию о том кому какие книги выдавались. Имеет следующую структуру:
Registr(*N_b(номер книги), *N_r(номер читателя), *Data_v(Дата выдачи), Priznak(признак возврата)).
Первичные ключи в таблицах отмечены «звездочками»(*).
