- •Методические указания по дисциплине
- •1. Пояснительная записка
- •1.1. Область применения программы
- •1.2. Место учебной дисциплины в структуре основной профессиональной образовательной программы
- •1.3. Цели и задачи учебной дисциплины - требования к результатам освоения учебной дисциплины
- •1.4. Рекомендуемое количество часов на освоение примерной программы учебной дисциплины
- •2. Структура и содержание учебной дисциплины
- •2.1. Объем учебной дисциплины и виды учебной работы
- •3. Тематический план и содержание учебной дисциплины
- •4. Задание для выполнения домашней контрольной работы
- •5. Список вопросов к экзамену
- •6. Методические указания для организации самостоятельной работы студента
- •Раздел 1. Теория проектирования бд
- •Раздел 2. Организация бд. Основные операции с бд в субд Paradox.
- •7. Информационное обеспечение обучения
- •8. Контроль и оценка результатов освоения учебной дисциплины
4. Задание для выполнения домашней контрольной работы
Разработка главной формы и модуля данных ([2],урок 1):
А) В среде программирования Delphi создать новый проект. Поместить на форму две панели TPanel: нижнюю – для размещения кнопок навигатора (TDBNavigator), кнопки закрытия программы (TBitBtn) и компонента DateTimePicker; верхнюю – для размещения в сетке DBGrid данных о накладных. Для того, чтобы пользователь программы мог менять высоту верхней панели, поместите между панелями вешку разбивки TSplitter. Вид формы:
Б) Создайте модуль данных: для связи таблиц с БД воспользуйтесь компонентом TDatabase, 3 компонента ТТаblе для таблиц Nakls, Books, TypeNakl. Вид модуля:
В) Cоздайте объекты-поля для tbNakls:
Г) Создайте объекты-столбцы:
-
FieldName
Caption
NaklID
№ Накладной
NDate
Дата
Firm
Фирма
Type
Тип накладной
NSum
Сумма
NPlaedSum
Оплата
NRetSum
Возврат
NCoeff
Коэффициент
NRetDate
Срок
Д) Напишите обработчик выборки записей для DateTimePicker при помощи метода SetRange ([2],урок 4).
Е) Кеширование (урок 7). Создайте новую форму и подключите ее к проекту. На ней должны быть размещены компоненты DBRadioGroup, 6 компонентов label, 5 компонентов DBEdit, компонент DBLookupListBox и 2 кнопки BitBtn. Вид формы:
Для компонента DBRadioGroup напишите обработчик:
procedure TEditNakl.dbrgTypeChange(Sender: TObject);
begin
if dbrgType.ItemIndex<2 then
begin
lbRet.Show;
dbedRet.Show
end else begin
lbRet.Hide;
dbedRet.Hide
end
end;
На главную форму поместите компонент PopupMenu и напишите обработчики для команд меню «Изменить» и «Вставить».
Ж) Для создания отчета поместите на главную форму компонент TRVTableConnect и свяжите его с НД Nakls. Откройте утилиту Rave Reports Designer и создайте файл проекта отчета. Отчет должен включать поля: «№ накладной», «фирма», «сумма», «дата оплаты», «сумма оплаты».
Добавьте на главную форму компонент RvProject и кнопку Button (Отчет), напишите для нее обработчик и привяжите проект отчета к приложению. Вид главной формы:
5. Список вопросов к экзамену
База данных. Система управления базами данных. Основные определения.
Топология баз данных.
Модели данных.
Банк данных (БнД). Компоненты банка данных. Основные определения.
Компоненты БнД: информационная база. Три уровня представления данных.
Компоненты БнД: лингвистические средства.
Компоненты БнД: программные средства.
Компоненты БнД: технические и организационно-административные подсистемы.
Реляционная модель данных: таблица БД, поле, ячейка, запись, первичный и внешний ключ, домен. Основные определения.
Реляционная модель: правила Кодда. Правила информации, гарантированного доступа, поддержки недействительных значений, динамического каталога.
Правила Кодда. Правила исчерпывающего подъязыка данных, обновления представлений, независимости физических данных.
Правила Кодда. Правила независимости логических данных и условий целостности, независимости распространения.
Этапы проектирования БД. Основные определения.
Этапы проектирования БД: концептуальное проектирование. ER-диаграмма: сущность, свойства.
Этапы проектирования БД: концептуальное проектирование. ER-диаграмма: Связи между объектами.
Этапы проектирования БД: логическое проектирование. Универсальное отношение: избыточность данных и противоречивость.
Нормализация таблиц реляционной БД: Функциональная зависимость, полная функциональная зависимость.
Нормализация таблиц реляционной БД: Многозначная функциональная зависимость, транзитивная функциональная зависимость, взаимная независимость.
Нормализация таблиц реляционной БД: Первая нормальная форма.
Нормализация таблиц реляционной БД: Вторая нормальная форма.
Нормализация таблиц реляционной БД: Третья нормальная форма.
Нормализация таблиц реляционной БД: Нормальная форма Бойса-Кодда.
Три части реляционной модели К.Дейта: структурная часть, манипуляционная часть, целостная часть. Основные определения.
Манипуляционная часть: реляционная алгебра и реляционное исчисление. Реляционность языка БД.
Реляционная алгебра Кодда: теоретико-множественные операции (объединения, пересечения, взятия разности, декартовое произведение).
Реляционная алгебра Кодда: специальные операции (ограничение, проекция, соединение, деление)
Целостная часть реляционной модели: требование целостности сущности.
Целостная часть реляционной модели: требование целостности внешнего ключа.
Программирование БД в DELPHI 7: Создание таблиц.
Создание таблиц. Контроль за содержимым полей.
Создание таблиц. Таблица подстановки.
Создание таблиц. Ссылочная целостность.
Создание псевдонима.
Создание модуля данных.
Связь модуля главного окна с модулем данных. Подключение модуля окна к проекту.
Создание объектов-полей: создание подстановочного поля.
Создание объектов-полей: создание вычисляемого поля.
Отображение вычисляемого поля с помощью обработчика события OnCalcFields.
Создание объектов-столбцов.
Поиск записей в НД: метод Locate. Реализация на примере обработчика события OnChange компонента TDateTimePicker.
Выборка записей в НД: метод SetRange. Реализация на примере обработчика события OnChange компонента TDateTimePicker. /*Урок 4, стр.89*/
Запросы. Создание SQL-запросов утилитой SQL Explorer. Выборка из связанных таблиц.
Создание SQL-запросов с помощью компонента TQuery. Выборка из связанных таблиц.
Создать запрос на выборку из связанных таблиц и отсортировать записи. Реализовать на примере НД Nakls для поля NCoeff.
Создать запрос на выборку из связанных таблиц используя сложные критерии бора. Реализовать на примере НД Nakls для коэффициента >1 и ненулевой суммы возврата.
Создание SQL-запросов: операция LIKE.
Создание SQL-запросов: агрегатные функции AVG, COUNT, MAX.
Создание SQL-запросов: агрегатные функции MIN, SUM. Группировка записей GROUP BY
Создание таблицы типа Paradox. Типы полей.
Удаление таблицы. Создание/удаление индекса.
Вставка/удаление записей в/из таблицы.Изменение отдельных полей таблицы.
Создать параметрический запрос (компонент TQuery) для формирования списка партнеров (NaklsID, FName, NSum) поставивших книги в день, определяемый параметром DATE.
Компоненты для визуализации полей. Создать форму для вывода данных по накладной.
Компоненты для визуализации полей. Создать форму для ввода данных по накладной.
Компоненты для визуализации полей: Компонент TDBCtrlGrid
Типы отчетов. Создание отчета с помощью мастера. Пример отчета с единственной таблицей.
Типы отчетов. Создание отчета с помощью конструктора. Пример отчета с единственной таблицей.
Типы отчетов. Создание отчета с помощью конструктора. Пример отчета с главной – подчиненной таблицами.
Использование агрегатных функций в отчете.
