О первичных и внешних ключах
Ключ или возможный ключ – это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Каждая сущность обладает хотя бы одним возможным ключом. Один из них принимается за первичный ключ. Не допускается, чтобы первичный ключ стержневой сущности принимал неопределенное значение. Иначе возникнет противоречивая ситуация: появится не обладающий индивидуальностью, и, следовательно, не существующий экземпляр стержневой сущности. По тем же причинам необходимо обеспечить уникальность первичного ключа.
Сущности:Книги, Издательство, Выдача, Читатель.
Сущность «Выдача».Данная сущность содержит следующие атрибуты: Код выдачи, Код книги, Дата выдачи, дата возврата, рейтинг. Сущность «Выдачи» имеет первичный ключ «Код выдачи».
Сущность «Книги». Данная сущность содержит следующие атрибуты: Код книги, , Название книги, код издательства, Цена, год издания,число страниц,автор. Сущность «Книги» имеет первичный ключ «Код книги».
Сущность «Издательство». Данная сущность содержит следующие атрибуты: Код издательства, наименование издательства, город, телефон, e-mail,сайт издательства. Сущность «Издательство» имеет первичный ключ «Код издательства».
Сущность «Читатель». Данная сущность содержит следующие атрибуты: Код читателя, фамилия, телефон, номер паспорта, имя, домашний адрес. Сущность «Читательо» имеет первичный ключ «Код читателя».
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных.
Цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации.
Универсальным отношениемназывают отношение которое включают все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД в будущем. Для малых БД (включающих не более 15 атрибутов).
Универсальное отношение может использоваться в качестве отправной точки при проектировании БД.
Книги | ||||||
Код Книги | Название книги | Автор | Год издания | Число страниц | Цена | Код Издательства |
мастер и маргарита | Булгаков | 500,00 ₽ | Ранок | |||
50 отттенков серого | Эрика Джеймс | 200,00 ₽ | Украина | |||
Сказки из Сундука | Тереза Мейер | 1 000,00 ₽ | Эксмо | |||
Гари Потер | Эмили Роуз | 180,00 ₽ | Буква | |||
Весенний лес | джон Уил | 2 000,00 ₽ | Издат | |||
Словарь | Марат Башаров | 300,00 ₽ | Универ | |||
Мост в Терабитию | Джон Уик | 589,00 ₽ | Образование | |||
Мост | Джон Уик | 100,00 ₽ | Ранок | |||
Городские тайны | Ричар Мейер | 387,00 ₽ | Буква | |||
Левша | джон Уил | 1 234,00 ₽ | Эксмо |
4.3 Необходимость разбиения универсального отношения
Универсальное отношение разбивают потому, что при его использовании возникает несколько проблем:
1. Избыточность. Данные практически всех столбцов многократно повторяются.
2. Потенциальная противоречивость. При обновлениях необходимо просматривать всю таблицу для нахождения и изменения всех подходящих строк.
3. Аномалии удаления. Обратная проблема возникает при необходимости удаления всех товаров, поставляемых данным поставщиком. При таких удалениях будут утрачены сведения о таком поставщике.
4.4 Нормальная форма
4.4.1 1НФ
Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.
4.4.2 2НФ
Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
4.4.3 3НФ
Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.
4.4.4 НФБК
Таблица находится в нормальной форме Бойса-Кодда (НФБК), если и только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа.
4.4.5 Декомпозиция таблицы
Полной декомпозицией таблицы называют такую совокупность произвольного числа ее проекций, соединение которых полностью совпадает с содержимым таблицы.
4.4.6 5НФ
Таблица находится в пятой нормальной форме (5НФ) тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в 5НФ.
4.5 Процедура нормализации
Второе определение: нормализация – это процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5НФ. На практике же достаточно привести таблицы к НФБК и с большой гарантией считать, что они находятся в 5НФ. Разумеется, этот факт нуждается в проверке, однако пока не существует эффективного алгоритма такой проверки.
4.6 Язык инфологического моделирования "Таблицы - связи"
Для наиболее распространенных реляционных баз данных можно предложить язык инфологического моделирования "Таблица-связь". В нем все сущности изображаются одностолбцовыми таблицами с заголовками, состоящими из имени и типа сущности. Строки таблицы – это перечень атрибутов сущности, а те из них, которые составляют первичный ключ, распологаются рядом и обводятся рамкой. Связи между сущностями указываются стрелками, направленными от первичных ключей или их составляющих.
Выдача | |||||
Код Выдачи | Дата Выдачи | Дата Возврата | Рейтинг | Код Читателя | Код Книги |
22.12.2016 | 31.12.2016 | **** | Иванов | мастер и маргарита | |
02.12.2016 | 15.12.2016 | *** | Артемов | 50 отттенков серого | |
02.11.2016 | 17.12.2016 | ** | Елисеев | Сказки из Сундука | |
08.12.2016 | 10.12.2016 | ***** | Гаражной | Гари Потер | |
02.12.2016 | 23.12.2016 | **** | Антонов | Весенний лес | |
04.10.2016 | 13.01.2017 | ***** | Технарев | Словарь | |
06.12.2016 | 30.12.2016 | * | Яровой | Мост в Терабитию | |
04.12.2016 | 30.12.2016 | *** | Антонов | Мост | |
03.12.2016 | 23.12.2016 | **** | Технарев | Городские тайны | |
08.12.2016 | 10.12.2016 | ***** | Яровой | Левша |
Издательство | |||||
Код Издательства | Наименование Издательства | Город | Телефон | Сайт Издательства | |
Ранок | Киев | 235-43-55 | [email protected] | ranok.com | |
Буква | Харьков | 234-23-34 | [email protected] | bukva.net | |
Эксмо | Киров | 234-32-42 | [email protected] | eksmo.ru | |
Украина | Донецк | 747-56-75 | [email protected] | Uk.net.ua | |
Издат | Харьков | 875-46-36 | [email protected] | izdat.com | |
Образование | Киев | 865-74-56 | [email protected] | ob.com.ua | |
Универ | Тернополь | 467-56-34 | [email protected] | univer.edu.net |
Книги | ||||||
Код Книги | Название книги | Автор | Год издания | Число страниц | Цена | Код Издательства |
мастер и маргарита | Булгаков | 500,00 ₽ | Ранок | |||
50 отттенков серого | Эрика Джеймс | 200,00 ₽ | Украина | |||
Сказки из Сундука | Тереза Мейер | 1 000,00 ₽ | Эксмо | |||
Гари Потер | Эмили Роуз | 180,00 ₽ | Буква | |||
Весенний лес | джон Уил | 2 000,00 ₽ | Издат | |||
Словарь | Марат Башаров | 300,00 ₽ | Универ | |||
Мост в Терабитию | Джон Уик | 589,00 ₽ | Образование | |||
Мост | Джон Уик | 100,00 ₽ | Ранок | |||
Городские тайны | Ричар Мейер | 387,00 ₽ | Буква | |||
Левша | джон Уил | 1 234,00 ₽ | Эксмо |
Читатель | |||||
Код читателя | Фамилия | Имя | Домашний Адрес | Номер паспорта | Телефон |
Иванов | Иван | Ул.Загородная 1.кв56 | 1234 567889 | 8(096)-987-65-73 | |
Артемов | Денис | Ул.Городская 12.кв43 | 1245 466577 | 8(098)-666-75-7 | |
Елисеев | Андрей | Ул.Немирова 17.кв 86 | 1355 767890 | 8(099)-756-54-35 | |
Гаражной | Иван | Ул.Енатовская 76.кв98 | 1245 564567 | 8(095)-342-46-32 | |
Антонов | Григорий | Ул.Григорова 54.кв43 | 587 898547 | 8(098)-453-54-35 | |
Технарев | Игорь | Ул.Инова 4.кв 2 | 125 565778 | 8(099)-943-54-35 | |
Яровой | Ринат | Ул.Данила 8.кв 9 | 647 565858 | 8(095)-443-43-54 |
С помощью представленной системы управляющий может вывести на обозрение информацию:
1. о читателях;
2. о книгах;
3. о выдаче;
4. об издательствах.
|
Обьекты Базы данных
СУБД Access ориентирована на работу с объектами БД, к которым относятся таблицы, запросы, формы, отчеты, страницы, макросы и модули.
Таблица - это основная структура, предназначенная для хранения информации в БД. По терминологии СУБД сс строки — это записи, а столбцы - поля БД. Записи дснтифицирутотся по некоторой уникальной характеристике, включающей одно или несколько полей и называемой ключом.
Запрос - это требование на: отбор данных, хранящихся в таблицах; выполнение вычислений над данными; изменения в БД.
Форма - созданный на экране шаблон, используемый, главным образом, для ввода, просмотра и редактирования записей БД.
Отчет - отображение иа принтере или на экране информации из БД d бидє, удобном для ее восприятия и анализа пользователем.
Страница доступа к данным - диалоговая Web-страіпща, которая поддерживает динамическую связь с БД и позволяет просматривать, редактировать и вводить шшые в базу, работая в окне браузера Internet Explorer 4.0 или Internet Explorer 5.0.
Maкроc - есть последовательность макрокоманд для автоматизации выполнения операций в среде Access без программирования.
Модуль - это программа для работы с БД, написанная па языке Visual Basic for Applications 6.0 (VBA).
Объекты БД могут быть объединены б именованные группы объектов по функциональному или иному признаку.
Все объекты, за исключением страниц доступа к данным, можно хранить в одном файле - файле БД с расширением .mdb. Это упрощает их перенос с компьютера на компьютер, облегчает создание связанных объектов, проверку целостности данных. Страницы сохраняются как самостоятельные файлы с расширением .html отдельно от Д, с которой они связаны. Отчеты можно сохранять в файле с расширением .япр (формат снимка отчета) и распространять среди пользователей по электронной почте.
С целью защиты форм, отчетов и модулей VBA БД может быть сохранена в файле приложения с расширением .mde. При этом БД сжимается, оптимизируется «пользование памяти и повышается быстродействие БД. Проект размещается б файле с расширением .adp на компьютере пользователя.
БД организована в виде следующих таблиц:
Таблица выдача
Основные атрибуты:код выдачи,дата выдачи,дата возврата,рейтинг, код читателя, код книги.
Рисунок 1. Таблица выдача
Таблица издательство
Основные атрибуты:код здательства,наименование издательства, город,телефон,e-mail , сайт издательства.
Рисунок 2. Таблица издательство
Таблица книги
Основные атрибуты:код книги, название книги, автор, год издания , число страниц, цена, код издателства.
Рисунок 3.Таблица книги
Таблица читатель
Основные атрибуты:код читателя, фамилия, имя, домашний адрес, номер паспорта, телефон.
Рисунок 4. Таблица читатель
Запросы
Рисунок 5. Запрос на груповые операции
SELECT Издательство.[Наименование Издательства], Count(Книги.[Код Книги]) AS [Количество книг]
FROM Издательство INNER JOIN Книги ON Издательство.[Код Издательства] = Книги.[Код Издательства]
GROUP BY Издательство.[Наименование Издательства];
Рисунок 5. Запросс параметрический по должникам
Рисунок 6. Запрос параметрический по должникам
SELECT Читатель.Фамилия, Читатель.Телефон, Читатель.[Домашний Адрес], Выдача.[Дата Возврата]
FROM Читатель INNER JOIN Выдача ON Читатель.[Код читателя] = Выдача.[Код Читателя]
WHERE (((Выдача.[Дата Возврата])>[Введите дату]));
Рисунок 7. Запрос читатель книга на выборку
Запрос на обновление:
SELECT Читатель.Фамилия, Читатель.Телефон, Читатель.[Домашний Адрес], Выдача.[Дата Возврата]
FROM Читатель INNER JOIN Выдача ON Читатель.[Код читателя] = Выдача.[Код Читателя]
WHERE (((Выдача.[Дата Возврата])>[Введите дату]));
Запрос на добавление:
INSERT INTO Книги ( [Название книги], Автор, [Год издания], [Число страниц], Цена, [Код Издательства] )
SELECT [введите название книги] AS Выражение1, [Введите автора] AS Выражение2, [Введите год издания] AS Выражение3, [введите Число страниц] AS Выражение5, [цена] AS Выражение6, [код издательства] AS Выражение7;
Запрос на создание:
SELECT Издательство.[Наименование Издательства], Издательство.[E-mail], Книги.[Название книги], Книги.Автор, Издательство.Город, Книги.Цена INTO Книиги1Ранок
FROM Издательство INNER JOIN Книги ON Издательство.[Код Издательства] = Книги.[Код Издательства]
WHERE (((Издательство.[Наименование Издательства])="Ранок"));
На удаление:
DELETE Читатель.[Код читателя]
FROM Читатель
WHERE (((Читатель.[Код читателя])=[Введите код читателя]));
Рисунок 8. Запрос перекрестный, количество взятых книг
TRANSFORM Count(Выдача.[Код Выдачи]) AS [Count-Код Выдачи]
SELECT Книги.[Название книги]
FROM Книги INNER JOIN Выдача ON Книги.[Код Книги] = Выдача.[Код Книги]
GROUP BY Книги.[Название книги]
PIVOT Книги.Автор;
Отчеты
Рисунок 9. Отчет на выдачу книг
Рисунок 10. Отчет книги
Рисунок 11. Отчет читатель
Рисунок 12. Отчет читатель
Выводы
Организация данных является ключевым моментом при работе с большими объемами информации. Чрезвычайно важно упорядочить информацию таким образом, чтобы легко и быстро находить нужные сведения. В Microsoft Access подлежащая хранению информация называется данными, а место ее хранения - базой данных.
Перед созданием базы данных необходимо ответить на следующие вопросы.
Каково назначение базы данных и кто будет ею пользоваться?
Какие таблицы (данные) будет содержать база данных?
Какие запросы и отчеты могут потребоваться пользователям этой базы данных?
Какие формы может потребоваться создать?
Отвечая на эти вопросы, можно разработать проект базы данных и создать полезную и удобную в использовании базу данных.
В результате работы мы получили базу данных "Библиотека", которая содержит запросы и отчеты:
- Вывод сведений о книгах, взятых определенным читателем;
- Сведения о читателях, у которых находится определенная книга;
- Сведения о читателе, прочитавшем за определенный интервал времени максимальное количество книг;
- Вывод сведений о домашнем адресе и телефоне определенного читателя.
Список литературы
Багриновский К.А. Хрусталев Е.Ю. Новые информационные технологии. – М.: ЭКО, 2007. – 250с.
Информатика и информационно-коммуникационные технологии. Базовый курс: Учебник для 8 класса/И.Г. Семакин, С.В. Русаков, Л.В. Шестакова. - М: БИНОМ, Лаборатория знаний, 2005. – 176 с.
Каймин В.А. Информатика: Учебник. - М.: ИНФРА-М, 2007 – 179 с.
Компьютерные технологии обработки информации / Под ред. С.В. Назарова. - М.: Финансы и статистика, 2005. – 248 с.
Соболь Б.В., Галин А.Б., Панов Ю.В. и др. Информатика: учебник. – М.: Феникс, 2007. – 446 с.
Моторин С.В. Управление данными Лекции 1-2: Проектирование реляционной БД (Пример).