- Главная
- Информатика
- Введение в базы данных
Содержание
- 2. 1. Понятие базы данных Под базой данных (БД) понимается хранилище структурированных данных, при этом данные должны
- 3. Потребности в автоматизации учета отпуска товаров определяется двумя задачами: 1) быстрой выдачей информации о текущих остатках
- 4. 3) зачетом предоплат и задолженностей отдельных покупателей; 4) автоматическим переводом покупателей в льготные категории, имеющие право
- 5. Прежде чем приступать к рассмотрению конкретных проблем и алгоритмов проектирования БД, необходимо иметь четкое представление о
- 6. Представленный список конечно же не полон, но позволяет составить представление о тех действиях, которые необходимо выполнить.
- 7. Исключение избыточности данных. Суть этой цели очевидна проектировщику БД. Основным здесь является четкое понимание различия между
- 8. В данном случае нет возможности узнать кто написал книги: Open GL: Программирование трехмерной графики и Visual
- 9. Имеем избыточное дублирование телефонов. Таблица 4 Но у нас появились пустые ячейки, наличие которых в таблицах
- 10. Сведение к минимуму числа хранимых в БД таблиц. Эта цель обусловлена тем, что разбиение одной таблицы
- 11. Наиболее распространенной процедурой является приведение базы данных к третьей нормальной форме (3NF), так как в большинстве
- 12. Приведение таблицы к 1NF выполняется достаточно легко – при помощи простого процесса вставки, в результате чего
- 13. Таблица 8 представляет собой экземпляр корректной таблицы, которую называют универсальной таблицей проектируемой базы данных. В нее
- 14. В нашем примере Таблицу 8 необходимо разбит на две, вынеся в одну информацию о книгах, а
- 15. Таблица 11 Таблица 10
- 16. Легко убедится, что совокупность таблиц Табл. 9 – Табл. 11 удовлетворяет 2NF. Третья нормальная форма (3NF).
- 18. Скачать презентацию
1. Понятие базы данных
Под базой данных (БД) понимается хранилище структурированных
1. Понятие базы данных
Под базой данных (БД) понимается хранилище структурированных
Как правило, базы данных создаются для хранения и доступа к данным, содержащим сведения о некоторой предметной области, то есть некоторой области человеческой деятельности или области реального мира. Таким образом, всякая база данных должна представлять собой систему данных о некоторой предметной области. База данных относящихся к одной предметной области, в различных ситуациях содержат более или менее детализированную информацию о ней. Степень детализации определяется рядом факторов, прежде всего целью использования информации из базы данных и сложностью производственных (деловых) процессов, существующих в пределах предметной области в конкретных условиях.
Рассмотрим в качестве примера предметной области отпуск товара со склада. Предположим, что существует две организации, независимые друг от друга, и испытывающие потребность в автоматизации своих производственных процессов. Для организации А характерно невысокий ассортимент хранимых и отпускаемых товаров. Ассортимент отличается стабильностью. Состав реальных покупателей товаров исчисляется несколькими лицами (только юридическими). Предоплаты за еще не отпущенный товар не допускается, отпуск товара в кредит не практикуется, система скидок отсутствует. Оплата производится в рублях. Отпуск товаров осуществляется только с одного склада.
Потребности в автоматизации учета отпуска товаров определяется двумя задачами:
1)
Потребности в автоматизации учета отпуска товаров определяется двумя задачами:
1)
2) ежемесячной выдачей отчета об общих суммарных отпусках товара.
Организация Б характеризуется множеством территориально распределенных складов, в том числе в различных государствах ближнего зарубежья. Ассортимент отпускаемых товаров высок и быстро изменчив в силу изменчивости спроса. Состав покупателей разнообразен, в число покупателей входят как физические лица, так и юридические лица. Практикуется система скидок постоянным покупателям, приобретающим товар свыше определенного количества и (или) суммы. Развита система предоплат, отпуска товаров в кредит. Оплата производится в местной валюте по текущему курсу доллара, реже – рубля. Потребности в автоматизации учета отпуска товаров определяется широким диапазоном целей:
1) быстрым получением информации о текущих остатках товара, в том числе
а) на конкретном складе;
б) по регионам;
в) по всей организации;
2) получением счета об общих суммарных отпусках товара за любой временной интервал в любой валюте, в том числе
а) по всей организации;
б) по конкретному региону, где расположены склады;
в) по конкретному складу;
г) по конкретному покупателю – отдельно для физических и юридических лиц;
д) по группам покупателей, объединенным по единому признаку, например, территориальному.
3) зачетом предоплат и задолженностей отдельных покупателей;
4) автоматическим переводом
3) зачетом предоплат и задолженностей отдельных покупателей;
4) автоматическим переводом
5) прогнозированием с определенным уровнем вероятности будущего спроса (по покупателю, товару, региону и т.д.).
В виду различия целей внедрения БД и содержания деловых процессов в организациях А и Б, созданные в них БД будут существенно различаться друг от друга – прежде всего детализацией хранимой информации и, следовательно, структурой данных. Если в организации А в БД достаточно хранить сведения о приходе и расходе товаров и о ценах на них, то в БД организации Б необходимо хранить десятки таблиц и в процессе работы тратить дополнительные усилия для того, чтобы поддерживать их в согласованном состоянии.
В настоящее время широко используются реляционные базы данных, представляющие связанную совокупность таблиц, хранящие информацию о какой-либо предметной области.
Прежде чем приступать к рассмотрению конкретных проблем и алгоритмов проектирования
Прежде чем приступать к рассмотрению конкретных проблем и алгоритмов проектирования
Цели и этапы проектирования БД. Прежде чем переходить к целям, перечислим некоторые из этапов проектирования реляционных БД:
1) Определение объектов (источников данных), которые должны быть включены в БД;
2) Выявление связей между объектами;
3) Определение основных свойств объектов;
4) Определение отношений между таблицами БД, на основе связей между объектами данных, содержащимся в них;
5) Определение операций, выполняемых при создании и изменении информации в таблицах, включая обеспечение целостности данных;
6) Выявление индексов, необходимых для ускорения выполнения запросов;
7) Учет вопросов безопасности – какие полномочия и каким пользователям предоставлять;
8) Разработка процедур создания резервных копий и востановления исходных данных.
2. Проектирование реляционных баз данных
Представленный список конечно же не полон, но позволяет составить представление
Представленный список конечно же не полон, но позволяет составить представление
Среди целей наиболее важным представляются следующие:
а) возможность хранения в БД всех необходимых данных;
б) исключение избыточности данных;
в) сведение к минимуму числа хранимых в БД таблиц;
г) нормализация таблиц для упрощения решения проблем, связанных с обновлением и удалением данных.
Рассмотрим каждую из этих целей подробнее.
Возможность хранения в БД всех необходимых данных. Первым шагом в процессе проектирования БД является определение всех атрибутов, которые должны быть помещены в БД, поскольку отсутствие в ней представляющей в интерес информации сводит на нет ценность всей БД. После определения всех атрибутов нужно решить, сколько требуется таблиц и какие атрибуты в какие таблицы надо включать. Это определяется целью использования информации и набором производственных процессов, требующих своей автоматизации.
Исключение избыточности данных. Суть этой цели очевидна проектировщику БД. Основным
Исключение избыточности данных. Суть этой цели очевидна проектировщику БД. Основным
Таблица 1
Таблица 1 имеет два атрибута Книга (название книги) и Автор (фамилия и имя автора книги) и содержит данные, указывающие авторов каждой конкретной книги. Фамилии авторов могут появляться неоднократно, поскольку один автор может написать не одну книгу. При этом Тихомиров Юрий и Мешков Андрей в таблице появляются дважды, ни одно из них не является избыточным. Причина в том, что удаление любого из них приводит к потере информации. Результат такого удаления представлен в Таблице 2.
В данном случае нет возможности узнать кто написал книги: Open GL:
В данном случае нет возможности узнать кто написал книги: Open GL:
Рассмотрим появление избыточного дублирования данных на примере Таблицы 3 Книга – Автор - Телефон
Таблица 3
Таблица 2
Имеем избыточное дублирование телефонов.
Таблица 4
Но у нас появились пустые
Имеем избыточное дублирование телефонов.
Таблица 4
Но у нас появились пустые
Таблица 5
Сведение к минимуму числа хранимых в БД таблиц. Эта цель
Сведение к минимуму числа хранимых в БД таблиц. Эта цель
Нормализация таблиц. Практически для всех таблиц очень важны проблемы удаления и обновления (как это было продемонстрировано на предыдущем примере). Поэтому необходимо уметь различать эти потенциально опасные таблицы и «нормализовать» их посредством разбиения определенным образом. Нормализация представляет собой формальную процедуру, в ходе которой одна таблица разбивается на две или несколько в соответствии со специальной процедурой разбиения. Задачами нормализации являются:
а) исключение из таблиц повторяющейся информации;
б) создание структуры, в которой предусмотрена возможность ее будущих изменений;
в) создание структуры, в которой влияние структурных изменений на приложения использующие информацию этой БД, сведены к минимуму.
Необходимо понимать, что при нормализации таблицы предпринимается попытка ограничить количество повторяющихся в ней данных. Существует много уровней и типов нормализации.
Таблица 6
Наиболее распространенной процедурой является приведение базы данных к третьей нормальной
Наиболее распространенной процедурой является приведение базы данных к третьей нормальной
Первая нормальная форма (1NF). Первая нормальная форма – это основа реляционных баз данных. При ней требуется, чтобы таблица была двумерной и не содержала ячеек, включающих несколько значений. Приведем пример таблицы, которая не приведена к 1NF
Таблица 7
Приведение таблицы к 1NF выполняется достаточно легко – при помощи
Приведение таблицы к 1NF выполняется достаточно легко – при помощи
Таблица 8
продолжение Таблицы 7
Таблица 8 представляет собой экземпляр корректной таблицы, которую называют универсальной
Таблица 8 представляет собой экземпляр корректной таблицы, которую называют универсальной
Вторая нормальная форма (2NF). Вторая нормальная форма требует, чтобы данные во всех не ключевых столбах полностью зависели от первичного ключа или каждого поля первичного ключа, если он является составным. Под полной зависимостью понимается то, что значение в каждом столбце однозначно определяется значением первичного ключа. Если же в таблице имеется хотя бы одно поле, которое не зависит от величины первичного ключа, то в этот ключ необходимо включить дополнительные столбцы. Перед проверкой на соответствие 2NF таблица должна быть приведена к 1NF. Процесс приведения ко второй нормальной форме позволяет избавится от большей части повторяющихся данных, оставшихся от первого этапа нормализации.
продолжение Таблица 8
В нашем примере Таблицу 8 необходимо разбит на две, вынеся
В нашем примере Таблицу 8 необходимо разбит на две, вынеся
Таблица 9
Таблица 11
Таблица 10
Таблица 11
Таблица 10
Легко убедится, что совокупность таблиц Табл. 9 – Табл. 11 удовлетворяет
Легко убедится, что совокупность таблиц Табл. 9 – Табл. 11 удовлетворяет