Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы_данных__сайт_ФПМК.doc
Скачиваний:
24
Добавлен:
14.08.2019
Размер:
1.48 Mб
Скачать

Контрольные вопросы по четвертому разделу

          1. Перечислите и охарактеризуйте основные этапы жизненного цикла информационной системы.

          2. Приведите схему организации централизованного планирования.

          3. Перечислите функции администратора базы данных в реализации процессов планирования и проектирования.

          4. Приведите общую схему инфологического проектирования. Дайте понятие ПО- и ПП-информации и поясните смысл их использовании для процесса проектирования.

          5. Приведите общую схему концептуального проектирования.

          6. Опишите этапы концептуального проектирования.

          7. Приведите общую схему процесса проектирования.

          8. В чем состоит процесс идентификации ключевых атрибутов.

          9. Какие виды внешних ограничений вам известны.

          10. Свяжите системные свойства модели данных с каждым из этапов проектирования. На каком этапе какие свойства реализуются.

  1. Модели данных

Исторически поддерживаемые СУБД модели данных, описанные в литературе, традиционно разбивают на реляционные и навигационные (иерархические и сетевые). Следует заметить, что эта классификация весьма условна, поскольку каждая конкретная СУБД поддерживает собственную оригинальную модель данных. Однако, рассмотрение каждой из классических видов моделей данных в "чистом виде" представляется достаточно полезным.

Доказано, что все классические модели данных эквивалентны в том смысле, что любая из трех видов концептуальных моделей может быть преобразована в концептуальную модель любого другого вида, адекватно представляющую предметную область.

Рис.12. Основные этапы проектирования БД

    1. Реляционная модель данных

      1. Базовые понятия

Реляционная модель данных была предложена Э.Коддом в 1970 г.; первые промышленные реляционные СУБД начали появляться в конце 1970-х – начале 1980-х гг.

В основе реляционной модели данных лежит математическое понятие теоретико-множественного отношения. Тем самым, в основе данной модели – строго обоснованная математическая теория.

Основными понятиями реляционных баз данных являются:

  • тип данных,

  • домен,

  • кортеж,

  • отношение,

  • атрибут,

  • схема отношения,

  • первичный ключ.

Тип данных. Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, а также специальных "темпоральных" данных (дата, время, временной интервал).

Домен. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и способа определения принадлежности произвольного элемента типа данных домену. Например, домен Имена очевидным образом определяется на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака). Обычно такой способ определения принадлежности элемента типа данных домену сводится к заданию некоторого логического выражения, применяемого к элементам данных. Если вычисление этого логического выражения дает результат True, то элемент данных является элементом домена. Таким образом, правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений элементов данных определенного типа.

Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену.

Декартовым произведением k доменов (D1, D2, … , Dk), которое обозначается

(D1 x D2 x … x Dk),

называется множество всех кортежей вида (v1, v2, … , vk) длины k таких, что

v1 Є D1, v2 Є D2, … , vk Є Dk .

Пример. Пусть D1 = {1, 2, 3}, D2 = {a, b, c, d}.

Тогда

D1 x D2 = { (1,a), (1,b), (1,c) (1,d), (2,a), (2,b), (2,c), (2,d), (3,a), (3,b), (3,c), (3,d) }.

Или в матричном виде

Отношением называется произвольное конечное подмножество декартова произведения одного или нескольких доменов.

Примеры математических отношений:

  1. { (1,a), (2,b), (3,c), (1,d) }

  2. {0} – пустое подмножество

Кортежи (1,a), (2,b), (3,c), (1,d) являются элементами отношения (1).

В практике реляционных баз данных отношение представляется в виде двумерной таблицы, в которой строки соответствуют кортежам, а столбцыдоменам. Для примера 1) реляционный эквивалент математического отношения выглядит следующим образом:

1

a

2

b

3

c

1

d

Учитывая, что реляционное отношение – это элемент модели данных, определим смысл для строк и столбцов двумерной таблицы:

  1. строка – это совокупность значений элементов данных, характеризующих конкретный объект (набор требуемых сведений об объекте), то есть строка представляет кортеж отношения (более точное определение понятия кортежа дано ниже) ;

  2. столбец – значения, принимающие соответствующей характеристикой (свойством) объектов, сведения о которых включены в таблицу; заметим, что тип и диапазон этих значений определяется соответствующим доменом.

Естественно рассматривать реляционное отношение как модель совокупности однотипных объектов, то есть объектов предметной области, у которых на этапе проектирования выделено для изучения множество одних и тех же свойств. Учитывая, что для выполнения операций над объектом он и все его свойства должны быть поименованы, снабдим именами таблицу (реляционное отношение) в целом и все ее столбцы в отдельности. Тогда имя отношения выступает в роли имени типа объекта, а имена столбцов – имен его свойств (атрибутов). Таким образом, атрибут представляет некоторое свойство объекта.

Схема отношения представляется:

  1. перечнем имен отношения и атрибутов в виде R(A1, A2, … , Ak), где R – имя отношения; A1, A2, … , Ak – имена атрибутов;

  2. описанием доменов для каждого атрибута; заметим, что различные атрибуты могут быть определены на одном домене, например, дата рождения и дата поступления на работу;

  3. условиями ограничения целостности, задаваемыми на доменах; например, дата рождения не должна определять возраст более 200 лет, а дата поступления на работу – меньше минимального, установленного трудовым законодательством.

В общем случае схема отношения - это именованное множество пар (имя атрибута, имя домена). Степень, или "арность" схемы отношения, - мощность этого множества. Если все атрибуты одного отношения определены на разных доменах, резонно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута).

Кортеж, соответствующий данной схеме отношения, - это множество пар (имя атрибута, значение), которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. Значение является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень, или "арность" кортежа, то есть число элементов в нем, совпадает с "арностью" соответствующей схемы отношения.

Таким образом, можно сказать, что отношение - это множество кортежей, соответствующих экземпляру схемы отношения (его телу).

Схема БД (в структурном смысле) - это набор именованных схем отношений. В целом реляционная база данных представляется набором взаимосвязанных отношений различного смыслового наполнения, а ее схема – списком имен отношений, ее образующих, и совокупностью схем каждого из этих отношений.

Легко заметить, что отношение является отражением некоторой сущности реального мира и с точки зрения обработки данных представляет собой таблицу. В локальных базах данных каждая таблица размещается в отдельном файле, то с точки зрения размещения данных для локальных баз данных отношение можно отождествлять с файлом.

Не учитывая пункты 2. и 3., схему отношения можно ассоциировать с пустой таблицей (то есть с ее заголовком), а экземпляр схемы – с заполненной таблицей, отображающей состояние отношения в текущий момент времени, причем строками заполненной таблицы являются кортежи отношения-экземпляра, а имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения". Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.

Домен же представляется неким обобщенным типом, который может быть источником для типов полей в записи. Таким образом, следующие тройки терминов являются эквивалентными:

  • отношение, таблица, файл (для локальных баз данных)

  • кортеж, строка, запись

  • атрибут, столбец, поле.

Соотношения между базовыми понятиями реляционной представлены на рис.13.

Атрибут (или набор атрибутов), который может быть использован для однозначной идентификации конкретного кортежа (строки, записи), является первичным ключом (см..п.4.2.4.) Для каждого отношения, по крайней мере, полный набор его атрибутов обладает этим свойством. Однако при формальном определении первичного ключа требуется обеспечение его "минимальности", то есть, в набор атрибутов первичного ключа не должны входить такие атрибуты, которые можно отбросить без ущерба для основного свойства - однозначного определения кортежей. Это значит, что если из первичного ключа исключить произвольный атрибут, оставшихся атрибутов будет недостаточно для однозначной идентификации отдельных кортежей. Понятие первичного ключа является исключительно важным в связи с понятием целостности базы данных (см. п. 5.1.3.).

Замечание. Во многих СУБД имеется возможность помимо первичного определять еще ряд уникальных ключей. Отличие уникального ключа от первичного состоит в том, что уникальный ключ не является главным идентификатором записи и на него не может ссылаться внешний ключ другой таблицы. Его главная задача - гарантировать уникальность значения поля.

Фундаментальные свойства отношений (таблиц). Определенные таким образом таблицы обладают следующими свойствами: