Диго С.М. Базы данных проектирование и использование (1084447), страница 67
Текст из файла (страница 67)
2. Ключи.
2.1. Ключ - атрибут или совокупность атрибутов, однозначно определяющая кортеж. Ключ, состоящий из нескольких атрибутов, называется составным.
Ключ обладает следующими свойствами:
а) уникальность - не может быть повторяющихся значений ключа в таблице;
б) неизбыточность - удаление любого атрибута из составного ключа должно привести к потере его уникальности;
в) элементы ключа не могут иметь неопределенные значения.
2.2. В отношении несколько атрибутов или совокупностей атрибутов могут претендовать на роль ключа. В этом случае каждый из них называется вероятным (альтернативным) ключом. Один из них должен быть выбран в качестве первичного ключа.
2.3. Атрибут (или совокупность атрибутов), который в данном отношении ключом не является (но может входить в состав составного ключа), а в другом отношении является первичным ключом, называется внешним ключом.
3. Связи.
Связи в реляционной базе данных устанавливаются от ключа к внешнему ключу.
2. Сквозной пример использования ER-моделирования для проектирования БД
На рис. П.1 изображен фрагмент ER-модели предметной области в нотации базовой модели.
Вариант структуры реляционной базы данных, построенный по алгоритму, изложенному в главе 3, на основе ER-модели, приведен ниже.
ПРЕПОДАВАТЕЛЬ (Таб_ном_преподавателя, ФИО_преподавателя, Дата_рождения, Должность, Уч_степень, Адрес, Условия_сотрудничества).
ПРЕПОДАВАТЕЛЬ ШТАТНЫЙ (Таб_ном_преподавателя, Дата_ зачисления_в_штат).
ПРЕПОДАВАТЕЛЬ ВНЕШТАТНЫЙ (Таб_ном_преподавателя, Место_основной_работы, Должность_по_основной_работе).
ДЕТИ (Таб_ном_преподавателя, ФИО_ребенка).
ЗН_ИН_ЯЗ (Таб_ном_преподавателя, Ин_язык).
ПРЕДМЕТ (Код_предмета, Наименование_предмета_полное, Наименование_предмета_краткое).
ГРУППА (Номер_группы, Вид_группы).
СТУДЕНТ (Ном_зачетки, ФИО_студента, Номер_группы).
СДАЧА_ЭКЗАМЕНА (Таб_ном_преподавателя, Ном_зачетки, Код_предмета, Дата_сдачи, оценка).
Тот же фрагмент ER-модели в нотации IDEF1X, построенный с использованием ERWin, приведен на рис. П.2.
На рис. П2 приведен фрагмент ER-модели для абстрактного учебного заведения. На рисунке продемонстрировано применение всех изобразительных средств, которые имеются в нотации базовой ER-модели. Изображены все виды объектов - простые объекты (ПРЕДМЕТ, ПАСПОРТ, ГРУППА, СТУДЕНТ, ДАТА), обобщенный объект ПРЕПОДАВАТЕЛЬ, агрегированный объект СДАЧА_ЭКЗАМЕНА. Также использованы все виды связей (1:1, 1:М и М: М). В данном примере предполагается, что студент может учиться только в одной группе. Связь М: М между объектами ПРЕПОДАВАТЕЛЬ и ПРЕДМЕТ означает, что преподаватель может владеть несколькими предметами, а каждый предмет могут вести несколько преподавателей.
При изображении объекта ПРЕПОДАВАТЕЛЬ использованы все разновидности свойств. «Должность» изображена как единичное свойство. Это означает, что в данном учебном заведении внутреннее совместительство не разрешено. Если речь идет только о профессорско-преподавательском составе, то решение сделать «Должность» свойством, а не отдельным объектом вполне оправданно. При построении реальных моделей для других предметных областей может возникнуть необходимость изобразить «Должность» как объект.
В данном фрагменте «Дату» можно было бы и не выделять в отдельный объект, сделать свойством агрегированного объекта СДАЧА ЭКЗАМЕНА. В реальной ситуации, когда рисуется общая модель предметной области, с «Датой» бывает связано несколько разных объектов, и в этом случае выделение ее в виде отдельного объекта сократит число элементов в ER-модели, так объект «Дата» в модель вводится один раз, а соответствующее свойство придется вводить для каждого объекта, где оно встречается.
ГЛОССАРИЙ
2РС - см. Фиксация двухфазная
ER-модель - модель предметной области, отражающая объекты и связи между ними (синонимы: модель «сущность-связь», модель «объект-свойство-связь», концептуальная модель)
SQL-сервер - собирательный термин, относящийся ко всем серверам баз данных, основанных на SQL
Администратор банка данных (АБД) - группа специалистов, обеспечивающих создание, функционирование и развитие БнД
База данных - поименованная совокупность взаимосвязанных данных, находящихся под управлением СУБД
База данных иерархическая - структурированная БД, реализующая иерархическую модель данных
База данных интегрированная - централизованная база данных, предназначенная для многопользовательского обращения
База данных источника - база данных, расположенная на одном из узлов вычислительной сети, после внесения некоторых изменений, в которую возникает необходимость отразить эти изменения на других узлах сети
База данных коммерческая - база данных, предназначенная для продажи
База данных неструктурированная - БД, не требующая предварительного проектирования и описания структуры БД
База данных персональная - база данных, предназначенная для локального использования одним пользователем
База данных приемника - база данных, на которую распространяются изменения в базе данных источника
База данных распределенная (DDB - Distributed DataBase) - совокупность множества взаимосвязанных баз данных, распределенных в компьютерной сети
База данных реляционная - структурированная БД, реализующая реляционную модель данных
База данных сетевая - структурированная БД, реализующая сетевую модель данных
База данных структурированная - БД, требующая предварительного проектирования и описания структуры БД
Банк данных - система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных
Банк данных коммерческий - банк данных, основной целью создания которого является получение прибыли от информационной деятельности.
Банк данных распределенный (РБнД) - БнД, в котором распределен хотя бы какой-либо один компонент БнД (не обязательно БД)
Блокировка - запрещение некоторых операций над данными (чаще - корректировки информации), если их обрабатывает (корректирует) другой пользователь
Владелец информационных ресурсов, информационных систем, технологий и средств их обеспечения - субъект, осуществляющий владение и пользование указанными объектами и реализующий полномочия распоряжения в пределах, установленных законом
Группа пользователей - пользователи, наделенные одинаковым набором привилегий
Идентификатор - уникальное имя объекта
Источник - узел, содержащий базу данных источника
Источник информации - субъект, который порождает информацию
Категории - объекты, составляющие обобщенный объект
Класс объектов - совокупность объектов, обладающих одинаковым набором свойств
Ключ - атрибут или совокупность атрибутов, однозначно идентифицирующих кортеж
Ключ внешний - атрибут или группа атрибутов, которая в рассматриваемом отношении не является ключом, а в другом отношении является первичным ключом
Метаинформация - информация, описывающая базу данных, а также другие части БнД
Модель «объект-свойство-связь» - ER-модель (синоним)
Модель «сущность-связь» - ER-модель (синоним)
Модель внешняя - логическая структура БД с точки зрения конкретного пользователя (синонимы: подсхема, «взгляд»/представление/view)
Модель даталогическая (datalogical) (ДЛМ) - логическая модель БД в терминах конкретной СУБД; отображение логических связей между элементами данных
Модель инфологическая (ИЛМ) - формализованное СУБД-независимое описание предметной области (синоним - концептуальная модель)
Модель концептуальная - см. Модель инфологическая
Модель физическая — описание способа хранения данных в запоминающей среде
Нотация - система обозначений, принятая в конкретной модели
Область предметная - часть реального мира, представляющая интерес для данного исследования
Объект - сущность (синоним)
Объект агрегированный - объект, отражающий объединение других объектов при совершении какого-либо действия (соответствует какому-либо процессу, в который оказываются вовлеченными другие объекты)
Объект обобщенный - объект, включающий подклассы (отражает наличие связи «род-вид» между объектами предметной области)
Объект простой - объект, рассматриваемый в данном исследовании как неделимый
Объект сложный - объект, объединяющий другие объекты, простые или сложные, также отображаемые в информационной системе
Объект составной - объект, включающий в себя в качестве составляющих другие объекты (соответствует отображению отношения «целое-часть» между объектами ПО)
Ограничения целостности - набор специальных предложений, обеспечивающих целостность данных; утверждения о допустимых значениях отдельных информационных единиц и связях между ними
Организационно-методические средства банка данных - инструкции, методические и регламентирующие материалы, предназначенные для пользователей разных категорий, взаимодействующих с банком данных
Подсхема - описание внешней модели
Пользователь - лицо или группа лиц, взаимодействующих с банком данных в процессе его создания и функционирования
Пользователь конечный - пользователи, для нужд которых создается банк данных
Потребитель информации (пользователь) - субъект, обращающийся к информационной системе или посреднику за получением необходимой ему информации и пользующийся ею
Привилегия - право пользователей на выполнение определенных операций над объектами данных некоторого типа
Приемник - узел, содержащий базу данных приемника
Продукты информационные - информационные ресурсы и программы для их обработки
Проектирование даталогическое - этап проектирования БД, включающий работы по созданию ДЛМ
Проектирование инфологическое - этап проектирования БД, включающий работы по созданию ИЛМ
Проектирование физическое - этап проектирования БД, включающий работы по созданию физической модели БД
Процедура хранимая - процедура, хранимая в оттранслированном виде на сервере
Публикация - совокупность данных, которые могут подвергаться тиражированию
Разрешение конфликтов при тиражировании - процесс согласования параллельных изменений в нескольких тиражируемых копиях
Резервирование (архивирование) - создание резервных копий файлов БД
Реорганизация - изменение физического расположения данных на носителе
Реплика - копия базы данных, являющаяся членом набора других копий, которые могут быть синхронизированы между собой
Репликация - см. Тиражирование
Репозиторий - централизованная база данных проекта (см. Словарь данных)
Ресурсы информационные - отдельные документы и отдельные массивы документов, документы и массивы документов в информационных системах (библиотеках, архивах, фондах, банках данных, других информационных системах)
Свойство - характеристика, описывающая состояние каждой сущности
Связь (Relationship) - ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе нулевым) количеством экземпляров другой сущности
Сеанс (sessions) - работа интерактивного пользователя с системой, выполняемая в промежутке между подключением его к системе и отключением от системы
Сервер баз данных - СУБД, основанная на архитектуре «клиент-сервер»
Сервер подписки - поддерживает базы данных, с которыми имеют дело конечные пользователи информации. Эти БД принимают публикуемые данные
Сервер публикации - сервер, который предоставляет данные для тиражирования
Сервер репликаций - сервер, хранящий базу данных репликаций. В БД репликаций хранятся все изменения публикуемых данных, и по мере необходимости (по плану диспетчирования или другим настройкам) сервер пересылает данные серверам подписки
Сериализуемость - критерий корректности для управления одновременным доступом, который требует, чтобы эффект множества одновременно выполняемых транзакций был эквивалентен эффекту от их последовательного выполнения при каком-либо упорядочении
Синхронизация данных - процесс обновления реплик (в распределенных системах баз данных с тиражированием), обеспечивающий тождественность дублирующихся данных
Система управления распределенной базой данных - программная система, которая позволяет управлять базой данных таким образом, чтобы ее распределенность была прозрачна для пользователей