Элементы данных и связи

Логическое описание и проектирование БД

Языковые средства для работы с БД

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

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

Способы организации ЯОД и ЯМД:

1. Языки задаются как расширение классического языка программирования: а) работа с БД осуществляется посредством вызова процедур на традиционном языке программирования (ЯМД СУБД VISTA); б) классический язык дополняется синтаксически правильными конструкциями для описания и манипулирования данными; необходима разработка расширенного транслятора, понимающего семантику новых операторов(СУБД ADABAS для IBM-360/370); в) внутри текста программы оформляются независимые блоки на специализированном языке (ЯОД СУБД VISTA), программа должна быть предварительно обработана специализированным транслятором, который специализированные блоки преобразует в конструкции классического языка; далее текст обрабатывается традиционным транслятором.

2. Функции ЯОД и ЯМД реализуются средствами СУБД. Имеется встроенный язык, реализующий не только ЯОД и ЯМД, но и классические операции традиционных языков и операторы пользовательского интерфейса (СУБД dBase, FoxPro и т.д.).

3. Разработка независимых ЯОД и ЯМД. Такой подход наиболее полно реализует принцип независимости данных. Требуется стандартизация языков. Пример: SQL.

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

Ошибки в определении элемента данных:

1) «Цех» – этот элемент данных может содержать в себе другие элементы: начальник цеха, выпускаемая продукция и др., то есть отсутствует семантическая однозначная интерпретация этого элемента (наверно, имелось в виду название цеха или номер цеха).

2) «Средняя зарплата в отделе» – этот элемент не является первичной информацией, а может быть вычислен, следовательно, в базе данных надо хранить сведения о выплатах каждому сотруднику отдельно, а среднее, минимальное, максимальное значения – вычислять в прикладной программе.

3) «Возраст сотрудника» – этот элемент имеет изменяемое значение (в системе отсутствует событие, приводящее к необходимости изменения этого значения), нужно использовать элемент «Дата рождения», а возраст вычислять в приложении. Элемент данных «Номер курса студента» не является изменяемым, поскольку для изменения его значения в системе должно произойти событие: приказ по деканату.

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

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

Типы связей:

1) 1:1 – "один к одному". Одному значению первого объекта соответствует не более одного значения второго объекта (номер студента à номер читательского билета);

2) М:1 – "многие к одному". Множеству значений первого объекта соответствует не более одного значения второго объекта (табельный номер сотрудника à должность сотрудника);

3) 1:М – "один ко многим". Одному значению первого объекта соответствует множество значений второго объекта, где МÎ{0,1,2...} (должность сотрудника ®® табельный номер сотрудника);

4) М:М – "многие ко многим". Множеству значений первого объекта соответствует множество значений второго объекта (должность сотрудника ®® разряд ЕТС сотрудника).

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

Правило склейки записей. Если между элементами данных A и B установлена связь типа 1:1 или М:1, то элемент данных B присоединяется к элементу данных A, образуя логическую запись (тип записи). Элемент данных A в этом типе записи будет ключевым.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: