- •Романов в.В.
- •1.2. Типы моделей данных
- •1.3.2. Формализация отношений
- •2.2. Логические связи в рбд
- •4. Работа с данными при помощи запросов
- •4.1. Средства описания запросов
- •4.2 Условия отбора данных
- •А) бланк запроса;
- •4.4. Итоговые запросы
- •А) бланк запроса (вариант 1)
- •Б) бланк запроса (вариант 2)
- •А) схема связей
- •Б) таблица запроса
- •4.6. Запрос с параметром
- •5. Основные этапы разработки рбд
- •6.4. Анализ данных. Определение структуры данных.
- •6.5. Схема базы данных
- •Р ис. 20. Схема базы данных "Транс-2000" (жирным шрифтом выделены первичные ключи)
- •6.6.2. "Расчет затрат на горючее за отчетный период".
- •Содержание
1.2. Типы моделей данных
В зависимости от способа представления данных, БД могут иметь реляционную, иерархическую или сетевую структуру. Эффективность БД с той или иной структурой зависит от конкретных условий применения.
Быстрому распространению идей реляционного подхода способствовало то, что, база данных представляется как совокупность повседневно встречающихся в обычной практике двумерных таблиц, поиск и обработка информации в которых не зависят от организации хранения данных в памяти ЭВМ. Одним из основных преимуществ реляционной модели (РМ) является ее однородность. Все данные рассматриваются как хранимые в двумерных таблицах, в которых каждая строка имеет один и тот же формат.
1.3. Основные понятия теории реляционных баз данных (РБД)
1.3.1. Термины
ОТНОШЕНИЕ (Relation) - информация об объектах одного типа, обычно хранимая в виде таблиц. Каждая запись в такой базе данных содержит информацию, относящуюся (related) только к одному конкретному объекту.
АТРИБУТ - определенная часть информации о некотором объекте (информационное отображение отдельного свойства некоторого объекта, процесса или явления). Атрибут обычно хранится в виде столбца (поля) таблицы.
ДОМЕН - каждому имени атрибута ставится в соответствие множество допустимых для соответствующего столбца значений. Это множество называется ДОМЕНОМ данного атрибута.
КОРТЕЖ - строки в таблице называются КОРТЕЖАМИ (ЗАПИСЯМИ).
ИМЯ - каждому отношению и каждому атрибуту отношения присваивается ИМЯ. Имя отношения д.б. уникальным в пределах одной БД. Имя атрибута д.б. уникально в пределах одного отношения.
КЛЮЧ - один или несколько атрибутов таблицы, значения которых однозначно идентифицируют строку данного отношения (идентифицирующие свойства).
СВЯЗЬ – способ которым связана информация в одной таблице с информацией в другой таблице (типы связей: ОДИН-к-ОДНОМУ, ОДИН-ко-МНОГИМ).
ОПРЕДЕЛЕНИЕ ДАННЫХ - задание структуры и типа данных, а также связи данных между собой. В некоторых случаях задаются форматы представления данных и критерии проверки данных.
ОБРАБОТКА ДАННЫХ - организация выборок, сортировок, фильтрации данных, объединения или вычисления значений полей.
УПРАВЛЕНИЕ ДАННЫМИ - управление доступом к данным, их корректировке, удалению, добавлению. Установление правил коллективного пользования.
1.3.2. Формализация отношений
СХЕМОЙ отношения R называется конечное множество атрибутов {A1, A2,..., Аi, ... An}. Каждому имени атрибута Ai ставится в соответствие множество Di, называемое доменом атрибута Ai, для всех 1 i n. Домен атрибута Ai может обозначается и как dom(Ai). Имена атрибутов для краткости называют просто атрибутами.
Домены являются произвольными непустыми конечными или счетными множествами.
Отношение r со схемой R - это конечное множество упорядоченных кортежей {t1, t2, ... tj ... tp}. Причем каждый кортеж t r должен удовлетворять ограничению: t(Ai) принадлежит Di, 1 i n (т.е. значения атрибута Ai во всех кортежах отношения находятся в пределах множества допустимых для данного атрибута значений).
На рис.1 приведен пример отношения (таблицы) "Перевозки". Схемой отношения ПЕРЕВОЗКИ является множество атрибутов {Nр, Дата, Пункт_назначения, Водитель, Марка_АМ, Госномер, Вес, Расстояние}, т.е.
ПЕРЕВОЗКИ={Nр, Дата, Пункт_назначения, Водитель, Марка_АМ, Госномер, Вес, Расстояние}.
Доменом атрибута "Водитель" является множество водителей работающих на данный момент в организации занимающейся перевозками, т.е.
Dom(Водитель)={Ермаков Ф.Г., Иванов С.П., Локтев И.Д., Антонов Р.Т.}.
Отношение ПЕРЕВОЗКИ имеет на данный момент семь кортежей.
Последовательность атрибутов в таблице не имеет значения, однако, на практике атрибуты всегда указывают в некотором порядке, а кортежи представляют списками значений в том же порядке.
Свойство: отношения могут меняться во времени, т.е. кортежи могут добавляться, удаляться или изменяться. Тем не менее, предполагается, что схема отношения ИНВАРИАНТНА во времени. Т.е. строки в таблице «перевозки» могут добавляться, удаляться, могут изменяться значения атрибутов, но набор имен атрибутов не изменяется.
КЛЮЧ отношения r со схемой R является подмножеством атрибутов K из множества атрибутов {A1, A2,... Аi ... An} входящих в R. Подмножество K обладает следующим свойством. В отношении r не существует двух различных кортежей t1 и t2, таких, что t1(K) = t2(K). Другими словами, не существует двух строк, имеющих одинаковые значения на всех атрибутах из K. Это можно записать как t1(K)t2(K). Такой ключ называют первичным. Атрибуты, входящие в подмножество K называют ключевыми полями. Чаще всего ключ отношения состоит из одного атрибута (поля). Такой ключ является простым. Когда ключ состоит из нескольких атрибутов, его называют составным.
В рассматриваемом примере, в качестве ключевого можно использовать поле с именем "Nр" (номер рейса).
Т.о., достаточно знать значение ключевого поля, чтобы однозначно идентифицировать строку таблицы.
Следует отметить, что для одного отношения может быть указано более одного ключа.
ПЕРЕВОЗКИ
Nр |
Дата |
Пункт_назначения |
Водитель |
Марка_АМ |
Гос_номер |
Вес |
Расстояние |
1 |
15.01.99 |
П. Ливневка |
Ермаков Ф.Г. |
МАЗ |
А567УК |
3,5 |
123 |
2 |
15.01.99 |
П. Стасово |
Иванов С.П. |
ГАЗ-53 |
В354УО |
1,5 |
45 |
3 |
16.01.99 |
Г. Киселев |
Локтев И.Д. |
КАМАЗ |
Д129УК |
4,2 |
254 |
4 |
16.01.99 |
С. Еловое |
Ермаков Ф.Г. |
МАЗ |
А567УК |
2,1 |
16 |
5 |
16.01.99 |
П. Стасово |
Антонов Р.Т. |
КАМАЗ |
С311УО |
0,8 |
45 |
6 |
17.01.99 |
Г. Киселев |
Иванов С.П. |
КАМАЗ |
Д129УК |
3,7 |
254 |
7 |
22.01.99 |
П. Ливневка |
Иванов С.П. |
МАЗ |
Х711УК |
5,2 |
123 |
Рис. 1. Отношение (таблица) "Перевозки"
Одно и то же отношение в различных состояниях может иметь различные ключи. Однако, поскольку схемы отношений инвариантны во времени, то предпочтительнее, чтобы ключи так же не изменялись во времени. Ключи должны оставаться ключами во всех допустимых состояниях отношения.
2. СХЕМЫ БАЗ ДАННЫХ
2.1. Нормализованные отношения
Нормальная форма представляет собой ограничение на схему базы данных. Такое ограничение избавляет БД от некоторых нежелательных свойств. В теории РБД рассматриваются несколько нормальных форм для баз данных. В данном случае будет рассмотрена первая нормальная форма (1НФ).
Схема отношения Rj находится в первой нормальной форме, если значения в dom(Ai) являются атомарными для каждого атрибута Ai в Rj (где Rj - j-е отношение БД, т.е. БД содержит несколько таблиц). Другими словами, значения в домене, не являются ни списками, ни множествами простых или сложных чисел.
Схема БД R находится в первой нормальной форме, если схема каждого отношения Rj находится в 1НФ (для всех 1 j m, где m - количество отношений в БД). Дать строгое определение понятию атомарности очень сложно, т.к. значения некоторого атрибута в одном случае могут рассматриваться как атомарные, а в другом случае, эти же значения будут неатомарными. Общий принцип - значение атрибута не атомарно, если в приложении оно используется по частям. Пример приведен на рис. 2.
СОТРУДНИКИ
СОТРУДНИКИ
Сотрудники |
|
Должность |
Фамилия |
Директор Петров |
|
Директор |
Петров |
Бухгалтер Костров |
|
Бухгалтер |
Костров |
Инженер Кранц |
|
Инженер |
Кранц |
Секретарь Самохина |
|
Секретарь |
Самохина |
(а) (б)
Рис. 2. Пример ненормализованной (а) и нормализованной (б)
таблицы (два варианта отношения СОТРУДНИКИ)
Нормализация отношений позволяет минимизировать дублирование, обеспечить целостность данных и однократность их ввода.
