- Состав базы данных:
ВИД_ЖИВОТНОГО(#Вид, Название)
ДОЛЖНОСТИ(#Работник, #Должность)
ДОЛЖНОСТЬ(#Код, Название, Минимальный оклад)
ЖИВОТНОЕ(#Животное, Кличка, #Вид, Дата_рождения, Фотография)
ЖУРНАЛ_КОРМЛЕНИЯ_ЖИВОТНЫХ(#Код, Дата, #Работник, #Животное, Корм, Количество_(кг))
ЖУРНАЛ_ПРИВИВОК(#Код, Дата, #Работник, #Животное, Прививка)
ЖУРНАЛ_ПРОДАЖИ_БИЛЕТОВ(#Код, Дата, Продано_билетов, Цена_1_балета)
ИЗГОТОВИТЕЛЬ_КОРМА(#Изготовитель, Название, Телефон, Адрес)
КОРМ(#Корм, #Тип_корма, #Изготовитель)
НОРМА_КОРМЛЕНИЯ_ЖИВОТНОГО(#Код, #Вид, #Корм, необходимо_кг_в_1_день)
ПРИВИВКА(#Прививка, Название, Периодичность, Человеку/Животному)
РАБОТНИК(#Работник, Фамилия, Имя, Отчество, Фотография, Адрес, Зарплата)
ТИП_КОРМА(#Тип_корма, Название)
В таблице ЖУРНАЛ_ПРИВИВОК если прививка сделана животному, то поле Код работника=0, а если работнику, то Код животного =0.
В таблице ПРИВИВКИ поле Человеку/Животному может принимать значения:
0 (Человеку), 1 (Животному), 2 (Всем).
- Описание характеристик атрибутов.
Вид животного:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Вид | Сч | дц | да | да | |||
2 | Название | Текстовый | 30 | да | да |
Таблица РАБОТНИК
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Работник | Сч | дц | да | да | |||
2 | Фамилия | Текстовый | 20 | да | нет | |||
3 | Имя | Текстовый | 20 | да | нет | |||
4 | Отчество | Текстовый | 20 | да | нет | |||
5 | Фотография | OLE | нет | нет | ||||
6 | Адрес | Текстовый | 50 | да | нет | |||
7 | Зарплата | Денежный | 600 р. | да | нет |
Таблица ДОЛЖНОСТЬ:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Должность | Сч | дц | да | да | |||
2 | Название | Текстовый | 50 | да | нет | |||
3 | Минимальный оклад | Денежный | Денежный | 600 р. | да | нет |
Таблица ДОЛЖНОСТИ:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Работник | Числовой | да | нет | ||||
2 | #Должность | Числовой | да | нет |
Таблица ЖИВОТНОЕ:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Животное | Сч | дц | да | да | |||
2 | Кличка | Текстовый | 50 | да | нет | |||
3 | #Вид | Числовой | 50 | да | нет | |||
4 | Дата_рождения | Дата/Время | нет | нет | ||||
6 | Фотография | OLE | нет | нет |
Таблица ПРИВИВКИ:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Прививка | Сч | дц | да | да | |||
2 | Название | Текстовый | 50 | да | нет | |||
3 | Периодичность | Текстовый | 20 | да | нет | |||
4 | Человеку/Животному | Числовой | да | нет |
Таблица ЖУРНАЛ_ПРИВИВОК:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Прививка | Сч | дц | да | да | |||
2 | #Работник | Число | да | нет | ||||
3 | #Животное | Число | да | нет | ||||
4 | #Прививка | Числовой | да | нет | ||||
5 | Дата | Дата/Время | да | нет |
Таблица КОРМ:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Корм | Сч | дц | да | да | |||
2 | #Тип_корма | Числовой | да | нет | ||||
3 | #изготовитель | Числовой | да | нет |
Норма кормления животного:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Код | Сч | дц | да | да | |||
2 | #Вид | Числовой | да | нет | ||||
3 | #Корм | Числовой | да | нет | ||||
4 | Необходимо_кг_в_1_день | Числовой | ###.##” кг” | да | нет |
Таблица ИЗГОТОВИТЕЛЬ_КОРМА:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #ИЗГОТОВИТЕЛЬ_КОРМА | Сч | дц | да | да | |||
2 | Название | Текстовый | 50 | да | нет | |||
3 | Телефон | Текстовый | 50 | нет | нет | |||
4 | Адрес | Текстовый | 50 | да | нет |
Таблица ЖУРНАЛ_КОРМЛЕНИЯ_ЖИВОТНЫХ:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Код | Сч | дц | да | да | |||
2 | Дата | дата/Время | да | нет | ||||
3 | #Работник | Числовой | да | нет | ||||
4 | #Животное | Числовой | да | нет | ||||
5 | #Корм | Числовой | да | нет | ||||
6 | Колитчество_(кг) | ###.##” кг” | да | нет |
Таблица ЖУРНАЛ_ПРОДАЖИ_БИЛЕТОВ:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Код | Сч | дц | да | да | |||
2 | Дата | Дата/Время | да | нет | ||||
3 | Продано_билетов | Числовой | да | нет | ||||
4 | Цена_1_билета | Числовой | да | нет |
Таблица ТИП_КОРМА:
№ | Имя атрибута | Тип данных | Размер поля | Формат вывода значений | Подпись поля в форме | Значение по умолчанию | Обязательное поле | Индексированное поле |
1 | #Тип_корма | Сч | дц | да | да | |||
2 | Название | текстовый | 30 | да | да |
3.Ограничения:
№ | Таблица | Поле | Условие на значение | Сообщение об ошибке |
1 | РАБОТНИК | Зарплата | >0 | Работник должен получать зарплату >0 |
2 | ЖУРНАЛ_ПРИВИВОК | (#Работник>0 and #Животное=0) or (#Животное=0 and #Работник=0) | Прививка может быть сделана только либо животному, либо работнику, но никак не одновременно обоим. |
- Описание подстановок:
Таблица | Исходное поле | Поле подстановки | Тип элемента управления | Тип источника строк | Источник строк |
ДОЛЖНОСТИ | #Работник | Работник | Список | Запрос | SELECT РАБОТНИК.Код, РАБОТНИК.Фамилия, РАБОТНИК.Имя, РАБОТНИК.Отчество FROM РАБОТНИК; |
ДОЛЖНОСТИ | #Должность | #Должности | Список | Запрос | SELECT ДОЛЖНОСТЬ.Код, ДОЛЖНОСТЬ.Название FROM ДОЛЖНОСТЬ; |
ЖУРНАЛ_ПРИВИВОК | #Работник | #Работник | Список | Запрос | SELECT РАБОТНИК.Код, РАБОТНИК.Фамилия, РАБОТНИК.Имя, РАБОТНИК.Отчество FROM РАБОТНИК; |
ЖУРНАЛ_ПРИВИВОК | #Прививка | #Прививка | Список | Запрос | SELECT ПРИВИВКИ.Код, ПРИВИВКИ.Название, ПРИВИВКИ.Периодичность, ПРИВИВКИ.[Человеку\Животному] FROM ПРИВИВКИ; |
ПРИВИВКИ | Человеку/животному | Список | Фиксированный набор значений | 0;»Человеку»;1;»Животному»;2;»Всем» | |
КОРМ | #Изготовитель | #Изготовитеьл | Список | Запрос | SELECT ИЗГОТОВИТЕЛЬ_КОРМА.Код, ИЗГОТОВИТЕЛЬ_КОРМА.Название FROM ИЗГОТОВИТЕЛЬ_КОРМА; |
КОРМЛЕНИЕ_ЖИВОТНЫХ | #Работник | #Работник | Список | Запрос | SELECT ИЗГОТОВИТЕЛЬ_КОРМА.Код, ИЗГОТОВИТЕЛЬ_КОРМА.Название FROM ИЗГОТОВИТЕЛЬ_КОРМА; |
КОРМЛЕНИЕ_ЖИВОТНЫХ | #Животное | #Животное | Список | Запрос | SELECT ЖИВОТНОЕ.Код, ЖИВОТНОЕ.Кличка, ЖИВОТНОЕ.Вид FROM ЖИВОТНОЕ; |
КОРМЛЕНИЕ_ЖИВОТНЫХ | #Корм | #Корм | Список | Запрос | SELECT КОРМ.Код, КОРМ.Название FROM КОРМ; |
КОРМ | #Название | #Тип_корма | список | запрос | SELECT ТИП_КОРМА.Код, ТИП_КОРМА.Название FROM ТИП_КОРМА; |
НОРМА_КОРМЛЕНИЯ_ЖИВОТНОГО | #Вид | #Вид | список | запрос | SELECT ВИД_ЖИВОТНОГО.Код, ВИД_ЖИВОТНОГО.Название FROM ВИД_ЖИВОТНОГО; |
НОРМА_КОРМЛЕНИЯ_ЖИВОТНОГО | #Корм | #Тип_корма | список | запрос | SELECT ТИП_КОРМА.Код, ТИП_КОРМА.Название FROM ТИП_КОРМА; |
5. Схема разработанной базы данных: