43019

ИНФОРМАЦИОННАЯ СИСТЕМА ЗООПАРКА

Курсовая

Информатика, кибернетика и программирование

В реляционной модели данных основным элементом представления о данных является отношение. Отношение задает информацию об объектах одного типа и хранится в виде таблицы. В столбцах таблицы сосредоточены различные характеристики этих объектов - атрибуты. Атрибут - определенная часть информации о некотором объекте. Строки таблицы предназначены для описания значений всех атрибутов отдельного объекта.

Русский

2013-11-01

504.5 KB

424 чел.

БАЛТИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙУНИВЕРСИТЕТ «ВОЕНМЕХ» им. Д.Ф.УСТИНОВА

Кафедра И3

КУРСОВАЯ РАБОТА

по учебной дисциплине: «БАЗЫ ДАННЫХ»

на тему: «ИНФОРМАЦИОННАЯ СИСТЕМА ЗООПАРКА»

ВЫПОЛНИЛА

Студентка: Гунченкова М.

Группа: СИ 337

ПРЕПОДАВАТЕЛЬ

Воробьева Е.Е./______________/

     Фамилия И.О.                  Подпись

«____»________________2006 г.

Санкт-Петербург

2006 г.


СОДЕРЖАНИЕ

ВВЕДЕНИЕ

3

1

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

4     

1.1

ПРЕДМЕТНАЯ ОБЛАСТЬ ИНФОРМАЦИОННОЙ СИСТЕМЫ

5

1.2

СПИСОК ЗАПРОСОВ К ИНФОРМАЦИОННОЙ СИСТЕМЕ

6

2

ОСНОВНАЯ ЧАСТЬ

7

2.1

ПРОЕКТИРОВАНИЕ БД

7

2.2

ER-СХЕМА

10

2.3

ПРОВЕРКА ТАБЛИЦ  БАЗЫ ДАННЫХ НА СООТВЕТСТВИЕ 3 НФ

11

2.4

СХЕМА ДАННЫХ

13

2.5

СОЗДАНИЕ ТАБЛИЦ БД С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА SQL 

14

2.6

РАЗРАБОТКА ЗАПРОСОВ В БАЗЕ ДАННЫХ НА ЯЗЫКЕ SQL

16

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

25

 


ВВЕДЕНИЕ

 База данных (БД) - это набор записей и файлов, которые организованы специальным образом.

Управление БД осуществляется с помощью системы управления БД (СУБД). Почти все современные системы основаны на реляционной (relational) модели управления БД.

Название реляционная связана с тем, что каждая запись в такой БД содержит информацию, относящуюся (related) только к одному конкретному объекту. Кроме того, в реляционной БД с данными двух типов можно работать как с единым целым.

В реляционной модели данных основным элементом представления о данных является отношение. Отношение задает информацию об объектах одного типа и хранится в виде таблицы. В столбцах таблицы сосредоточены различные характеристики этих объектов - атрибуты. Атрибут - определенная часть информации о некотором объекте. Строки таблицы предназначены для описания значений всех атрибутов отдельного объекта.

Современные технологии разработки прикладных программ делают построение приложений достаточно дешево и быстро. Квалифицированный пользователь сегодня может за один вечер создать на персональном компьютере с помощью Microsoft Access, то что несколько лет назад требовало месяцев работы. Несмотря на наличие мощных средств требуется хорошо продумать проект приложения, чтобы в последствии избежать многократных переделок.

 Microsoft Access является основной системой управления БД. Эта система удобна для хранения и извлечения информации. С помощью мастеров и других гибких инструментов, входящих в состав Access можно создавать законченные и детально проработанные приложения. Система Access разработана для предоставления универсальных возможностей при работе с БД. Однако каждому пользователю или организации требуется выполнять специальные задачи и процессы, которые требуют улучшения таблиц, форм, отчетов и запросов БД Access. Возможности программирования в Access позволяют создавать пользовательский интерфейс и важные процедуры выявления ошибок, которые обеспечивают действительность БД. Большим плюсом является то, что Access может легко импортировать диаграммы и графики из Excel, Word может использовать БД Access в качестве источника данных при создании писем. Также можно использовать возможности Excel для финансовых и любых количественных расчетов.


1
 ТЕХНИЧЕСКОЕ ЗАДАНИЕ

на выполнение курсового проекта

по учебной дисциплине «Базы данных»

студентки Гунченковой М. гр. СИ 337

Тема проекта: «Информационная система зоопарка»

Исходные данные: предметная область информационной системы, список запросов к информационной системе

Содержание проекта (перечень решаемых задач или этапов с указанием сроков их выполнения):

1.  Анализ предметной области.

2.  Составление списка необходимых атрибутов.

3.  Построение набора необходимых отношений и их нормализация.

4.  Построение схемы (рисунок схемы базы данных).

5.  Проектирование запросов к базе данных.

Проектная документация (отчетность):

  1.  Пояснительная записка.
  2.  Плакат: _________________________________________________
  3.  Плакат: _________________________________________________
  4.  ________________________________________________________

Срок представления проекта:

Руководитель проекта         Е.Е.Воробьева

(подпись, дата)

1.1 ПРЕДМЕТНАЯ ОБЛАСТЬ ИНФОРМАЦИОННОЙ СИСТЕМЫ

Служащих зоопарка можно подразделить на несколько категорий: ветеринары, уборщики, дрессировщики, строители-ремонтники, работники администрации. Каждая из перечисленных категорий работников имеет уникальные атрибуты-характеристики, определяемые профессиональной направленностью. За каждым животным ухаживает определенный круг служащих, причем только ветеринарам, уборщикам и дрессировщикам разрешен доступ в клетки к животным.

В зоопарке обитают животные различных климатических зон, поэтому часть животных на зиму необходимо переводить в отапливаемые помещения. Животных можно подразделить на хищников и травоядных. При расселении животных по клеткам необходимо учитывать не только потребности данного вида, но и их совместимость с животными в соседних клетках (нельзя рядом селить, например, волков и их добычу - различных копытных).

Для кормления животных необходимы различные типы кормов: растительный, живой, мясо и различные комбикорма. Растительный корм это фрукты и овощи, зерно и сено. Живой корм - мыши, птицы, корм для рыб. Для каждого вида животных рассчитывается свой рацион, который в свою очередь варьируется в зависимости от возраста, физического состояния животного и сезона. Таким образом, у каждого животного в зоопарке имеется меню на каждый день, в котором указывается количество и время кормлений в день, количество и вид пищи (обезьянам необходимы фрукты и овощи, мелким хищникам - хорькам, ласкам, совам, некоторым кошачьим, змеям - надо давать мышей). У зоопарка имеются поставщики кормов для животных. Каждый поставщик специализируются на каких-то конкретных видах кормов. Часть кормов зоопарк может производить сам: запасать сено, разводить мышей и т.д.

Ветеринары должны проводить медосмотры, следить за весом, ростом, развитием животного, ставить своевременно прививки и заносить все эти данные в карточку, которая заводится па каждую особь при ее появлении в зоопарке. Больным животным назначается лечение и при необходимости их можно изолировать в стационаре.

При определенных условиях (наличие пары особей, подходящих по возрасту, физическому состоянию) можно ожидать появлении потомства. Потомство от данной пары животных при достижении ими положенного возраста можно либо оставить в зоопарке, создав для них подходящие условия содержания, либо обменяться с другими зоопарками или просто раздать в другие зоопарки - по решению администрации.

 

1.2 СПИСОК ЗАПРОСОВ К ИНФОРМАЦИОННОЙ СИСТЕМЕ

1. Получить список и общее число служащих зоопарка, либо служащих данной категории полностью, по стажу работы в зоопарке, по половому признаку, возрасту, размеру заработной платы.

2. Получить перечень и общее число служащих зоопарка, ответственных за указанный вид животных либо за конкретную особь за все время пребывания животного в зоопарке, за указанный период времени.

3. Получить список и общее число служащих зоопарка, имеющих доступ к указанному виду животных либо к конкретной особи.

4. Получить перечень и общее число всех животных в зоопарке либо животных указанного вида, живших в указанной клетке все время пребывания в зоопарке, по половому признаку, возрасту, весу, росту.

5. Получить перечень и общее число нуждающихся в теплом помещении на зиму, полностью животных только указанного вида или указанного возраста.

6. Получить перечень и общее число животных, которым поставлена указанная прививка, либо переболевших некоторой болезнью, по длительности пребывания в зоопарке, половому признаку, возрасту, признаку наличия и количеству потомства.

7. Получить перечень всех животных, совместимых с указанным видом, либо только тех животных, которых необходимо переселить, или тех, которые нуждаются в теплом помещении.

8. Получить перечень и общее число поставщиков кормов полностью, либо поставляющих только определенный корм, поставлявших в указанный период, по количеству поставляемого корма, цене, датам поставок.

9. Получить перечень и объем кормов, производимых зоопарком полностью, либо только тех кормов, в поставках которых зоопарк не нуждается (обеспечивает себя сам).

10. Получить перечень и общее число животных полностью, либо указанного вида, которым необходим определенный тип кормов, в указанном сезоне, возрасте или круглый год.

11. Получить перечень животных, от которых можно ожидать потомство в перспективе, в указанный период.

12. Получить перечень и общее число зоопарков, с которыми был произведен обмен животными в целом или животными только указанного вида.


2 ОСНОВНАЯ ЧАСТЬ

  1.   ПРОЕКТИРОВАНИЕ БД

Схема типа «сущность-связь» ER Entity (сущность) Relationship (связь) Сущность - обобщенное понятие объекта предметной области.

                                                                                                                                     Таблица 1

Сущность

Атрибут

Обозначения

Примечание

ТАБ_НОМЕР

Табельный номер сотрудника

Уникальный

ФИО

ФИО сотрудника

СОТРУДНИКИ

ПОЛ

Пол сотрудника

                           

ВОЗРАСТ

Возраст сотрудника

СТАЖ

Стаж работы сотрудника

ТАБ_НОМЕР

Табельный номер сотрудника

Уникальный

ДОЛЖНОСТЬ

КОД_ДОЛЖ

Код должности

НАИМ_ДОЛЖ

Наименование должности

ЗАР_ПЛАТА

Заработная плата сотрудника

ТАБ_НОМЕР

Табельный номер сотрудника

Уникальный

РАБОТАЮТ С ЖИВОТНЫМИ

НОМЕР_ЖИВ

Номер животного

Уникальный

ДАТА_ПРИСТУП

Дата преступления сотрудника к работе с животным

НОМЕР_ЖИВ

Номер животного

Уникальный

ВИД_ЖИВ

Вид животного

КЛИЧКА_ЖИВ

Кличка животного

ПОЛ_ЖИВ

Пол животного

ЖИВОТНЫЕ

ВОЗРАСТ_ЖИВ

Возраст животного

РОСТ_СМ

Рост животного в сантиметрах

ВЕС_КГ

Вес животного в килограммах

ДАТА_ПОСТУП

Дата поступления животного в зоопарк

КЛЕТКИ ЖИВОТНЫХ

НОМЕР_ЖИВ

Номер животного

Уникальный

НОМЕР_КЛЕТКИ

Номер клетки животного

НОМЕР_ЖИВ

Номер животного

Уникальный

КАРТОЧКА БОЛЕЗНЕЙ ЖИВОТНОГО

БОЛЕЗНЬ

Диагноз болезни животного

ДАТА_БОЛ

Дата перенесенной болезни

НОМЕР_ЖИВ

Номер животного

КАРТОЧКА ПРИВИВОК ЖИВОТНОГО

ПРИВИВКА

Наименование прививки

ДАТА_ПРИВИВ

Дата прививания животного

НОМЕР_ЖИВ

Номер животного

Уникальный

ПОТОМСТВО

НОМЕР_ДЕТ

Номер детеныша животного

Уникальный

ПАРА

Партнер особи

ПРИБЛИЗ_ДАТА

Приблизительная дата рождения детеныша

СОВМЕСТИ - МОСТЬ ЖИВОТНЫХ

ВИД_ЖИВ

Вид животного

СОВМЕСТИМ

Совместимость с указанным видом

ТЕПЛОЕ ПОМЕЩЕНИЕ

ВИД_ЖИВ

Вид животного

Уникальный

ТЕПЛОЕ_ПОМ

Требование теплого помещение на зиму

ВИД_ЖИВ

Вид животного

Уникальный

КОРМЛЕНИЕ

ТИП_КОРМА

Тип корма

Уникальный

СЕЗОН

Посезонное употребление определенного типа кормов

В_ВОЗРАСТЕ

Употребление кормов в определенном возрасте животного

НОМЕР_ПОСТАВЩ

Номер поставщика

Уникальный

ПОСТАВЩИКИ

НАЗВ_ОРГАНИЗ

Название организации

ПОСТ_С

Поставляют с указанной даты

ПОСТАВ_ПО

Поставляли до указанной даты

НОМЕР_ПОСТАВЩ

Номер поставщика

ТИП_КОРМА

Тип корма

КОРМА

КОЛ-ВО_КОРМА

Количество поставляемого корма

ЦЕНА_КОРМА_КГ

Цена корма за килограмм

ДАТА_ПОСТАВКИ

Дата поставки

НОМЕР_ЖИВ

Номер животного

Уникальный

НАЗВ_ЗООПАРКА

Название зоопарка, с которым был произведен обмен животными

ЗООПАРКИ

ПЕРЕДАЧА

Действия зоопарка по передаче животного

ДАТА_ОБМЕНА

Дата обмена животными с другим зоопарком

ПОЛУЧИЛИ

Животное, которое получил зоопарк в следствии обмена


2.2
ER – СХЕМА


2.3 ПРОВЕРКА ТАБЛИЦ БАЗЫ ДАННЫХ НА СООТВЕТСТВИЕ 3НФ

Первая нормальная форма (1 НФ) – Отношение находится в первой нормальной форме, если все его атрибуты имеют простые (атомарные) значения. Понятие атомарности определяется исходя из использования информационной системы.

 

Вторая нормальная форма (2 НФ) - Отношение находится во второй нормальной форме, если оно находится в 1 НФ и все его поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом. Если ключом является только один атрибут, то такое отношение уже находится во 2 НФ.

Третья нормальная форма (3 НФ) - Отношение находится в третьей нормальной форме, если оно находится во 2 НФ и ни одно из  его не ключевых полей не зависит функционально от любого неключевого поля.

    СОТРУДНИКИ (ТАБ_НОМЕР, ФИО, ПОЛ, ВОЗРАСТ, СТАЖ)

1 НФ – все значения атомарные

2 НФ – ключ состоит только из одного атрибута ТАБ_НОМЕР

3 НФ – отсутствуют транзитивные зависимости

 ДОЛЖНОСТЬ (ТАБ_НОМЕР, КОД_ДОЛЖ, НАИМ_ДОЛЖ, ЗАР_ПЛАТА)

1 НФ – все значения атомарные

2 НФ – ключ состоит только из одного атрибута ТАБ_НОМЕР

3 НФ – отсутствуют транзитивные зависимости

 РАБОТАЮТ С ЖИВОТНЫМИ (ТАБ_НОМЕР, НОМЕР_ЖИВ, ДАТА_ПРИСТУП)

1 НФ – все значения атомарные

2 НФ – все не ключевые атрибуты функционально полно зависят от ключа

3 НФ – отсутствуют транзитивные зависимости

 

КАРТОЧКА ПРИВИВОК ЖИВОТНОГО (НОМЕР_ЖИВ, ПРИВИВКА, ДАТА_ПРИВИВ)

1 НФ – все значения атомарные

2 НФ – все не ключевые атрибуты функционально полно зависят от первичного ключа отношений

 3 НФ – отсутствуют транзитивные зависимости

 КАРТОЧКА БОЛЕЗНЕЙ  ЖИВОТНОГО (НОМЕР_ЖИВ, БОЛЕЗНЬ, ДАТА_БОЛ)

1 НФ – все значения атомарные

2 НФ – ключ состоит только из одного атрибута НОМЕР_ЖИВ

3 НФ – отсутствуют транзитивные зависимости

 КЛЕТКИ ЖИВОТНЫХ  (НОМЕР_ЖИВ, НОМЕР_КЛЕТКИ)

1 НФ – все значения атомарные

2 НФ – ключ состоит только из одного атрибута НОМЕР_ЖИВ

3 НФ – отсутствуют транзитивные зависимости

ЖИВОТНЫЕ (НОМЕР_ЖИВ, ВИД_ЖИВ, КЛИЧКА_ЖИВ, ПОЛ_ЖИВ, ВОЗРАСТ_ЖИВ, РОСТ_СМ, ВЕС_КГ, ДАТА_ПОСТУП)

1 НФ – все значения атомарные

2 НФ – ключ состоит только из одного атрибута НОМЕР_ЖИВ

 3 НФ – отсутствуют транзитивные зависимости

 

 ПОТОМСТВО (НОМЕР_ЖИВ, НОМЕР_ДЕТ, ПАРА, ПРИБЛИЗ_ДАТА)

1 НФ – все значения атомарные

2 НФ – все не ключевые атрибуты функционально полно зависят от ключа

 3 НФ – отсутствуют транзитивные зависимости

 СОВМЕСТИМОСТЬ ЖИВОТНЫХ (НОМЕР_ЖИВ, СОВМЕСТИМ)

1 НФ – все значения атомарные

2 НФ – все не ключевые атрибуты функционально полно зависят от первичного ключа отношений

3 НФ – отсутствуют транзитивные зависимости

 ТЕПЛОЕ ПОМЕЩЕНИЕ (ВИД_ЖИВ, ТЕПЛОЕ_ПОМ)

1 НФ – все значения атомарные

2 НФ – ключ состоит только из одного атрибута ВИД_ЖИВ

3 НФ – отсутствуют транзитивные зависимости

 КОРМЛЕНИЕ (ВИД_ЖИВ, ТИП_КОРМА, СЕЗОН, В_ВОЗРАСТЕ)

1 НФ – все значения атомарные

2 НФ – все не ключевые атрибуты функционально полно зависят от ключа

3 НФ – отсутствуют транзитивные зависимости

ЗООПАРКИ (НАЗВ_ЗООПАРКА, НОМЕР_ЖИВ, ПЕРЕДАЧА, ДАТА_ОБМЕНА, ПОЛУЧИЛИ)

1 НФ – все значения атомарные

2 НФ –  ключ состоит только из одного атрибута НОМЕР_ЖИВ

3 НФ – отсутствуют транзитивные зависимости

 ПОСТАВЩИКИ (НОМЕР_ПОСТАВЩ, НАЗВ_ОРГАНИЗ, ПОСТ_С, ПОСТАВ_ПО)

1 НФ – все значения атомарные

2 НФ – ключ состоит только из одного атрибута НОМЕР_ПОСТАВЩ

 3 НФ – отсутствуют транзитивные зависимости

КОРМА (НОМЕР_ПОСТАВЩ, ТИП_КОРМА, КОЛ-ВО_КОРМА, ЦЕНА_КОРМА_КГ, ДАТА_ПОСТАВКИ)

1 НФ – все значения атомарные

2 НФ – все не ключевые атрибуты функционально полно зависят от первичного ключа отношений

 3 НФ – отсутствуют транзитивные зависимости

Все таблицы находятся в третьей нормальной форме, следовательно, база данных также находится в третьей нормальной форме.


2.4 СХЕМА ДАННЫХ


2.5 СОЗДАНИЕ ТАБЛИЦ БД С ИСПОЛЬЗОВАНИЕМ  ЯЗЫКА SQL

Инструкция CREATE TABLE используется для описания новой таблицы, ее полей и индексов. Если для поля добавлено ограничение NOT NULL, то при добавлении новых записей это поле должно содержать допустимые данные.

CREATE DATABASE ЛЕНИНГРАДСКИЙ ЗООПАРК

CREATE TABLE  СОТРУДНИКИ

(ТАБ_НОМЕР VARCHAR (3) NOT NULL  PRIMARY KEY,

ФИО  VARCHAR (50) NOT NULL ,

ПОЛ  VARCHAR (7) NOT NULL ,

ВОЗРАСТ  VARCHAR (3) NOT NULL ,

СТАЖ  VARCHAR (3) NOT NULL);

CREATE TABLE ДОЛЖНОСТЬ 

(ТАБ_НОМЕР  VARCHAR (3) NOT NULL  PRIMARY KEY,

КОД_ДОЛЖ  VARCHAR (3) NOT NULL ,

НАИМ_ДОЛЖ VARCHAR (25) NOT NULL,

ЗАР_ПЛАТА MONEY (64,2) NOT NULL);

CREATE TABLE ЖИВОТНЫЕ

(НОМЕР_ЖИВ VARCHAR (5) NOT NULL  PRIMARY KEY,

ВИД_ЖИВ VARCHAR (15) NOT NULL  REFERENCES

ТЕПЛОЕ ПОМЕЩЕНИЕ (ВИД_ЖИВ),

КЛИЧКА_ЖИВ  VARCHAR (15) NOT NULL ,

ПОЛ_ЖИВ  VARCHAR (10) NOT NULL ,

ВОЗРАСТ_ЖИВ VARCHAR (5) NOT NULL,

РОСТ_СМ VARCHAR (5) NOT NULL ,

ВЕС_КГ VARCHAR (10) NOT NULL,

ДАТА_ПОСТУП  DATA);      

CREATE TABLE РАБОТАЮТ С ЖИВОТНЫМИ

(ТАБ_НОМЕР VARCHAR (3) NOT NULL  PRIMARY KEY REFERENCES

ДОЛЖНОСТЬ (ТАБ_НОМЕР),

НОМЕР_ЖИВ  VARCHAR (5) NOT NULL   PRIMARY KEY REFERENCES

ЖИВОТНЫЕ (НОМЕР_ЖИВ),

ДАТА_ПРИСТУП  DATE NOT NULL);

CREATE TABLE КЛЕТКИ ЖИВОТНЫХ

(НОМЕР_ЖИВ VARCHAR (5) NOT NULL  PRIMARY KEY ,

НОМЕР_КЛЕТКИ VARCHAR (3) NOT NULL);

CREATE TABLE КАРТОЧКА БОЛЕЗНЕЙ ЖИВОТНОГО

(НОМЕР_ЖИВ VARCHAR (5) NOT NULL  PRIMARY KEY,

БОЛЕЗНЬ VARCHAR (20) ,

ДАТА_БОЛ  DATA);

CREATE TABLE КАРТОЧКА ПРИВИВОК ЖИВОТНОГО

(НОМЕР_ЖИВ VARCHAR (5) NOT NULL REFERENCES

ЖИВОТНЫЕ (НОМЕР_ЖИВ),

ПРИВИВКА VARCHAR (5),

ДАТА_ПРИВИВ  DATA);

CREATE TABLE  ЗООПАРКИ

(НАЗВ_ЗООПАРКА VARCHAR (50) NOT NULL,

НОМЕР_ЖИВ  VARCHAR (5) NOT NULL PRIMARY KEY,

ПЕРЕДАЧА VARCHAR (30),

ДАТА_ОБМЕНА DATA,

ПОЛУЧИЛИ  VARCHAR (15));

   

CREATE TABLE  ПОТОМСТВО

(НОМЕР_ЖИВ VARCHAR (5) NOT NULL  PRIMARY KEY,

НОМЕР_ДЕТ  VARCHAR (5) NOT NULL  PRIMARY KEY,

ПАРА VARCHAR (5) NOT NULL,

ПРИБЛИЗ_ДАТА DATA);

CREATE TABLE  ТЕПЛОЕ ПОМЕЩЕНИЕ

(ВИД_ЖИВ VARCHAR (15) NOT NULL  PRIMARY KEY,

ТЕПЛОЕ_ПОМ VARCHAR (15));

CREATE TABLE  СОВМЕСТИМОСТЬ ЖИВОТНЫХ  

(ВИД_ЖИВ VARCHAR (15) NOT NULL REFERENCES

ТЕПЛОЕ ПОМЕЩЕНИЕ (ВИД_ЖИВ),

СОВМЕСТИМ  VARCHAR (20));

CREATE TABLE  КОРМЛЕНИЕ

(ВИД_ЖИВ  VARCHAR (15) NOT NULL  PRIMARY KEY REFERENCES

ТЕПЛОЕ ПОМЕЩЕНИЕ (ВИД_ЖИВ),

ТИП_КОРМА  VARCHAR (50) NOT NULL  PRIMARY KEY,

СЕЗОН  VARCHAR (20),

В_ВОЗРАСТЕ  VARCHAR (20));

CREATE TABLE  ПОСТАВЩИКИ

(НОМЕР_ПОСТАВЩ VARCHAR (5) NOT NULL  PRIMARY KEY,

НАЗВ_ОРГАНИЗ VARCHAR (25) NOT NULL,

ПОСТАВ_С  DATA,

ПОСТАВ_ПО  DATA);

CREATE TABLE  КОРМА

(НОМЕР_ПОСТАВЩ  VARCHAR (5) NOT NULL REFERENCES

ПОСТАВЩИКИ (НОМЕР_ПОСТАВЩ),

ТИП_КОРМА VARCHAR (50) NOT NULL,

КОЛ-ВО_КОРМА VARCHAR (10) NOT NULL,

ЦЕНА_КОРМА_КГ  MONEY (64,2),

ДАТА_ПОСТАВКИ DATA);


2.6 РАЗРАБОТКА ЗАПРОСОВ В БАЗЕ ДАННЫХ НА ЯЗЫКЕ
SQL

Достаточно часто необходимо на основе данных, хранящихся в таблицах, проводить вычисления или просматривать данные из нескольких таблиц. Выбрать нужные данные можно с помощью запросов.

При выполнении созданного запроса-выборки (который отбирает информацию из таблиц и других запросов базы данных), в отличие от запроса-действия, при выполнении которого вставляются, обновляются или удаляются данные, создает набор записей, содержащий выбранные данные. В большинстве случаев можно работать с этим набором данных точно так же, как с таблицей: можно просматривать и выбирать информацию, печатать и даже обновлять данные. Однако в отличие от реальной таблицы, этот набор записей физически не существует в БД. Access создает набор записей из данных таблиц и других запросов только во время выполнения определенного запроса. Если изменять данные в наборе записей, то Access вносит соответствующие изменения в таблицы, на базе которых построен запрос.

Запросы являются наилучшим способом выделения именно тех данных, которые необходимы для решения определенной задачи. Удобно использовать запросы при создании форм и отчетов.

Любой запрос в Microsoft Access реализуется с помощью языка SQL. Хотя большинство запросов можно создать, пользуясь графическими возможностями QBE (запроса по образцу), но и в этом случае каждый созданный запрос будет храниться в виде инструкции SQL.

Синтаксис инструкции SQL. Инструкция SELECT является ядром языка SQL.

Она используется для выбора или просмотра строк и столбцов из таблиц БД, которые необходимы. Синтаксис инструкции SQL использует пять основных предложений, и его можно представить в следующем виде:

SELECT <список полей>

FROM <список таблиц>

WHERE<спецификация выбора строк>]

[GROUP BY <спецификация группировки>]

[HAVING <спецификация выбора групп>]

[ORDER BY <спецификация сортировки>];

Угловые скобки <> - заключают в себе элемент синтаксиса, который нужно

   задать;

Квадратные скобки [ ] - заключают в себе один или несколько необязательных

элементов.

Предложение SELECT - указывает какие столбцы, и в каком порядке должны быть извлечены из таблиц БД. Кроме того, указываются какие функции или выражения должны быть выполнены над значениями этих столбцов и в каком порядке должны быть получены результаты их выполнения.

Предложение FROM - указывает имена таблиц или запросов, которые служат источником данных для рассматриваемого запроса. Кроме того, указываются таблицы, которые должны быть объединены и характер этого объединения.

Предложение WHERE - определяет из каких строк таблицы будут выбираться данные, и какие строки из разных таблиц будут соединяться друг с другом. Если предложение WHERE опущено, то выборка данных осуществляется из всех строк таблицы. Когда перечисляются несколько таблиц или запросов и не указывается условие объединения, то в качестве исходной таблицы используется декартово произведение всех таблиц.

Предложение GROUP BY- позволяет выполнить разделение таблиц на группы строк с одинаковыми значениями данных в конкретном столбце (или) столбцах. В языке SQL имеется ряд групповых функций, которые могут быть выполнены для групп строк, образуемых с помощью предложения GROUP BY. Эти функции выполняются над множеством значений определенного столбца. Имя столбца указывается в качестве аргумента функции. Результат выполнения появляется в виде одной строки для каждой группы.

Указание групповых функций, которые должны быть выполнены в результате запроса, приводится в SELECT. Когда включается предложение GROUP BY в оператор SELECT, то список выбора должен состоять из итоговых функций языка SQL или из имен столбцов, указанных в предложении GROUP BY.

Предложение HAVING - определяет группы строк, которые включаются в логическую таблицу, определенную оператором SELECT. Использование предложения позволяет определить какие группы должны быть получены в результате выполнения оператора SELECT. Обработке подлежат только те группы, которые удовлетворяют условиям, заданным в предложении HAVING. Условие отбора применяется к столбцам, указанным в предложении GROUP BY, к столбцам итоговых функций или к выражениям, содержащим итоговые функции. Если некоторая группа не удовлетворяет условиям отбора, то она не включается в логическую таблицу.

Разница между предложениями HAVING и WHERE заключается в том, что условие отбора, заданное в предложении WHERE применяется к отдельным записям, перед тем как они объединяются в группы, а условие отбора предложения HAVING применяется к группам строк.

Предложение ORDER BY - задает последовательность строк, возвращаемых оператором SELECT. За ключевым словом ORDER BY указываются имена столбцов на основании значений данных, которых будет выполняться сортировка строк обрабатываемой таблицы. Столбец, указанный первым в предложении ORDER BY будет являться первичным ключом в сортировке. Последующий столбец образует вторичный ключ и т.д. Сортировка для каждого последующего ключа сортировки не нарушает порядок рассортированности, определяемый предыдущим ключом.

Во многом широкие возможности SQL базируются на его способности объединять информацию из нескольких таблиц или запросов и представлять результат в виде одного логического набора записей.

Для задания типа объединения таблиц в логический набор записей, из которого будет выбираться необходимая информация, используется операция JOIN в предложении FROM. Можно указать Access включить в логический набор записей только соответствующие строки обеих таблиц (INNER JOIN - внутреннее объединение) или включить все строки одной из двух заданных таблиц даже в том случае, когда соответствующая ей строка не найдена во второй таблице (OUTER JOIN - внешнее объединение).

INNER JOIN - используется для включения всех строк из обеих таблиц, удовлетворяющих условию объединения.

LEFT JOIN - используется если необходимо получить все строки из первой таблицы, объединенные с теми строками из второй таблицы, для которых выполняется условие объединения. Если во второй таблице нет строк, для которых условие объединения выполняется, Access в качестве значений столбцов второй таблицы возвращает значение Null.

 RIGHT JOIN - возвращает все строки из второй таблицы, объединенные с теми строками из первой таблицы, для которых выполняется условие объединения.


В курсовой работе были созданы следующие запросы:

2.6.1 Получить список и общее число служащих зоопарка, либо служащих данной

категории полностью, по стажу работы в зоопарке, по половому признаку, возрасту, размеру заработной платы.

SELECT СОТРУДНИКИ.ТАБ_НОМЕР, СОТРУДНИКИ.ФИО, СОТРУДНИКИ.ПОЛ, СОТРУДНИКИ.ВОЗРАСТ, СОТРУДНИКИ.СТАЖ, ДОЛЖНОСТЬ.НАИМ_ДОЛЖ, ДОЛЖНОСТЬ.КОД_ДОЛЖ, ДОЛЖНОСТЬ.ЗАР_ПЛАТА

FROM СОТРУДНИКИ INNER JOIN ДОЛЖНОСТЬ ON СОТРУДНИКИ.ТАБ_НОМЕР = ДОЛЖНОСТЬ.ТАБ_НОМЕР

WHERE (((ДОЛЖНОСТЬ.КОД_ДОЛЖ)=[Введите код должности:]))

ORDER BY СОТРУДНИКИ.ТАБ_НОМЕР DESC;

Результат:

2.6.2 Получить   перечень   и   общее   число   служащих   зоопарка,    ответственных за     указанный вид животных либо за конкретную особь за все время пребывания животного в зоопарке, за указанный период времени.

 

SELECT СОТРУДНИКИ.ТАБ_НОМЕР, СОТРУДНИКИ.ФИО, ДОЛЖНОСТЬ.НАИМ_ДОЛЖ, [РАБОТАЮТ С ЖИВОТНЫМИ].НОМЕР_ЖИВ, ЖИВОТНЫЕ.ВИД_ЖИВ, [РАБОТАЮТ С ЖИВОТНЫМИ].ДАТА_ПРИСТУП

FROM ЖИВОТНЫЕ INNER JOIN (ДОЛЖНОСТЬ INNER JOIN (СОТРУДНИКИ INNER JOIN [РАБОТАЮТ С ЖИВОТНЫМИ] ON СОТРУДНИКИ.ТАБ_НОМЕР = [РАБОТАЮТ С ЖИВОТНЫМИ].ТАБ_НОМЕР) ON (СОТРУДНИКИ.ТАБ_НОМЕР = ДОЛЖНОСТЬ.ТАБ_НОМЕР) AND (ДОЛЖНОСТЬ.ТАБ_НОМЕР = [РАБОТАЮТ С ЖИВОТНЫМИ].ТАБ_НОМЕР)) ON ЖИВОТНЫЕ.НОМЕР_ЖИВ = [РАБОТАЮТ С ЖИВОТНЫМИ].НОМЕР_ЖИВ

WHERE (((ЖИВОТНЫЕ.ВИД_ЖИВ)=[Введите вид животного :]) AND (([РАБОТАЮТ С ЖИВОТНЫМИ].ДАТА_ПРИСТУП)>=[В период с :] And ([РАБОТАЮТ С ЖИВОТНЫМИ].ДАТА_ПРИСТУП)<=[по:]))

ORDER BY СОТРУДНИКИ.ТАБ_НОМЕР DESC;

Результат:

 

2.6.3 Получить перечень и общее число животных, которым поставлена указанная прививка, либо переболевших некоторой болезнью, по длительности пребывания в зоопарке, половому признаку, возрасту, признаку наличия и количеству потомства.

SELECT ЖИВОТНЫЕ.НОМЕР_ЖИВ, ЖИВОТНЫЕ.ВИД_ЖИВ, ЖИВОТНЫЕ.ПОЛ_ЖИВ, ЖИВОТНЫЕ.ВОЗРАСТ_ЖИВ, ЖИВОТНЫЕ.ДАТА_ПОСТУП, [КАРТОЧКА ПРИВИВОК ЖИВОТНОГО].ПРИВИВКА, [КАРТОЧКА ПРИВИВОК ЖИВОТНОГО].ДАТА_ПРИВИВ

FROM ЖИВОТНЫЕ INNER JOIN [КАРТОЧКА ПРИВИВОК ЖИВОТНОГО] ON ЖИВОТНЫЕ.НОМЕР_ЖИВ = [КАРТОЧКА ПРИВИВОК ЖИВОТНОГО].НОМЕР_ЖИВ

WHERE (((ЖИВОТНЫЕ.ПОЛ_ЖИВ)=[Введите пол животного:]) AND ((ЖИВОТНЫЕ.ВОЗРАСТ_ЖИВ)=[Введите возраст животного:]))

ORDER BY ЖИВОТНЫЕ.НОМЕР_ЖИВ DESC;

Результат:

SELECT ЖИВОТНЫЕ.НОМЕР_ЖИВ, ЖИВОТНЫЕ.ВИД_ЖИВ, ЖИВОТНЫЕ.ПОЛ_ЖИВ, ЖИВОТНЫЕ.ВОЗРАСТ_ЖИВ, ЖИВОТНЫЕ.ДАТА_ПОСТУП, [КАРТОЧКА БОЛЕЗНЕЙ ЖИВОТНОГО].БОЛЕЗНЬ, [КАРТОЧКА БОЛЕЗНЕЙ ЖИВОТНОГО].ДАТА_БОЛ

FROM ЖИВОТНЫЕ INNER JOIN [КАРТОЧКА БОЛЕЗНЕЙ ЖИВОТНОГО] ON ЖИВОТНЫЕ.НОМЕР_ЖИВ = [КАРТОЧКА БОЛЕЗНЕЙ ЖИВОТНОГО].НОМЕР_ЖИВ

WHERE (((ЖИВОТНЫЕ.ПОЛ_ЖИВ)=[Введите пол животного:]) AND ((ЖИВОТНЫЕ.ВОЗРАСТ_ЖИВ)=[Введите возраст животного:]))

ORDER BY ЖИВОТНЫЕ.НОМЕР_ЖИВ DESC;

Результат:

2.6.4 Получить   перечень   и  общее   число   поставщиков   кормов   полностью,  либо поставляющих только определенный корм, поставлявших в указанный период, по количеству поставляемого корма, цене, датам поставок.

SELECT ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ, ПОСТАВЩИКИ.НАЗВ_ОРГАНИЗ, ПОСТАВЩИКИ.ПОСТАВ_С, ПОСТАВЩИКИ.ПОСТАВ_ПО, КОРМА.ТИП_КОРМА, КОРМА.[КОЛ-ВО_КОРМА], КОРМА.ЦЕНА_КОРМА_КГ, КОРМА.ДАТА_ПОСТАВКИ

FROM ПОСТАВЩИКИ INNER JOIN КОРМА ON ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ = КОРМА.НОМЕР_ПОСТАВЩ

WHERE (((ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ)=[Введите код организации:]))

ORDER BY ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ DESC;

Результат:

2.6.5 Получить перечень и объем кормов, производимых зоопарком полностью, либо только тех кормов, в поставках которых зоопарк не нуждается (обеспечивает себя сам).

 

SELECT ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ, ПОСТАВЩИКИ.НАЗВ_ОРГАНИЗ, КОРМА.ТИП_КОРМА, КОРМА.[КОЛ-ВО_КОРМА], КОРМА.ДАТА_ПОСТАВКИ

FROM ПОСТАВЩИКИ INNER JOIN КОРМА ON ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ = КОРМА.НОМЕР_ПОСТАВЩ

WHERE (((ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ)=[Введите код зоопарка № 10:]))

ORDER BY ПОСТАВЩИКИ.НОМЕР_ПОСТАВЩ DESC;

Результат:

2.6.6 Получить перечень и общее число животных полностью, либо указанного вида, которым необходим определенный тип кормов, в указанном сезоне, возрасте или круглый год.

SELECT КОРМЛЕНИЕ.ВИД_ЖИВ, КОРМЛЕНИЕ.ТИП_КОРМА, КОРМЛЕНИЕ.СЕЗОН, КОРМЛЕНИЕ.В_ВОЗРАСТЕ

FROM КОРМЛЕНИЕ

WHERE (((КОРМЛЕНИЕ.ВИД_ЖИВ)=[введите вид животного:]));

Результат:

2.6.7 Получить    перечень    животных,    от    которых    можно    ожидать    потомство    в перспективе, в указанный период.

SELECT ЖИВОТНЫЕ.НОМЕР_ЖИВ, ЖИВОТНЫЕ.ВИД_ЖИВ, ЖИВОТНЫЕ.ПОЛ_ЖИВ, ПОТОМСТВО.ПАРА, ПОТОМСТВО.ПРИБЛИЗ_ДАТА, ПОТОМСТВО.НОМЕР_ДЕТ

FROM ЖИВОТНЫЕ INNER JOIN ПОТОМСТВО ON ЖИВОТНЫЕ.НОМЕР_ЖИВ = ПОТОМСТВО.НОМЕР_ЖИВ

WHERE (((ПОТОМСТВО.ПРИБЛИЗ_ДАТА)>=[Возможное потомство в период с:] And (ПОТОМСТВО.ПРИБЛИЗ_ДАТА)<=[по:]))

ORDER BY ЖИВОТНЫЕ.НОМЕР_ЖИВ DESC;

Результат:

2.6.8 Получить перечень и общее число зоопарков, с которыми был произведен обмен животными в целом или животными только указанного вида.

SELECT ЗООПАРКИ.НАЗВ_ЗООПАРКА, ЗООПАРКИ.НОМЕР_ЖИВ, ЖИВОТНЫЕ.ВИД_ЖИВ, ЗООПАРКИ.ПЕРЕДАЧА, ЗООПАРКИ.ДАТА_ОБМЕНА

FROM ЗООПАРКИ INNER JOIN ЖИВОТНЫЕ ON ЗООПАРКИ.НОМЕР_ЖИВ = ЖИВОТНЫЕ.НОМЕР_ЖИВ

WHERE (((ЖИВОТНЫЕ.ВИД_ЖИВ)=[Введите вид животного:]));

Результат:


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Конспекты лекций по предмету «Базы данных» БГТУ 2006 г.

2. Базы данных: Основы,  проектирование, использование: Учебное пособие по специальности 220400 – «Программное обеспечение вычислительной техники и автоматизированных систем» для межвузового использования / Мария Малыхина. – СПб.: БХВ - Петербург, 2004

3.  Введение в системы баз данных, 6-е издание/Перевод с английского – СПб.: Издательский дом "Вильяме", 2000 г.


 

А также другие работы, которые могут Вас заинтересовать

69868. ИНОСТРАННЫЙ ЯЗЫК: УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС 791 KB
  Теория и практика перевода Адекватная передача понятого текста выбор нужного слова или лексического варианта правильное построение предложения при переводе. Теория и практика перевода Виды перевода: перевод научной и общественно-политической литературы перевод юридических документов...
69869. КОНСТИТУЦИОННОЕ ПРАВО: УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС 479 KB
  Понятие, предмет, метод и источники конституционного права; Конституция Российской Федерации; основные этапы конституционного развития России; основы конституционного строя; конституционный статус личности в РФ; избирательная система в РФ; федеративное государство; Президент РФ...
69870. АНГЛИЙСКИЙ ЯЗЫК: БАЗОВЫЙ КУРС ДЛЯ НЕЛИНГВИСТОВ 27.12 MB
  Считается общепризнанным, что грамматика наряду с фонетикой и лексикологией входит в науку о языке. Сама грамматика состоит из двух разделов: морфологии (исследование внутренней структуры слова, а также рассмотрение слова как части речи) и синтаксиса (раздел, изучающий сочетание слов как членов предложения).
69872. Анатомия центральной нервной системы 3.94 MB
  Рассмотрены основные структурные единицы организма (клетки, ткани, органы, системы органов). Центральным объектом изучения является строение структурных элементов нервной ткани, отношения между нейронами и соседними клетками, механизмы функционирования и регуляции деятельности...
69873. АНАТОМИЯ СПИННОГО И ГОЛОВНОГО МОЗГА 4.99 MB
  Спинной мозг – филогенетически наиболее древний отдел центральной нервной системы, расположенный в позвоночном канале, окруженный мозговыми оболочками и представляющий собой длинный, уплощенный спереди назад тяж. В связи с этим поперечный диаметр спинного мозга больше переднезаднего.
69874. СТВОЛ МОЗГА И ПРОВОДЯЩИЕ ПУТИ ЦНС 2.98 MB
  Промежуточный мозг – отдел мозга, расположенный под мозолистым телом и состоящий из таламической области, гипоталамуса и III желудочка. Промежуточный мозг на целом препарате головного мозга не доступен для обозрения, так как целиком скрыт под полушариями большого мозга...
69875. ПЕРИФЕРИЧЕСКАЯ НЕРВНАЯ СИСТЕМА. ВЕГЕТАТИВНАЯ НЕРВНАЯ СИСТЕМА. ОРГАНЫ ЧУВСТВ 673.5 KB
  Периферическая нервная система – это часть нервной системы, которая находится вне головного и спинного мозга. Центральная нервная система через периферическую нервную систему осуществляет регуляцию функций всех систем, аппаратов, органов и тканей.
69876. ПСИХОЛОГИЯ КАК НАУКА 765 KB
  Рассмотрены сущность структура функции и основные особенности психологии как науки ее взаимосвязь с другими отраслями научного знания. Раскрыты основные принципы методы ключевые категории и проблемы психологии. Показаны отличия научной и житейской психологии.