Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Торгово-закупочная фирма книгопечатной продукци....doc
Скачиваний:
19
Добавлен:
27.04.2019
Размер:
3.71 Mб
Скачать

Язык запросов sql

Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка - язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). SDL служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.

В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language). Перечислим основные функции реляционной СУБД, поддерживаемые на "языковом" уровне (т.е. функции, поддерживаемые при реализации интерфейса SQL).

Прежде всего, язык SQL сочетает средства SDL и DML, т.е. позволяет определять схему реляционной БД и манипулировать данными. При этом именование объектов БД (для реляционной БД - именование таблиц и их столбцов) поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и их столбцов.

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

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

Наконец, авторизация доступа к объектам БД производится также на основе специального набора операторов SQL. Идея состоит в том, что для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу БД, обладает полным набором полномочий для работы с этой таблицей. В число этих полномочий входит полномочие на передачу всех или части полномочий другим пользователям, включая полномочие на передачу полномочий. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне.

База данных разработана для ведения учета товаров на складе, заказов и покупок. Также в базе данных имеются таблицы: «Сотрудники», «Книги», «Поставщики», «Клиенты», «Издательство», «Система защиты», и «Учет сотрудников». На некоторые таблицы составлена форма. Также представлена главная форма, с которой можно перейти к остальным формам, отчетам и запросам.

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

Рис. 14 ER-диаграмма потоков данных «сущность-связь»

Для ER-диаграммы необходимо составить подробную таблицу типов данных, в ней указаны таблицы, атрибуты таблиц, типы и размеры данных и описание атрибутов.

Таблица 2. Даталогическая модель данных. Спецификации.

СОТРУДНИКИ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID сотрудника

Числовой

Длинное целое

ПК

Фамилия

Текстовый

15

 

Имя

Текстовый

10

 

Отчество

Текстовый

15

 

Дата рождения

Дата/время

Краткий формат даты

 

Пол

Текстовый

10

 

Адрес

Текстовый

50

 

Телефон

Текстовый

15

 

Брак

Логический

Да/Нет

 

Кол-во детей

Числовой

Целое

 

Отдел

Текстовый

15

 

Должность

Текстовый

20

 

Зарплата

Денежный

Денежный

 

Дата приема на работу

Дата/время

Краткий формат даты

 

Паспорт

Текстовый

15

 

ИНН

Текстовый

15

 

Пенсионное свидетельство

Текстовый

15

 

КНИГИ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID товара ISBN

Текстовый

15

ПК

ID поставщика

Числовой

Целое

ВК

ID издательства

Числовой

Целое

ВК

Наименование

Текстовый

30

 

Автор

Текстовый

20

 

Жанр

Текстовый

20

 

Год издания

Числовой

Целое

 

Кол-во страниц

Числовой

Целое

 

Иллюстрации

Логический

Да/Нет

 

Цена

Денежный

Денежный

 

Количество

Числовой

Целое

 

ПОСТАВЩИКИ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID поставщика

Числовой

Целое

ПК

ФИО

Текстовый

50

 

Наименование

Текстовый

20

 

ИНН

Текстовый

15

 

Юридический адрес

Текстовый

50

 

Телефон

Текстовый

15

 

ЗАКАЗЫ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID заказа

Счетчик

Длинное целое

ПК

ID товара ISBN

Текстовый

15

ВК

ID поставщика

Числовой

Целое

ВК

ID сотрудника

Числовой

Длинное целое

ВК

ID издательства

Числовой

Целое

ВК

Дата заказа

Дата/время

Краткий формат даты

 

Количество (шт.)

Числовой

Целое

 

Сумма заказа

Денежный

Денежный

 

Способ доставки

Текстовый

10

 

ПОКУПКИ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID покупки

Счетчик

Длинное целое

ПК

ID клиента

Числовой

Целое

ВК

ID товара ISBN

Текстовый

15

ВК

ID поставщика

Числовой

Целое

ВК

ID сотрудника

Числовой

Длинное целое

ВК

ID издательства

Числовой

Целое

ВК

Дата покупки

Дата/время

Краткий формат даты

 

Цена

Денежный

Денежный

 

Количество

Числовой

Целое

 

Сумма

Денежный

Денежный

 

НДС

Денежный

Денежный

 

Сумма с НДС

Денежный

Денежный

 

ИЗДАТЕЛЬСТВО

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID издательства

Числовой

Целое

ПК

Название

Текстовый

15

 

Адрес

Текстовый

50

 

Телефон

Текстовый

15

 

КЛИЕНТЫ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID клиента

Числовой

Целое

ПК

Фамилия

Текстовый

15

 

Имя

Текстовый

10

 

Отчество

Текстовый

15

 

Адрес

Текстовый

50

 

Телефон

Текстовый

15

 

СКЛАД

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

ID поставки

Счетчик

Длинное целое

ПК

ID поставщика

Числовой

Целое

ВК

ID товара ISBN

Текстовый

15

ВК

ID сотрудника

Числовой

Длинное целое

ВК

ID издательства

Числовой

Целое

ВК

№ товарной накладной

Текстовый

15

 

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

Дата/время

Краткий формат даты

 

Цена

Денежный

Денежный

 

Количество

Числовой

Целое

 

Доступно

Числовой

Целое

 

Выписано

Числовой

Целое

 

Остаток

Числовой

Целое

 

СИСТЕМА ЗАЩИТЫ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

Информация о несчастном случае

Текстовый

50

ПК

Место

Текстовый

50

Время обнаружения

Дата/время

Полный формат даты

Время ликвидации

Дата/время

Полный формат даты

Ущерб

Денежный

Денежный

УЧЕТ СОТРУДНИКОВ

Наименование поля

Тип данных

Размер поля/Формат поля

Ключевое поле

Сотрудник ФИО

Текстовый

50

ПК

Должность

Текстовый

20

Время прихода на работу

Дата/время

Полный формат даты

Время ухода с работы

Дата/время

Полный формат даты

Количество опозданий без уважительной причины

Числовой

Целое

Рис. 15 Схема базы данных «Книжный Двор»

В базе данных, были разработаны следующие запросы:

1) Заказы

2) Клиенты

3) Поиск заказа по дате

4) Поиск книги по названию

5) Поиск по ID покупки

6) Поиск сотрудника по Фамилии

7) Сотрудники

Результаты работы:

1. Заказы

Заказ

ID заказа

ID товара ISBN

ID поставщика

ID сотрудника

ID издательства

Дата заказа

Количество (шт)

Сумма заказа

Способ доставки

2

1

445

1

154

02.04.2005

50

8 630,00р.

Транспорт

3

2

616

2

457

04.06.2008

100

16 000,00р.

Транспорт

2. Клиенты

Клиент

ID клиента

Фамилия

Имя

Отчество

Адрес

Телефон

22

Петров

Петр

Петрович

г.Елабуга, ул.Мира 85

7-45-85

45

Иванов

Иван

Иванович

г. Наб.Челны, ул. Чайная 78

45-85-24

3. Поиск заказа по дате

Вводим дату заказа, которую мы хотим узнать. Например: 04.06.2008

поиск заказа по дате

ID заказа

ID товара ISBN

ID поставщика

ID сотрудника

ID издательства

Дата заказа

Количество (шт)

Сумма заказа

Способ доставки

3

2

616

2

457

04.06.2008

100

16 000,00р.

Транспорт

4. Поиск книги по названию

Вводим книгу, о которой мы хотим узнать. Например: « Разгадайка»

Поиск книги по названию

Наименование

Автор

Жанр

Год издания

Кол-во страниц

Иллюстрации

Цена

Количество

Разгадайка

Шишкин И.Н.

детские

2004

55

Да

145,00р.

20

5. Поиск по ID покупки (по номеру покупки)

Вводим номер покупки, которая нас интересует. Например: 2

поиск по ID покупки

ID покупки

ID клиента

ID товара ISBN

ID поставщика

ID сотрудника

ID издательства

Дата покупки

Цена

Количество

Сумма с НДС

2

22

1

445

1

154

21.03.2009

150,00р.

2

300,00р.

6. Поиск сотрудника по Фамилии

Вводим фамилию сотрудника, которая нас интересует. Например: Денисов

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

Фамилия

Имя

Отчество

Дата рождения

Пол

Адрес

Телефон

Брак

Кол-во детей

Отдел

Должность

Денисов

Альберт

Данисович

01.05.1981

муж

г.Наб. Челны,ул Нефтяников 45

55-78-45

Да

2

Маркетинга

маркетолог

7. Сотрудники

Сотрудник

ID сотрудника

Фамилия

Имя

Отчество

Дата рождения

Пол

Адрес

Телефон

Отдел

Должность

1

Денисов

Альберт

Данисович

01.05.1981

муж

г.Наб. Челны,ул Нефтяников 45

55-78-45

Маркетинга

маркетолог

2

Михайлова

Марина

Павловна

22.03.1978

жен

г.Наб Челны, ул Чайников 12

32-12-78

Бухгалтерия

Бухгалтер

В базе данных, также были разработаны следующие формы:

1) Клиенты;

2) Поставщики;

3) Сотрудники;

4) Поиск книги по названию;

5) Поиск сотрудника по Фамилии.

1. Форма клиенты показывает нам информацию о клиентах нашего магазина.

Эта информация включает в себя следующее: -ID клиента,

-Фамилия Имя Отчество, клиентов,

-Адрес и телефон клиента.

2. Форма поставщики показывает нам информацию о поставщиках, с которыми данный магазин имеет контакты.

Эта форма показывает нам: -ID поставщика,

-ФИО поставщика,

-Наименование фирмы,

-ИНН, Юридический Адрес и контактный телефон поставщика.

3. Форма сотрудники показывает нам всю информацию о сотрудниках работающих в данном магазине.

А именно: -ID сотрудника,

-ФИО, дата рождения, пол, адрес и телефон.

-Также имеется личная информация: состоит ли сотрудник в браке и сколько у него детей,

-Отдел, в котором работает сотрудник, должность, заработная плата и дата приема на работу,

- Информация о паспорте, номер ИНН и номер пенсионного свидетельства.

4. Поиск книги по названию.

Вводим название книги, которое нас интересует, например: «Разгадайка». После чего появится форма, содержащее следующую информацию: Название книги, Автор книги, Жанр, Год издания, Количество страниц, Наличие иллюстраций в книге, Цена и Количество на складе.

5. Поиск сотрудника по Фамилии.

Вводим фамилию сотрудника, о котором мы хотим получить дополнительную информацию, например Михайлова. После чего появляется окно формы, в котором мы увидим следующую информацию о сотруднике: ФИО сотрудника, Дата рождения, Пол, Адрес, Телефон, Отдел в котором работает данный сотрудник, Занимаемая должность. А также личная информация, состоит ли сотрудник в браке, и сколько у него детей.

Отчеты созданные в базе данных.

1. Сотрудники

Фамилия

Имя

Отчество

Дата рождения

Пол

Адрес

Телефон

Должность

Паспорт

Денисов

Альберт

Данисович

01.05.1981

муж

г.Наб. Челны,ул Нефтяников 45

55-78-45

маркетолог

458-785-457

Михайлова

Марина

Павловна

22.03.1978

жен

г.Наб Челны, ул Чайников 12

32-12-78

Бухгалтер

654-425-784

2. Заказы

ID заказа

ID товара ISBN

ID поставщика

Дата заказа

Количество (шт)

Сумма заказа

Способ доставки

2

1

445

02.04.2005

50

8 630,00р.

Транспорт

3

2

616

04.06.2008

100

16 000,00р.

Транспорт

3. Клиенты

ID клиента

Фамилия

Имя

Отчество

Адрес

Телефон

45

Иванов

Иван

Иванович

г. Наб.Челны, ул. Чайная 78

45-85-24

22

Петров

Петр

Петрович

г.Елабуга, ул.Мира 85

7-45-85

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

Рис. 16 Меню для пользователей базой данных