База Данных. База данных. База данных
Скачать 32.79 Kb.
|
База данныхВведениеБазы данных представляют собой набор структур для хранения больших объемов информации и программных модулей, которые осуществляют управление данными, их отбор, сортировку и другие подобные действия. Информация базы данных хранится в одной или нескольких таблицах. Каждая таблица, содержащая данные, состоит из набора записей одного типа, упорядоченных по порядку. Это строки таблицы, которые можно добавлять, удалять или изменять. Каждая запись состоит из набора именованных полей или ячеек, которые могут хранить разнообразную информацию от даты рождения до подробного описания рецепта. Поля одного типа из разных записей данных образуют один столбец таблицы. Записи одной таблицы могут содержать ссылки на данные другой таблицы, например, таблица со списком товаров может содержать ссылки на список производителей товаров с их адресами и прочую информацию. В этом случае документы, относящиеся к разным товарам, могут относиться к одному и тому же производителю. Такое взаимодействие таблиц называется коммуникацией. Другие модули баз данных предназначены для обработки информации, хранящейся в таблицах. Запросы используются для выбора данных, удовлетворяющих определенным условиям. Формы предназначены для форматированного ввода и восприятия информации. Отчеты выводят (обычно на принтер) цветной список записей данных с заголовками, точками и вложенными точками. После того, как мы создали таблицу, мы уже получаем полную базу данных. Типы и структуры данныхДанные, хранящиеся в памяти компьютера, представляют собой набор нулей и единиц (битов). Биты комбинируются последовательно: байты, слова и т.д. Каждой секции оперативной памяти, которая может содержать байт или слово, присваивается порядковый номер (адрес). Что означают данные, выражаются ли они алфавитными или числовыми символами, что означает цифра — все это определяется программой обработки. Все данные, необходимые для решения практических задач, делятся на несколько типов, причем тип термина связан не только с представлением данных в адресном пространстве, но и со способом их обработки. Все данные могут быть отнесены к одному из двух типов: базовые (простые) данные, форма представления которых определяется архитектурой компьютера, или сложные данные, разработанные пользователем для решения конкретных задач. Данные простого типа — это символы, цифры и т.д. Элементы, дальнейшая фрагментация которых не имеет смысла. Элементарные данные используются для формирования структур данных (сложных типов). Некоторые структуры: Массив (функция с конечным диапазоном определений) — простой набор элементов данных типа, средство обслуживания группы данных типа Отдельный элемент массива определяется индексом. Массив может быть одномерным, двумерным и т.д. Переменные одномерных массивов переменной длины — это структуры кольцевого, стекового, очереди и двусторонней очереди. Запись (декартовое растение) — набор элементов данных различных типов. В простейшем случае набор данных содержит постоянное количество элементов, называемых полями. Набор записей данных с одинаковой структурой называется файлом. (Файл также называется набором данных во внешнем запоминающем устройстве, например, на магнитном диске). Для извлечения отдельных записей из файла каждой записи присваивается уникальное имя или номер, который служит ее идентификатором и находится в отдельном поле. Этот идентификатор называется ключом. Такие структуры данных, как массив или набор данных, занимают постоянный объем в памяти компьютера, поэтому их называют статическими структурами. Многие вещи также относятся к статическим структурам. Существует ряд структур, которые могут изменять свою длину — так называемые динамические структуры. Они содержат дерево, список, ссылку. Важной структурой, требующей нелинейного адресного пространства для размещения элементов, является дерево. Существует множество структур данных, которые могут быть представлены в виде деревьев. К ним относятся классификационные, иерархические, рекурсивные и другие структуры. Существует много сложных типов данных, но исследования, проведенные с большим количеством практического материала, показали, что некоторые из наиболее распространенных типов данных могут быть идентифицированы. Обобщенные структуры также называются моделями данных, поскольку они отражают представление пользователя о реальных данных. Каждая модель данных должна содержать три компонента: Структура данных — описывает пользовательский вид отображения данных. набор разрешенных операций, которые выполняются над структурой данных. Модель данных требует, по крайней мере, наличия языка определения данных (DAT), описывающего структуру его хранения, и языка манипулирования данными (DAT), включающего операции извлечения и модификации данных. Ограничения целостности — механизм поддержания соответствия данных предметной области, основанный на формально описанных правилах. В процессе исторического развития СУБД использовала следующие модели данных: иерархический онлайн реляционный В последнее время все большее значение приобретает объектно-ориентированный подход к представлению данных. Типы баз данныхИерархические базы данных могут быть представлены в виде дерева, состоящего из объектов разных уровней. Верхний уровень занимает один объект, второй уровень — объекты и так далее. Между объектами есть связи, каждый объект может содержать несколько объектов более низкого уровня. Такие объекты связаны с предком (объект ближе к корню) и потомком (объект более низкого уровня), возможно, что у объекта-предка нет или несколько потомков, в то время как у объекта-потомка обязательно есть только один предок. Объекты, у которых есть общий предок, называются близнецами. Определяется иерархический тип организации данных СУБД: элемент, агрегат, набор данных (группа), групповые отношения, база данных. Атрибут (элемент данных) — наименьшая единица структуры данных. Обычно при описании базы данных каждому элементу присваивается уникальное имя. Это имя используется для доступа к базе данных во время обработки. Элемент данных часто называют полем. Запись — именованный набор атрибутов. Использование записей позволяет получить логически связанную запись за один доступ к базе данных. Именно эти записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов. Экземпляр записи данных — это конкретная запись данных с определенным значением объекта. Групповые отношения — это иерархические отношения между записями двух типов. Родительская запись (владелец групповых отношений) называется исходной записью, а записи о детях (члены групповых отношений) называются записями о детях. В иерархической БД могут храниться только такие древовидные структуры. Основная запись каждого дерева должна обязательно содержать ключ с уникальным значением. Ключи не корневых записей данных могут иметь уникальное значение только внутри группового отношения. Каждая запись идентифицируется полностью связанным ключом, который понимается как набор ключей всех записей от корня по иерархическому пути. В графическом представлении групповые отношения представлены дугами ориентированной диаграммы и типами наборов данных по вершинам (диаграмма Бахмана). Для групповых отношений иерархическая модель обеспечивает автоматический режим активации и фиксированное членство. Это означает, что каждая не корневая запись в базе данных должна иметь свою родительскую запись для сохранения. При удалении родительской записи автоматически удаляются все дочерние записи. Существуют операции с данными, которые определяются в иерархической модели: Добавить новую запись в базу данных. Создание ключевого значения обязательно для записи основных данных. МОДИФИРОВАНИЕ значения данных предварительно извлеченной записи. Ключевые данные не должны быть изменены. Удалить запись и все записи о детях. ОТМЕНА: Извлечение записи основных данных по ключевому значению; возможно также последовательное отображение записи основных данных. извлечь следующую запись (следующая запись извлекается в порядке пересечения левого дерева) В операции ОШИБКИ допускается указывать условия отбора проб (например, отбирать работников с заработной платой выше 1000 рублей). Как видите, все операции изменения относятся только к «текущей» записи (которая предварительно извлекается из БД). Такой подход к манипулированию данными называется «навигационным». Модель сетевых данныхНа разработку этого стандарта сильно повлиял американский ученый Ч. Бахман. Основные принципы модели сетевых данных были разработаны в середине 1960-х. Справочный вариант модели сетевых данных описан в докладах рабочей группы CODASYL (1971) по языкам баз данных (COnference on DAta SYstem Languages). Модель сетевых данных определяется теми же терминами, что и иерархическая модель. Он состоит из нескольких наборов данных, которые могут быть владельцами или членами групповых отношений. Отношение между записью владельца и записью участника также 1:N. Основное различие между этими моделями заключается в том, что в сетевой модели набор данных может быть членом более чем одного группового отношения. Эта модель относится к каждому групповому соотношению и различает его тип и экземпляр. Тип группового отношения определяется его именем и определяет свойства, общие для всех копий данного типа. Экземпляр группового отношения представлен записью владельца и набором (возможно, пустых) дочерних записей. Существует ограничение: один экземпляр записи не может быть членом двух экземпляров группового отношения одного и того же типа (т.е. сотрудник не может работать, например, в двух отделах). Иерархическая структура трансформируется в сеть следующим образом: Деревья (а) и (b), показанные на рисунке, заменены единой сетевой структурой, в которой запись СТАТУС находится в двух групповых отношениях; для отображения типа M:N вводится запись CONTRACT_CONTRACT, которая не имеет полей и используется только для соединения записей CONTRACT и CONTRACT. Каждый экземпляр группового отношения характеризуется следующими особенностями: способ организовать записи о детях: произвольный, хронологический / стандартный /, обратная хронологическая /стекл, Сортировано. Если запись объявлена подчиненной в нескольких групповых отношениях, каждому из них может быть назначен свой метод упорядочения. Режим записи в режиме ведомого: автоматически — невозможно ввести запись в базу данных без немедленного назначения ее конкретному владельцу ручной — позволяет запомнить запись о ребенке в базе данных и не сразу добавлять ее в экземпляр группового отношения. Этот процесс инициируется позже пользователем). Режим исключения Принято присваивать членство в групповых отношениях трем классам записей о детях: Исправлено. Детская запись строго связана с владельцем записи и может быть исключена из группового отношения только путем удаления. Если запись владельца-владельца удаляется, то автоматически удаляются и все дочерние записи. В приведенном выше примере фиксированное членство предполагает групповое отношение «ДОГОВОР» между записями «ДОГОВОР» и «ЗАКАЗ», поскольку договор не может существовать без заказчика. Обязательно. Допускается передача записи о ребенке другому владельцу, но его существование невозможно без владельца. Для удаления владельца записи необходимо, чтобы у него не было дочерних записей с обязательным членством. Такова связь между записями «ЗАКАЗЧИК» и «ПОСТАВКА». При роспуске отдела все его сотрудники должны быть либо переведены в другие отделы, либо уволены. Это добровольно. Вы можете исключить запись из группового отношения, но можете сохранить ее в базе данных, не прикрепляя к другому владельцу. Когда владелец записи удаляется, его дочерние записи — опциональные члены — хранятся в базе данных и больше не участвуют в групповых отношениях такого типа. Примером таких групповых отношений может служить «ДОГОВОР» между «ДОГОВОРАМИ-ПАРТНЕРОМ» и «ДОГОВОРОМ», поскольку в организации могут быть сотрудники, деятельность которых не связана с выполнением договорных обязательств перед клиентами. Операции с данными, в сетевой модели данных: ADD — создать запись в БД и, в зависимости от режима включения, либо включить ее в групповое отношение, в котором она объявлена дочерней, либо не включать ее ни в одно групповое отношение. В ВКЛЮЧЕНИЕ ГРУППЫ — привязать существующую запись о ребенке к владельцу записи. ПРИМЕЧАНИЕ — связать существующую запись о ребенке с другой записью владельца-владельца, находящейся в той же групповой связи. Обновить — изменение значения элементов предварительно извлеченной записи. ERROR — Извлечение записей последовательно по ключевому значению и использование групповых отношений — Вы можете переключаться с владельца на членов записи и с дочерней записи на владельца набора. DELETECT — удаляет запись из базы данных. Если эта запись является владельцем групповых отношений, анализируется принадлежность к классу дочерних записей. Обязательные члены должны быть временно исключены из групповых отношений, фиксированные члены должны быть удалены вместе с владельцем, а необязательные члены остаются в базе данных. ОТВЕТСТВЕННОСТЬ ЭКСКЛУДИНГ-ГРУППЫ — Отсоединить владельца записи от участника записи. Модель реляционных данныхМодель реляций была предложена в 1970 году сотрудником IBM Э.Ф.Коддом (русский перевод статьи, в которой он впервые был описан в 1995 году в журнале СУБД N 1). В настоящее время эта модель является действующим стандартом, по которому ориентируются практически все современные коммерческие СУБД. В реляционной модели достигается гораздо более высокая степень абстракции данных, чем в иерархической или сетевой модели. В приведенной выше статье Э.Ф.Кодды говорится, что «реляционная модель предоставляет средство описания данных только на основе их естественной структуры, т.е. без необходимости введения дополнительной структуры для целей машинного представления». Другими словами, представление данных не зависит от того, как они физически организованы. Это достигается за счет использования математической теории отношений (название «реляционная» происходит от английского отношения — «взаимосвязь»). Полезно представлять отношения в виде таблиц. На рисунке 2 представлена таблица (соотношение степени 5), содержащая некоторую информацию о работниках гипотетического предприятия. Ряды таблицы соответствуют моторизованным поездам. Каждая строка на самом деле является описанием реального объекта (в данном случае сотрудника), характеристики которого содержатся в столбцах. Можно провести аналогию между элементами реляционной модели данных и элементами модели «предметного взаимодействия». Отношения соответствуют наборам сущностей, а кортежи — сущностям. Поэтому, как и в модели взаимодействия сущностей, столбцы таблицы, представляющие реляционную связь, называются атрибутами. Каждый атрибут определяется в домене таким образом, что домен может рассматриваться как набор допустимых значений для этого атрибута. На одном и том же домене можно определить несколько атрибутов одного и того же отношения и даже атрибуты разных отношений. В примере, показанном на рис.2, атрибуты «зарплата» и «бонус» определены на домене «деньги». Поэтому понятие домена имеет семантическую нагрузку: данные могут считаться сопоставимыми только в том случае, если они относятся к одному и тому же домену. Например, в рассматриваемом примере сравнение атрибутов «номер индикатора» и «вознаграждение» является семантически некорректным, даже если они содержат данные одного и того же типа. Набор имен пар «имя атрибута — имя домена» называется схемой отношений. Сила этого набора называется степенью или «арнити» отношений. Набор именованных схем взаимоотношений представляет собой схему базы данных. Атрибут, значение которого однозначно идентифицирует кортежи, называется ключом (или просто ключом). В нашем случае ключом является атрибут «номер индикатора», так как его значение уникально для каждого сотрудника компании. Если кортежи идентифицируются только путем объединения значений нескольких атрибутов, считается, что связь имеет составной ключ. Отношения могут содержать несколько клавиш. Один из ключей всегда объявляется первичным и его значения не могут быть обновлены. Все остальные ключи в отношениях называются возможными. В отличие от иерархической и сетевой моделей данных, в реляционной области нет понятия групповых отношений. Двойные ключи используются для отражения ассоциаций между кортежами разных отношений. Рассмотренный ранее пример базы данных, содержащей информацию о подразделениях компании и сотрудниках, работающих в них по отношению к реляционной модели, будет иметь форму базы данных: Например, отношения между ПОСТАВЩИКОМ и ЗАКАЗЧИКОМ устанавливаются путем копирования первичного ключа «DELIVER_Number» из первого отношения во второе. Для получения списка сотрудников данного подразделения необходимо: из таблицы отделов установить значение атрибута «Номер отдела» в соответствии с данным «Название отдела». Из таблицы ИСТОЧНИКИ выберите все записи, значение атрибута «Номер отдела» которых совпадает со значением, полученным на предыдущем шаге. Чтобы узнать, в каком отделе работает сотрудник, необходимо выполнить обратную процедуру: Определите «Номер_отдела» из таблицы STRUCTURE. для полученного значения мы находим набор данных в таблице ПОЛУЧАТЕЛЬСТВА. Атрибуты, являющиеся копиями ключей других отношений, называются внешними ключами. Свойства отношений. Никаких двойных кортежей. Это свойство означает, что каждый кортеж имеет первичный ключ. Для каждого отношения, по крайней мере, полный набор его атрибутов является первичным ключом. Однако при определении первичного ключа должно выполняться требование «минимума», т.е. он не должен содержать тех атрибутов, которые можно отбрасывать, не затрагивая основное свойство первичного ключа — уникальное определение кортежа. Отсутствие порядка в кортеже. Отсутствие стойкости атрибутов. Имя атрибута всегда используется для ссылки на значение атрибута. Атомность значений атрибутов, т.е. несколько значений (отношений) не могут содержаться под значениями домена. Объектно-ориентированная СУБДОбъектно-ориентированная база данных (Object Oriented Database, OBD) — база данных, в которой данные моделируются как объекты, их атрибуты, методы и классы. Следует сразу отметить, что общепринятого определения «объектно-ориентированной модели данных» не существует. Теперь можно говорить только об определенном «объектном» подходе к логическому представлению данных и различных объектно-ориентированных методах его реализации. Структура объектной модели описывается с использованием трех ключевых понятий: Инкапсуляция — каждый объект имеет внутреннюю конкуренцию (хранит набор данных внутри себя), а также набор методов — процедур, с помощью которых (и только таким образом) можно получить доступ или изменить данные, определяющие внутреннее состояние объекта. Таким образом, объекты можно рассматривать как независимые сущности, отделенные от внешнего мира. Наследование — возможность создавать из объектных классов новые классы объектов, которые наследуют структуру и методы своих предков и добавляют к ним особенности, отражающие их собственную индивидуальность. Наследование может быть простым (один предок) и множественным (некоторые предки). Полиморфизм — различные объекты могут по-разному реагировать на одни и те же внешние события, в зависимости от того, как реализуются их методы Для сохранения целостности объектно-ориентированный подход предоставляет следующие инструменты: автоматическое наследование возможность объявлять «скрытыми» некоторые поля данных и методы объекта, которые не видны другим объектам; такие поля и методы используются только методами самого объекта Управление целостностью активов В отличие от реляционных баз данных, в объектно-ориентированных базах данных хранятся не записи, а объекты. Подход ОП является более продвинутым средством представления реального мира, чем реляционная модель: естественное представление данных. В реляционной модели все отношения относятся к одному уровню, что затрудняет трансформацию иерархических отношений модели «коммуникации сущностей» в реляционную модель. О-модель может быть просмотрена слоями на разных уровнях абстракции. Можно определить новые типы данных и операции с ними. В то же время, модель OO имеет ряд недостатков: Нет мощных непроцедурных средств для извлечения объектов из базы. Все запросы должны быть написаны на процедурных языках, проблема их оптимизации лежит на программисте. Вместо чисто декларативных ограничений целостности (таких как явное объявление ключей первичных и внешних таблиц реляций с использованием ключевых слов PRIMARY KEY и REFERENCES) или полудекларативных триггеров, код процедуры должен быть написан для обеспечения внутренней целостности. Очевидно, что эти два недостатка связаны с отсутствием разработанных средств манипулирования данными. Эта проблема решается двумя способами — путем расширения языков OL в сторону управления данными (стандарт ODMG) или путем добавления свойств объектов в реляционной СУБД (SQL-3, а также так называемой объектно-реляционной СУБД). ЗаключениеБазы данных всегда были важнейшей темой при изучении информационных систем. Однако в последние годы всплеск популярности Интернета и стремительное развитие новых технологий для Интернета сделали знание технологии баз данных одним из важнейших путей карьерного роста для многих. Технологии баз данных подняли Интернет-приложения далеко за пределы простых брошюрных изданий, которые характеризовали ранние приложения. В то же время Интернет-технологии предоставляют пользователям стандартизированные и доступные способы публикации контента баз данных. Однако ни одна из этих новых разработок не устраняет необходимости в традиционных приложениях баз данных, которые уже появились для нужд бизнеса еще до развития Интернета. Это только повышает значимость знаний о базах данных. Цель базы данных — помочь людям и организациям отслеживать определенные вещи. Список литературыАткинсонМ.,БансилонФДеВиттДиДиттрихК., МайерД.ЗдоникС. Манифест объектно-ориентированных систем баз данных.DBMS № 4, 2001 Бойко В.В., Савинков В.М. Проектирование баз данных для информационных систем. -M. : «Финансы и статистика», 2006. N.Wirth. Алгоритмы и структуры данных.-М. : «Мир», 2005. Медников А.Ю. Объектно-ориентированные базы данных сегодня или завтра? Открытые системы N 4.2004 Ким выиграл объектно-ориентированную технологию базы данных. Открытые системы N 4, 1992 Шибуя М. Ямамото Т. Алгоритмы обработки данных. ПшиялковскийВ. Новая одежда, знакомая с СУБД: Объект, переданный нам реальностью. СУБД N4, 2004 Кузнец С. Д. Основы баз данных — 2-е издание — М.: Интернет-Университет информационных технологий; БИНОМ. Лаборатория знаний, 2004 г. — 484 с. |