Работа с базами данных - Программирование, компьютеры и кибернетика дипломная работа

Работа с базами данных - Программирование, компьютеры и кибернетика дипломная работа



































Характеристика реляционной, иерархической и сетевой моделей баз данных. Анализ методов проектирования (декомпозиция, синтез, объектная связь), организации, обновления, восстановления, ограничений, поддержания целостности данных на примере СУБД Ms Access.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Веками человечество накапливало знания, навыки работы, сведения об окружающем мире, другими словами - собирало информацию. Вначале информация передавалась из поколения в поколение в виде преданий и устных рассказов. Возникновение и развитие книжного дела позволило передавать и хранить информацию в более надежном письменном виде. Открытия в области электричества привели к появлению телеграфа, телефона, радио, телевидения - средств, позволяющих оперативно передавать и накапливать информацию. Развитие прогресса обусловило резкий рост информации, в связи, с чем вопрос о ее сохранении и переработке становился год от года острее. С появлением вычислительной техники значительно упростились способы хранения, а главное, обработки информации. Развитие вычислительной техники на базе микропроцессоров приводит к совершенствованию компьютеров и программного обеспечения. Появляются программы, способные обработать большие потоки информации. С помощью таких программ создаются информационные системы. Целью любой информационной системы является обработка данных об объектах и явлениях реального мира и предоставление человеку нужной информации о них. Если мы рассмотрим совокупность некоторых объектов, то сможем выделить объекты, обладающие одинаковыми свойствами. Такие объекты выделяют в отдельные классы. Внутри выделенного класса объекты можно упорядочивать как по общим правилам классифицирования, например по алфавиту, так и по некоторым конкретным общим признакам, например по цвету или материалу. Группировка объектов по определенным признакам значительно облегчает поиск и отбор информации.
Информационные системы (ИС) можно условно разделить на фактографические и документальные.
В фактографических ИС регистрируются факты - конкретные значения данных (атрибутов) об объектах реального мира. Основная идея таких систем заключается в том, что все сведения об объектах (фамилии людей и названия предметов, числа, даты) сообщаются компьютеру в каком-то заранее обусловленном формате (например дата - в виде комбинации ДД.ММ.ГГГГ). Информация, с которой работает фактографическая ИС, имеет четкую структуру, позволяющую машине отличать одно данное от другого, например фамилию от должности человека, дату рождения от роста и т.п. Поэтому фактографическая система способна давать однозначные ответы на поставленные вопросы.
Документальные ИС обслуживают принципиально иной класс задач, которые не предполагают однозначного ответа на поставленный вопрос. Базу данных таких систем образует совокупность неструктурированных текстовых документов (статьи, книги, рефераты и т.д.) и графических объектов, снабженная тем или иным формализованным аппаратом поиска. Цель системы, как правило, - выдать в ответ на запрос пользователя список документов или объектов, в какой-то мере удовлетворяющих сформулированным в запросе условиям.
Указанная классификация ИС в известной мере устарела, так как современные фактографические системы часто работают с неструктурированными блоками информации (текстами, графикой, звуком, видео), снабженными структурированными описателями. Чтобы пояснить, как фактографическая система может превратиться в документальную (и наоборот), рассмотрим условный пример.
Пусть объектом обработки фактографической ИС является некий список ученых-экономистов, причем для каждого ученого имеются следующие данные:
Дата рождения в формате ДД.ММ.ГГГГ;
Национальность (русский или иностранец);
Требования к организации данных информационных систем:
Интеграция данных -- когда все данные хранятся централизованно, создавая динамически обновляемую модель.
Максимальная независимость прикладных программ от данных или обеспечение физической и логической независимости данных.
Выполнение этих требований привело к созданию единого для всех задач блока данных -- базы данных и разработки одной управляющей программы для манипулирования данными на физическом уровне -- СУБД.\
Именно СУБД обеспечивает независимость данных, изменение физической организации воспринимается СУБД и не влияет на прикладную программу. С другой стороны, изменение логики программы не требует реорганизации и изменения механизма доступа к физическим данным. Введение СУБД разделяет логическую структуру данных от физической структуры данных. Отличительной чертой современных БД следует считать совместное хранение данных с их описанием. Современный подход требует, чтобы в программе были заданы лишь имена и форматы обрабатываемых данных. Поставляя данные в программу, СУБД их предварительно обрабатывает, в связи с чем изменение организации данных не отражается на прикладных программах, в этом случае меняются только процедуры СУБД. Описание БД называют метаданными.
Располагая структурированными описателями (имя, дата, пол), система может выдать строгие ответы на вопросы: а) о любом ученом персонально; б) о распределении ученых по дате рождения и полу (в любых сочетаниях). Заметим, что те же данные в той или иной форме дублируются в биографии, например: "Уильям Стаффорд родился в 1554 году в семье…", "Иван Тихонович Посошков жил с 1652 по 1726 год…" и т.д. Однако, если удалить из списка структурированные описатели, система превратится в документальную и, если не принять мер, утратит способность находить и классифицировать ученых. В отличие от нас, компьютер не знает, что Стаффорд - иностранец, а Посошков - русский, что "родиться" и "жить с… по…" - синонимы и т.д.
В данной работе рассматриваются фактографические ИС, которые используются буквально во всех сферах человеческой деятельности, а практика работы с ними будет рассмотрена на примере современной системы управления базами данных (СУБД) Microsoft Access.
Что такое база данных (БД)? В широком смысле слова можно сказать, что БД - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Синоним термина "база данных" - "банк данных".
Чтобы обеспечить быстроту и качество поиска данных в базе, этот процесс должен быть автоматизирован. Компьютерную базу данных можно создать несколькими способами:
С помощью алгоритмических языков программирования, таких как Basic, Pascal, C++ и т.д. Данный способ применяется для создания уникальных баз данных.
С помощью прикладной среды, например Visual Basic. С его помощью можно создавать базы данных, требующие каких-то индивидуальных особенностей построения.
С помощью специальных программных сред, которые называются системами управления базами данных.
В настоящее время существует несколько видов СУБД. Наиболее известными и популярными СУБД являются Access, FoxPro и Paradox.
Каждый объект, сущность обладает набором свойств или атрибутов. Мыслить в терминах конкретных объектов трудно, поэтому прибегают к разбиению всего множества объектов на группы объектов однородных по структуре и поведению, и называемых типами объектов, типами записей (в ООП -- класс, объект). При этом предполагается, что все экземпляры объектов одного типа обладают одинаковым наборам атрибутов. Свойства по своей структуре могут быть любой степени сложности. Большинство современных СУБД плохо развито с точки зрения описания сложных свойств: графика, текст.
Байт -- наименьшая единица адресуемых битов.
Элемент данных -- наименьшая единица поименованных данных, называют полем.
Агрегат данных -- поименованная совокупность данных внутри записи, рассматриваемая как единое целое. Позволяет в приложениях за одно обращение получить некоторую логически связанную совокупность данных. Может содержать в себе и другие агрегаты данных. Если агрегат состоит из одномерной упорядоченной совокупности элементов данных одного типа, то говорят, что в этом типе записи определен вектор. Вектор может быть фиксированной и переменной длины. Если агрегат встречается несколько раз в экземпляре записи, то агрегат называется повторяющейся группой. В повторяющуюся группу могут входить отдельные элементы данных, вектор, другие агрегаты или повторяющиеся группы. Повторяющиеся группы могут быть фиксированной и переменной длины.
Повторяющаяся группа, переменной длины
Запись -- агрегат, который не входит в состав никакого другого агрегата. Основная единица обработки данных.
Каждый экземпляр типа записи должен быть отличимым от других объектов данного типа. С этой целью каждому объекту данного типа назначается идентификатор, позволяющий на них однозначно ссылаться, он уникален. Он называется первичным ключом. В качестве первичного ключа может использоваться атрибут, комбинация атрибутов и даже части атрибутов. На практике используют не уникальные идентификаторы называемые вторичным ключом. К каждому такому множеству относятся объекты, которым соответствует одинаковое значение вторичного ключа.
БД может быть основана на одной модели или на совокупности нескольких моделей. Любую модель данных можно рассматривать как объект, который характеризуется своими свойствами (параметрами), и над ней, как над объектом, можно производить какие-либо действия.
Так как пользователя БД не интересует подробности физического хранения данных, в представлении данных можно выделить два уровня абстракции: логическая и физическая. На логическом уровне описываются данные информационной моделью, выделяют внешнюю и внутреннюю информационные модели, а на физическом - физической моделью. Информационная модель должна отражать предметную область в терминах понятных и привычных пользователю. Обычная информационная модель описывает объекты любой природы в терминах: сущность, атрибуты и связи. Абстрактная модель должна быть описана для представления в ЭВМ. Это описание делается средствами модели данных, которую поддерживает СУБД и называется внутренней или концептуальной информационной схемой. Итак, СУБД поддерживает некоторую модель данных и отображает её в соответствующие структуры физической БД.
Модель Данных (МД) -- средство логического представления физических данных. Формализованное описание данных, отражающее их состав, типы данных, а также взаимосвязь между ними.
МД, которую поддерживает СУБД на логическом уровне определяется:
допустимой структурой данных, разнообразием и количеством типов данных, которые можно описать с помощью МД;
множеством допустимых операций над данными;
ограничениями контроля целостности.
В зависимости от поддерживаемой структуры данных, МД подразделяются на:
Термин "реляционный" (от латинского relation - отношение) указывает, прежде всего, на то, что такая модель хранения данных построена на взаимоотношении составляющих ее частей. В простейшем случае она представляет собой двухмерный массив или двухмерную таблицу, а при создании сложных информационных моделей составит совокупность взаимосвязанных таблиц. Каждая строка такой таблицы называется записью, а столбец - полем.
Реляционная модель данных имеет следующие свойства:
Каждый элемент таблицы - один элемент данных.
Все поля в таблице являются однородными, т.е. имеют один тип.
Одинаковые записи в таблице отсутствуют.
Порядок записей в таблице может быть произвольным и может характеризоваться количеством полей, типом данных.
Реляционная таблица -- множество отношений содержащих всю необходимую информацию о предметной области.
Отношение реляционной БД в зависимости от содержания подразделяется на два класса:
Таблица объектов хранит данные об экземплярах объекта, каждая строка содержит ключ и признаки объекта, которые функционально зависят от этого ключа.
Таблица связи хранит ключи двух или более таблиц объектов и таким образом устанавливаются связи между таблицами объектов, каждая строка связи содержит внешние ключи и характеристики связей.
Связь между объектами обычно выражается глаголами: "Служащие работают в отделах". Поэтому название таблице связей часто дают по имени связи или в названии указывают имена объектов участвующих в связи.
--объект может существовать сам по себе, ни с кем не связываясь, связь автономно существовать не может, требуя наличия хотя бы двух объектов.
ПРЕДМЕТ (П#, Название, Вид контроля);
Институт делится на подразделения, которые могут работать над несколькими проектами, над каждым проектом могут работать сотрудники из нескольких отделов.
Сотрудники - Проекты. Сотрудники - Отдел.
Для логической завершенности не хватает третьей связи "отдел - проекты", которая отражает какое подразделение над чем работает. Связь содержится в таблице, но косвенно через сотрудников, выделим её явно. С появлением 6-ой таблицы появляется противоречие. Причиной служит то, что один и тот же факт хранится в двух разных местах, косвенно -- через исполнителя и явно (С - П) и явно в дополнительной шестой таблице. Вывод: связи между объектами не могут замыкаться. Недоразумение в этом примере вызвано нечеткой формулировкой задачи: отделы как таковые не работают над проектом, они работают над проектом тогда и только тогда, когда над проектом работает хотя бы один сотрудник. Две связи допустимы, а третья запрещена.
Если убрать связь СОТРУДНИКИ - Проекты, то изменится постановка задачи, тогда проекты
закрепляются за отделами, и все сотрудники должны будут работать над проектом.
Сотрудники не закреплены за отделами и свободно переходят в отдел занятый их проектом.
Реляционные модели связей не могут замыкаться, какие связи запрещены, а какие разрешены, зависит от постановки задачи. Для двух объектов возможна одна связь, для трех - две, а для n - (n-1). Для модели из n объектов необходимо (2n-1) объектов.
Работа с БД подразумевает задание и выполнение запросов.
Найти всех студентов сдавших на отлично сессию. При этом используются специальные языковые средства, основанные на:
Алгебраический подход требует наличия операндов и совокупности операций над ними. В реляционной алгебре используются в качестве операндов -- отношения (таблица).
Операции РА были предложены Коддом. Язык РА -- аппликативный язык. Кодд доказал, что запросы сформированные с помощью реляционного исчисления могут сформировать язык РА и наоборот. Результатом любой реляционной операции является некоторое отношение.
Реляционная модель кроме РА может также включать операции реляционного присваивания Target := Source, где левые и правые части -- реляционные выражения, представляющие совместимые по типу отношения. Target -- базовое отношение.
Операция присваивания дает возможность запоминать значения некоторых алгебраических выражений в БД и изменять состояние БД.
Замечание: язык РА не применяется. Используется язык реляционного исчисления.
Исчисление -- это знаковая система, в которой имеется некоторое количество исходных объектов и некоторое количество правил построения объектов из исходных и уже построенных. Дедуктивная система.
Были созданы различные разновидности языков исчисления предикатов, оно называлось реляционным исчислением.
Рассмотрим два языка, широко используемых в СУБД: SQL и QBE.
SQL разработан фирмой IBM. Одобрен в качестве стандарта для больших и малых ЭВМ. Если D-Base ориентирована на операции с данными в виде записи, то SQL - на операции с данными, в виде таблиц. Кроме обычных таблиц SQL позволяет создавать особый тип таблиц - выборку (подмножество строк и столбцов из одной или нескольких таблиц). Часто выборку называют виртуальной таблицей.
Язык SQL оперирует понятием БД, которая содержит всю информацию, необходимую для обработки данных: таблицы, выборки, синонимы (альтернативные имена таблицы) и индексы (файлы для быстрого поиска данных, присоединяемые к таблице). В SQL можно выделить следующие средства:
средства встраивания в основной язык.
Большинство запросов на извлечение данных из БД строится на основе команды SELECT.
SELECT <список атрибутов и/или функций от атрибутов>
TO FILE | TO PRINTER | TO SCREEN | INTO
Принципиальная схема выполнения запроса:
образуется декартово произведение таблиц, перечисленных в FROM;
для каждой строки декартового произведения вычисляется значение логического выражения, заданного в WHERE, строки с ложным значением - удаляются;
если заданно GROUP BY, то оставшиеся строки делятся на группы соответственно значениям указанных в ней колонок;
для каждой группы или строки вычисляется выражение, заданное во фразе SELECT;
для каждой группы производится проверка условий заданного фразой HAVING, варианты с false удаляются;
результат сортируется по колонкам из ORDER BY, в соответствии с заданным порядком сортировки.
В строке SELECT указываются через запятую имена столбцов в выходной таблице. Символ "*" означает, что выбираются все столбцы, указанные в предложении FROM. Если в нескольких таблицах имеются колонки с одинаковым именем, то перед этими именами указываются имена таблицы, разделённые ".". Чтобы вывести все столбцы таблицы, можно указать <имя таблицы>.*. Для того, чтобы вывести только уникальные столбцы таблицы, используют слово DISTINCT <столбцы>. Предложением SELECT можно задавать вывод символьного выражения и так же исчисляемую колонку (виртуальную).
SELECT Tab_No, Fam, Oklad + Prem AS "оклад + премия".
В команде SELECT можно использовать специальные агрегатные функции:
COUNT () - количество отображаемых строк.
SUM () - суммирует значения числовых столбцов
MIN () - находит минимум числового столбца
MAX () - находит максимум числового столбца
AVG() - находит среднее значение числовой колонки, в скобках имя столбца.
SELECT Name, SUM(Cena * Kol-vo) AS "Сумма";
SELECT MAX(Oklad), MIN(Oklad), AVG(Oklad).
Для отбора строк по заданному критерию используют предложение WHERE:
Предикат IN в неявном виде заменяет квантор существования.
WHERE X IN P(X) (эквивалентно xP(x))
WHERE X NOT IN P(X) (эквивалентно xP(x))
Множество, задающееся в предложении IN(), можно определить не только перечислением его элементов, но и косвенно, используя вложенный подзапрос:
Предикат LIKE осуществляет выбор на включаемые надстройки, задаваемой переменной или константой. Подстрока определяется заданными символами, замещёнными "-" (замещает один символ) и "%" (любое число символов):
В предложении WHERE предикаты BETWEEN, IN, LIKE могут объединятся связями AND, OR, NOT.
Два дополнительных предложения GROUP BY и HAVING позволяют располагать строки по группам. Затем можно выполнять операции с этими группами. Например, использовать операцию агрегирования.
Предложение GROUP BY позволяет строки результирующей таблицы, определяемой предложением SELECT, сгруппировать в группы с одинаковым значением заданных колонок. После агрегирования каждая такая колонка сводится к одной строке результирующей таблицы. В качестве имени колонки используется имя агрегирующей функции с номером этой функции.
Предложение HAVING позволяет отображать составные группы строк, удовлетворяющих заданным условиям. Действие HAVING аналогичное WHERE, но определяет условие, которому должна удовлетворять каждая группа для вывода результирующей таблицы. Например, для вывода упорядоченного по алфавиту перечня деталей стоимостью более 300р., имеющихся на складе в количестве более 10 шт., можно использовать команду SELECT.
SELECT <номер>, SUM(<количество>), <стоимость>, <название>
GROUP BY <название>, <номер>, <стоимость>
Если HAVING используется без GROUP BY, то его действие распространяется на всю таблицу и эквивалентно WHERE.
ORDER BY `<колонка | целое число [ASC, DESC]>'
Вместо имени колонки допустимо использование целого числа, определяющего её позицию в таблице SELECT.
фактический - стандарт обращения к современным БД;
ориентирован на операции с данными, представленными в виде совокупности таблиц (DBASE работает с записями);
ориентирован на конечный результат обработки. Система сама определяет оптимальный путь организации запроса в отличие от процедурных языков, требующих задания последовательности выполнения операций обработки. Поэтому говорят, что SQL более декларативен, чем язык РА, который ближе к процедурным языкам.
Данные реляционных БД хранятся в виде таблиц. Для поддержки уникальности данных в колонках таблиц, а также для ускорения доступа используются индексы. Кроме таблиц, многие СУБД поддерживают представление и рассматривают их как отдельные объекты БД.
Представление -- виртуальная таблица, то есть таблица, которая сама по себе не существует, но для пользователя выглядит так, словно она существует. Тогда как баз овая таблица -- реальная таблица, для любой строки которой существует двойник в физической памяти. То есть представления не поддерживаются их собственными физически хранимыми данными. Вместо этого в каталоге хранятся их определения в терминах других таблиц. Представление может быть создано с помощью команды SQL
Когда исполняется это предложение, подзапрос, следующий за AS, не исполняется. Вместо этого, он просто сохраняется в каталоге. Но для пользователя это выглядит так, будто в БД действительно существует такая таблица. Эта таблица представляет собой фактически окно в реальную таблицу. Это окно является динамическим. Изменение в реальной таблице будут автоматически видны через это окно. Изменения в виртуальной таблице также будут автоматически внесены в реальную таблицу. Пользователь может производить операции над представлением, как если бы это была реальная таблица.
Синонимы представляют собой альтернативные имена таблиц, либо базовых, л ибо виртуальных. Чаще всего, синоним создается для таблицы. Которая была создана каким-нибудь другим пользователем и для которой вы должны были бы в противном случае использовать полностью уточненное имя. Например, пользователь Ivan создает таблицу
тогда Петр может использовать таблицу Ivan.Primer. чтобы избежать длинных обращений, Петр может создать синоним
Имя Р1 является частным для пользователя Петра. Другой пользователь может создать собственный синоним. Описание всех таблиц, представлений, синонимов хранится в специальном каталоге.
Системная БД, содержащая дескриптор (информацию) относительно разных об ъектов, а именно: таблиц, представлений, синонимов, индексов, БД, прав доступа и т.д. Сам каталог состоит из множества таблиц, точно таких же, как обычные пользовательские таблицы.
SYS TABLES -- таблицы и представления. Обычно содержат поля:
SYS COLUMNS -- колонки БД. В каждой строке этой таблицы содержится информация о столбце какой-либо таблицы. Для этого служат поля
SYS INDEX -- любому индексу в системе отводится одна строка в этой таблице. Для каждого индекса в ней указано его имя, имя индексной таблицы TBName, имя пользователя и т.д.
Так как каталог состоит из таблиц точно таких же, как обычные пользовательские таблицы, из него можно запрашивать данные с помощью предложения SELECT.
SELECT FROM SYSIBM.SYS COLUMNS WHERE Creator=''
Обычно в среде клиент-сервер конечные приложения располагаются на клиен тской машине и там же выполняются. Любой доступ к БД из приложения использует контакт с сервером по сети. Когда же приложение рассматривается внутри БД, оно называется хранимой командой или хранимой процедурой. Она выполняется непосредственно на компьютере сервера БД.
Хранимая команда -- SQL-запрос, который хранится на сервере в скомпилированном виде. Выполнение хранимой программы производится гораздо быстрее, чем обычные SQL-запросы, однако хранение команды имеет ограниченную функциональность в рамках синтаксиса SQL.
Хранимая процедура -- предложения, объединяющие SQL-запросы и процедурную логику. Хранимые процедуры позволяют хранить на сервере сложные приложения, выполняющие большой объем работы без передачи данных по сети и взаимодействия с клиентом. Хранимые процедуры обычно пишутся на автономном языке разработки конечных приложений.
Использование хранимых команд и процедур преследует следующие цели:
Простота использования. Обычно технология, которая подразумевает большое число клиентов, подключаемых к серверу. Тогда использование хранимых команд и процедур позволяет хранить приложения на одном компьютере, а не на каждом компьютере в отдельности.
Усиление защищенности данных -- набор операций, которые могут быть осуществлены пользователем, легко контролируются с помощью управления доступом к небольшому количеству хранимых процедур. Нормальное завершение процедуры возвращает нулевое значение в вызвавшее ее приложение. Возвращенное значение может быть найдено в специальном файле, чтобы выдать пользователю сообщение об ошибке.
Триггеры -- определяемое пользователем действие, которое выполняется, когда над таблицей, к которой подключен триггер, выполняется операция INSERT, UPDATE или DELETE.
Триггеры используются для решения трех основных задач:
Усиление ссылочной целостности. Например, триггер можно использовать для реализации ограничений ссылочной целостности, выходящих за пределы стандартных ограничений СУБД. Пользователь может захотеть реализовать правило каскадного изменения данных. для этого необходимо создать триггер, который будет обновлять дочерние таблицы при каждом изменении колонки родительской таблицы.
Проверка данных => значения колонок могут пересекаться в триггере, представляемом в качестве параметров, где над ними могут производиться самые разнообразные операции. Например, пользователь может создать триггер, который будет получать из приложения данные для ввода в строку таблицы, создавать уникальный ключ для этой строки внутри своей процедуры и перерабатывать в БД полную строку с ключом.
Регистрация изменений данных. Создатель таблицы, или администратор БД может пожелать иметь информацию о времени каждого изменения данных в таблице, а также какой пользователь… Для этого он создает триггер, который поступает в системное время операции UPDATE имя пользователя. Процедура триггера затем вводит эту информацию в специальную таблицу регистрации изменений. Триггер может быть определен для выполнения либо перед операцией (BEFORE), либо после (AFTER) INSERT, UPDATE, DELETE.
<логическое выражение> -- задает выражение, определяемое для выражения триггера. Параметром логического выражения может быть функция либо сохраненная процедура, возвращающая логическое выражение.
Иерархическая модель БД представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф). Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы модели таков, что несколько узлов более низкого уровня
где A, B, C, D, E - типы записей (сегменты)
соединяются при помощи связи с одним узлом более высокого уровня.
Узел - информационная модель элемента, находящегося на данном уровне иерархии.
Совокупность корневой записи и множества подчинённых ей записей называется деревом. Число деревьев определяется числом корневых записей. Групповые отношения этой модели не именуются, т.к. определяются парой типов записей. К любой записи существует единственный путь от корня записи. Этот путь называется иерархическим. Каждая запись идентифицируется полным сцепленным ключом, под которым понимают совокупность ключей всех записей от корня вдоль иерархического пути.
Свойства иерархической модели данных:
Несколько узлов низшего уровня связано только с одним узлом высшего уровня.
Иерархическое дерево имеет только одну вершину (корень), не подчиненную никакой другой вершине.
Каждый узел имеет свое имя (идентификатор).
Существует только один путь от корневой записи к более частной записи данных.
Особенности иерархической модели данных
· Данные организованны в иерархической структуре;
· При отображении сетевых структур необходимо дублирование данных и меры по поддержанию семантической целостности;
· Основная единица обработки - запись;
· Обработка начинается с корневой записи, доступ к некорневым записям осуществляется по иерархическому пути.
Иерархическая структура реализуется отношением "один ко многим" между исходной и подчиненной записями, однако для предоставления отношения многих ко многим необходимо дублирование деревьев. При этом сохранение целостности БД ложится на программиста.
Сетевая модель БД похожа на иерархическую. Она имеет те же основные составляющие (узел, уровень, связь), однако характер их отношений принципиально иной. В сетевой модели принята свободная связь между элементами разных уровней.
Каждую сетевую структуру можно представить в виде иерархической модели, но при этом сеть нуждается в преобразовании:
С точки зрения теории графов сетевой модели соответствует произвольный граф, возможно -- с циклами и петлями, узлы которого - типы записей, а ребра - связи между ними.
Позволяет устанавливать несколько признаков одинаково направленных групповых отношений между двумя типами записи;
Запомнить -- занести новую запись в БД и автоматически включить её в групповое отношение (ГО), где она объявлена подчиненной соответствующим режимам включения;
Включить -- позволяет подчинённую запись связать с записью-владельцем;
Переключить -- переключить подчинённую запись на другого владельца в том же ГО;
Исключить -- разрывает связь между владельцем и подчинённой записью, сохранив обе записи в БД.
1) способом упорядочивания подчиненной записи (ПЗ)
а) автоматический - подчинённая запись включается в отношение одновременно с запоминанием в БД, т.е. происходит автоматическое закрепление ПЗ за ее владельцем;
б) ручной - позволяет запомнить ПЗ в БД, а не включать сразу в ГО;
4) режимом исключения ПЗ вводится понятие класса принадлежности
a) фиксированный -- ПЗ жёстко закрепляется за владельцем и не может существовать без него (поэт и произведение). При удалении записи-владельца (ЗВ) система автоматически удаляет ПЗ;
б) обязательный -- каждая ПЗ всегда будет связана с некоторой ЗВ, но может быть переназначена на другую ЗВ. Для успешного удаления ЗВ необходимо, чтобы не было ПЗ с обязательным членством;
в) необязательный -- позволяет исключить ПЗ из экземпляра ГО, но сохранить её в БД, не прикрепляя к другому владельцу.
Основные особенности обработки данных в сетевых мод е лях
Обработка может быть начата с записи любого типа, независимо от её расположения в структуре БД;
От извлечённой записи возможны переходы, как к её подчинённым записям, так и к тем, которым она подчинена;
Основная структурная единица - набор, единица обработки - запись.
1.1.4 Объектно-ориентированная модель данных
В настоящий момент времени до конца не разработана.
Можно доказать, что любую структуру данных можно преобразовать в простую двухмерную таблицу. Такое представление является наиболее удобным и для пользователя, и для машины, - подавляющее большинство современных информационных систем работае
Работа с базами данных дипломная работа. Программирование, компьютеры и кибернетика.
Отчет По Практике Кфу
Курсовая работа по теме Роль инвестиционной деятельности в развитии предприятия ООО 'Симплекс'
Бестарифные Системы Оплаты Труда Эссе
Реферат На Тему Однокоренные Слова
Реферат по теме Реформы Петра: "герой" или "антихрист". Общественная мысль и мыслители 18 века. совершенствование науки и российское Просвещение
Реферат по теме Сравнительный анализ законодательства о нотариате стран СНГ
Учебное пособие: Методические указания по разработке проектов паспортов опасных отходов для объектов по хранению и уничтожению химического оружия
Контрольная работа: Аудит готовой продукции
Реферат: Мошон комитат
Реферат: Теория Эмпидокла о строениии материи. Скачать бесплатно и без регистрации
Реферат: The Effects Of Drug Use Essay Research
Сочинение На Тему Статья О Детском Кафе
Реферат: Путешествие в реальность мифа
Рефераты По Информатике Компьютер
Дипломная работа по теме Влияние конфликтных отношений в семье на воспитание
Курсовая работа по теме Розробка інформаційної системи для роботи менеджера фірми
Сочинение По Недоросли Актуально Ли Произведение
Моя Профессия Юрист Сочинение На Английском
Фальсификация Документов Виды Фальсификации История Подделок Курсовая
Формы Контрольной Работы По Математике
Применение тарифных квот в развивающихся странах мира - Международные отношения и мировая экономика реферат
Красная Армия накануне Великой Отечественной войны - История и исторические личности презентация
Взаимодействие следователя с органом дознания - Государство и право курсовая работа


Report Page