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

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

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

рис. 4.3. Сетевая модель данных.

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

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

Пример схемы простейшей сетевой БД показан на рис. 4. Типы связей обозначены надписями на соединяющих линиях.

рис. 4.4. Пример сетевой БД.

Типичные операции в сетевой модели:

Найти следующую запись данного типа и сделать ее текущей;

Извлечь запись в буфер прикладной программы для обработки;

Заменить в записи значения указанных элементов данных;

Запомнить запись из буфера в БД.

Первая сетевая структура появилась в середине 60-х годов прошлого века. Это была система IDS (Integrated Data Store) фирмы General Electric. Сетевая СУБД создавалась для представления более сложных взаимосвязей между данными, чем те, которые можно было моделировать с помощью иерархических структур.

Наибольшее распространение среди сетевых моделей получила модель КОДАСИЛ (CODASYL Conference on Data System Language – Ассоциация по языкам систем обработки данных), предложенная Рабочей группой по БД (DBTG – Data Base Task Group). Эта модель считается наиболее развитой сетевой моделью данных, постоянно развивается, поддерживается и сопровождается, являясь стандартом. Основная цель КОДАСИЛ – создание сетевой модели, позволяющей описывать отношения М:М, т.е. уменьшить недостатки иерархической модели.

Недостатки сетевой модели данных:

1. Обладает ограниченной гибкостью по отношению к изменению требований к данным и методам доступа.

2. Доступ к данным осуществляется путем перемещения (навигации) по структуре.


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

Системы на основе сетевой модели не получили широкого распространения на практике. Наиболее известными сетевыми СУБД являются следующие: DSM (корпорация UNIVAC), IDMS (Cullinane), DBMS (DEC), IDS (Honeywell), db_VistaIII, СЕТЬ, СЕТОР и КОМПАС.

Иерархическая и сетевая модели считаются моделями БД первого поколения . Помимо перечисленных выше их недостатков этим двум моделям присущи общие недостатки :

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

2. Независимость от данных существует лишь в минимальной степени.

3. Отсутствие общепризнанных теоретических основ.

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

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

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

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

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

Сетевую структуру можно преобразовать в одно или несколько деревьев, вводя дополнительные вершины (записи).

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

Типичным представителем является СУБД Integrated Database Management System (IDMS ) компании Cullinet Software, Inc. , предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства ОС. Архитектура системы основана на предложениях Data Base Task Group (DBTG ) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL ) - организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971 г., а позже появилось несколько систем, среди которых IDMS .

Реляционные системы

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

Таблица базы данных – регулярная структура, которая состоит из однотипных строк (записей), разбитых на столбцы (поля).

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

Реляционная модель данных основывается на математических принципах, вытекающих непосредственно из теории множеств и логики предикатов. Эти принципы впервые были применены в области моделирования данных в конце 60-х гг. американским специалистом доктором Е.Ф.Коддом (в то время работавшим в компании IBM), а впервые опубликованы в 1970 г. в статье «Реляционная модель данных для больших разделяемых банков данных ».

Доктор Кодд определил правила реляционной модели (которые называют 12 правилами Кодда ).

Реляционная СУБД должна быть способна полностью управлять базой данных через ее реляционные возможности:

    Информационное правило – вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах.

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

    Поддержка пустых значений – СУБД должна уметь работать с пустыми значениями (неизвестными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любыхдоменов.

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

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

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

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

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

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

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

    Независимость распределения – на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно.

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

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

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

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

    все данные представляются в виде упорядоченной структуры, определенной в виде строк и столбцов и называемой отношением ;

    все значения являются скалярами. Это означает, что для любой строки и столбца любого отношения существует одно и только одно значение;

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

Формулируя принципы реляционной модели, Кодд выбрал термин «отношение » (relation ), потому что, по его мнению, этот термин однозначен (в то время как, например, термин «таблица » имеет множество различных видов - таблица в тексте, электронная таблица и пр.).

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

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

Сущность – некоторый обособленный объект или событие, информацию о котором необходимо сохранять в БД имеющий определенный набор свойств - атрибутов . Сущности могут быть как физические - реально существующие объекты, например, СТУДЕНТ , атрибуты - № зачетной книжки, фамилия, факультет, специальность, № группы и т.д., так и абстрактные , например, ЭКЗАМЕН , атрибуты - дисциплина, дата, преподаватель, аудитория и пр.).

Для сущностей различают ее тип и экземпляр . Тип характеризуется именем и списком свойств, а экземпляр - конкретными значениями свойств.

Атрибуты сущности бывают:

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

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

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

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

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

Домен – это набор всех допустимых значений, которые может содержать атрибут. Понятие «домен» часто путают с понятием «тип данных ». Необходимо различать эти два понятия. Тип данных - это физическая концепция, а домен - логическая. Например, «целое число » - это тип данных, а «возраст » - это домен.

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

Существует несколько типов связей между двумя сущностями. Формально связь между сущностямиА иВ можно обозначить следующим образом:

,

где F (x ) - вид связи сущностиА с сущностьюВ ;G (x ) - вид связи сущностиВ с сущностьюА . ФункцииF (x ) иG (x ) могут принимать значенияU иN - единичная и множественная связи соответственно.

Обычно рассматривают четыре типа отношений и при этом используют графическое представление связей:

1. Отношение «один к одному» (1:1):

А В и, наоборот, любому экземпляру сущностиВ может соответствовать только один экземпляр сущностиА , например,ФАКУЛЬТЕТ  ДЕКАН,ГРУППА  СТАРОСТА.

2. Отношение «один ко многим» (1:N):

Означает, что могут существовать экземпляры сущности А , которым соответствует более одного экземпляра сущностиВ , но каждому экземпляру сущностиВ может соответствовать только один экземпляр сущностиА , например,ФАКУЛЬТЕТ  КАФЕДРА, ГРУППА  СТУДЕНТ.

3. Отношение «многие к одному» (М:1):

Означает, что каждому экземпляру сущности А может соответствовать только один экземпляр сущностиВ и среди экземпляров сущностиВ могут быть такие, которым соответствует несколько экземпляров сущностиА , например,СТУДЕНТ  ФАКУЛЬТЕТ.

4. Отношение «многие ко многим» (групповое) (М:N):

Означает, что может существовать экземпляр сущности А , которому соответствует несколько экземпляров сущностиВ , и, наоборот, одному экземпляру сущностиВ может соответствовать несколько экземпляров сущностиА , например,ПРЕПОДАВАТЕЛЬ  ПРЕДМЕТ.

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

Диаграмма «сущности-связи » (Entity-Relationship diagrams , или E/R diagram ) служит для описания схемы БД на концептуальном уровне проектирования. Метод был предложен в 1976 г. Питером Пин Шань Ченом . На диаграммах «сущности-связи» сущности изображаются в виде прямоугольников, атрибуты - в виде эллипсов, а связи - в виде ромбов (рис. 2.7).

В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина , нотация IDEF1X , нотация Баркера и др.). Кроме того, различные программные средства, реализующие одну и ту же нотацию, могут отличаться своими возможностями. По сути, все варианты диаграмм «сущность-связь » исходят из одной идеи - рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.

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

    каждый элемент таблицы – это один элемент данных;

    все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину (размер);

    каждый столбец имеет уникальное имя;

    одинаковые строки в таблице отсутствуют;

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

Рассмотрим реляционную модель на примере таблиц с именами ПРЕПОДАВАТЕЛЬ,ГРУППА,РАСПИСАНИЕ(табл. 2.1-2.3). Каждая таблица подобна последовательному набору данных. Строки таблиц соответствуютзаписям наборов , а столбцы -полям записей . Такие таблицы являются частным случаем конструкции, называемой в математикеотношением (реляцией ). Представление наборов данных в виде отношений и применение к ним математической теории отношений есть основа реляционных моделей БД.

Таблица 2.1. ПРЕПОДАВАТЕЛЬ

Таблица 2.2. ГРУППА

Табельный номер

Фамилия И.О.

Должность

Номер группы

Кол-во студентов

Староста

Кравец И.П.

Профессор

Судец Т.Н.

Морозов В.П.

Чмиль А.Г.

Кузьмин И.С.

Вовк М.П.

Грач О.Н.

Ассистент

Рекун В.В.

Таблица 2.3. РАСПИСАНИЕ

Наименование дисциплин

Фамилия преподавателя

Номер группы

День недели

Аудитория

Морозов В.П.

Морозов В.П.

Кузьмин И.С.

Кузьмин И.С.

Кравец И.П.

Грач О.Н.

Кравец И.П.

Грач О.Н.

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

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

    Упрощение схемы представления данных для пользователя – в виде таблиц.

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

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

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

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

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

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

Понятие реляционной БД тесно связано с такими понятиями структурных элементов, как поле, запись, файл (таблица) (рис. 2.8).

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

    имя , например, Фамилия, Имя, Отчество, Дата рождения;

    тип , например, символьный, числовой, календарный, денежный;

    длина , например, 15 байт, причем будет определяться максимально возможным количеством символов;

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

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

Файл (таблица ) - совокупность экземпляров записей одной структуры.

В структуре записи файла указываются поля, значения которых являются ключами .

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

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

Внешний ключ - ключевой элемент подчиненной (внешней, дочерней) таблицы, значение которого совпадает со значением первичного ключа главной (родительской) таблицы.

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

В качестве примера рассмотрим реляционную модель, построенную на основе отношений: СТУДЕНТ ,СЕССИЯ ,СТИПЕНДИЯ :

СТУДЕНТ (Номер , Фамилия, Имя, Отчество, Пол, Дата рождения, Группа);

СЕССИЯ (Номер . Оценка1, Оценка2, Оценка3, Оценка4,Результат );

СТИПЕНДИЯ (Результат , Процент).

Таблицы СТУДЕНТ иСЕССИЯ имеют совпадающие ключи (Номер ), что дает возможность легко организовать связь между ними. ТаблицаСЕССИЯ имеет первичный ключНомер и содержит внешний ключРезультат , который обеспечивает ее связь с таблицейСТИПЕНДИЯ .

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

В рамках реляционной модели данных Коддом были разработаны принципы нормализации отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей нормальной форме.

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

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

Первая нормальная форма (1НФ) связана с понятиями простого и сложного атрибутов. Простой атрибут - это атрибут, значения которого атомарны (т.е. неделимы). Сложный атрибут может иметь значение, представляющее собой объединение нескольких значений одного или разных доменов. В первой нормальной форме устраняются повторяющиеся атрибуты или группы атрибутов, т.е. производится выявление неявных сущностей, «замаскированных» под атрибуты.

Отношение приведено к 1НФ, если все его атрибуты - простые, т.е. значение атрибута не должно быть множеством или повторяющейся группой.

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

Например, отношение СТУДЕНТ = (Номер , Фамилия, Имя, Отчество, Дата рождения, Группа) находится в первой нормальной форме.

Вторая нормальная форма (2НФ) применяется к отношениям с составными ключами (состоящими из двух и более атрибутов) и связана с понятиями функциональной зависимости.

Если в любой момент времени каждому значению атрибута A соответствует единственное значение атрибута B , то B функционально зависит от A (A B ). Атрибут (группа атрибутов) A называется детерминантом .

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

Отношение находится во 2НФ, если оно приведено к 1НФ и каждый неключевой атрибут функционально полно зависит от составного первичного ключа.

Третья нормальная форма (3НФ) связана с понятием транзитивной зависимости . Пусть A , B , C - атрибуты некоторого отношения. При этом A B и B C , но обратное соответствие отсутствует, т.е. C не зависит от B или B не зависит от A . Тогда говорят, что C транзитивно зависит от A (A C ).

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

Отношение находится в 3НФ, если оно находится во 2НФ и не имеет атрибутов, не входящих в первичный ключ и находящихся в транзитивной зависимости от первичного ключа.

Существуют также нормальная форма Бойса-Кодда (НФБК) , 4НФ и 5НФ . Однако наибольшее значение имеет 1НФ , т.к. последующие НФ связаны с понятиями о составных ключах и сложных зависимостях от ключей, а на практике встречаются обычно более простые случаи.

Моделирование структуры базы данных при помощи алгоритма нормализации имеет серьезные недостатки :

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

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

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

В реальном проектировании структуры базы данных применяются другой метод - семантическое моделирование , которое представляет собой моделирование структуры данных, опирающееся на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм «сущность-связь » c построением концептуальной модели базы данных.

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

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

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

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

Таблица 2.4. Операции, приводящие к нарушению ссылочной целостности

Операция

Родительская таблица

Дочерняя таблица

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

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

Обновление

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

При обновлении записи в дочерней таблице можно попытаться некорректно изменить значение внешнего ключа. Операция

Удаление

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

При удалении записи в дочерней таблице ссылочная целостность не нарушается .

Ссылочная целостность в принципе может быть нарушена при выполнении одной из четырех операций:

    Обновление записей в родительской таблице.

    Удаление записей в родительской таблице.

    Вставка записей в дочерней таблице.

    Обновление записей в дочерней таблице.

Существуют две основные стратегии поддержания ссылочной целостности:

    RESTRICT (Ограничить ) – не разрешать выполнение операции, приводящей к нарушению ссылочной целостности.

    CASCADE (Каскадное изменение ) – разрешить выполнение требуемой операции, но внести при этом необходимые изменения в связанных таблицах так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительской таблице и каскадно выполняется в дочерних таблицах. В реализации этой стратегии имеется одна тонкость, заключающаяся в том, что дочерние таблицы сами могут быть родительскими для некоторых третьих таблиц. При этом может дополнительно потребоваться выполнение какой-либо стратегии и для этой связи и т.д. Если при этом какая-либо из каскадных операций (любого уровня) не может быть выполнена, то необходимо отказаться от первоначальной операции и вернуть базу данных в исходное состояние. Это сложная стратегия, но она не нарушает связей между родительскими и дочерними таблицами.

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

Дополнительные стратегии поддержания ссылочной целостности:

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

    SET NULL (Задать значение NULL ) – разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на null-значения. Эта стратегия имеет два недостатка: 1) для нее требуется разрешение на использование null-значений; 2) записи дочерней таблицы теряют связь с записями родительской таблицы. Установить, с какой записью родительской таблицы были связаны измененные записи дочерней таблицы, после выполнения операции уже нельзя.

    SET DEFAULT (Задать значение по умолчанию ) – разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. Достоинство стратегии по сравнению с предыдущей в том, что она позволяет не пользоваться null-значениями. Установить, с какими записями родительской таблицы были связаны измененные записи дочерней таблицы, после выполнения такой операции тоже нельзя.

Wikispaces was founded in 2005 and has since been used by educators, companies and individuals across the globe.

Unfortunately, the time has come where we have had to make the difficult business decision to end the Wikispaces service.

We first announced the site closure in January 2018, through a site-wide banner that appeared to all logged-in users and needed to be clicked on to dismiss

During the closure period a range of banners were shown to users, including a countdown banner in the final month. Additionally, the home page of Wikispaces.com became a blog, detailing the reasons for the closure. Private Label Site Administrators were contacted separately regarding the closure

Wikispaces Tier Closedown Date
Classroom and Free Wikis end of service 31st July 2018
Plus and Super Wikis end of service 30th September 2018
Private Label Wikis end of service 31st January 2019

Why has Wikispaces closed?

Approximately 18 months ago, we completed a technical review of the infrastructure and software we used to serve Wikispaces users. As part of the review, it became apparent that the required investment to bring the infrastructure and code in line with modern standards was very substantial. We explored all possible options for keeping Wikispaces running but had to conclude that it was no longer viable to continue to run the service in the long term. So, sadly, we had to close the site - but we have been touched by the messages from users all over the world who began creating wikis with it and now running them on new platforms.

We would like to take this opportunity to thank you for your support over the years.

- — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN network database systemNDBS …

сетевая СУБД фирмы Borland Int - — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN Paradox LAN Pack … Справочник технического переводчика

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

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

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

Оптимизация запросов это 1) функция СУБД, осуществляющая поиск оптимального плана выполнения запросов из всех возможных для заданного запроса, 2) процесс изменения запроса и/или структуры БД с целью уменьшения использования вычислительных… … Википедия

Целью алгоритма соединения является реализация в конкретной СУБД операции соединения реляционной алгебры. Исходными данными для алгоритма являются два отношения (таблицы) и описание условия соединения. Результатом операции является отношение… … Википедия

Операция соединения (СУБД) реализация в конкретной СУБД операции соединения реляционной алгебры. Исходными данными для операции являются два отношения (таблицы) и описание условия соединения. Результатом операции является отношение… … Википедия

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

Эта статья должна быть полностью переписана. На странице обсуждения могут быть пояснения. Объектно реляционная СУБД (ОРСУБД) реляционная СУБД (РСУБД), поддерживающая неко … Википедия

 

 

Это интересно: