Создание базы данных для накладной

Федеральное агентство по образованию

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронных вычислительных систем 

(КИБЭВС)















СОЗДАНИЕ БАЗЫ ДАННЫХ ДЛЯ НАКЛАДНОЙ 

Пояснительная записка к курсовой работе.





Студент гр. 523-3



____________ Н.В.Власов 



«___»_______________ 2006 г.



Руководитель курсовой работы



_____________ М.А.Сопов 



«___»_______________ 2006 г.







  

		

	





















2006


Федеральное агентство по образованию



ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)



Кафедра комплексной информационной безопасности электронных вычислительных систем (КИБЭВС)



ЗАДАНИЕ



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

На основе концептуальной модели построить реляционную модель, установить связи между объектами. Задать первичные и внешние ключи. Провести нормализацию. Объяснить выполненные преобразования.

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



Дата выдачи задания: “____”_______ 2006 г.

                                             

Задание принято к исполнению

		 «____» ___________ 2006г.	Подпись студента___________


Содержание



Введение

Построение концептуальной модели

Построение реляционной модели

Нормализация

Проектирование базы данных в ACCESS

Создание SQL запросов

	Заключение

	Список использованных источников


Введение



Система с базой данных – это любая информационная система на базе компьютера, в которой данные могут совместно использоваться многими приложениями. Это означает, что данные организованны таким образом, чтобы поддерживать не только одно конкретное приложение. Основное отличие системы с базой данных от традиционной файловой системы – это многократное и разнообразное использование одних и тех же данных. Данные не привязаны к какому-либо конкретному приложению и не контролируется им. Отдельные приложения больше не отвечают за создание и ведение данных. Эти обязанности возлагаются на нижележащий уровень программного обеспечения – систему управления базой данных (СУБД). СУБД выполняет роль посредника между пользователями приложений и данными. Также СУБД должна обеспечивать гарантии безопасности  и целостности базы данных. Пользователи компьютера должны иметь возможность защитить свои данные от несанкционированного доступа, а также восстановить их в случае неких системных сбоев. Централизованное обеспечение безопасности данных – важная особенность СУБД. Наиболее значительное преимущество систем с базами данных – это централизованное обеспечение целостности данных.


1. Построение концептуальной модели



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

1 Сущности. Это элементы реального мира, которые могут существовать независимо. В моем случае сущностями являются: магазин, продавец, накладная, центр. офис. Сущность представляется в концептуальной модели прямоугольником, в котором указано её имя.

2 Атрибуты. Они описывают сущность. Атрибуты представляются овалами с указанием имен, которые прикреплены к сущности. В моем случае магазину соответствуют: телефон, товары, название, адрес. Продавцу соответствуют: ФИО, №, телефон, магазин, адрес. Центр. Офису соответствуют: адрес, телефон, название. Накладной соответствуют: сумма, №, кем выдана, дата выдачи, налог, вид товара, в какой магазин. 

3 Связи. Связь представляет взаимодействие между сущностями. На диаграмме она изображается ромбом, который соединяет сущности, участвующие в связи. В моем случае связь между паспортистом и документами будет один ко многим, так как конкретный пакет документов обслуживает один паспортист, который в свою очередь обрабатывает произвольное количество документов. Все остальные связи будут один к одному, так как каждому гражданину соответствует свой пакет документов, каждому набору документов соответствует один паспорт РФ и один заграничный паспорт. 

На рисунке 2.1 представлена концептуальная модель заданной базы данных.





продавец

телефон

Личный номер

ФИО

ФИО

магазин

Центр. офис

название

телефон

адрес



магазин

телефон

товары

адрес

название

накладная

налог

Дата выдачи

кем выдана

Номер накладной

В какой магазин

Рисунок 2.1 – Концептуальная модель



2. Построение реляционной модели



В настоящее время преобладает технология реляционных баз данных. Она обеспечивает относительно простые средства представления данных и манипулирования ими. В реляционной базе данных все данные хранятся в таблицах. Названия сущностей станут заголовками таблиц, а атрибуты станут столбцами. Целостность данных в реляционной базе данных основывается на концепции ключей. Первичный ключ (PK) – это атрибут который можно использовать для уникальной идентификации таблицы. Так у таблицы “магазин” первичным ключом станет “id_M”, у таблицы “продавец” – “id-P”, у таблицы “накладная” – “id_N”, таблица “центр.офис” будет идентифицироваться атрибутом  “id_C”. Внешний ключ (FK) – это атрибут, который существует в нескольких таблицах и является первичным ключом одной из этих таблиц. Связь проводим от первичного ключа одой таблицы до внешнего ключа другой таблицы. Реляционная модель представлена на рисунке 3.1.





Id_P(PK)



ФИО

Личный номер

Телефон

Магазин

адрес 

Продавец



Id_M(PK)





ФИО

Адрес

ИНН

Id_P(FK)

Магазин

Накладная

Id_N(PK)



Сумма

Номер накладной

Кем выдана

Дата выдачи

Налог

Вид товара

В какой магазин

Id_C(FK)

Id_C(PK)



Адрес

Телефон

Название





Центр. офис

Продавец- Накладная



Id_N(FK)

Id_P(FK)

Рисунок 3.1- Реляционная модель



3. Нормализация



Нормализация – это процесс, позволяющий гарантировать эффективность структур данных в реляционной базе данных.

Первая нормальная форма требует, чтобы все значения полей были атомарными и все записи уникальными. Реляционная модель представленная на рисунке 3.1 находится в первой нормальной форме.

Модель находится во второй нормальной форме, если она, во-первых, находиться в первой нормальной форме; и, во-вторых, не содержит неключевых атрибутов, находящихся в частичной функциональной зависимости от первичного ключа. Исходя из определения, разбиваем таблицу “продавец” на две таблицы, вторую образовавшеюся таблицу назовем “данные продавца”. В таблице “продавец ” у нас остался только один идентификатор  “id_P” значит неключевые атрибуты зависят от всего первичного ключа. В таблице “данные продавца” нет неключевых атрибутов, значит частичной зависимости быть не может. Таким же образом разбиваем таблицы “магазин”, “накладная” и “центр офис”. Реляционная модель во второй нормальной форме представлена на рисунке 4.1.

	Модель находится в третьей нормальной форме, если она находится во второй нормальной форме и не имеет транзитивных зависимостей. Транзитивная зависимость – это зависимость между неключевыми атрибутами. Таким образом, выделяем из таблицы “продавец” неключевые атрибуты  “телефон” и “адрес”, которые находятся в зависимости, в отдельную таблицу “описание продавца”. Получаем модель в третьей нормальной форме, которая представлена на рисунке 4.2.

	


Id_P(PK)



ФИО

Личный номер

Телефон

Магазин

адрес 

Продавец



Id_M(PK)





ФИО

Адрес

ИНН

Id_P(FK)

Магазин

Накладная

Центр. офис

Продавец- Накладная



Id_N(FK)

Id_P(FK)

Id_C(PK)



Адрес

Телефон

Название





Id_P(FK)



№

Id_N(FK)



№

Данные продавца



Данные- Накладной



Данные магазина



Данные центр.офиса



Id_М(FK)



название 

телефон

Id_С(FK)

название

Id_N(PK)



Сумма

Номер накладной

Кем выдана

Дата выдачи

Налог

Вид товара

В какой 

магазин

Id_C(FK)Рисунок 4.1 – Вторая нормальная форма

	
Рисунок 4.2 – Третья нормальная форма

	

Id_P(PK)



ФИО

Личный номер

Телефон

Магазин

адрес 

Продавец



Id_M(PK)





ФИО

Адрес

ИНН

Id_P(FK)

Магазин

Накладная

Центр. офис

Продавец- Накладная



Id_N(FK)

Id_P(FK)

Id_C(PK)



Адрес

Телефон

Название





Id_P(FK)



№

Id_N(FK)



№

Данные продавца



Данные- Накладной



Данные магазина



Данные центр.офиса



Id_М(FK)



название 

телефон

Id_С(FK)

название

Id_N(PK)



Сумма

Номер накладной

Кем выдана

Дата выдачи

Налог

Вид товара

В какой 

магазин

Id_C(FK)

Телефон

Адрес(FK)

Описание продавца


4. Проектирование базы данных в ACCESS.

	

	Microsoft Access – это СУБД предназначенная для хранения и поиска информации, её представления в удобном виде и автоматизации часто повторяющихся операций (рис. 5.1). Чтобы реализовать базу данных в access надо  ввести через режим конструктора свою модель. Для начала надо ввести название таблиц и всех их атрибутов. Здесь же задается тип данных и первичный ключ (рис. 5.2). 

	

	

Рисунок 5.1 – Таблицы в access



	

	Рисунок 5.2 – атрибуты таблицы “Накладная”

	

	Затем реализуем свою реляционную модель третей нормальной формы  в схеме данных (рис. 5.3).

	

	

	Рисунок 5.3 – схема данных 

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

	запроса (рис. 5.4). 

	



Рисунок 5.4 – Создание запроса

	

	В результате на экран выведутся те поля, которые были указаны в запросе (рис. 5.5).

	

	

Рисунок 5.5 – Результат запроса



Можно создавать запросы с условиями отбора, или сортируя данные. К примеру, нужно вывести товары, налог на которые превышает 5000. Для этого вводим ограничение в графу “Условие отбора” (рис. 5.6). 

В результате появиться таблица с товарами налог на которые 8448 и 9844. (рис. 5.7).



	

	Рисунок 5.6 – Ввод ограничения

	

	

Рисунок 5.7 – Результат запроса



5. Создание SQL запросов



SQL – это язык реляционных баз данных, позволяющий пользователю создавать и удалять данные, содержащиеся в базе, управлять ими и налагать правила, обеспечивающие целостность реляционных данных. Чтобы войти в режим SQL в access нужно в поле конструктора запроса нажать правой кнопкой и в появившемся окне нажать “Режим SQL” (рис. 6.1).





	Рисунок 6.1 – Выбор режима SQL

	

	В появившемся окне пишем запрос и выборку, учитывая синтаксис. К примеру, надо отсортировать номера телефонов продавцов по возрастанию (рис. 6.2). Прописываем:

	

	SELECT [описание продавца].адрес, [описание продавца].телефон

	FROM [описание продавца]

	ORDER BY [описание продавца].телефон;

	

	Оператор SELECT создает требуемую таблицу, с помощью FROM перечисляются таблицы, содержащие необходимые для выполнения запроса данные, FROM – оператор сортировки по возрастанию. Этот запрос можно описать так: создать таблицу со столбцами “адрес” и “телефон”, сортируя таблицу “телефон” по возрастанию.

	В итоге появится таблица с телефонами расположенными в порядке возрастания (рис. 6.3).

	

	

	Рисунок 6.2 – запрос SQL в access

	

	

	Рисунок 6.3 – Результат запроса

	

	Представим ещё несколько запросов, созданных при помощи SQL.

Следующий запрос выводит поля: “id_M”, “количество на складе”, “товары” из таблицы “товары магазина” и отбирает все товары, начинающиеся на букву “п”.



SELECT [товары магазина].id_M, [товары магазина].[количество на складе], [товары магазина].товары

FROM [товары магазина]

WHERE ((([товары магазина].товары) Like "п*"));



Следующий запрос выводит поля: “id_N” и “№” из таблицы “данные накладной” и отбирает номера накладных больше 700.



SELECT [данные накладной].id_N, [данные накладной].№

FROM [данные накладной]

WHERE ((([данные накладной].№)>"700"));



Следующий запрос выводит поля: “налог” и “в какой магазин” из таблицы “накладная” и отбирает магазины у которых налог больше 3000 и название заканчивается на 2.



SELECT Накладная.налог, Накладная.[в какой магазин]

FROM Накладная

WHERE (((Накладная.налог)>"3000") AND ((Накладная.[в какой магазин]) Like "*2"));

	
Заключение

	

	В этом отчете представлена работа по исследованию и проектированию базы данных для паспортно-визовой службы, в полученной базе можно хранить данные о клиентах и сотрудниках паспортного стола. Проектирование представлено построением концептуальной модели, разработкой на её основе реляционной модели и реализацией базы в Microsoft Access. В ходе работы были изучены и реализованы команды на выборку в SQL. 

	
Список использованных источников

	

		Ролланд Ф.Д. Основные концепции баз данных. 2002г.

		Трифонова Н.А., Прозорова С.С. Office для студента. 2004г.