Автор работы: Пользователь скрыл имя, 20 Декабря 2013 в 18:02, курсовая работа
В библиотеке будет вестись учет имеющихся экземпляров изданий. При поступлении книги или партии книг в базе данных будет заводиться запись на каждую книгу с указанием ее инвентарного номера (у определенной книг независимо от количества экземпляров свой номер), названия, автора, издательства, жанра книги (роман, детектив, фэнтази, научная литература и т.д.), стоимости книги (чтоб в случае утраты книги абонентом, он оплатил ее цену) и год издания. Книги в библиотеку поступают из магазинов, в будущей базе данных будут фиксироваться поставщики и информация о них.
1 Аналитическая часть 3
1.1 Предметная область 3
1.2 Концептуальная модель базы данных 4
1.3 Логическая модель БД 6
1.4 Нормализация 6
1.5 ERD-диаграмма 18
1.6 Физическая модель проектируемой базы данных 20
2. Практическая часть 23
2.1 Обоснование выбора СУБД. 23
2.2. Краткая характеристика возможностей языка SQL. 24
2.3 Разработка запросов на языке SQL 25
2.4 Разработка отчетов. 30
Заключение 33
Библиографический список 34
Таблица «Поставщики»
Поставщики | |||||||
номер партии |
Код поставщика |
Инвентарный номер |
Название магазина |
Директор |
Телефон |
Адрес |
Количество экземпляров |
1 |
457 |
135469 |
Магистр Книги |
Орлов С.В. |
25879 |
ул.Новикова 37 |
5 |
2 |
123 |
136547 |
Книга + |
Терехин М.С. |
68764 |
ул. Б.Мира 345 |
10 |
3 |
144 |
154887 |
Литератор |
Должанский Н.У. |
89972 |
ул. Коопертивная 52 |
7 |
4 |
123 |
236448 |
Книга + |
Терехин М.С. |
68764 |
ул. Б.Мира 345 |
5 |
5 |
457 |
346879 |
Магистр книги |
Орлов С.В. |
25879 |
ул. Новикова 37 |
11 |
6 |
457 |
346879 |
Магистр книги |
Орлов С.В. |
25879 |
ул. Новикова 37 |
3 |
7 |
788 |
448979 |
Книгомир |
Кашубина В.Я. |
48878 |
ул. Мечникова 177 |
4 |
8 |
144 |
456123 |
Литератор |
Должанский Н.У. |
89972 |
ул. Кооперативная 52 |
5 |
9 |
144 |
546486 |
Литератор |
Должанский Н.У. |
89972 |
ул. Коопертативная 52 |
6 |
10 |
788 |
687987 |
Книгомир |
Кашубина В.Я. |
48878 |
ул. Мечникова 177 |
3 |
11 |
788 |
765194 |
Книгомир |
Кашубина В.Я. |
48878 |
ул. Мечникова 177 |
5 |
12 |
457 |
766544 |
Магистр книги |
Орлов С.В. |
54844 |
ул. Новикова 37 |
10 |
13 |
258 |
798464 |
Книголюб |
Пынзарь Д.И. |
98958 |
ул. Северная 35 |
11 |
14 |
258 |
798468 |
Книголюб |
Пынзарь Д.И. |
98958 |
Ул. Северная 35 |
9 |
15 |
753 |
987331 |
Книжки |
Гусева Е.М. |
34788 |
ул. Прокурорская 8 |
10 |
Таблица «Выдача книг»
Выдача книг | ||||
№ |
Индивидуальный номер |
Инвентарный номер |
Дата выдачи |
Дата возврата |
1 |
1232 |
456123 |
13.12.2011 |
01.01.2012 |
2 |
1242 |
687987 |
02.01.2012 |
10.01.2012 |
3 |
1243 |
354889 |
04.01.2012 |
|
4 |
1237 |
687987 |
04.01.2012 |
19.01.2012 |
5 |
1234 |
546486 |
18.01.2012 |
01.02.2012 |
6 |
1236 |
448979 |
18.01.2012 |
18.02.2012 |
7 |
1240 |
765194 |
26.01.2012 |
|
8 |
1237 |
766544 |
12.04.2012 |
11.05.2012 |
9 |
1248 |
687987 |
05.01.2012 |
05.02.2012 |
10 |
1235 |
765194 |
09.02.2012 |
02.03.2012 |
11 |
1245 |
448979 |
16.01.2012 |
16.02.2012 |
12 |
1238 |
546486 |
09.03.2012 |
30.03.2012 |
13 |
1239 |
798464 |
09.03.2012 |
04.04.2012 |
14 |
1242 |
154887 |
15.03.2012 |
20.03.2012 |
15 |
1241 |
135469 |
15.03.2012 |
|
16 |
1244 |
987331 |
16.03.2012 |
|
17 |
1238 |
136547 |
21.03.2012 |
31.03.2012 |
18 |
1247 |
154887 |
22.03.2012 |
13.04.2012 |
19 |
1251 |
798464 |
31.03.2012 |
20.04.2012 |
20 |
1249 |
236448 |
02.04.2012 |
26.04.2012 |
21 |
1250 |
346879 |
04.04.2012 |
13.04.2012 |
22 |
1246 |
687987 |
04.01.2012 |
02.02.2012 |
23 |
1242 |
987331 |
10.04.2012 |
28.04.2012 |
24 |
1233 |
765194 |
27.01.2012 |
22.02.2012 |
25 |
1239 |
448979 |
19.01.2012 |
15.02.2012 |
Таблица «Заказы»
Заказы | ||||
Код заказа |
Индивидуальный номер |
Инвентарный номер |
Дата заказа |
Дата выполнения заказа |
1 |
1237 |
448979 |
25.01.2012 |
15.02.2012 |
2 |
1233 |
687987 |
05.01.2012 |
10.01.2012 |
3 |
1251 |
765194 |
10.02.2012 |
22.02.2012 |
Сущность находится в третьей нормальной форме, если она находится во второй нормальной форме и все ее неключевые атрибуты зависят только от первичного ключа. То есть при этом они не должны зависеть и от других неключевых атрибутов.Первичным ключом называется некоторый выбранный потенциальный ключ сущности, однозначно идентифицирующий каждый экземпляр сущности определенного типа. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.
Выделим ключевые атрибуты для каждого объекта:
Для объекта Книги ключевым является поле «Инвентарный номер»;
Для объекта Читатели ключевым полем является поле «Индивидуальный номер»;
Для объекта Выдача книг ключевым полем является поле «№ выдачи книги»;
Для объекта Поставщики ключевым полем является «№ поставляемой партии»;
Для объекта Заказы ключевым является поле «Код заказа».
Как известно основным компонентом реляционных БД является таблица. Таблица используется для структуризации и хранения информации. В реляционных БД каждая ячейка таблицы содержит одно значение. Кроме того, внутри одной БД существуют взаимосвязи между таблицами, каждая из которых задает совместное пользование данными таблицы.
ERD-диаграмма графически
Физическая модель данных описывает данные средствами конкретной СУБД. Отношения, разработанные на стадии формирования логической модели данных, преобразовываю в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаю уникальные индексы, домены преображаю в типы данных, принятые в базе данных.
Структуры таблиц базы данных показаны в следующих таблицах
Таблица – Структура таблицы «Книги»
Имя поля |
Тип данных |
Ключ |
Индексированное |
Размер |
Инвентарный номер |
Числовой |
да |
Да (Совпадения не допускаются) |
Длинное целое |
Название книги |
Текстовый |
нет |
нет |
50 |
Автор |
Текстовый |
нет |
нет |
30 |
Издательство |
Текстовый |
нет |
нет |
25 |
Жанр |
Текстовый |
нет |
нет |
30 |
Год издания |
Числовой |
нет |
нет |
Длинное целое |
Стоимость, руб. |
Денежный |
нет |
нет |
Таблица- Структура таблицы «Читательский билет»
Имя поля |
Тип данных |
Ключ |
Индексированное |
Размер |
Индивидуальный номер |
Числовой |
да |
Да (совпадения не допускаются) |
Длинное целое |
ФИО |
Текстовый |
нет |
нет |
70 |
Адрес |
Текстовый |
нет |
нет |
50 |
Телефон |
Числовой |
нет |
нет |
Длинное целое |
Таблица - Структура таблицы «Выдача книг»
Имя поля |
Тип данных |
Ключ |
Индексированное |
Размер |
№ операции |
Числовой |
да |
Да( совпадения не допускаются) |
Длинное целое |
Индивидуальный номер |
Числовой |
нет |
Да (допускаются совпадения) |
Длинное целое |
Инвентарный номер |
Числовой |
нет |
Да (допускаются совпадения) |
Длинное целое |
дата выдачи |
Дата/время |
нет |
Нет |
Краткий формат даты |
Дата возврата |
Дата/время |
нет |
Нет |
Краткий формат даты |
Таблица - «Поставщики»
Имя поля |
Тип данных |
Ключ |
Индексированное |
Размер |
Номер партии |
Числовой |
Да |
Да (Совпадения не допускаются) |
Длинное целое |
Код поставщика |
Числовой |
Нет |
Да (Допускаются совпадения) |
Длинное целое |
Инвентарный номер |
Числовой |
Нет |
Нет |
Длинное целое |
Название магазина |
Текстовый |
Нет |
Нет |
20 |
Директор |
Текстовый |
Нет |
Нет |
20 |
Телефон |
Числовой |
Нет |
Нет |
Длинное целое |
Адрес |
Текстовый |
Нет |
Нет |
35 |
|
||||
Количество экземпляров |
числовой |
Нет |
Нет |
Длинное целое |
Таблица «Заказы»
Имя поля |
Тип данных |
Ключ |
Индексированное |
Размер |
Код заказа |
Счетчик |
да |
Да (Совпадения не допускаются) |
Длинное целое |
Индивидуальный номер |
Числовой |
Нет |
Нет |
Длинное целое |
Инвентарный номер |
Текстовый |
Нет |
Да (Допускаются совпадения) |
Длинное целое |
Дата заказа |
Дата/время |
Нет |
Нет |
Краткий формат даты |
Выполнение заказа |
Дата/время |
Нет |
Нет |
Краткий формат даты |
MS Access в настоящее время
является одной из самых
1. высокую степень
2. глубоко развитые возможности
интеграции с другими
3. богатый набор визуальных средств разработки.
MS Access - высокопроизводительная
(32-разрядная) система
MS Access предназначена для
разработки настольных баз
MS Access работает с объектами, к которым относятся таблицы, запросы, формы, отчеты, макросы и модули. Все связанные между собой объекты организованы в один файл, называемый базой данных.
В MSAccess создаем новую базу данных и в ней создаем таблицу. Нажимаем на Таблица и открываем ее с помощью Конструктора. Перед переходом в режим Конструктора задаем новое имя таблицы Книги. В режиме Конструктора мы задаем имена полей и их тип данных, создаем ключевое поле. Таким же образом создаем таблицы Читатели, Выдача книг, Должники, Заказы, Поставщики.