- •Проектирование структуры реляционных баз данных
- •1.1. Основные понятия экономических информационных систем (эис)
- •Нормализация базы данных и ее необходимость
- •2. Создание базы данных ms Access
- •2.1. Создание таблиц
- •2.2. Создание связей между таблицами
- •2.3. Изменение и удаление существующей связи
- •3. Выборка данных из таблиц
- •3.1. Создание запроса в режиме конструктора
- •3.2. Использование параметров запроса
- •3.3. Выборка вычисляемых значений
- •3.3.1. Использование арифметических операций
- •3.3.2. Использование функций
- •3.4. Реляционные объединения
ОГЛАВЛЕНИЕ
1. Проектирование структуры реляционных баз данных 2
1.1. Основные понятия экономических информационных систем (ЭИС) 2
1.1.1. Модели баз данных 2
1.1.2. Реляционная модель данных 2
1.2. Нормализация базы данных и ее необходимость 3
2. Создание базы данных MS Access 8
2.1. Создание таблиц 8
2.2. Создание связей между таблицами 13
2.3. Изменение и удаление существующей связи 13
3. Выборка данных из таблиц 14
3.1. Создание запроса в режиме конструктора 14
3.2. Использование параметров запроса 16
3.3. Выборка вычисляемых значений 17
3.3.1. Использование арифметических операций 17
3.3.2. Использование функций 18
3.4. Реляционные объединения 23
Проектирование структуры реляционных баз данных
1.1. Основные понятия экономических информационных систем (эис)
|
|
|
База данных – это поименованная совокупность взаимосвязанных данных, находящихся под управлением системы управления базами данных (СУБД). СУБД – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. Модель данных – это совокупность структур данных и операций по их обработке. Разработано множество различных моделей данных, но на практике используют три основных. Выделяют иерархическую, сетевую и реляционную модели данных. |
|
|
|
Основная идея реляционной модели данных заключается в том, чтобы представить любой набор данных в виде двумерной таблицы. В простейшем случае реляционная модель описывает единственную двумерную таблицу, но чаще всего эта модель описывает структуру и взаимоотношения между несколькими различными таблицами. Основоположником теории реляционных баз данных считается сотрудник фирмы IBM доктор Э.Кодд, опубликовавший в 1970 г. статью A Ralational Model of Data for Large Shared Data Banks (Реляционная модель данных для больших коллективных банков данных). В этой статье впервые был использован термин «реляционная модель данных», что и положило начало реляционным базам данных. Теория реляционных баз данных, разработанная доктором Э.Коддом, имеет под собой мощную математическую основу, описывающую правила эффективной организации данных. Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой сводятся к манипуляции с таблицами. Таблица состоит из столбцов (колонок, полей) и строк (записей). Таблица отражает тип объекта реального мира (сущность), а каждая ее строка – конкретный объект. |
Нормализация базы данных и ее необходимость
|
В качестве примера рассмотрим таблицу ПРОДАЖИ, которая содержит:
Таблицу ПРОДАЖИ можно рассматривать как однотабличную базу данных. |
|
Рис.1.1. Однотабличная база данных ПРОДАЖИ. |
Проблемы избыточности данных |
Основной недостаток однотабличной базы данных состоит в том, что в ней содержится значительное количество повторяющейся информации. Такая избыточность данных ведет к возникновению следующих проблем:
Процесс уменьшения избыточности информации в БД называется нормализацией. В теории нормализации разработаны достаточно формализованные подходы к разбиению данных на несколько таблиц и организации между ними взаимосвязей. |
Теория нормализации |
Теория нормализации оперирует с пятью нормальными формами отношений (от 1НФ до 5НФ включительно). Эти формы предназначены для уменьшения избыточной информации, при этом каждая последующая нормальная форма должна удовлетворять требованиям предыдущей формы и некоторым дополнительным условиям. При практическом проектировании баз данных четвертая и пятая формы, как правило, не используются, поэтому ограничимся рассмотрением первых трех нормальных форм. |
Первичный ключ |
В таблице ПРОДАЖИ поле КодПокуп может быть выбран в качестве первичного ключа (primary key, РК). Значению поля КодПокуп соответствуют:
|
1НФ |
Отношение имеет первую нормальную форму (1НФ), если оно удовлетворяет следующим требованиям:
Для устранения повторяющихся групп (каждый покупатель может иметь N заказов) разобьем таблицу ПРОДАЖИ на две таблицы (Рис.1.2):
|
|
Рис.1.2. База данных "Продажи" в 1НФ
|
|
Для таблицы ПОКУПАТЕЛЬ создается простой первичный ключ, основанный на поле КодПокуп. Для исключения повторяющихся записей в таблице ЗАКАЗ следует образовать составной первичный ключ, содержащий поля КодПокуп, КодТовара и ДатаЗаказ.
|
2НФ |
Отношение имеет вторую нормальную форму (2НФ), если оно соответствует 1НФ и не содержит неполных функциональных зависимостей (ФЗ). Неполная ФЗ - это две зависимости:
Из определения следует, что понятие 2НФ применимо только к отношениям, имеющим составной ключ. Таблица ЗАКАЗ, имеющая составной ключ, не находится в 2НФ, поскольку неключевые поля НаимТов, Цена и Категория однозначно определяются частью составного ключа КодТовара (рис. 2.3). Т.е. имеется неполная ФЗ. Для приведения таблицы к 2НФ выделим из таблицы ЗАКАЗ таблицу ТОВАРЫ, которая будет содержать информацию о товарах каждого типа. |
3 |
Отношение имеет третью нормальную форму (3НФ), если оно соответствует 2НФ и среди его атрибутов отсутствуют транзитивные ФЗ. Транзитивные ФЗ - это две зависимости:
В таблице ПОКУПАТЕЛЬ (рис. 2.4) неключевое поле Руководит содержит имена руководителей компаний, которые однозначно определяются другим неключевым полем Предпр. Т.е. существует транзитивная ФЗ. Для приведения таблицы ПОКУПАТЕЛЬ к 3НФ создается новая таблица КОМПАНИЯ. |
|
Рис.1.4. База данных "Продажи" в 3НФ
|
|
Требование нормализации всех таблиц в реляционной базе данных не является обязательным. Разбить таблицу на более мелкие (теоретически - свести ее к 3НФ) практически может потребоваться в следующих случаях:
|
В
|
Результатом нормализации является получение базы данных в виде набора отдельных таблиц. В схеме данных особенно важно определить, как будут взаимодействовать различные таблицы. В реляционной базе данных связь между таблицами устанавливается с помощью связующих полей (см. Рис.1.5).
|
|
|
|
Рис.1.5. Многотабличная база данных с эффективной структурой |
|
Внешний ключ (foreign key, FK) - это поле в таблице, которое соответствует первичному ключу в другой таблице. Поскольку у каждого клиента может быть несколько заказов, а каждый заказ принадлежит только одному клиенту, то между таблицами ПОКУПАТЕЛЬ и ЗАКАЗ устанавливается связь один-ко-многим. Поскольку каждый товар может присутствовать в нескольких заказах, а каждый заказ связан только с одним товаром, то между таблицами ТОВАРЫ и ЗАКАЗ также устанавливается связь один-ко-многим. Между таблицами ПОКУПАТЕЛЬ и КОМПАНИЯ существует связь один-к-одному, поскольку компания, в которой работает покупатель, имеет одно определенное руководство.
|
|
Использование внешних ключей обеспечивает эффективность работы приложений:
|

N
НФ