- •Рекомендации по выполнению лабораторных работ по курсу "Базы данных"
- •Содержание
- •Задание
- •Лабораторная работа № 1
- •Задание
- •Пользователи
- •Представление концептуальной (инфологической) модели в нотации idef1x
- •Сущности
- •Наследование
- •Состав диалоговых форм и отчетов
- •Лабораторная работа № 2
- •Задание
- •Лабораторная работа № 3
- •Задание
- •Лабораторная работа № 4
- •Задание
- •Лабораторная работа № 5
- •Литература
Наследование
IDEF1X представляет два вида подтипов. Кружок и две линии под ним изображают полноенаследование: все экземпляры родительской сущности должны быть экземплярами одного из подтипов (ЗАКАЗЧИК всегда является либо ОРГАНИЗАЦИЕЙ, либо ЧАСТНЫМ ЛИЦОМ). Кружок только с одной линией демонстрируетнеполноенаследование, когда экземпляры подтипа не обязательно представляют все экземпляры родителя.
Нотация |
Название |
Значение |
Неполное наследование |
Родительская сущность является супертипом для сущностей-потомков. | |
|
Полное наследование |
Родительская сущность является супертипом для сущностей-потомков и все ее экземпляры должны быть экземплярами одного из подтипов. |
IDEF1X-диаграммы используются рядом распространенных CASE-средств: ERwin, Design/IDEF и др.
Состав диалоговых форм и отчетов
Предварительно решаем, что для каждой из перечисленных функций ИС должно быть свое диалоговое окно или отчет.
Лабораторная работа № 2
Время: 4 часа.
Задание
Создайте БД в среде СУБД Access. Создайте таблицы в соответствии с концептуальной моделью. Имена полей и таблиц должны быть на английском языке. Определите первичный ключ и необходимые индексы для каждой таблицы. В качестве первичного ключа лучше выбирать поле целочисленного типа, т. к. операция поиска по индексу выполняется в десятки раз быстрее для целых чисел, чем для текстовых полей. Можно использовать в качестве первичного ключа искусственное поле типа «Счетчик». Для каждого поля введите значение в свойство «Подпись» на русском языке. Для полей, значения которых выбираются из другой таблицы, запроса или определенного списка значений – определите свойства во вкладке "Подстановка". Если, например, в поле хранится код (целое число), а отображаться должно текстовое значение, то свойства поля могут быть заданы следующим образом:
Тип элемента управления – поле со списком;
Тип источника строк – таблица или запрос (список значений);
Источник строк – имя таблицы (текст SQL-запроса или список значений, например: 1;"мужской";2;"женский");
Присоединенный столбец – 1;
Число столбцов – 2;
Заглавия столбцов – нет;
Ширина столбцов - 0;5;
Число строк списка – целое число;
Ширина списка – Авто;
Ограничиться списком – Да.
Постройте «схему данных». Установите в схеме правила поддержания ссылочной целостности для тех связей между таблицами, для которых вы считаете это полезным.
Рис. 2. Схема данных
Введите во все таблицы БД первоначальные данные (по 5-10 записей). Освойте работу с таблицами в режиме просмотра: добавление и удаление записей, редактирование значений полей, печать таблицы (предварительный просмотр), проверка орфографии, сортировка, фильтрация, поиск и замена, изменение макета просмотра (изменение ширины столбцов, изменение порядка следования столбцов), изменение структуры таблицы (добавление и удаление столбцов).
Лабораторная работа № 3
Время: 4 часа.
Задание
Постройте необходимые запросы: выборки данных по условию, добавления и удаления записей, изменения значений записей. Освойте работу построителя запросов, работу мастеров по составлению запросов и составление запросов в текстовом редакторе.
Необходимо составить не менее 5 запросов на выборку, которые должны использовать следующие механизмы:
назначение к выборке отдельных полей и «всех полей» из таблицы;/
устранение одинаковых строк из результирующей таблицы; /
соединение нескольких таблиц в одну (INNERJOIN,LEFTJOINилиRIGHTJOIN);/
внутреннее соединение: несколько таблиц в разделе FROMчерез запятую и условия связи между ними в разделеWHERE;/
предикаты или условия отбора (сравнение с числовой константой, с текстовой константой, с датой; LIKE,IN,ISNULLи т.д.);/
элементарные вычисления в разделе SELECTили в разделахWHEREиHAVING(например, вычисление возраста по дате рождения или общей стоимости по цене и количеству товара);
группировку записей и вычисление внутри групп таких величин как количество, сумма, среднее, максимум, минимум и пр.;
запрос с параметрами, то есть задание значений некоторых параметров при выполнении запроса;/
задание собственных имен столбцов для таблицы с результатами запроса на выборку;
использование алиасов таблиц;
сортировку записей по возрастанию и убыванию значений полей;
использование в качестве источника данных другого запроса;
использование подзапроса внутри запроса (предикат IN,EXIST).
Для организации внешнего соединения таблиц в режиме конструктора сделайте щелчок правой кнопкой мыши на связи между таблицами, используемыми в запросе, и выберете пункт контекстного меню «Параметры объединения». В левом соединении (LEFT JOIN) запрос возвращает все строки из левой таблицы (т.е. таблицы, стоящей слева от зарезервированного словосочетания «LEFT JOIN») и только те из правой таблицы, которые удовлетворяют условию соединения. Если же в правой таблице не найдется строк, удовлетворяющих заданному условию, то в результате они замещаются значениями NULL. Для правого соединения - все наоборот.
Для построения запросов, использующих группировку, в режиме конструктора нажмите правую кнопку мыши и выберете пункт меню Групповые операции.
Для построения запросов на добавление, удаление или обновление записей – в режиме конструктора выберете в меню Запрос соответствующий вид запроса.
Для использования встроенных функций VisualBasic– в режиме конструктора нажмите правую кнопку мыши и выберете пункт менюПостроить. В построителе запросов выберете Функции, Встроенные функции, раздел функций и требуемую функцию.