БД, СУБД, функции СУБД, преимущества и недостатки. Перечислить и коротко охарактеризовать популярные на сегодня СУБД. — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

БД, СУБД, функции СУБД, преимущества и недостатки. Перечислить и коротко охарактеризовать популярные на сегодня СУБД.

2020-08-20 727
БД, СУБД, функции СУБД, преимущества и недостатки. Перечислить и коротко охарактеризовать популярные на сегодня СУБД. 0.00 из 5.00 0 оценок
Заказать работу

БД, СУБД, функции СУБД, преимущества и недостатки. Перечислить и коротко охарактеризовать популярные на сегодня СУБД.

КОРОЧЕ

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

СУБД – ПО для управления БД.

Основные компоненты СУБД:

Процессор запросов

Контроллер баз данных

Контроллер файлов

Препроцессор языка DML

Компилятор языка DDL

Контроллер словаря

Функции СУБД:

Хранение, извлечение, обновление данных

Поддержка транзакций

Службы управления параллельной работой

Службы восстановления

Службы контроля доступа к данным

Обмен данными

Службы поддержки целостности данных

Службы поддержки независимости от данных

Вспомогательные службы

Преимущества СУБД

Контроль за избыточностью данных

Непротиворечивость данных

Больше полезной информации при том же объеме хранимых данных

Совместное использование данных (параллельная работа)

Большее количество пользователей может работать с большим объемом данных.

Поддержка целостности данных

Повышенная безопасность

Применение стандартов

Повышение эффективности с увеличением масштабов системы

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

Повышение доступности данных и их готовности к работе

Повышение показателей производительности

Упрощение сопровождения системы за счет независимости от данных

Улучшенное управление параллельной работой

Развитые службы резервного копирования и восстановления

Недостатки

Сложность

Размер

Стоимость СУБД

Дополнительные затраты на аппаратное обеспечение

Затраты на преобразование

Производительность

Более серьезные последствия при выходе системы из строя

Популярные СУБД: IBM DB2, Informix, Microsoft SQL Server, Oracle, Sybase и MySQL

ДЛИННЕЕ(не читать)

 

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

База Данных — структурированный организованный набор данных, описывающих характеристики каких-либо физических или виртуальных систем.

Система управления базами данных - ПО, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ.

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

 

Файл - простой набор записей, содержащих логически связанные данные

 

 

Основные программные компоненты среды СУБД:

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

контроллер базы данных: Часть БД, которая принимает запросы, проверяет удовлетворимость требований запроса, проверяет внешние схемы, и вызывает контроллер файлов для выполнения поступившего запроса.

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

препроцессор языка DML: преобразует внедренные в прикладные программы DML-операторы в вызовы стандартных функций базового языка (для генерации соответствующего кода препроцессор языка DML должен взаимодействовать с процессором запросов).

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

контроллер словаря: управляет доступом к системному каталогу и обеспечивает работу с ним (системный каталог доступен большинству компонентов СУБД).

Функции СУБД

Хранение, извлечение и обновление данных

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

Каталог, доступный конечным пользователям

В СУБД должен быть системный каталог (оглавление?)

Поддержка транзакций

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

Службы управления параллельной работой

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

 

Службы восстановления

СУБД должна предоставлять средства восстановления базы данных на случай какого-либо ее повреждения или разрушения.

Службы контроля доступа к данным

СУБД должна обеспечивать доступ к данным только санкционированным пользователям (защита информации)

Обмен данными

Любая СУБД должна обладать способностью интеграции с разнообразными существующими диспетчерами обмена данными (DEM — Data Exchange Manager).

Службы поддержки целостности данных

Обеспечение целостности БД - означает корректность и непротиворечивость хранимых данных.

Службы поддержки независимости от данных

СУБД должна обладать инструментами поддержки независимости программ от фактической структуры базы данных.

Вспомогательные службы

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

Утилиты, работающие на внешнем уровне, могут быть созданы самим АБД, но утилиты, работающие на внутреннем уровне системы должны быть предоставлены разработчиком СУБД.

Преимущества и недостатки СУБД

Преимущества

Контроль за избыточностью данных

Традиционные файловые системы хранят одинаковые данные в нескольких файлах. Базы данных максимально ограничивают степень избыточности данных за счет интеграции файлов.

Избыточность допускается при дублировании ключевых элементов для моделирования связей

Системы управления базами данных (СУБД) дублировании данных для повышения производительности системы.

 

Непротиворечивость данных

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

Если элемент данных, с ведома системы, хранится в базе данных в нескольких экземплярах, то система сможет следить за тем, чтобы копии не противоречили друг другу. Но во многих современных СУБД такой способ обеспечения непротиворечивости данных не поддерживается автоматически.

Больше полезной информации при том же объеме хранимых данных

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

Совместное использование данных

Большее количество пользователей может работать с большим объемом данных.

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

Поддержка целостности данных

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

Повышенная безопасность

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

Применение стандартов

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

Повышение эффективности с увеличением масштабов системы

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

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

Повышение доступности данных и их готовности к работе

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

Улучшение показателей производительности

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

Упрощение сопровождения системы за счет независимости от данных

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


Улучшенное управление параллельной работой

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

Развитые службы резервного копирования и восстановления

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

Недостатки

Сложность

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

Размер

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

Стоимость СУБД

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

Дополнительные затраты на аппаратное обеспечение

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

Затраты на преобразование

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


Производительность

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

Более серьезные последствия при выходе системы из строя

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

IBM DB2, Informix, Microsoft SQL Server, Oracle, Sybase и MySQL. Половина опрошенных (допускались множественные ответы) намерена также хранить и анализировать информацию в обычных, "плоских" файлах с помощью простых СУБД, нередко встраиваемых непосредственно в приложения.

41% респондентов собираются держать данные в формате XML или с помощью объектно-ориентированных СУБД. 25% думают задействовать специализированные решения для конкретных нужд.

Для обращения к БД 91% используют SQL, 69% - ODBC, 55% - ADO/ADO. NET, 41%- JDBC, 30% - OLE DB, 15% - J2EE-коннекторы.

При дистанционном обмене информацией между приложениями и СУБД в 50% случаев применяется XML, в 35% - веб-службы.

49% опрошенных ведут несколько проектов по объединению различных БД, 13% - один проект. 2% успешно завершили все подобные проекты, а 15% вообще не собираются заниматься такой работой.

По популярности первое место занимает Microsoft SQL Server (данную СУБД указали 78% опрошенных), на втором месте - Oracle (55%), на третьем - MySQL (33%). Далее следуют IBM DB2 (22%), Sybase (15%) и PostgreSQL (8%).

 

 

Не с лекций

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

1) Вася – Бетон (РМД)

2) Петя – Бетон

        Песок

        Вода

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

Рассмотрим упрощенную модель объектно-ориентированной БД. Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом или типом, конструируемым пользователем (определяется как class). Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную иерархию объектов. Пример логической структуры объектно-ориентированной БД библиотечного дела приведен на рис. 2.9. Здесь объект типа Библиотека является родительским для объектов-экземпляров классов Абонент, Каталог и Выдача. Различные объекты типа Книг а могут иметь одного или разных родителей. Объекты типа Книга, имеющие одного и того же родителя, должны различаться, по крайней мере, инвентарным номером (уникален для каждого экземпляра книги), но имеют одинаковые значения свойств isb n, удк, названи е и автор.

КОРОЧЕ

Реляционная модель данных (РМД) – логическая модель данных, описывающая – аспект целостности, аспект обработки данных в РБД.

РБД – БД, в которой все данные, доступные пользователю, организованы в виде таблицы, а все операции над данными сводятся к операциям над этими таблицами

Цели создания РМД:

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

Создание прочного фундамента для решения семантических вопросов, а также проблем непротиворечивости и избыточности данных.

Расширение языков управления данными за счет включения операций над множествами.

создание языка структурированных запросов SQL (это название произносят либо по буквам "S-Q-L"

создание различных коммерческих реляционных СУБД

Терминология

Реляционная модель основана на математическом понятии отношения, физическим представлением которого является таблица

Отношение: Плоская таблица, состоящая из столбцов и строк.

Атрибут: Именованный столбец отношения. В реляционной модели отношения используются для хранения информации об объектах, представленных в базе данных. Отношение обычно имеет вид двумерной таблицы, в которой строки соответствуют отдельным записям, а столбцы — атрибутам. При этом атрибуты могут располагаться в любом порядке - независимо от их переупорядочииания отношение будет оставаться одним и тем же, а потому иметь тот же смысл.

Домен: Набор допустимых значений одного или нескольких атрибутов.

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


 

Кортеж: Строка отношения.

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

Т.е. короче кортежи – строки, столбцы – атрибуты.

Степень: сколько атрибутов в отношении

Отношение только с одним атрибутом имеет степень 1 и называется унарным (unary) отношением (или одноэлементным кортежем). Отношение с двумя атрибутами называется бинарным (binary), отношение с тремя атрибутами — тернарным (ternary), а для отношений с большим количеством атрибутов используется термин п-арное (тг-агу). Определение степени отношения является частью заголовка отношения.

Кардинальность: Количество кортежей, которое содержится в отношении.

Количество содержащихся в отношении кортежей называется кардинальностью отношения. Эта характеристика меняется при каждом добавлении или удалении кортежей. Кардинальность является свойством тела отношения и определяется текущим состоянием отношения в произвольно взятый момент. Cool story

Степень – сколько атрибутов в отношении, кардинальность – сколько кортежей в отношении.

Реляционная база данных: Набор нормализованных отношений, которые различаются по именам.

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

 


 

Обеспечение целостности БД

ДВА основных правила реляционной модели называются целостностью сущностей и ссылочной целостностью.

NULL Пустое значение: Указывает, что значение атрибута в настоящий момент неизвестно или неприемлемо для этого кортежа.

В строке ничего нет – ни пробелов ни нулей, НИЧЕГО.

Целостность сущностей

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

По определению, первичный ключ — это минимальный идентификатор, который используется для уникальной идентификации кортежей(строк). Короче уникальный идентификатор строки. Это значит, что никакое подмножество первичного ключа не может быть достаточным для уникальной идентификации кортежей. Если допустить присутствие NULL в любой части первичного ключа, это равносильно утверждению, что не все его атрибуты необходимы для уникальной идентификации кортежей, что противоречит определению первичного ключа.

Ссылочная целостность: Если в отношении существует внешний ключ, то значение внешнего ключа должно либо соответствовать значению потенциального ключа некоторого кортежа в его базовом отношении либо внешний ключ должен полностью состоять из значений NULL. (???)

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

Корпоративные ограничения целостности

Корпоративные ограничения целостности: Дополнительные правила поддержки целостности данных, определяемые пользователями или администраторами базы данных.

Пользователи сами могут указывать дополнительные ограничения, которым должны удовлетворять данные. Например, если в одном отделении не может работать больше 20 сотрудников, то пользователь может указать это как правило, а СУБД должна следить за его выполнением

 

Пример приведения таблицы к четвертой нормальной форме (Википедия)

Предположим, что рестораны производят разные виды пиццы, а службы доставки ресторанов работают только в определенных районах города. Составной ключ таблицы такого отношения включает три поля: {Ресторан, Вид пиццы, Район доставки}.

Такая таблица не соответствует 4NF, так как существует многозначная зависимость:

§ {Ресторан} >> {Вид пиццы}

§ {Ресторан} >> {Район доставки}

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

Для предотвращения аномалии нужно разбить многозначную зависимость — разместить независимые факты в разных таблицах. В данном примере - {Ресторан, Вид пиццы} и {Ресторан, Район доставки}.

Исходная таблица

Ресторан Вид пиццы Район доставки
A1 Pizza Thick Crust Springfield
A1 Pizza Thick Crust Shelbyville
A1 Pizza Thick Crust Capital City
A1 Pizza Stuffed Crust Springfield
A1 Pizza Stuffed Crust Shelbyville
A1 Pizza Stuffed Crust Capital City
Elite Pizza Thin Crust Capital City
Elite Pizza Stuffed Crust Capital City
Vincenzo's Pizza Thick Crust Springfield
Vincenzo's Pizza Thick Crust Shelbyville
Vincenzo's Pizza Thin Crust Springfield
Vincenzo's Pizza Thin Crust Shelbyville

 

 

Ресторан Вид пиццы
A1 Pizza Thick Crust
A1 Pizza Stuffed Crust
Elite Pizza Thin Crust
Elite Pizza Stuffed Crust
Vincenzo's Pizza Thick Crust
Vincenzo's Pizza Thin Crust

 

Ресторан Район доставки
A1 Pizza Springfield
A1 Pizza Shelbyville
A1 Pizza Capital City
Elite Pizza Capital City
Vincenzo's Pizza Springfield
Vincenzo's Pizza Shelbyville

 

Объекты денормализации

1) Большое количество соединений таблиц

2) Расчетные значения

3) Длинные поля

4) Дефекты

Резюме

Дополнительно:

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

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

§ Тип связи — это множество осмысленных ассоциаций между типами сущностей. Экземпляром связи называется однозначно идентифицируемая ассоциация, которая включает по одному экземпляру сущности каждого типа, участвующих в этой связи,

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

§ Рекурсивной связью называется связь, в которой несколько раз участвует одна и та же сущность, но в разных ролях.

§ Атрибутом называется свойство типа сущности или типа связи.

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

§ Простой атрибут состоит из одного компонента, который характеризуется не зависимым существованием.

§ Составной атрибут состоит из нескольких компонентов, каждый из которых характеризуется независимым существованием.

§ Однозначный атрибут — это атрибут, содержащий по одному значению для каждого экземпляра сущности определенного типа.

§ Многозначный атрибут — это атрибут, содержащий несколько значений для каждого экземпляра сущности определенного типа.

§ Производным атрибутом называется атрибут, содержащий значение, производное от значения связанного с ним атрибута или множества атрибутов, причем не обязательно из той же сущности.

§ Потенциальным ключом называется атрибут или набор атрибутов, которые однозначно идентифицируют отдельные экземпляры типа сущности,

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

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

§ Сильный тип сущности — это сущность, существование которой не зависит ни от какой другой сущности. Слабый тип сущности — это сущность, существование которой зависит от другой сущности.

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

§ Кратностью сложной связи называется количество (заданное как одно значение или как диапазон значений) возможных экземпляров типа сущности в n-арной связи, которое регистрируется после фиксации остальных (n-1) значений.

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

§ Степень участия определяет, должны ли участвовать в конкретной связи все или только некоторые экземпляры сущности.

§ Дефект типа "разветвление" возникает, если в модели данных представлена некоторая связь между типами сущностей, но путь между некоторыми экземплярами сущности определен неоднозначно. (т.е. когда есть два потомка от одного родителя, и они имеют относительно него зависимость 1:M, но и в свою очередь должны иметь связь между собой)

§ Дефект типа "разрыв" возникает, когда в модели предполагается связь между типами сущностей, но не существует пути между некоторыми экземплярами сущностей. (т.е. надо добавить какую-нибудь связь, например как в примере 1:М)

Моделирование данных

Основные цели моделирования данных состоят в изучении значения (семантики) данных и упрощении процедур описания требований к данным. При создании модели данных необходимо получить информацию о сущностях, связях и атрибутах. Полученные дополнительные сведения помогут разработчикам раскрыть особенности семантики корпоративных данных, которые существуют независимо от того, отмечены они в формальной модели данных или нет. Сущности, связи и атрибуты являются фундаментальными информационными объектами любого предприятия. Моделирование данных должно гарантировать понимание чего:

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

§ характер самих данных независимо от их физического представления;

§ использование данных в пределах области применения приложения.

Модели данных могут использоваться для демонстрации понимания разработчиком тех. требований к данным, которые существуют на предприятии. Если обе стороны знакомы с системой обозначений, используемой для создания модели, то наличие модели данных будет способствовать более плодотворному общению пользователей и разработчиков. На предприятиях все шире применяются средства стандартизации для моделирования данных путем выбора определенного метода моделирования и использования его во всех проектах разработки базы данных. Самая популярная технология высокоуровневого моделирования данных, чаще всего используемая при разработке реальных баз данных, построена на концепции модели "сущность-связь" (Entity-Relationship model — ER-модель).

Элементы модели

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

Сущность (entity) - это объект, который может быть идентифицирован неким способом, отличающим его от других объектов. Примеры: конкретный человек, предприятие, событие и т.д.

Набор сущностей (entity set) - множество сущностей одного типа (обладающих одинаковыми свойствами). Примеры: все люди, предприятия, праздники и т.д. Наборы сущностей не обязательно должны быть непересекающимися. Например, сущность, принадлежащая к набору МУЖЧИНЫ, также принадлежит набору ЛЮДИ.

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

В дальнейшем для определения сущности и ее атрибутов будем использовать обозначение вида

СОТРУДНИК (ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ, ВОЗРАСТ).

Множество значений (область определения) атрибута называется доменом.

Отсюда определяется ключ сущности - группа атрибутов, такая, что отображение набора сущностей в соответствующую группу наборов значений является взаимнооднозначным отображением. Другими словами: ключ сущности - это один или более атрибутов уникально определяющих данную сущность. В нашем примере ключем сущности СОТРУДНИК является атрибут ТАБЕЛЬНЫЙ_НОМЕР (конечно, только в том случае, если все табельные номера на предприятии уникальны).

Связь (relationship) - это ассоциация, установленная между несколькими сущностями. Примеры:

§ поскольку каждый сотрудник работает в каком-либо отделе, между сущностями СОТРУДНИК и ОТДЕЛ существует связь "работает в" или ОТДЕЛ-РАБОТНИК;

§ так как один из работников отдела является его руководителем, то между сущностями СОТРУДНИК и ОТДЕЛ имеется связь "руководит" или ОТДЕЛ-РУКОВОДИТЕЛЬ;

§ могут существовать и связи между сущностями одного типа, например связь РОДИТЕЛЬ - ПОТОМОК между двумя сущностями ЧЕЛОВЕК;

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

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

Связь также может иметь атрибуты. Например, для связи ОТДЕЛ-РАБОТНИК можно задать атрибут СТАЖ_РАБОТЫ_В_ОТДЕЛЕ.

Роль сущности в связи - функция, которую выполняет сущность в данной связи. Например, в связи РОДИТЕЛЬ-ПОТОМОК сущности ЧЕЛОВЕК могут иметь роли "родитель" и "потомок". Указание ролей в модели "сущность-связь" не является обязательным и служит для уточнения семантики связи.

Набор связей (relationship set) - это отношение между n (причем n не меньше 2) сущностями, каждая из которых относится к некоторому набору сущностей.


Пример:

сущности        наборы сущностей

 

----------      ----------------

 

e1 принадлежит  E1

 

e2 принадлежит  E2

 

     ...

 

en принадлежит  En

 

 

тогда [e1,e2,...,en] - набор связей R

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

В случае n=2, т.е. когда связь объединяет две сущности, она называется бинарной. Доказано, что n-арный набор связей (n>2) всегда можно заменить множеством бинарных, однако первые лучше отображают семантику предметной области.

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

 

Один ко многим (1: n)

В данном случае сущности с одной ролью может соответствовать любое число сущностей с другой ролью. Такова связь ОТДЕЛ-СОТРУДНИК. В каждом отделе может работать произвольное число сотрудников, но сотрудник может работать только в одном отделе. Графически степень связи n отображается "древообразной" линией, так это сделано на следующем рисунке.

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

Здесь также необходимо учитывать класс принадлежности сущностей. Каждый сотрудник должен работать в каком-либо отделе, но не каждый отдел (например, вновь сформированный) должен включать хотя бы одного сотрудника. Поэтому сущность "ОТДЕЛ" имеет обязательный, а сущность "СОТРУДНИК" необязательный классы принадлежности. Кардинальность бинарных связей степени n будем обозначать так:

Много к одному (n: 1)

Эта связь аналогична отображению 1: n. Предположим, что рассматриваемое нами предприятие строит свою деятельность на основании контрактов, заключаемых с заказчиками. Этот факт отображается в модели "сущность-связь" с помощью связи КОНТРАКТ-ЗАКАЗЧИК, объединяющей сущности КОНТРАКТ(НОМЕР, СРОК_ИСПОЛНЕНИЯ, СУММА) и ЗАКАЗЧИК(НАИМЕНОВАНИЕ, АДРЕС). Так как с одним заказчиком может быть заключено более одного контракта, то связь КОНТРАКТ-ЗАКАЗЧИК между этими сущностями будет иметь степень n: 1.

В данном случае, по совер


Поделиться с друзьями:

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

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.018 с.