Сетевая модель данных
Понятие сетевой модели данных, история их возникновения и операции над ними. Сущность ограничения целостности. Сравнительная характеристика сетевой и концептуальной моделей. Анализ CODASYL DBTG и реляционной модели, выяснение их сильных и слабых сторон.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 22.11.2012 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Оглавление
1. Сетевая модель данных 2
1.1 История возникновения сетевой модели данных. Понятие сетевой модели данных 2
1.2 Операции над данными 5
1.3 Ограничения целостности 6
1.4 Основные понятия и определения. Связь сетевой модели с понятиями концептуальной модели 6
1.5 Понятие языка определения данных (ЯОД - DBTG) 9
1.6 Сравнение модели CODASYL DBTG с реляционной моделью, выяснение их сильных и слабых сторон 10
1.7 Язык манипуляции данными (ЯМД) 12
2. Расчет удержаний с заработной платы 15
Список литературы 23
1. Сетевая модель данных
1.1 История возникновения сетевой модели данных. Понятие сетевой модели данных
На разработку этого стандарта большое влияние оказал американский ученый Ч. Бахман. Основные принципы сетевой модели данных были разработны в середине 60-х годов, эталонный вариант сетевой модели данных описан в отчетах рабочей группы по языкам баз данных (COnference on DAta SYstem Languages) CODASYL (1971 г.).
Поэтому сетевые системы и называют системами CODASYL или системами DBTG по имени группы, которая их предложила - Data Base Task Group (DBTG) of the Conference on Data Systems Languages (CODASYL). Наиболее известной из таких систем была IDMS корпорации Computer Associates International, Inc.
Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данное-потомок может иметь любое число предков.
Подобно иерархическим системам (но в отличие от реляционных), все такие системы, кроме всего прочего, предоставляли в распоряжение пользователя внутренние указатели на элементы данных.
Сетевая модель данных определяется в тех же терминах, что и иерархическая. Она состоит из множества записей, которые могут быть владельцами или членами групповых отношений.
Основное различие этих моделей состоит в том, что в сетевой модели запись может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством (возможно пустым) подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа (т.е. сотрудник, например, не может работать в двух отделах).
Сетевая модель опирается на математическую структуру, которая называется направленным графом. Направленный граф состоит из узлов, соединенных ребрами. В контексте моделей данных узлы представляют собой объекты в виде типов записей данных, а ребра -- связи между объектами со степенью кардинальности «один к одному» или «один ко многим». Если говорить более точно, сетевая БД состоит из набора экземпляров каждого типа из заданного в схеме БД набора типов записей и набора экземпляров каждого типа из заданного набора типов связи.
Каждый экземпляр группового отношения характеризуется следующими признаками:
способ упорядочения подчиненных записей:
произвольный,
хронологический /очередь/,
обратный хронологический /стек/,
сортированный.
Если запись объявлена подчиненной в нескольких групповых отношениях, то в каждом из них может быть назначен свой способ упорядочивания.
режим включения подчиненных записей:
автоматический - невозможно занести в БД запись без того, чтобы она была сразу же закреплена за неким владельцем;
ручной - позволяет запомнить в БД подчиненную запись и не включать ее немедленно в экземпляр группового отношения. Эта операция позже инициируется пользователем).
режим исключения.
На примере можно показать, как иерархическая структура преобразовывается в сетевую:
деревья заменяются одной сетевой структурой, в которой запись Сотрудник входит в два групповых отношения (рис. 1);
для отображения типа M:N вводится запись Сотрудник_Контракт, которая не имеет полей и служит только для связи записей Контракт и Сотрудник. Отметим, что в этой записи может храниться и полезная информация, например, доля данного сотрудника в общем вознаграждении по данному контракту.
Принято выделять три класса членства подчиненных записей в групповых отношениях:
Фиксированное. Подчиненная запись жестко связана с записью владельцем и ее можно исключить из группового отношения только удалив. При удалении записи-владельца все подчиненные записи автоматически тоже удаляются. В рассмотренном выше примере фиксированное членство предполагает групповое отношение "Заключает" между записями "Контракт" и "Заказчик", поскольку контракт не может существовать без заказчика.
Обязательное. Допускается переключение подчиненной записи на другого владельца, но невозможно ее существование без владельца. Для удаления записи-владельца необходимо, чтобы она не имела подчиненных записей с обязательным членством. Таким отношением связаны записи "Сотрудник" и "Отдел". Если отдел расформировывается, все его сорудники должны быть либо переведены в другие отделы, либо уволены.
Необязательное. Можно исключить запись из группового отношения, но сохранить ее в базе данных не прикрепляя к другому владельцу. При удалении записи-владельца ее подчиненные записи - необязательные члены сохраняются в базе, не участвуя более в групповом отношении такого типа. Примером такого группового отношения может служить "Выполняет" между "Сотрудники" и "Контракт", поскольку в организации могут существовать работники, чья деятельность не связана с выполнением каких-либо договорных обязательств перед заказчиками.
сетевой модель данные реляционный
1.2 Операции над данными
Добавить - внести запись в БД и, в зависимости от режима включения, либо включить ее в групповое отношение, где она объявлена подчиненной, либо не включать ни в какое групповое отношение.
Включить в групповое отношение - связать существующую подчиненную запись с записью-владельцем.
Переключить - связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении.
Обновить - изменить значение элементов предварительно извлеченной записи.
Извлечь - извлечь записи последовательно по значению ключа, а также используя групповые отношения - от владельца можно перейти к записям - членам, а от подчиненной записи к владельцу набора.
Удалить - убрать из БД запись. Если эта запись является владельцем группового отношения, то анализируется класс членства подчиненных записей. Обязательные члены должны быть предварительно исключены из группового отношения, фиксированные удалены вместе с владельцем, необязательные останутся в БД.
Исключить из группового отношения - разорвать связь между записью-владельцем и записью-членом.
1.3 Ограничения целостности
Как и в иерархической модели обеспечивается только поддержание целостности по ссылкам (владелец отношения - член отношения).
1.4 Основные понятия и определения. Связь сетевой модели с понятиями концептуальной модели
Модель данных -- это некоторая абстракция, в которой отражаются самые важные аспекты функционирования выделенной предметной области, а второстепенные игнорируются. Модель данных включает в себя набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные. В модели данных различают три главные составляющие:
1. структурную часть, определяющую правила порождения допустимых для данной СУБД видов структур данных;
2. управляющую часть, определяющую возможные операции над такими структурами;
3. классы ограничений целостности данных, которые могут быть реализованы средствами этой системы
Три категории модели данных:
1. объектные модели данных;
2. модели данных на основе записей;
3. физические модели данных.
Применительно к трехуровневой архитектуре баз данных следует отметить, что первые две категории используются для описания данных на внешнем и концептуальном уровнях, а последняя категория -- на внутреннем уровне.
В технологии, разработанной CODASYL, используются несколько различных типовых структур данных, главными из которых являются: типы записей и наборы. Для построения этих структур применяются такие конструктивные элементы, как элемент данных, агрегат. Структуризация данных базируется на концепциях агрегации и обобщения. Агрегация используется для композиции элементов данных в запись. Обобщение используется для объединения однотипных записей файлов. Рассмотрим основные элементы сетевой модели данных.
Элемент данных -- это наименьшая поименованная информационная единица данных, доступная пользователю (аналог - поле в файловой системе). Элемент данных должен иметь свой тип (не структурный, простой).
Агрегат данных соответствует следующему уровню обобщения -- поименованная совокупность элементов данных внутри записи или другого агрегата (рис. 4.02).
Запись -- конечный уровень агрегации. Каждая запись представляет собой именованную структуру, содержащую один или более именованных элементов данных, каждый из которых обладает своим особым форматом.
Тип записей -- это совокупность логически связанных экземпляров записей. Тип записей моделирует некоторый класс объектов реального мира. В качестве элемента данных могут быть использованы только простые типы, а в качестве агрегатов могут быть использованы сложные типы: вектор и повторяющаяся группа.
Набор -- это поименованная двухуровневая иерархическая структура, которая содержит запись владельца и записи членов. Наборы выражают связи «один ко многим» или «один к одному» между двумя типами записей. Тип набора поддерживает работу с внутренними структурами типов записей.
Тип набора -- это не аналог файла, он определяет связь между типами записей. Каждый экземпляр типа набора может содержать только один экземпляр записи владельца и сколько угодно экземпляров записей членов.
База данных в сетевой модели данных -- это поименованная совокупность экземпляров записей различного типа и экземпляров наборов, содержащих связи между ними.
Преобразование концептуальной модели в сетевую.
Сетевая модель данных может быть без осложнений получена из концептуальной модели. Для этого надо предположить, что в последней используются только бинарные связи. Причем они должны принадлежать к типам «один к одному» или «один ко многим». При этом вместо объектов концептуальной модели необходимо использовать типы записей сетевой модели, где имена объектов становятся именами типов записей, атрибуты объектов становятся полями записей, связь между объектами превращается в связь между типами записей.
Бинарные связи, принадлежащие к типу «один ко многим», переносятся в сетевую модель следующим образом: тип записи со стороны «один» становится владельцем, а тип записи со стороны «много» становится типом записи-члена. Для связи типа «один к одному» выбор типа записи - владельца и типа записи-члена может быть осуществлен произвольно.
Присущие сетевым моделям внутренние ограничения не позволяют напрямую моделировать некоторые реально существующие в предметной области типы связей. К таким типам связей относятся рекурсивные связи и связи типа M:N. Для того, чтобы их отразить в сетевой модели, применяют различные подходы, которые приводят к определенным преобразованиям графа.
1.5 Понятие языка определения данных (ЯОД - DBTG)
Язык - средство, при помощи которого определяется структура данных или схема, а также происходит запоминание данных и манипуляция ими. Язык, которым определяется схема, называется языком определения данных (ЯОД).
Процедура применения ЯОД и определения схемы такова:
Создается концептуальная модель данных.
Концептуальная модель данных преобразуется в диаграмму сетевой структуры данных.
Проверяется, существуют ли между типами записей отношения один-ко-многим. Они могут быть непосредственно реализованы в виде наборов DBTG.
Если есть отношения мощности многие-ко-многим, то каждое из них преобразуется в два набора путем создания записи связи.
Если есть n-арные отношения, то они преобразуются в бинарные отношения.
Применяется ЯОД для реализации схемы.
Схема состоит из следующих частей:
Раздел схемы. Раздел схемы DBTG, задающий имя схемы.
Раздел записей. Раздел схемы DBTG, определяющий каждую запись: ее элементы данных и ее адрес.
Раздел наборов. Раздел схемы DBTG, определяющий наборы, включая типы записей владельцев и членов.
Подсхемы - это в основном, подмножества схемы. В подсхеме могут быть сгруппированы элементы данных, которые не были сгруппированы в схеме; записи и наборы могут быть переименованы и порядок описаний может быть изменен.
Принятого стандарта DBTG для подсхемы не существует; однако, обычно используются следующие отделы:
Отдел заголовка, позволяющий присвоить имя подсхеме и указать связанную с ней схему.
Отдел преобразования, в котором при желании производится замена имен из схемы на нужные в подсхеме.
Структурный отдел, в котором задается, какие записи, элементы данных и наборы из схемы должны присутствовать в подсхеме. Этот отдел состоит из разделов записей и наборов.
Раздел записей подсхемы. Раздел структурного отдела, в котором задаются записи, элементы данных и типы данных подсхемы.
Раздел наборов подсхемы. Раздел структурного отдела, в котором задаются наборы, которые должны быть включены в подсхему.
Подсхема позволяет пользователю строить из предопределенной схемы схему, соответствующую нуждам конкретного приложения.
1.6 Сравнение модели CODASYL DBTG с реляционной моделью, выяснение их сильных и слабых сторон
Сетевая модель данных является, вероятно, наиболее общей по возможностям представления концептуальной модели. По сути, любая ER-диаграмма без каких-либо изменений представляется средствами сетевой модели. К недостаткам сетевой модели обычно относят сложность получаемой на её основе концептуальной схемы и большую трудоемкость понимания соответствующей схемы внешним пользователем.
Наиболее существенным недостатком, является «жесткость» получаемой концептуальной схемы. Связи закреплены в записях в виде указателей. При появлении новых аспектов использования этих же данных может возникнуть необходимость установления новых связей между ними. Это требует введения в записи новых указателей, т.е. изменения структуры БД, и, соответственно, переформирования всей базы данных.
Учитывая отмеченные в предыдущих разделах недостатки сетевых и иерархических моделей, можно сформулировать желательные требования к модели данных:
модель должна быть понятна пользователю, не имеющему особых навыков в программировании;
появление новых аспектов использования данных и необходимость введения новых связей не должны приводить к реструктуризации всей модели данных и базы данных в целом.
Моделью данных, удовлетворяющей вышеуказанным требованиям, является реляционная модель, часто называемая также табличной.
Основными используемыми понятиями здесь также являются поле, запись и файл. Структура записи определяет структуру таблицы, содержащей экземпляры соответствующей записи. Столбцы таблицы представляют собой имена полей записи, строки таблицы - экземпляры записи. Таким образом, понятие «таблица» здесь соответствует понятию «файл» модели данных.
Групповое отношение может представляться двумя способами. При первом способе в таблицы, соответствующие группам - членам отношения, добавляются столбцы ключевых полей (атрибутов) другого члена отношения (связь описывается через ключевые атрибуты).
При втором способе групповое отношение определяется как дополнительная группа (дополнительная таблица). Столбцами этой дополнительной таблицы являются ключи групп - членов отношения. Таким образом, при любом способе соответствующая модель данных представляет собой совокупность структур таблиц.
Для формального описания таблицы используется теоретикомножественное понятие отношения. Список названий столбцов таблицы (имен полей записи, соответствующих атрибутам) именуют схемой отношения и обозначают R (A1, A2, …, An).
Совокупность схем отношений, используемых для представления концептуальной модели, называется схемой реляционной базы данных, а текущие значения соответствующих отношений - реляционной базой данных.
В качестве основного недостатка реляционной модели можно указать дублирование информации при представлении связей.
1.7 Язык манипуляции данными (ЯМД)
Язык манипуляции данными (ЯМД) обеспечивает эффективные команды манипуляции сетевой системой базы данных. ЯМД позволяет пользователям выполнять над базой данных операции в целях получения информации, создания отчетов, а также обновления и изменения содержимого записей.
Основные команды ЯМД можно классифицировать следующим образом: команды передвижения, команды извлечения, команды обновления записей, команды обновления наборов (таблица 2).
Таблица 2
№ |
Наименование типа команд |
Назначение |
|
1 |
Команды передвижения. |
Команды, применяемые для поиска записей базы данных. |
|
2 |
Команды извлечения. |
Команды, применяемые для извлечения записей базы данных. |
|
3 |
Команды обновления записей. |
Команды, применяемые для изменения значений записей. |
|
4 |
Команды обновления наборов. |
Команды, применяемые для добавления, изменения или удаления экземпляров наборов. |
Языки манипулирования данными представляют собой систему команд, например, следующего типа:
произвести выборку данных, значения которых удовлетворяют заданным условиям;
произвести выборку всех данных определенного типа, значения которых удовлетворяют заданным условиям;
найти в базе позицию данного и поместить туда новое значение (или удалить данное) и т.д.
ЯМД делятся на процедурные и непроцедурные. При пользовании процедурными языками надо указать, какие действия и над какими объектами необходимо выполнить, чтобы получить результат. В непроцедурных языках указывается, что надо получить в ответе, а не как этого достичь.
Процедурные языки могут различаться по основным информационным единицам, которыми они манипулируют. Это могут быть языки, ориентированные на позаписную обработку данных, и языки, ориентированные на операции над множеством записей. Так операции реляционной алгебры оперируют целиком отношением, а не каждой его записью.
Примерами непроцедурных языков являются языки, основанные на реляционном исчислении. Представителем языков, основанных на реляционном исчислении кортежей, является широко используемый язык запросов SQL.
Языковые средства предназначаются для пользователей разных категорий: конечных пользователей, системных аналитиков, профессиональных программистов. Повышение уровня языковых средств, их дружелюбность приводят к тому, что все большее число функций выполняется пользователями - непрограммистами самостоятельно, без посредников.
По своим функциональным возможностям выделяют следующие категории языков:
языки, обеспечивающие только возможности запросов;
комплексные языки запросов - обновлений. Позволяют формировать сложные запросы, относящиеся к нескольким взаимосвязанным записям;
генераторы отчетов. Они позволяют выбирать нужные данные из файлов или баз данных и форматировать их в виде требуемых форм документов;
графические языки;
инструментальные средства поддержки решений. Языки этого типа предназначены для создания систем принятия решений. Это могут быть системы типа «что - если», системы, выполняющие временной или трендовый анализ и др.;
генераторы приложений;
машиноориентированные языки спецификаций;
языки очень высокого уровня (NOWAD);
параметрические пакеты прикладных программ;
языки приложений (языки управления финансами, управления работой станков с программным управлением и т.д.).
По форме представления языковые средства бывают аналитичные, графические, табличные.
Бывает, что в рамках одной СУБД для одних и тех целей могут использоваться языки разных типов.
Например, в СУБД ACCESS для манипулирования данными могут использоваться:
язык программирования Visual Basic,
язык QBE,
язык SQL.
Кроме перечисленных языковых средств система включает в себя генераторы экранных форм, отчетов и приложений.
2. Расчет удержаний с заработной платы
1. Создать таблицы:
Таблица 1. Справочник работников
Структура таблицы: Табельный номер, Фамилия И.О., Номер отдела, Количество детей
Таблица 2. Ведомость начислений
Структура таблицы: Номер месяца, Табельный номер, Начислено
Таблица 3. Ведомость удержаний.
Структура таблицы: Номер месяца, Табельный номер, Всего начислено, Удержан ПН
Ввести в таблицу 1 сведения о 15-ти работниках, работающих в трех отделах и имеющих разное количество детей. Количество детей работника определяет величину суммы вычета, не облагаемого подоходным налогом.
3. Создать форму «Ведомость начислений» для ввода данных в таблицу 2, предусмотрев контроль вводимых данных «Начислено» на соответствие заданному диапазону и выдачу сообщений при возникновении ошибок ввода. Для ввода номера месяца и табельного номера использовать поле со списком, Ввести данные для всех работников за один месяц.
Проверка на принадлежность диапазону:
Для ввода номера месяца и табельного номера использовано поле со списком:
4. Создать запрос на добавление расчетных данных за месяц в таблицу 3.
Расчет удержаний выполнить по формуле: Удержан подоходный налог - (Bceгo начислено - Стандартный вычет на работника - Стандартный вычет на l-го ребенка * Количество детей) * 0,13. Номер месяца и значения стандартных вычетов вводятся при выполнении запроса.
В запросе произведём необходимые вычисления, считая, Стандартный вычет на работника равен 600 рублей, а вычет на одного ребёнка 400 рублей. Воспользуемся Построителем выражений:
По данным таблиц создать форму типа главная/подчиненная только для просмотра начислений и удержаний по одному работнику, табельный номер которого должен выбираться из списка. Главная форма должна содержать все поля таблицы 1. Подчиненная форма должна содержать строки по числу отработанных месяцев, в каждой из которых выводятся данные о начисленной, удержанной сумме и сумме к выдаче, а также строку «Итого начислено», «Итого удержано» и «Итого к выдаче».
Для создания подчинённой формы предварительно был выполнен запрос к базе данных, где произведено вычисление значения К выдаче:
Создать многостраничный отчет «Платежная ведомость по отделу... за месяц...». Номер месяца должен вводиться по запросу. Ведомость каждого отдела выводить на отдельный лист. Ведомость должна содержать столбцы: Табельный номер, Фамилия И.О., Сумма к выдаче, Подпись. В отчет вывести итоговую сумму по ведомости.
Вставляем разрыв страницы в режиме Конструктора:
Разбиение на страницы видно в режиме предварительного просмотра: Файл - Печать - Предварительный просмотр.
Список литературы
1. Акулов О.А. Информатика: базовый курс: Учеб. пособие для студентов вузов / О.А. Акулов, Н.В. Медведев.- 2-е изд., испр. и доп.- М.: Омега-Л, 2005.
2. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. -М: "Финансы и статистика", 2009.
3. Долженков В.А., Колесников Ю.В. Microsoft Excel 2003. - СПб.: БХВ-Петербург, 2006
4. Информатика. Учебник для вузов / Под ред. Н.В. Макаровой. - М., 2001
5. Козырев А.А. Информационные технологии в экономике / А.А. Козырев, А.П. Юдин.- СПб., 2000.
6. Корнеев И.К. Информационные технологии в управлении / И.К. Корнеев.- М., 2001.
7. Острейковский В.А. Информатика: Учебник для вузов. М.: Высшая школа, 2004
Размещено на Allbest.ru
Подобные документы
Сущность и характеристика типов моделей данных: иерархическая, сетевая и реляционная. Базовые понятия реляционной модели данных. Атрибуты, схема отношения базы данных. Условия целостности данных. Связи между таблицами. Общие представления о модели данных.
курсовая работа [36,1 K], добавлен 29.01.2011Модель данных как совокупность структур данных и операций их обработки. Иерархическая, сетевая и реляционная модели данных, их основные преимущества и недостатки. Операции над данными, определенные для каждой из моделей, ограничения целостности.
реферат [128,4 K], добавлен 16.02.2012Характеристика реляционной, иерархической и сетевой моделей баз данных. Анализ методов проектирования (декомпозиция, синтез, объектная связь), организации, обновления, восстановления, ограничений, поддержания целостности данных на примере СУБД Ms Access.
дипломная работа [347,4 K], добавлен 13.02.2010Характеристика сетевой модели данных и ее достоинства. Построение иерархической модель данных по принципу иерархического подчинения типов объектов, приведение ее к виду дерева введением избыточности. Реляционная модель, основанная на теории отношений.
реферат [227,1 K], добавлен 28.11.2011Основные понятия реляционной модели данных. Отношение атрибутов внутри модели. Контроль ссылочной целостности (анализ содержимого ключевых полей связанных таблиц). Нормализация отношений реляционной базы данных. Теоретико-множественные операции.
реферат [69,8 K], добавлен 19.12.2011Сущность и предназначение сетевой модели данных TCP/IP. Уровень приложений TCP/IP. Схема работы веб-браузера. Транспортный уровень TCP/IP. Схема использования служб Ethernet протоколом IP. Этапы передачи данных узлом в реальной физической среде сети.
доклад [791,9 K], добавлен 02.04.2012Построение концептуальной модели, процесс моделирования смыслового наполнения базы данных. Основные компоненты концептуальной модели. Построение реляционной модели. Целостность данных в реляционной базе. Нормализация. Проектирование базы данных в ACCESS.
курсовая работа [1,8 M], добавлен 29.10.2008Преимущества и недостатки иерархической модели данных. Целостная часть реляционной модели данных. Базовые требования целостности сущностей и по ссылкам. Ограничения целостности сущности и по ссылкам. Аксиомы Армстронга, аномалии обновления и их виды.
контрольная работа [262,3 K], добавлен 05.02.2011Определенная логическая структура данных, которые хранятся в базе данных. Основные модели данных. Элементы реляционной модели данных. Пример использования внешних ключей. Основные требования, предъявляемые к отношениям реляционной модели данных.
презентация [11,7 K], добавлен 14.10.2013Базы данных и их использование в вычислительной технике. Особенности и основная конструктивная единица сетевой модели данных. Иерархическая модель, объекты предметной области. Реляционная модель, ее наглядность, представление данных в табличной форме.
реферат [115,8 K], добавлен 19.12.2011