7. Сетевая модель данных: понятие, достоинства, недостатки.
Сетевая модель – это структура, у которой любой элемент может быть связан с любым другим элементом. Сетевая база данных состоит из наборов записей, которые связаны между собой так, что записи могут содержать явные ссылки на другие наборы записей. Тем самым наборы записей образуют сеть. Связи между записями могут быть произвольными, и эти связи явно присутствуют и хранятся в базе данных. Над данными в сетевой базе могут выполняться следующие операции: -Добавить – внести запись в базу данных. -Извлечь – извлечь запись из базы данных. -Обновить – изменить значение элементов предварительно извлеченной записи. -Удалить – убрать запись из базы данных. -Включить в групповое отношение – связать существующую подчиненную запись с записью-владельцем. -Исключить из группового отношения – разорвать связь между записью-владельцем и записью-членом. -Переключить – связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении. Первоначально сетевая модель замышлялась как инструмент для программистов. В качестве базового языка программирования был выбран Cobol. Одна из первых сетевых моделей данных, разработанная группой CODASYL, была предложена в 1969 г. и развивалась до 80-х годов. К известным сетевым системам управления базами данных относятся: DBMS, IDMS, TOTAL, VISTA, СЕТЬ, СЕТОР, КОМПАС и др. Основное достоинство сетевой модели – это высокая эффективность затрат памяти и оперативность. Недостаток – сложность и жесткость схемы базы, а также сложность понимания. Кроме того, в этой модели ослаблен контроль целостности, так как в ней допускается устанавливать произвольные связи между записями.
8. Реляционная модель данных: понятие, достоинства, недостатки.
Реляционная модель представляет собой совокупность данных, состоящую из набора двумерных таблиц. Реляционная модель является удобной и наиболее привычной формой представления данных. Реляционная модель данных представляет собой комплекс взаимосвязанных простейших двумер-ных таблиц-отношений. Отношение – реляционная таблица. Столбцы отношений – домены, а строки – кортежи. Ключ – один или несколько полей, однозначно определяющих записи. Ключ главного называется первичным, а подчиненного – вторичным. Целостность отношений (таблиц) – накладывает ограничения на значения первичного ключа (они должны быть уникальны и не пусты). Ссылочная целостность – каждое значение внешнего ключа должно совпадать с одним из значений первичного ключа. Достоинства реляционной модели: простота для понимания и наглядна; имеет строгое математическое обоснование. Недостатки: не допускает представления объектов со сложной структурой, поскольку в ее рамках возможно моделирование лишь с помо-щью двумерных таблиц; данные об объектах содержатся, как правило, во многих таблицах. Из-влечение информации об объекте требует выполнения многих операций соединения с помощью первичных и внешних ключей, что значительно замедляет обработку данных. Достоинства реляционных баз данных можно сформулировать так: -Упрощенная схема представления данных – в виде таблицы. -Простота инструментальных средств поддержки реляционной модели. -Оптимизация доступа к базе данных, поскольку системы сами выбирают наиболее эффективную последовательность действий. -Улучшение целостности и защиты, поскольку реляционная модель позволяет улучшить выражение требований целостности путем использования языка высокого уровня. -Возможности различных применений, в том числе и рассчитанных на не специалистов в области программирования. -Обеспечение пользователя языками высокого уровня при работе с базой данных. -Обеспечение методологического подхода, поскольку главной целью модели базы данных является возможность описания реального мира, что проще всего осуществляется в реляционной модели. Недостаток реляционной модели – в жесткости структуры данных, например, невозможно задать строку таблицы произвольной длины, а также сложность описания иерархических и сетевых связей.
В настоящее время многие известные системы управления базами данных используют именно реляционную модель представления данных.
Сетевая модель данных, ее достоинства и недостатки.
Сетевая модель данных — логическая модель данных, являющаяся расширениемиерархического подхода, строгая математическая теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в сетевых базах данных.
Разница между иерархической моделью данных и сетевой состоит в том, что в иерархических структурах запись-потомок должна иметь в точности одного предка, а в сетевой структуре данных у потомка может иметься любое число предков.
Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
· каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
· каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.
Достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности.
Недостатком сетевой модели данных являются высокая сложность и жесткость схемы БД, построенной на ее основе. Поскольку логика процедуры выборки данных зависит от физической организации этих данных, то эта модель не является полностью независимой от приложения. Другими словами, если необходимо изменить структуру данных, то нужно изменить и приложение.
Реляционная модель данных, ее достоинства и недостатки.
Почти все продукты баз данных, созданные с конца 70-х годов, основаны на подходе, который называют реляционным (relational).
Реляционная БД представляет собой хранилище данных, организованных в виде двумерных таблиц. Любая таблица реляционной БД состоит из строк (записей) и столбцов (полей). Строки таблицы содержат сведения о представленных в ней фактах (об однотипных объектах). На пересечении столбца и строки находятся конкретные значения содержащихся в таблице данных. Каждый столбец имеет заданный тип данных, а также ограничения на допустимые значения и диапазон значений.
Реляционная СУБД — СУБД, управляющая реляционными БД. Определение реляционной системы управления базами данных:
— Данные воспринимаются пользователем как таблицы (и никак иначе).
— В распоряжении пользователя имеются операторы, которые генерируют новые таблицы из старых.
Одна из непосредственных задач такой СУБД — осуществлять контроль целостности данных. Под целостностью данных подразумевается логическая непротиворечивость данных. Различают три понятия целостности:
— Целостность в отношении конкретной базы. Например, такие данные, как возраст, рост, вес не могут быть отрицательными.
— Целостность сущностей. В таблице, где хранятся записи об объектах, не может быть двух одинаковых объектов, а также не может быть неопределенных объектов, т.е. записей с неопределенным значением (NULL-значением) первичного ключа. СУБД не должна допускать записей с повторяющимися значениями первичного ключа или NULL-значением одного из компонентов первичного ключа. Первичный ключ — это столбец или группа столбцов в одной таблице таких, что не может существовать двух записей с одинаковым значением этого столбца или группы столбцов, причем для случая группы столбцов никакое подмножество столбцов не является уникальным.
— Ссылочная целостность. Таблицы могут находиться во взаимосвязях один к одному, один ко многим и многие ко многим. Связи между таблицами осуществляются на основании внешних ключей. В любой записи в одной таблице должна найтись запись в другой таблице. СУБД должна предоставлять механизмы для контроля операций и соблюдения ссылочной целостности при выполнении операций INSERT, UPDATE и DELETE. К сожалению, не все СУБД имеют такие механизмы
Отличие реляционной модели от графовых моделей (иерархической и сетевой).
Разница между иерархической моделью данных и сетевой состоит в том, что в иерархических структурах запись-потомок должна иметь в точности одного предка, а в сетевой структуре данных у потомка может иметься любое число предков.
Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
· каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
· каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.
Основные понятия реляционной алгебры
Реляционной базой данных называется совокупность отношений, содержащих всю информацию, которая должна хранится в базе.
строка в таблице является кортежем в реляционной теории. Множество упорядоченных кортежей называется отношением.
В отношении требованием является то, что все кортежи должны различаться. Для однозначной идентификации кортежа существует первичный ключ. Первичный ключ это атрибут или набор из минимального числа атрибутов, который однозначно идентифицирует конкретный кортеж и не содержит дополнительных атрибутов.
Подразумевается, что все атрибуты в первичном ключе должны быть необходимыми и достаточными для идентификации конкретного кортежа, и исключение любого из атрибутов в ключе сделает его недостаточным для идентификации.
Например, в такой таблице ключом будет сочетание атрибутов из первого и второго столбца.
В реляционной БД таблицы взаимосвязаны и соотносятся друг с другом как главные и подчиненные. Связь главной и подчиненнной таблицы осуществляется через первичный ключ (primarykey) главной таблицы и внешний ключ (foreignkey) подчиненной таблицы.
Внешний ключ это атрибут или набор атрибутов, который в главной таблице является первичным ключем.
Определение сущности.
Сущность – любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие «тип сущности» относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе.
Понятие первичного ключа
Перви́чный ключ — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию).
Если в отношении имеется единственный потенциальный ключ, он является и первичным ключом. Если потенциальных ключей несколько, один из них выбирается в качестве первичного, а другие называют «альтернативными».
С точки зрения теории все потенциальные ключи отношения эквивалентны, то есть обладают одинаковыми свойствами уникальности и минимальности. Однако в качестве первичного обычно выбирается тот из потенциальных ключей, который наиболее удобен для тех или иных практических целей, например для созданиявнешних ключей в других отношениях либо для создания кластерного индекса. Поэтому в качестве первичного ключа, как правило, выбирают тот, который имеет наименьший размер (физического хранения) и/или включает наименьшее количество атрибутов.
Другой критерий выбора первичного ключа — сохранение уникальности со временем. Всегда существует вероятность того, что некоторый потенциальный ключ перестанет быть таковым в долговременной перспективе или при изменении требований к системе. Например, если номер студенческой группы включает последнюю цифру года поступления, то номера групп для идентификации групп уникальны только в течение 10 лет. Поэтому в качестве первичного ключа стараются выбирать такой потенциальный ключ, который с наибольшей вероятностью не утратит уникальность.