- 22. Сетевая модель данных. Язык описания данных (ddl) в сетевой модели.
- 20. Реляционная модель данных. Операции реляционной алгебры, выполняемые над отношениями.
- Ограничение целостности сетевой модели данных
- 3.2.2. Операции над данными.
- 3.2.3. Ограничения целостности.
- 17.Сетевая модель данных. Ограничения целостности сетевой модели. Сетевой подход к организации данных является расширением иерархического подхода.
- 19.Пользователи БнД. Основные функции группы администратора бд
22. Сетевая модель данных. Язык описания данных (ddl) в сетевой модели.
Сетевые модели данных базируется на использование графовой формы представления данных. Вершины графа используется для интерпретации типов сущностей. При реализации вершины графа представляются совокупностью описаний экземпляров сущностей соответствующего типа.
Язык, используемый для определения такой структуры, называется языком определения данных (data definition language, DDL). В текстовом DDL-файле перечисляются названия таблиц, указаны названия столбцов этих таблиц и описано их содержимое, определены индексы.
Структура БД может быть определена не только с помощью DDL в текстовом формате. Это может быть и графический способ задания структуры базы данных. На серверах и больших ЭВМ применяются как текстовые, так и графические средства. Например, в Oracle и SQL Server для определения данных могут применяться оба способа.
Во многих СУБД разработчик может устанавливать пароли и использовать другие средства контроля и безопасности. Существует множество различных стратегий обеспечения безопасности. В одних стратегиях объектами контроля являются структуры данных (например, таблица защищается паролем), в других – пользователи (ограничения на действия с таблицами).
20. Реляционная модель данных. Операции реляционной алгебры, выполняемые над отношениями.
В основе реляционной модели лежит реляционнное отношение. Отношение – это некоторое подмножество декартова произведения одного или более доменов. Домен – это множество (набор) однородных значений. Декартовым произведением доменов D1, D 2, …, D n называется множество всех кортежей (d1, d2,…,dn) длины n, то есть состоящих из n элементов – по одному элементу из каждого домена. Отношение степени 1 называется унарным, степени 2 – бинарным, степени 3 — тернарное, а степени n – арным. Число кортежей в этом подмножестве называется кардинальным числом отношения. Арность кортежа определяет арность отношения. Отношение имеет простую графическую интерпретацию, оно может быть представлено в виде таблицы, столбцы которой соответствуют вхождениям доменов в отношение, а строки – наборам из n значений, взятых из исходных доменов. Тогда можно дать следующее определение отношению. Отношение (relation) – это двумерная таблица. Каждая строка в таблице содержит данные, относящиеся к некоторому объекту или его части. Каждый столбец таблицы описывает какой-либо атрибут этого объекта. Иногда строки называются кортежами (tuples), а столбцы – атрибутами (attributes).
Объединением отношений называется отношение, содержащее множество кортежей принадлежащих либо первому, либо второму исходным отношениям, либо обоим одновременно: R1 = ; R2 =
Разностью отношений R1, R2 (R=R1\R2) называется множество кортежей принадлежащих R1, но не принадлежащих R2. Формат операции разности имеет следующий вид: R1 = ; R2 =
Пересечением отношений R1 и R2 называется отношение R той же арности, что и R1, R2 состоящее из кортежей принадлежащих одновременно как R1, так и R2. Формат операции пересечения имеет следующий вид: R=R1?R2=.
Операция произведения. Эту операцию можно реализовывать над отношениями разной арности.
Операция соединения используется для связывания данных между таблицами. Это, наиболее важная функция любого языка баз данных. У нее есть несколько версий: естественное соединение, тета-соединение, внешнее соединение. Наиболее важным из них является естественное соединение.
Операция проекции позволяет получить из некоторого отношения R новое отношение, в которое выбираются отдельные столбцы отношения R и компонуются в указанном порядке.
Ограничение целостности сетевой модели данных
На разработку этого стандарта большое влияние оказал американский ученый Ч.Бахман. Основные принципы сетевой модели данных были разработны в середине 60-х годов, эталонный вариант сетевой модели данных описан в отчетах рабочей группы по языкам баз данных (COnference on DAta SYstem Languages) CODASYL (1971 г.).
Сетевая модель данных определяется в тех же терминах, что и иерархическая. Она состоит из множества записей, которые могут быть владельцами или членами групповых отношений. Связь между между записью-владельцем и записью-членом также имеет вид 1:N .
Основное различие этих моделей состоит в том, что в сетевой модели запись может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством (возможно пустым) подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа (т.е. сотрудник из примера в п.3.1, например, не может работать в двух отделах).
- древья (a) и (b), показанные на рис. 3.1, заменяются одной сетевой структурой, в которой запись СОТРУДНИК входит в два групповых отношения;
- для отображения типа M:N вводится запись СОТРУДНИК_КОНТРАКТ, которая не имеет полей и служит только для связи записей КОНТРАКТ и СОТРУДНИК, см. рис. 3.2.(Отметим, что в этой записи может храниться и полезная информация, например, доля данного сотрудника в общем вознаграждении по данному контракту.)
- способ упорядочения подчиненных записей :
- произвольный,
- хронологический /очередь/,
- обратный хронологический /стек/,
- сортированный.
- автоматический — невозможно занести в БД запись без того, чтобы она была сразу же закреплена за неким владельцем;
- ручной — позволяет запомнить в БД подчиненную запись и не включать ее немедленно в экземпляр группового отношения. Эта операция позже инициируется пользователем).
- Фиксированное. Подчиненная запись жестко связана с записью владельцем и ее можно исключить из группового отношения только удалив. При удалении записи-владельца все подчиненные записи автоматически тоже удаляются. В рассмотренном выше примере фиксированное членство предполагает групповое отношение «ЗАКЛЮЧАЕТ» между записями «КОНТРАКТ» и «ЗАКАЗЧИК», поскольку контракт не может существовать без заказчика.
- Обязательное. Допускается переключение подчиненной записи на другого владельца, но невозможно ее существование без владельца. Для удаления записи-владельца необходимо, чтобы она не имела подчиненных записей с обязательным членством. Таким отношением связаны записи «СОТРУДНИК» и «ОТДЕЛ». Если отдел расформировывается, все его сорудники должны быть либо переведены в другие отделы, либо уволены.
- Необязательное. Можно исключить запись из группового отношения, но сохранить ее в базе данных не прикрепляя к другому владельцу. При удалении записи-владельца ее подчиненные записи — необязательные члены сохраняются в базе, не участвуя более в групповом отношении такого типа. Примером такого группового отношения может служить «ВЫПОЛНЯЕТ» между «СОТРУДНИКИ» и «КОНТРАКТ», поскольку в организации могут существовать работники, чья деятельность не связана с выполненинем каких-либо договорных обязательств перед заказчиками.
3.2.2. Операции над данными.
- ДОБАВИТЬ — внести запись в БД и, в зависимости от режима включения, либо включить ее в групповое отношение, где она объявлена подчиненной, либо не включать ни в какое групповое отношение.
- ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ — связать существующую подчиненную запись с записью-владельцем.
- ПЕРЕКЛЮЧИТЬ — связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении.
- ОБНОВИТЬ — изменить значение элементов предварительно извлеченной записи.
- ИЗВЛЕЧЬ — извлечь записи последовательно по значению ключа, а также используя групповые отношения — от владельца можно перейти к записям — членам, а от подчиненной записи к владельцу набора.
- УДАЛИТЬ — убрать из БД запись. Если эта запись является владельцем группового отношения, то анализируется класс членства подчиненных записей. Обязательные члены должны быть предварительно исключены из группового отношения, фиксированные удалены вместе с владельцем, необязательные останутся в БД.
ИСКЛЮЧИТЬ ИЗ ГРУППОВОГО ОТНОШЕНИЯ — разорвать связь между записью-владельцем и записью-членом.
3.2.3. Ограничения целостности.
Как и в иерархической модели обеспечивается только поддержание целостности по ссылкам (владелец отношения — член отношения).
Литература:Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. -М: «Финансы и статистика», 1989.
17.Сетевая модель данных. Ограничения целостности сетевой модели. Сетевой подход к организации данных является расширением иерархического подхода.
В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных у потомка может иметься любое число предков.
Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно, из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи.
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
• каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
• каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.
На формирование типов связи не накладываются особые ограничения; возможны, например, следующие ситуации:
• тип записи потомка в одном типе связи L1 может быть типом записи предка в другом типе связи L2 (как в иерархии);
• данный тип записи P может быть типом записи предка в любом числе типов связи;
• данный тип записи P может быть типом записи потомка в любом числе типов связи;
• может существовать любое число типов связи с одним и тем же типом записи предка и одним и тем же типом записи потомка; и если L1 и L2 — два типа связи с одним и тем же типом записи предка P и одним и тем же типом записи потомка C, то правила, по которым образуется родство, в разных связях могут различаться;
• типы записи X и Y могут быть предком и потомком в одной связи и потомком и предком – в другой;
• предок и потомок могут быть одного типа записи.
Имеется (необязательная) возможность потребовать для конкретного типа связи отсутствие потомков, не участвующих ни в одном экземпляре этого типа связи (как в иерархической модели).
19.Пользователи БнД. Основные функции группы администратора бд
На каждом этапе своего существования с банком данных связаны разные категории пользователей
Определим основные категории пользователей и их роль в функционировании банка данных:
Конечные пользователи. Это основная категория пользователей, в интересах которой и создается банк данных. В зависимости от особенностей создаваемого банка данных круг его конечных пользователей может существенно различаться. Это могут быть случайные пользователи, обращающиеся к БД время от времени к базе данных за получением некоторой информации, а могут быть регулярные пользователи. В качестве случайных пользователей могут рассматриваться, например, возможные клиенты вашей фирмы, просматривающие каталог вашей продукции или услуг с обобщенным или подробным описанием того и другого.
Основные функции группы администратора БД
1. Анализ предметной области: описание предметной области, выявление ограничений целостности, определение статуса (доступности, секретности) информации, определение потребностей пользователей, определение соответствия «данные-пользователь», определение объемно-временных характеристик обработки данных.
2. Проектирование структуры БД: определение состава и структуры файлов БД и связей между ними, выбор методов упорядочения данных и методов доступа к информации, описание БД на языке описания данных (ЯОД).
3. Задание ограничений целостности при описании структуры БД и процедур обработки БД:
4. Первоначальная загрузка и ведение БД:
6. Обеспечение восстановления БД:
7. Анализ обращений пользователей БД: сбор статистики по характеру запросов, по времени их выполнения, по требуемым выходным документам
8. Анализ эффективности функционирования БнД:
10. Подготовка и поддержание системных средств:
11. Организационно-методическая работа по проектированию БнД: