Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Поддержка различных способов записи диаграмм «сущность – связь» (нотаций).

Поиск

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

Поддержка проектирования информационных хранилищ.

Поддержка совместного проектирования.

Поддержка триггеров, хранимых процедур и шаблонов.

Развитые средства проверки корректности моделей данных Reverse Engineering (генерация модели данных на основе анализа существующей базы данных), включая восстановление связей по индексам.

Автоматическая генерация SQL DDL для создания баз данных.

Полная совместимость и поддержка двадцати типов СУБД.

Приведем в качестве примера использования данного CASE-средства диаграмму «сущность – связь» фрагмента базы данных студентов. В сущности СТУДЕНТ (STUDENT) сохраняются анкетные данные о студентах. Помимо этой сущности на диаграмме приведены сущности-справочники: виды предшествующего образования (ОБРАЗОВАНИЕ-EDUCATION), данные о гражданстве (ГРАЖДАНСТВО- CITIZENSHIP), а также данные о специальности по которой он обучается (СПЕЦИАЛЬНОСТЬ-PROGRAM).). Сущности связаны между собой. Напомним, что мы выделяем две стадии процесса концептуального моделирования базы данных:

- построение обобщенной концептуальной модели, не зависящей от деталей реализации;

- отображение обобщенной концептуальной модели средствами модели данных выбранной конкретной СУБД.

На рисунках 28 и 29 приведены диаграммы «сущность – связь», представляющие концептуальную модель на первой и второй стадиях.. Демонстрация разных представлений концептуальной модели используется в ERwin для удобства разных категорий пользователей (специалистов предметной области и программистов). двух видах. Еще раз заметим, что это разное представление одной модели.

.

[Ш4]

Рис. 28 Общая ER-диаграмма, не зависящая от деталей реализации

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

Рис. 29. Концептуальное представление, специфицированное к конкретной СУБД

На второй стадии диаграмма будет выглядеть по-разному в зависимости от того, для какого сервера баз данных будет использоваться данная модель и, соответственно, какие типы данных есть в данной СУБД. Приведенная на рисунке 29 диаграмма построена для СУБД Oracle 8.0.

После создания модели мы можем сгенерировать с помощью CASE-средства соответствующую структуру баз данных. Генерация осуществляется с помощью выполнения автоматически создаваемого скрипта.

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

 

Вопросы данной лекции рассматриваются в [1-8].

 


Контрольные тесты к лекции 6

Задача 1. Общие представления о модели данных?

 

 

Вариант 1.

Что такое модель данных СУБД?

 

+ ð+ способ структурирования данных в СУБД

+ ð+ виды и типы данных, поддерживаемые СУБД

+ ð+ инструмент представления концептуальной модели в конкретной СУБД

ð концептуальная модель, специфицированная к конкретной СУБД

 

 

Вариант 2.

Какие понятия используются при описании данных в терминах модели данных?

 

ð атрибут

ð сущность

ð+ +поле

+ ð+ запись

ð строка

+ ð+ экземпляр записи

+ ð+ файл

 

 

Вариант 3..

Какие формы используются для представления группового отношения?

 

+ ð+ графовая

ð+ +табличная

ð строковая

ð столбцовая

ð+ +реляционная

 


Задача 2. Что входит в описание модели данных СУБД?

 

 

Вариант 1.

Как описываются структуры данных в модели данных СУБД?

 

+ ð+ представляются конкретные типы данных и их характеристики

ð предлагается описать любые типы данных и их характеристики

+ ð+ определены способы составления структур более общего вида из структур простых видов

ð предлагается описать способы составления структур более общего вида из структур простых видов

ð+ +представляются конкретные средства реализации связей

ð предлагается описать необходимые способы реализации связей

 

 

Вариант 2.

Какие возможные действия входят в описание модели данных СУБД?

 

+ ð+ элементарные операции над данными

+ ð+ обобщенные операции над данными (процедуры)

+ ð+ средства контроля ограничений целостности

ð операции по анализу данных

ð действия, реализуемые прикладными программами

ð типы и характеристики структур данных

ð операции над данными

 


Задача 3. Как концептуальная модель специфицируется в терминах модели данных СУБД?

 

 

Вариант 1.

Как представляются сущности ER-диаграммы при отображении обобщенного представления средствами модели данных СУБД?

 

ð записями

ð атрибутами

ð файлами

ð+ таблицами

 

 

Вариант 2..

Как представляются атрибуты ER-диаграммы при отображении обобщенного представления средствами модели данных СУБД?

 

+ ð+ полями с указанием выбранного типа данных СУБД и характеристики данных

ð полями с указанием задаваемыми пользователем типом

данных и характеристики данных

ð экземплярами записей

ð конкретными значениями

 

 

Вариант 3.

Как представляются связи, изображенные на ER-диаграмме при отображении обобщенного представления средствами модели данных СУБД?

 

ð с помощью стрелок

ð с помощью указателей

+ ð+ с помощью понятий, описанных в выбранной СУБД

ð с помощью терминов, определенных пользователем

ð с помощью понятий ER-диаграммы

 


Задача 4. Что такое сетевая модель данных?

 

Вариант 1.

Как представляется сущность в сетевой модели?

 

ð записью

ð графом

ð строкой таблицы

ð+ +вершиной графа

 

 

Вариант 2.

Как представляется групповое отношение (связь) в сетевой модели?

 

+ ð+ указателем

+ ð+ дугой

 

ð дополнительным файлом

ð записью

 

 

Вариант 3.

Основные особенности сетевой модели.:

 

ð простота алгоритмов поиска

ð поиск начинается с корневой вершины

+ ð+ удобство представления любой концептуальной модели

ð добавление новых сущностей и связей не требует изменения всей структуры базы данных

+ ð+ высокая трудоемкость программирования

 


Задача 5. Что такое иерархическая модель данных?

 

 

Вариант 1.

Как представляется сущность в иерархической модели?

 

ð записью

ð деревом

ð строкой таблицы

ð+ +вершиной графа

 

 

Вариант 2.

Как представляется групповое отношение (связь) в иерархической модели?

 

+ ð+ указателем

+ ð+ ребром

ð записью

ð деревом

ð вершиной графа

 

 

Вариант 3.

Основные особенности иерархической модели.

 

+ ð+ простота алгоритмов поиска

ð+ +поиск начинается с корневой вершины

ð удобство представления любой концептуальной модели

ð добавление новых сущностей и связей не требует изменения всей структуры базы данных

 


Задача 6. Что такое реляционная модель данных?

 

 

Вариант 1.

Как представляется сущность в реляционной модели?

 

ð строкой таблицы

ð столбцом таблицы

ð+ +таблицей

ð набором таблиц

 

 

Вариант 2.

Как представляется групповое отношение (связь) в реляционной модели?

 

ð строками таблицы

+ ð+ столбцами таблицы

+ ð+ таблицей

ð набором таблиц

 

 

Вариант 3.

Каковы основные достоинства реляционной модели?

 

+ ð+ понятна для пользователя

+ ð+ добавление новых сущностей и связей не требует изменения всей структуры базы данных

+ ð+ поддерживается многими СУБД

ð не требует навыков работы с компьютером

 

 

Вариант 4.

Как выглядит концептуальная схема реляционной базы данных?

 

+ ð+ набор заголовков таблиц с именами атрибутов

ð набор таблиц с данными

ð+ +совокупность схем отношений

ð текущие значения соответствующих отношений

 


Задача 7. Что такое многомерная модель данных?

 

Вариант 1.

Когда целесообразно использовать многомерную модель данных?

 

ð большое количество таблиц с данными

ð большой объем данных в таблицах

+ ð+ большое количество таблиц одной структуры при разных значениях параметров.

ð большое количество атрибутов в таблице

 

 

Вариант 2.

Для каких основных целей используется многомерная модель?

 

ð для быстрого поиска информации

+ ð+ для сравнительного анализа

+ ð+ для оперативной аналитической обработки

+ ð в технологии olap

 

 

Вариант 3.

Какие понятия характеризуют многомерный куб?

 

+ ð+ измерение

+ ð+ ячейка

+ ð+ поле

+ ð+ показатель

+ ð+ размерность

 

 

Вариант 4.

Какие дополнительные операции определены в многомерной модели?

 

ð анализ данных

ð+ срез данных

ð+ агрегация данных

ð визуализация данных

 


Задача 8. Что такое автоматизированное проектирование баз данных?

 

 

Вариант 1.

Какие основные причины использования программных систем автоматизированного проектирования?

 

+ ð+ необходимость создания нескольких последовательных версий базы данных

+ ð+ целесообразность создания на первом этапе пробной версии базы данных

+ ð+ необходимость сокращения затрат на начальное проектирование базы данных

ð необходимость сокращения затрат на окончательную доработку базы данных

 

 

Вариант 2.

Какие этапы создания базы данных поддерживаются средствами автоматизированного проектирования?

 

+ ð+ разработка ER-диаграммы

+ ð+ разработка программ создания структуры базы данных

+ ð+ разработка интерфейса пользователя

ð разработка прикладных программ

 

 

Вариант 3.

При использовании каких СУБД для создания базы данных можно пользоваться средствами автоматизированного проектирования?

 

ð любых

+ ð+ тех, для которых предназначено соответствующее средство

+ ð+ для каких-то этапов создания базы данных – любых, для других этапов – только тех, для которых предназначено соответствующее средство

ð СУБД и средства автоматизированного проектирования обязательно должны быть разработаны одной фирмой-производителем

 


Литература

 

1. Мартин Дж. Организация баз данных в вычислительных системах: Пер. с англ. /Под ред. А.А. Стогния и А.Л. Щерса. – М.: Мир, 1980. – 664 с.

2. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для вузов. – СПб.: КОРОНА принт, 2000. – 416 с.

3. Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. СПб.: Питер, 1997. – 700 с.

4. Карпова Т. Базы данных. Модели, разработка, реализация. – СПб.: Питер, 2001. – 304 с.

5. Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000 год: Пер. с англ. / Под ред. и с предисл. М.Р. Кога­ловского. – М.: Финансы и статистика, 1999. – 479 с.

6. Ульман Дж. Д., Уидом Дж. Введение в системы баз данных: Пер. с англ. – М.: Лори, 2000. – 374 с.

7. Швецов В.И., Визгунов А.Н., Мееров И.Б. Базы данных. Учебное пособие. Н.Новгород: Изд-во ННГУ, 2004. 271 с.

8. Хаббард Дж. Автоматизированное проектирование баз данных: Пер. с англ. под ред. А.Л. Щерса. – М.: Мир, 1984. – 296 с..

 

 


 

Лекция 7. Формализация реляционной модели

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

Ключевые словатермины: атрибут, домен, схема отношения, отношение, ключ отношения, реляционное исчисление, реляционная алгебра, операции реляционной алгебры, объединение, разность, декартово произведение, проекция, селекция, пересечение, q-соединение, естественное соединение.

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

 

7.1. Формализованное описание отношений
и схемы отношений

Как уже отмечалось в п. 6.2.3, реляционная модель описывает представление данных в виде двумерной таблицы, называемой отношением. Наименованиями столбцов этой таблицы служат имена атрибутов. Рассмотрим формализованное описание соответствующих понятий.

ПустьA1, A2,…, An имена атрибутов. Каждому имени атрибута Ai соответствует допустимое множество значений, которые может принимать атрибут Ai. Это множество значений Di называется доменом атрибута Ai, . По определению, домены являются непустыми конечными или счетными множествами. Уточним, что в теории реляционных баз данных домен рассматривается как множество значений одного (причем простого) типа данных. Понятию домена Di соответствует множество значений, стоящих в столбце Ai рассматриваемой таблицы.

Схемой отношения R {A1, A2, …, An} называеся конечное множество имен атрибутов {A1, A2, …, An}, причем атрибут Ai принимает значение из множества Di (i=1, 2,…n), где n – арность отношения.

Понятию «схема отношения» соответствует описание структуры двумерной таблицы (имена столбцов и допустимые множества значений).

Пусть D = D 1È D 2È…È Dn.

Отношением r со схемой R называется конечное множество отображений {t1, t2,…, tp} из множества R: {A1, A2, …, An} в множество
D:{ D1È D2È…ÈDn }, таких, что

tk(Ai) Î Di, ; .

Отображение tk называется k-м кортежем, n – размерность кортежа.

Понятию k -го кортежа соответствует множество значений, стоящих в k -й строке рассматриваемой таблицы.

Понятию отношения r соответствует множество значений, стоящих во всех строках рассматриваемой таблицы.

Ключом отношения r со схемой R называется минимальное подмножество K = {Ai1, Ai2,…, Aim}Í{A1, A2, …, An}, где {i1, i2, …,im}Í
Í{1, 2, …, n}, такое, что любые два различных кортежа t1, t2 Îr (t1 ¹ t2) не совпадают по значениям множества K ={Ai1, Ai2, …, Aim}.

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

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

Выпишем реляционную модель данных примера из предыдущей лекции (см. рис. 6.3.). Введем обозначения атрибутов всех соответствующих сущностей. Пусть A1 – код студента, A2 – фамилия, A3 – дата рождения, A4 – место рождения, A5 – номер факультета, A6 – название факультета, A7 – номер специальности, A8 – название специальности. Обозначим схему отношения СТУДЕНТ как R 1, ФАКУЛЬТЕТ как R 2, СПЕЦИАЛЬНОСТЬ как R 3, СТУДЕНТ УЧИТСЯ НА ФАКУЛЬТЕТЕ как R 4, СТУДЕНТ УЧИТСЯ ПО СПЕЦИАЛЬНОСТИ как R 5, НА ФАКУЛЬТЕТЕ ИМЕЮТСЯ СПЕЦИАЛЬНОСТИ как R 6.

Тогда реляционная модель соответствующего примера описывается следующей совокупностю схем отношений:

R 1(A1, A2, A3, A4)

R 2(A5, A6)

R 3(A7, A8)

R 4(A1, A5)

R 5(A1, A7)

R 6(A5, A7)

Напомним, что понятие «схема отношения» соответствует описанию структуры таблицы. Таблица с заполненными значениями (заполненными строками) соответствует понятие «отношение». Для данного примера отношения, соответствющие вышеуказанным схемам отношений будем обозначать

r 1, r 2, r 3, r 4, r 5, r 6,

Отметим следующие свойства отношения:

1. Отношение имеет имя, которое отличается от имен всех других отношений.

2. Каждое значение элементов кортежей представляется простым (атомарным) типом данных.

3. Каждый атрибут имеет уникальное имя.

4. Значения всех атрибутов являются атомарными (неделимыми). Это следует из определения домена как множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества.

1. Отметим следующие свойства отношения:

1.5. Порядок рассмотрения атрибутов в схеме отношения (отношении) не имеет значения, т.к. для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута.

2.1.Значения всех атрибутов являются атомарными (неделимыми). Это следует из определения домена как множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества.

3.6. Порядок рассмотрения кортежей в отношении не имеет значения, т.к. отношение представляет собой множество кортежей, а элементы множества, по определению теории множеств, неупорядочены.

 

7.2. Манипулирование данными в реляционной модели

Для манипулирования данными в реляционной модели используются два формальных аппарата:

§- реляционная алгебра, основанная на теории множеств;

§- реляционное исчисление, базирующееся на исчислении предикатов первого порядка.

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

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

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

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

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

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

7.3. Операции реляционной алгебры

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

Объединение r È s



Поделиться:


Последнее изменение этой страницы: 2016-04-19; просмотров: 467; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.130.127 (0.009 с.)