-
3-неделя
-
Цель: рассмотреть структуры данных СУБД, изучить общий подход к организации представлений, таблиц, индексов и кластеров
План занятия:
1. Структура данных СУБД
2. Общий подход к организации представлений, таблиц, индексов и кластеров
Структура данных СУБД
Пользователи нуждаются в описании схемы на некотором понятийном для всех уровне, которое называется моделью данных.
Модель данных – интегрированный набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные в некоторой организации.
Модель данных является абстрактным представлением объектов и событий «реального мира», а также существующих между ними связей. В этой абстракции акцент делается на самых важных и неотъемлемых аспектах деятельности организации, а все второстепенные свойства игнорируются. Таким образом, можно сказать, что модель данных представляет саму организацию.
Модель данных можно рассматривать как сочетание трех указанных ниже компонентов:
структурной части – набора правил, по которым может быть построена база данных;
управляющей части, определяющей типы допустимых операций с данными (операции обновления и извлечения данных, а также операции изменения структуры базы данных);
набора ограничений поддержки целостности данных, гарантирующих корректность используемых данных.
Цель построения модели данных заключается в понятном представлении данных, которое можно будет легко применить при проектировании базы данных. Для трехуровневой архитектуры существуют следующие три связанные модели данных (объектные модели):
Внешняя модель данных, которую иногда называют моделью предметной области (она отображает представления каждого типа пользователей организации). Silverrun BPM (функциональная модель, модель потоков данных). Внешние объекты, процессы, потоки, накопители. Описание структур данных.
Концептуальная модель данных, которая отображает логическое (или обобщенное) представление о данных, не зависимое от типа выбранной СУБД. Silverrun ERX (ER – модель). Сущности, связи, атрибуты.
Внутренняя модель данных, которая отображает концептуальную схему для конкретной СУБД. Silverrun RDM (логическая модель, для конкретной СУБД – реляционная модель для реляционной СУБД).
Домены, типы атрибутов. Кроме объектных моделей существуют модели данных на основе записей. В зависимости от способа записи данных база данных состоит из нескольких (множества) записей фиксированного формата, которые могут иметь разные типы. Каждый тип записи определяет фиксированное количество полей, каждое из которых имеет фиксированную длину.
Существует три основных типа записей, определяющие три типа моделей:
реляционная модель данных (relational data model);
сетевая модель данных (network data model);
иерархическая модель данных (hierarchical data model).
Реляционная модель данных основана на понятии математических отношений. В реляционной модели данные и связи представлены в виде таблиц (см. рис.7), каждая из которых имеет несколько столбцов с уникальными именами.
В реляционной модели данных единственное требование состоит в том, чтобы база данных с точки зрения пользователя выглядела как набор таблиц. Это требование относится только к внешнему и концептуальному уровням архитектуры ANSI/SPARC.
В сетевой модели данные представлены в виде коллекций записей, а связи – в виде наборов (см. рис.8). Сетевую модель можно представить как граф с записями в виде узлов (вершин) графа, и наборов данных в виде его ребер.
Иерархическая модель данных является подтипом сетевой модели. В ней данные представлены как коллекции записей, а связи – как наборы (см. рис.9). Однако узел может иметь только одного родителя
Наиболее важные термины описания структуры данных представлены на рисунке 10.
Отношение – плоская таблица, состоящая из столбцов и строк.
Атрибут – поименованный столбец отношения.
Домен – набор допустимых значений для одного или нескольких атрибутов.
Кортеж – строка отношения.
Степень – количество атрибутов, содержащихся в отношении.
Кардинальность – количество кортежей, которое содержит отношение.
Первичный ключ – атрибут или множество атрибутов, которые выбраны для уникальной идентификации кортежей отношения.
Реляционная база данных – набор отношений (нормализованных). Каждый кортеж отношения представляет собой определенное высказывание об объекте.
Точное определение термина отношение:
Пусть задано множество доменов Тi (I = 1, 2,..n), все из которых необязательно должны быть различными. Тогда r будет отношением, определенным на этих доменах, если оно состоит из двух частей – заголовка и тела, где
а) заголовок – это множество из n атрибутов вида Ai : Ti; здесь Ai – имена атрибутов, а Ti – соответствующие им имена типов.
б) тело – это множество из m кортежей t; здесь t, в свою очередь, является множеством компонентов вида Ai : Vi, в которых Vi – значение типа Ti, то есть значение атрибута Ai в кортеже t (I = 1, 2,..n).
Подходы к определению понятия отношения могут быть различными.
Математически отношение может быть определено как множество кортежей, являющееся подмножеством декартова произведения фиксированного числа областей (доменов).
В результате получаем, что в каждом кортеже должно быть одинаковое число компонентов (атрибутов) и значение каждого из них выбирается из некоторого определенного домена.
В терминах таблицы, заголовок – это строка, состоящая из названий столбцов и соответствующих имен типов, а тело – это множество строк данных.
Отношения обладают следующими свойствами:
1. в них нет одинаковых кортежей;
2. кортежи отношения не имеют упорядоченности в направлении сверху вниз;
3. атрибуты в кортежах не упорядочены слева направо;
4. каждый кортеж содержит ровно одно значение для каждого атрибута.
Свойство 1: Свойство следует из того факта, что тело отношения – это математическое множество (кортежей), а в математике множества по определению не содержат одинаковых элементов. Таблица, в общем случае, может содержать одинаковые строки (при отсутствии правил, запрещающих это).
Свойство 2: Свойство следует из того, что тело отношения – это математическое множество, а простые множества в математике не упорядочены. В таблице строки упорядочены сверху вниз.
Свойство 3: Свойство следует из того факта, что заголовок отношения также определен, как множество (атрибутов). Атрибут всегда определяется по имени, а не по расположению. В таблице столбцы могут быть упорядочены.
Свойство 4: Свойство следует из определения кортежа: кортеж является множеством из n компонентов. Отношение, удовлетворяющее этому свойству, называется нормализованным или представленным в первой нормальной форме (1НФ).
В частности, возможно существование типа, значениями которого будут отношения и, следовательно, существование отношения с атрибутами, значениями которых также являются отношения. Дополнительные свойства:
Отношение имеет имя, которое отличается от имен всех других отношений.
Каждый атрибут имеет уникальное имя.
Значения атрибута берутся из одного и того же домена.
Все кортежи одного отношения должны иметь одно и то же количество атрибутов. Необходимо иметь возможность уникальной идентификации каждого кортежа отношения с помощью атрибутов. Атрибут или множество атрибутов, которое единственным образом идентифицирует кортеж данного отношения, называется суперключом.
Потенциальный ключ – это суперключ, который не содержит подмножества, также являющегося суперключом данного отношения.
Такой ключ обладает двумя свойствами:
уникальность – в каждом кортеже отношения значение ключа единственным образом идентифицирует этот кортеж;
неприводимость – никакое допустимое подмножество ключа не обладает свойством уникальности. Отношение может иметь несколько потенциальных ключей. Если ключ состоит из нескольких атрибутов, то он называется составным ключом.
Первичный ключ – это потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения. Потенциальные ключи, которые не выбраны в качестве первичного ключа, называются альтернативными ключами.
Атрибут «Город» не может быть выбран в качестве потенциального ключа. Каждое значение атрибута «Номер отделения» имеет уникальное значение, поэтому этот атрибут является потенциальным ключом.
Атрибуты «Номер телефона» и «Номер факса» также являются потенциальными ключами (рис.11). «Номер отдела» - первичный ключ.
Внешний ключ – это атрибут или множество атрибутов, которое соответствует какому-либо потенциальному ключу некоторого (может быть, того же самого) отношения.
Внешние ключи отражают определенную связь между кортежами этих отношений.
Схема отношения обозначается с помощью имени отношения, за которым (в скобках) перечисляются имена атрибутов. При этом первичный ключ подчеркивается.
Отделение (Номер отдела, Адрес, Район, Город, Почт. код, Номер телефона, Номер факса).
Как уже говорилось ранее для управления отношениями в реляционных СУБД можно использовать процедурные и непроцедурные языки. Коддом были предложены формальные (а не дружественные пользователю) языки – реляционная алгебра и реляционное исчисление.
Реляционная алгебра представляет процедурный язык, который может быть использован, чтобы сообщить СУБД как следует построить требуемое отношение на базе одного или нескольких существующих в базе данных отношений.
Реляционное исчисление представляет собой непроцедурный язык, который можно использовать для определения того, каким будет некоторое отношение, созданное на основе одного или нескольких других отношений базы данных.
Реляционная алгебра и реляционное исчисление эквивалентны друг другу. Для каждого выражения алгебры существует эквивалентное выражение в реляционном исчислении (и наоборот).
-
1. Из чего состоит структура данных СУБД 2. Опишите общий подход к организации представлений, таблиц, индексов и кластеров
-
Opened: Monday, 4 November 2024, 12:00 AMDue: Monday, 11 November 2024, 12:00 AM
-