Информационное обеспечение баз данных
Содержание
. Исходные данные. Описание предметной области
. Анализ и моделирование предметной области
.1 Модель выдачи информации по каждому из сотрудников
.2 Информация о поставках корма
.3 Информация о животных
.4 Информация о потомстве
.5 Информация о совместимости видов
. Структура таблиц
. Схема данных
. Запросы
.1 Список служащих зоопарка
.2 Перечень работников, которые устроились работать в
зоопарк, не достигнув 25-летнего возраста
.3 Потомство животных
.4 Перечень поставщиков кормов
.5 Перечень животных по болезням и прививкам
.6 Служащие,ответственные за животных
.7 Общее число работников на каждой должности
. Отчёты
.1 Перечень сотрудников по отделам (отрывок)
.2 Медицинская карточка животных (отрывок)
. Формы
.1 Должность (отрывок)
.2 Поставщики (отрывок)
1. Исходные
данные. Описание предметной области
Зоопарк
Служащих зоопарка можно подразделить на несколько категорий: ветеринары,
уборщики, дрессировщики, строители-ремонтники, работники администрации. Каждая
из перечисленных категорий работников имеет уникальные атрибуты-характеристики,
определяемые профессиональной направленностью. За каждым животным ухаживает
определенный круг служащих, причем только ветеринарам, уборщикам и
дрессировщикам разрешен доступ в клетки к животным.
В зоопарке обитают животные различных климатических зон, поэтому часть
животных на зиму необходимо переводить в отапливаемые помещения. Животных можно
подразделить на хищников и травоядных. При расселении животных по клеткам
необходимо учитывать не только потребности данного вида, но и их совместимость
с животными в соседних клетках (нельзя рядом селить, например, волков и их
добычу-различных копытных).
Для кормления животных необходимы различные типы кормов: растительный,
живой, мясо и различные комбикорма. Растительный корм это фрукты и овощи, зерно
и сено. Живой корм- мыши, птицы, корм для рыб. Для каждого вида животных
рассчитывается свой рацион,который в свою очередь варьируется в зависимости от
возраста, физического состояния животного и сезона. У зоопарка имеются поставщики
кормов для животных. Каждый поставщик специализируется на каких-то конкретных
видах кормов. Часть кормов зоопарк может производить сам: запасать сено,
разводить мышей и т.д.
Ветеринары должны проводить медосмотры, следить за весом, ростом, развитием
животного, ставить своевременно прививки и заносить все эти данные в карточку,
которая заводится на каждую особь при ее появлении в зоопарке. Больным животным
назначается лечение и при необходимости их можно изолировать в стационаре.
При определенных условиях (наличие пары особей, подходящих по возрасту,
физическому состоянию) можно ожидать появление потомства. Потомство от данной
пары животных при достижении ими положенного возраста можно либо оставить в
зоопарке, создав для них подходящие условия содержания, либо обменяться с
другими зоопарками или просто раздать в другие зоопарки - по решению
администрации.
Виды запросов
в информационной системе:
1. Получить список служащих зоопарка, по стажу более
пяти лет, по половому признаку - женщин.
. Получить перечень служащих зоопарка, ответственных
за указанный вид животных за все время пребывания животного в зоопарке.
. Получить список и общее число служащих зоопарка,
имеющих доступ к указанному виду животных либо к конкретной особи.
. Получить перечень и общее число всех животных в
зоопарке либо животных указанного вида, живших в указанной клетке все время
пребывания в зоопарке, по половому признаку, возрасту, весу, росту.
. Получить перечень и общее число нуждающихся в теплом
помещении на зиму, полностью животных только указанного вида или указанного
возраста.
. Получить перечень животных, которым была поставлена
указанная прививка, либо переболевших некоторой болезнью, по кличке, половому
признаку и возрасту.
. Получить перечень работников, которые устроились
работать в зоопарк, не достигнув 25-летнего возраста.
. Получить перечень поставщиков кормов, поставляющих
только определенный корм, по количеству поставляемого корма, цене, датам
поставок.
. Получить общее число работников на каждой должности.
. Получить перечень животных, либо указанный вид
животных, которым необходим определенный тип кормов, в указанном сезоне,
возрасте или круглый год.
. Получить перечень животных, от которых можно ожидать потомство в перспективе, в
указанный период.
12. Получить перечень и общее число зоопарков, с которыми был произведен
обмен животными в целом или животными только указанного вида.
2. Анализ и
моделирование предметной области
Цели и задачи
создания информационной системы
1. Быстрый доступ к информации о процессах в зоопарке.
. Централизованное хранение информации о каждом сотруднике
зоопарка.
. Оптимизация обработки информации о действиях с животными.
Основные
функции информационной системы
1. Формирование списков сотрудников по должностям.
. Получение полной информации о животных.
. Контроль кормления, болезней, совместимости животных.
. Контроль поставок кормов.
2.1 Модель
выдачи информации по каждому из сотрудников
Для каждого сотрудника необходимо указать,имеет ли он доступ к животным
и, следовательно, занимаемую им должность и размер получаемой заработной платы.
Для этого создаем отдельно таблицы "Должность" и "Работают с
животными".
Кроме того нужно учесть стаж работника, пол иего возраст.
В результате полученная система таблиц будет выглядеть следующим образом:
2.2
Информация о поставках корма
Не всякий вид корма может производить данный зоопарк. Именно поэтому есть
необходимость в поставках нужных кормов различными организациями. При этом надо
обязательно учесть дату поставки, тип корма, количество и его цену. Чтобы иметь
необходимую информацию о поставщиках, в таблицу нужно включить название
организации, которая поставляет тот или иной тип корма в зоопарк, и, начиная с
какого периода, она осуществляет поставки.
Сама же система таблиц "Поставщики" - "Корма"
выглядит следующим образом:
2.3
Информация о животных
Основная и самая главная таблица в информационной системе зоопарка - это
таблица "Животные", в которой указана полная информация о находящихся
в зоопарке животных (вид животного, наименование, кличка, а также его рост,
вес, возраст, пол и дата поступления в зоопарк). Для данной таблицы характерно
наибольшее количество связей с другими таблицами. Так как для животных
необходимо определенное кормление, контроль за здоровьем, необходимость
различных типов животных в теплом помещении на зиму, а также учесть клетки, в
которых находится каждое животное и т.д. Для корректного взаимодействия
элементов между собой необходимо ввести в систему следующие таблицы:
"Карточка прививок", "Карточка болезней", "Теплое
помещение", "Кормление-1", "Кормление-2", "Вид
животного", "Клетки животных", "Потомство". В итоге
система будет выглядеть следующим образом:
2.4
Информация о потомстве
При определенных условиях у животных можно ожидать появление потомства.
Потомство можно либо оставить в зоопарке, либо обменяться с другими зоопарками
или просто раздать в другие зоопарки. Для получения информации о том, ожидается
ли потомство, если ожидается, то куда его направят или же если оно останется в
зоопарке, свяжем таблицу "Потомство" с таблицей "Зоопарки".
В конечном варианте система будет выглядеть так:
2.5
Информация о совместимости видов
Животных в зоопарке можно подразделить на хищников и травоядных. При
расселении животных по клеткам необходимо учитывать не только потребности
данного вида, но и их совместимость с животными в соседних клетках. Для
контроля над расселением животных по видовой принадлежности добавляется таблица
"Совместимость животных".
Полученная система таблиц будет выглядеть следующим образом:
3. Структура
таблиц
Таблица 1 - Основные параметры структуры таблицы "Должность"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
КОД_ДОЛЖ
|
Да (СНД)
|
Числовой
|
КОД_ДОЛЖ
|
|
|
НАИМ_ДОЛЖ
|
|
|
Текстовый
|
НАИМ_ДОЛЖ
|
|
|
ЗАР_ПЛАТА
|
|
|
Текстовый
|
ЗАР_ПЛАТА
|
|
|
Таблица 2 - Основные параметры структуры таблицы "Животные"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_ЖИВ
|
Да
|
Да (СНД)
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
ВИД_ЖИВ
|
|
|
Числовой
|
ВИД_ЖИВ
|
|
|
НАИМЕН_ЖИВ
|
|
|
Текстовый
|
НАИМЕН_ЖИВ
|
|
|
КЛИЧКА_ЖИВ
|
|
|
Текстовый
|
КЛИЧКА_ЖИВ
|
|
|
ПОЛ_ЖИВ
|
|
|
Текстовый
|
ПОЛ_ЖИВ
|
|
|
ВОЗРАСТ_ЖИВ
|
|
|
Текстовый
|
ВОЗРАСТ_ЖИВ
|
|
|
РОСТ_СМ
|
|
|
Числовой
|
РОСТ_СМ
|
|
|
ВЕС_КГ
|
|
|
Числовой
|
ВЕС_КГ
|
|
|
ДАТА_ПОСТУП
|
|
|
Дата/время
|
ДАТА_ПОСТУП
|
|
|
Таблица 3 - Основные параметры структуры таблицы "Зоопарки"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_ЖИВ
|
Да
|
Да (СНД)
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
НАЗВ_ЗООПАРКА
|
|
|
Текстовый
|
НАЗВ_ЗООПАРКА
|
|
|
ПЕРЕДАЧА
|
|
|
Текстовый
|
ПЕРЕДАЧА
|
|
|
ДАТА_ОБМЕНА
|
|
|
Дата/время
|
ДАТА_ОБМЕНА
|
|
|
ПОЛУЧЕН_ЖИВ
|
|
|
Текстовый
|
|
|
Таблица 4 - Основные параметры структуры таблицы "Вид
животного"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
КОД_ВИДА
|
Да
|
Да (СНД)
|
Числовой
|
КОД_ВИДА
|
|
|
ВИД_ЖИВ
|
|
|
Текстовый
|
ВИД_ЖИВ
|
|
|
Таблица 5 - Основные параметры структуры таблицы "Карточка болезней
животного"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_ЖИВ
|
|
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
БОЛЕЗНЬ
|
|
|
Текстовый
|
БОЛЕЗНЬ
|
|
|
ДАТА_БОЛ
|
|
|
Дата/время
|
ДАТА_БОЛ
|
|
|
Таблица 6 - Основные параметры структуры таблицы "Карточка прививок
животного"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_ЖИВ
|
|
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
ПРИВИВКА
|
|
|
Текстовый
|
ПРИВИВКА
|
|
|
ДАТА_ПРИВИВ
|
|
|
Дата/время
|
ДАТА_ПРИВИВ
|
|
|
Таблица 7 - Основные параметры структуры таблицы "Клетки
животных"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_КЛЕТКИ
|
Да
|
Да (СНД)
|
Числовой
|
НОМЕР_КЛЕТКИ
|
|
|
НОМЕР_ЖИВ
|
|
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
Таблица 8 - Основные параметры структуры таблицы "Корма"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
ТИП_КОРМА
|
Да
|
Да (СНД)
|
Текстовый
|
ТИП_КОРМА
|
|
|
НОМЕР_ПОСТАВЩ
|
|
|
Числовой
|
НОМЕР_ПОСТАВЩ
|
|
|
КОЛ-ВО_КОРМА
|
|
|
Текстовый
|
КОЛ-ВО_КОРМА
|
|
|
ЦЕНА_КОРМА_КГ
|
|
|
Текстовый
|
ЦЕНА_КОРМА_КГ
|
|
|
ДАТА_ПОСТАВКИ
|
|
|
Дата/время
|
ДАТА_ПОСТАВКИ
|
|
|
Таблица 9 - Основные параметры структуры таблицы "Кормление-1"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_ЖИВ
|
Да
|
Да (СНД)
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
ВИД_ЖИВ
|
|
|
Текстовый
|
ВИД_ЖИВ
|
|
|
СЕЗОН
|
|
|
Текстовый
|
СЕЗОН
|
|
|
В_ДЕТСК_ПЕР
|
|
|
Текстовый
|
В_ДЕТСК_ПЕР
|
|
|
Таблица 10 - Основные параметры структуры таблицы "Кормление-2"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_ЖИВ
|
Да
|
Да (СНД)
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
ВИД_ЖИВ
|
|
|
Текстовый
|
ВИД_ЖИВ
|
|
|
СЕЗОН
|
|
|
Текстовый
|
СЕЗОН
|
|
|
ПИТ_В_ОСТ_ВР
|
|
|
Текстовый
|
ПИТ_В_ОСТ_ВР
|
|
|
Таблица 11 - Основные параметры структуры таблицы "Поставщики"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Сообщение об ошибке
|
НОМЕР_ПОСТАВЩ
|
Да
|
Да (СНД)
|
Числовой
|
НОМЕР_ПОСТАВЩ
|
|
|
НАЗВ_ОРГАНИЗ
|
|
|
Текстовый
|
НАЗВ_ОРГАНИЗ
|
|
|
ПОСТ_С
|
|
|
Дата/время
|
ПОСТ_С
|
|
|
ПОСТАВ_ПО
|
|
|
Дата/время
|
ПОСТАВ_ПО
|
|
|
Таблица 12 - Основные параметры структуры таблицы "Потомство"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НОМЕР_ЖИВ
|
Да
|
Да (ДС)
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
НОМЕР_ДЕТ
|
Да
|
Да (СНД)
|
Числовой
|
НОМЕР_ДЕТ
|
|
|
ПАРА
|
|
|
Текстовый
|
ПАРА
|
|
|
ПРИБЛИЗ_ДАТА
|
|
|
Дата/время
|
ПРИБЛИЗ_ДАТА
|
|
|
Таблица 13 - Основные параметры структуры таблицы "Работают с
животными"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
ТАБ_НОМЕР
|
|
|
Числовой
|
ТАБ_НОМЕР
|
|
|
НОМЕР_ЖИВ
|
|
|
Числовой
|
НОМЕР_ЖИВ
|
|
|
ДАТА_ПРИСТУП
|
|
|
Дата/время
|
ДАТА_ПРИСТУП
|
|
|
Таблица 14 - Основные параметры структуры таблицы "Совместимость животных"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
КОД_ВИДА
|
Да
|
Да (СНД)
|
Числовой
|
КОД_ВИДА
|
|
|
ВИД_ЖИВ
|
ВИД_ЖИВ
|
|
|
СОВМЕСТИМ
|
|
|
Текстовый
|
СОВМЕСТИМ
|
|
|
Таблица 15 - Основные параметры структуры таблицы "Сотрудники"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
Таб_номер
|
Да
|
Да (СНД)
|
Числовой
|
Таб_номер
|
|
|
ФИО
|
|
|
Текстовый
|
ФИО
|
|
|
Пол
|
|
|
Текстовый
|
Пол
|
|
|
Возраст
|
|
|
Текстовый
|
Возраст
|
|
|
Стаж
|
|
|
Числовой
|
Стаж
|
|
|
Код_долж
|
|
|
Числовой
|
Код_долж
|
|
|
Таблица 16 - Основные параметры структуры таблицы "Теплое
помещение"
Имя поля
|
Ключевое поле
|
Индексированное поле
|
Тип данных
|
Подпись данных
|
Условие на значение
|
Сообщение об ошибке
|
НАИМЕН_ЖИВ
|
Да
|
Да (СНД)
|
Текстовый
|
НАИМЕН_ЖИВ
|
|
|
ТЕПЛОЕ_ПОМ
|
|
|
Текстовый
|
ТЕПЛОЕ_ПОМ
|
|
|
4. Схема
данных
5. Запросы
5.1 Список служащих зоопарка
SELECT Сотрудники.Таб_номер, Сотрудники.ФИО, Сотрудники.Стаж,
Сотрудники.ПолСотрудники(((Сотрудники.Стаж)>5) AND
((Сотрудники.Пол)="Ж"));
5.2 Перечень работников, которые устроились работать в зоопарк,
не достигнув 25-летнего возраста
SELECT Сотрудники.Таб_номер, Сотрудники.ФИО, Сотрудники.Пол,
Сотрудники.Возраст, Сотрудники.Стаж, [Возраст]-[Стаж] AS
Выражение1Сотрудники((([Возраст]-[Стаж])<25));
5.3 Потомство животных
SELECT
ЖИВОТНЫЕ.НОМЕР_ЖИВ, ЖИВОТНЫЕ.НАИМЕН_ЖИВ, ЖИВОТНЫЕ.ПОЛ_ЖИВ, ПОТОМСТВО.ПАРА,
ПОТОМСТВО.ПРИБЛИЗ_ДАТА, ПОТОМСТВО.НОМЕР_ДЕТ
FROM
ЖИВОТНЫЕ INNERJOIN ПОТОМСТВО ON ЖИВОТНЫЕ.НОМЕР_ЖИВ = ПОТОМСТВО.НОМЕР_ЖИВ
WHERE
(((ПОТОМСТВО.ПРИБЛИЗ_ДАТА)>=[Возможное потомство в период с:] And (ПОТОМСТВО.ПРИБЛИЗ_ДАТА)<=[по:]))
ORDERBY
ЖИВОТНЫЕ.НОМЕР_ЖИВ DESC;
5.4 Перечень поставщиков кормов
SELECTПоставщики.НАЗВ_ОРГАНИЗ,
Корма.ТИП_КОРМА, Корма.[КОЛ-ВО_КОРМА], Корма.ЦЕНА_КОРМА_КГ, Корма.ДАТА_ПОСТАВКИ
FROM
Поставщики INNERJOIN Корма ONПоставщики.НОМЕР_ПОСТАВЩ = Корма.НОМЕР_ПОСТАВЩ
WHERE
(((Корма.ТИП_КОРМА)=[Введите тип корма]) AND ((Корма.ДАТА_ПОСТАВКИ) Like "*.*.****"));
5.5 Перечень животных по болезням и прививкам
SELECT Животные.ВИД_ЖИВ, Животные.КЛИЧКА_ЖИВ, Животные.ПОЛ_ЖИВ,
Животные.ВОЗРАСТ_ЖИВ, [Карточка прививок животного].ПРИВИВКА, [Карточка
болезней животного].БОЛЕЗНЬЖивотные INNER JOIN ([Карточка болезней животного]
INNER JOIN [Карточка прививок животного] ON [Карточка болезней
животного].НОМЕР_ЖИВ = [Карточка прививок животного].НОМЕР_ЖИВ) ON
(Животные.НОМЕР_ЖИВ = [Карточка прививок животного].НОМЕР_ЖИВ) AND
(Животные.НОМЕР_ЖИВ = [Карточка болезней животного].НОМЕР_ЖИВ)((([Карточка
прививок животного].ПРИВИВКА)=[Ввдите название прививки])) OR ((([Карточка
болезней животного].БОЛЕЗНЬ)=[Введите название болезни]));
5.6 Служащие,ответственные за животных
SELECT Сотрудники.Таб_номер, Сотрудники.ФИО, Сотрудники.Код_долж,
Животные.НАИМЕН_ЖИВ, [Работают с животными].ДАТА_ПРИСТУПСотрудники INNER JOIN
(Животные INNER JOIN [Работают с животными] ON Животные.НОМЕР_ЖИВ = [Работают с
животными].НОМЕР_ЖИВ) ON Сотрудники.Таб_номер = [Работают с
животными].ТАБ_НОМЕР(((Животные.НАИМЕН_ЖИВ)=[Введите наименование животного]));
5.7 Общее число работников на каждой должности
SELECT Должность.КОД_ДОЛЖ, Должность.НАИМ_ДОЛЖ,
Count(Сотрудники.Код_долж) AS [Count-Код_долж]Должность INNER JOIN Сотрудники
ON Должность.КОД_ДОЛЖ = Сотрудники.Код_должBY Должность.КОД_ДОЛЖ,
Должность.НАИМ_ДОЛЖ;
6. Отчёты
6.1 Перечень сотрудников по отделам (отрывок)
6.2
Медицинская карточка животных (отрывок)
7. Формы
7.1Должность
(отрывок)
запрос информационный отчет форма
7.2
Поставщики (отрывок)