43019

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

Курсовая

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

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

Русский

2013-11-01

504.5 KB

376 чел.

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

Кафедра И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 г.


 

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

48405. СТАТЬ І СЕКСУАЛЬНІСТЬ: ПСИХОЛОГО-ПЕДАГОГІНИЙ ПОГЛЯД 584 KB
  Статева соціалізація особистості оволодіння підростаючим поколінням нормами поведінки з представниками протилежної статі підготовка молоді до інтимних стосунків створення сімї та виховання дітей залишалась у тіні. Відсутність системи статевої просвіти серед дітей та юнацтва нестача висококваліфікованих педагогів з питань сексології психології статі брак наукової та науковопопулярної літератури з питань статі шлюбу та сімї негативно позначаються на засвоєнні учнями норм поведінки та самовизначенні особистості у складних питаннях...
48406. Функціонування Internet: організація, структура, методи 335.69 KB
  Еталонна модель ISOOSI Сучасні мережі побудовані за багаторівневим принципом. Для роботи мереж необхідна множина різноманітних протоколів: наприклад таких що керують фізичним зв'язком встановленням зв'язку по мережі доступом до різноманітних ресурсів і т. Він відповідає за правильну передачу даних пакетів на ділянках між безпосередньо пов'язаними елементами мережі. Цей рівень користується можливостями наданими йому рівнем 2 для забезпечення зв'язку двох будьяких точок у мережі.
48407. Теоретичні та методологічні засади комунікації і комунікаційних процесів 467.76 KB
  Теоретичні та методологічні засади комунікації і комунікаційних процесів Теорія комунікації як наукова дисципліна Основні визначення теорії комунікації. Предмет теорії комунікації. Закони теорії комунікації.
48408. Міжнародна економіка 30.64 KB
  Тема Агенти відкритої економіки беруть участь в міжнародному обміні товарів і послуг переміщенні грошей капіталу і робочої сили між країнами. Мезорівень охоплює економічні зв’язки між регіонами галузями міжгалузевими комплексами окремих країн. Світовий ринок – це сфера стійких товарногрошових відносин між країнами які базуються на міжнародному поділі праці та інших факторів виробництва. Світове господарство – це сукупність взаємодіючих національних економік всіх країн світу пов’язаних між собою мобільними факторами виробництва.
48409. Основи мотиваційних процесів 42.13 KB
  Маніпулювання – приховане спонукання іншої людини, прийняття рішень, до переживання певних станів, і виконання необхідних для ініціатора цілей. Стимулювання – предявлення зовнішнього фактору, з метою посилення і прийняття мисленнєвих, емоційних і поведінкових реакцій.
48410. Психологія особистості 191.5 KB
  Індивід (від лат. individuum – неподільне) – це одиничний представник людського роду, носій сукупності морфологічних, фізіологічних та психічних ознак, що відрізняють його від представників інших видів живих створінь. Індивідом є кожна людина. Індивідні властивості притаманні їй від народження (за винятком випадків вродженої патології). В процесі онтогенічного розвитку індивід стає особистістю, індивідуальністю, свідомим суб’єктом своєї поведінки та діяльності.
48411. Себестоимость продукции 173.32 KB
  Себестоимость продукции Виды продукции предприятия – позиции номенклатуры. Показатели деятельности предприятия: позиции номенклатуры 1 2 n; объём выпуска продукции в натуральном виде Ni натуральное выражение; V 100 60 2008 2012 1995 1991 Т годы Товарная продукция ТП – денежное выражение выпущенной продукции по всем позициям номенклатуры за год. Производственная мощность – это максимально возможный выпуск продукции в натуральном выражении за год при определённых организационно-технических условиях производства.
48412. Політична економія 1.34 MB
  Політична економія вивчає такі суспільні відносини і закони які належать до базових у житті суспільства оскільки вони є складовою суспільного виробництва економіки. Сутність економічної категорії визначається такими критеріями: відображає не природні властивості речей і предметів а характерну властивість певної системи елементу ланки економічних відносин людей; має об’єктивний характер оскільки відбиває об’єктивну дійсність; має історичний характер оскільки значна частина категорій політичної економії на певному етапі розвитку...
48413. Регіональна економіка 328.3 KB
  Міжгалузеві господарські комплекси та регіональні особливості їх розвитку і розміщення Паливноенергетичний комплекс: регіональні особливості розвитку і розміщення 75 ЛЕКЦІЯ 6. Міжгалузеві господарські комплекси та регіональні особливості їх розвитку і розміщення Хімічний комплекс: регіональні особливості розвитку і розміщення 93 ЛЕКЦІЯ 7. Економіка регіонів України: стан та перспективи розвитку 128 ЛЕКЦІЯ 9.030509 ОА 1 2 4 144 52 20 32 – 90 36 – екзамен – – Мета: формування знань щодо теоретичних і практичних засад територіальної...