Базы данных. 16

СОДЕРЖАНИЕ

 

 

ВВЕДЕНИЕ…………………………………………………………………….…4

ГЛАВА 1. БАЗЫ ДАННЫХ

 1.1. Понятие базы данных…………………………………………….…..5

1.2. Понятие системы управления базами данных……………………….7

1.3. Классификация баз данных…………....………………………….....10

ГЛАВА 2. ФОРМЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ В СУБД

2.1. Файловая модель представления данных …….……………………12

2.2. Иерархическая и сетевая модели представления данных……..…..17

2.3. Реляционная модель данных………………………………….……..24

ЗАКЛЮЧЕНИЕ…………………………………………...……………………..35

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ………………………………...37

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

 

Можно по-разному  характеризовать понятие модели данных СУБД. С одной стороны, модель данных СУБД – это способ структурирования данных, которые рассматриваются как некоторая абстракция в отрыве от предметной области. С другой стороны, модель данных СУБД – это инструмент представления концептуальной модели предметной области и динамики ее изменения в виде базы данных.

В соответствии с основными этапами проектирования базы данных после построения концептуальной модели выбирается система управления базой данных, с помощью которой будет организована база данных и работа с ней. Каждая СУБД поддерживает определенные виды и типы данных, а также средства представления связей между данными, составляющими модель данных СУБД. Вторая стадия проектирования базы данных состоит в представлении построенной на предыдущей стадии концептуальной модели средствами модели данных СУБД или в отображении концептуальной модели в модель данных СУБД. Именно это обуславливает актуальность исследования моделей представления данных.

Объектом исследования являются системы управления базами данных.

Цель реферата заключается в исследовании моделей  представления данных.

Для достижения поставленной цели в работе решаются следующие задачи:

- дается общее представление о базах данных и системах управления базами данных, а также приводится классификация баз данных.

- описывается структура и принцип работы моделей представления данных.

В курсовой работе были использованы труды авторов, таких  как Малышенко Ю.В.,  Балдин К.В., Уткин В.Б. и др.

 

         ГЛАВА 1.1 БАЗЫ ДАННЫХ

         1.1 Понятие базы данных (БД)

 

         Основы современной информационной технологии составляют базы данных (БД) и системы управления базами данных (СУБД), роль которых как единого средства хранения, обработки и доступа к большим объемам информации постоянно возрастает. При этом существенным является постоянное повышение объемов информации, хранимой в БД, что влечет за собой требование увеличения производительности таких систем. Резко возрастает также в разнообразных применениях спрос на интеллектуальный доступ к информации. Это особенно проявляется при организации логической обработки информации в системах баз знаний, на основе которых создаются современные экспертные системы.

         База данных – средство организации хранения и управления большим количеством упорядоченной разнородной информации. Обычно её характеризует жёсткая внутренняя структура и взаимосвязь между отдельными элементами хранящихся данных. Работая с базой данных, пользователь абстрагируется от конкретного способа их физического хранения на компьютере.

         И вместо того, чтобы иметь дело с большим количеством отдельных файлов, например, текстовых, табличных и графических, мы оперируем единым интерфейсом, посредством которого добавляем новые записи, редактируем или удаляем уже имеющиеся. Кроме того, база данных подразумевает наличие механизма генерации аналитических отчётов, который избавляет пользователя от расчёта каких-либо сложных показателей вручную и поиска необходимых фрагментов в различных файлах.

В базе данных предприятия, например, может храниться: вся информация о штатном расписании, о рабочих  и служащих предприятия; сведения о  материальных ценностях; данные о поступлении  сырья и комплектующих; сведения о запасах на складах; данные о выпуске готовой продукции; приказы и распоряжения дирекции и т.п.

Даже небольшие изменения какой-либо информации могут приводить к  значительным изменениям в разных других местах.

Пример. Издание приказа о повышении в должности одного работника приводит к изменениям не только в личном деле работника, но и к изменениям в списках подразделения, в котором он работает, в ведомостях на зарплату, в графике отпусков и т.п.

         Организация структуры БД формируется исходя из следующих соображений:

1. Адекватность описываемому  объекту/системе — на уровне  концептуальной и логической  модели.

2. Удобство использования  для ведения учёта и анализа  данных — на уровне так называемой  физической модели.

         На уровне физической модели электронная БД представляет собой файл или их набор в формате TXT, CSV, Excel, DBF, XML либо в специализированном формате конкретной СУБД. Также в СУБД в понятие физической модели включают специализированные виртуальные понятия, существующие в её рамках — таблица, табличное пространство, сегмент, куб, кластер и т. д.

         Хорошая модель и правильный проект базы данных формируют основу информационной системы. Построение слоя данных - часто первый критичный шаг в направлении создания новой системы, который правомерно требует внимания к деталям и тщательного планирования. База данных, как и любая компьютерная система, является моделью небольшой части реального мира. И, как любая модель, это - узкое представление, которое значительно упрощает сложность реальной вещи. Современные системы баз данных основываются на реляционной модели хранения и извлечения данных.

 

 

         1.2 Понятие системы управления базами данных (СУБД)

 

Базы данных используются под управлением систем управления базами данных (СУБД).

Система управления базами данных (СУБД) — это система программного обеспечения, позволяющая обрабатывать обращения к базе данных, поступающие от прикладных программ конечных пользователей. Системы управления базами данных позволяют объединять большие объемы информации и обрабатывать их, сортировать, делать выборки по определённым критериям и т.п.

Современные СУБД – это многопользовательские  системы управления базой данных, которые специализируется на управлении массивом информации одним или множеством одновременно работающих пользователей. Они имеют развитый пользовательский интерфейс, который позволяет вводить и модифицировать информацию, выполнять поиск и представлять информацию в графическом или текстовом режиме, дают возможность включать звуковые фрагменты и даже видеоклипы.

СУБД обеспечивают правильность, полноту и непротиворечивость данных, а также удобный доступ к ним. Простота использования СУБД позволяет  создавать новые базы данных, не прибегая к программированию, а пользуясь  только встроенными функциями.

          К числу функций СУБД принято относить следующие:

1. Непосредственное управление данными во внешней памяти

Эта функция  включает обеспечение необходимых  структур внешней памяти как для  хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти. СУБД поддерживает собственную систему именования объектов БД.

2. Управление  буферами оперативной памяти

СУБД обычно работают с БД значительного размера; по крайней мере, этот размер обычно существенно больше доступного объема оперативной памяти. Понятно, что если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. В развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов.

3. Управление  транзакциями

Транзакция - это  последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД.

4. Журнализация

Одним из основных требований к СУБД является надежность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии  восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя.

Поддержание надежности хранения данных в БД требует избыточности хранения данных, причем та часть данных, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений БД.

5. Поддержка  языков БД

Для работы с  базами данных используются специальные  языки, в целом называемые языками баз данных. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).

Обычно современная  СУБД содержит следующие компоненты:

  • ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,
  • процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,
  • подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
  • а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.

           Быстрое развитие потребностей применений БД выдвигает новые требования к СУБД:

  • поддержка широкого спектра типов представляемых данных и операций над ними (включая фактографические, документальные, картинно-графические данные);
  • естественные и эффективные представления в БД разнообразных отношений между объектами предметных областей (например, пространственно-временных с обеспечением визуализации данных);
  • поддержка непротиворечивости данных и реализация дедуктивных БД; 
    обеспечение целостности БД в широком диапазоне разнообразных предметных областей и операционных обстановок;
  • управление распределенными БД, интеграция неоднородных баз данных;
  • существенное повышение надежности функционирования БД.

 

1.3 Классификация баз данных

 

Многообразие  характеристик и видов баз  данных порождает многообразие классификации. Рассмотрим основные виды классификации.

По технологии обработки данных базы данных подразделяются на централизованные и распределенные.

Централизованная  база данных хранится в памяти одной вычислительной системы, к которой подключены несколько других компьютеров.

Распределенная  база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ПК компьютерной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).

По способу  доступа к данным базы данных подразделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.

Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры  подобных систем:

  • Файл – сервер. Согласно этой архитектуре в компьютерной сети выделяется машина – сервер для хранения файлов централизованной базы данных. Файлы базы данных могут быть переданы на рабочие станции для обработки: ввода, корректировки, поиска записей. При большой интенсивности доступа к одним и тем же файлам производительность системы падает. В этой системе сервер и рабочие станции должны быть реализованы на достаточно мощных компьютерах.

На данный момент файл – серверные  СУБД считаются устаревшими.

Примеры: Microsoft Access, Borland Paradox.

  • Клиент – сервер – архитектура, используемая не только для хранения файлов централизованной базы данных на сервере, но и выполняющая на том же сервере основной объем работы по обработке данных. Таким образом, при необходимости поиска информации в базе данных рабочим станциям – клиентам передаются не файлы данных, а уже записи, отобранные в результате обработки файлов данных. Такая архитектура позволяет использовать маломощные компьютеры в качестве рабочих станций, но обязательно в качестве сервера используется очень мощный компьютер.

Примеры: Firebird, Interbase, MS SQL Server, Sybase, Oracle, MySQL,

PostgreSQL.

Прежде чем создавать базу данных, с которой вам придется работать, необходимо выбрать модель данных, наиболее удобную для решения  поставленной задачи.

Модель данных – совокупность структур данных и операций их обработки.

С помощью модели данных могут быть представлены объекты  предметной области и взаимосвязи  между ними. Модели данных, которые поддерживают СУБД, а, следовательно, и сами СУБД делят на:

  • иерархические;
  • сетевые;
  • реляционные;
  • файловые.

 

 

 

 

 

 

 

 

 

 

 

 

ГЛАВА 2. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ДАННЫХ В СУБД

 

2.1 Файловая  модель представления данных

 

Основные компоненты модели

Исторически первыми  системами хранения и обработки  данных на ЭВМ была файловая организация  данных. При такой модели внутримашинная система размещения данных представляет собой совокупность не связанных между собой обычных компьютерных файлов из однотипных записей с линейной (одноуровневой) структурой.

Основные компоненты структуры данных файловой модели - поле, запись, файл (рис. 2.1).


 

 ФАЙЛ


 


   Поле                                 Запись


 

 

Поле - элементарная единица логической организации данных, которая соответствует отдельной, неделимой единице информации - реквизиту.

Запись - совокупность полей, соответствующих логически связанным реквизитам. Структура записи определяется составом и последовательностью входящих в нее полей, каждое из которых содержит элементарные данные.

Файл - множество одинаковых по структуре экземпляров записей.

Агрегат - несколько функционально связанных нолей данных.

Так, поли со значениями года, месяца и дня можно рассматривать как некоторый агрегат.

Экземпляр записи представляет собой описание некоторого конкретного  объекта типовой структуры.

Допустим, надо создать БД файлового типа, содержащую сведения о сотрудниках некоторой организации (табл. 2.1). Тогда в качестве отдельной записи будет рассматриваться информация каждой из строк табл. 2.1, в качестве k-го поля - данные k-го столбца в соответствующей строке (т.е. первое поле каждой записи будет содержать помер отдела, второе - фамилию, третье - год рождения и  т.д.). Таким образом, БД будет содержать 7 записей одного типа, каждая из 6 полей.

                                             Табл. 2.1


 

 

 

 

 

 

 

В принципе в  файловой БД могут быть записи нескольких типов, различающихся числом и составом полей. Тогда каждый тип записей организуется в свой файл.

Ключи для выбора записей

Выбор из БД записей, необходимых пользователю, требует  формирования соответствующего запроса. Этот запрос выполняется с помощью ключа. Поэтому для выбора нужной информации необходимо задать значение ключа, т.е. указать значение ноля (палей) ключа. После этого СУБД ищет записи, в которых ноле ключа имеет заданное значение.

В общем случае ключи записи бывают двух видов: первичный и вторичный.

Первичный ключ - это одно или несколько полей, однозначно идентифицирующих запись.

Первичный ключ позволяет для его любого значения всегда находить в БД не более одной  записи. Например, для данных, представленных в табл. 2.1, первичным ключом будет поле <Паспорт>. Если задать любое допустимое значение этого поля, то всегда будет выбрана только одна запись. Так, при задании значения <12 34 034 123> будет выбрана запись № 4.

Вторичный ключ - это одно или несколько полей, значение которых может повторяться в нескольких записях файла.

Такой ключ используется, когда указанному в запросе требованию в БД могут соответствовать несколько  записей. Допустим, нам надо выбрать  сотрудников, родившихся в некотором году. Для рассматриваемого выше примера поле <Год рождения> будет вторичным ключом, так как для значения ключа «1953» в БД будет найдено две записи: № 4 и № 7.

Заметим, что  может быть несколько разных первичных  и (или) вторичных ключей. Так, в табл. 2.1, кроме поля <Паспорт>, первичным ключом является и поле <Номер записи>.

Если ключ состоит  из одного поля, то называется простым, если из нескольких полей - составным.

Организация поиска записей

При создании БД нужно определить структуру записи, перечень ходящих в нее полей и их порядок внутри записи. Для каждого поля и самой записи требуется установить длину в байтах, форматы представления в полях числовых и других данных (стандарты допускают использование ЭВМ нескольких разных форматов представления данных в ячейках памяти). В соответствии с этим разрабатываются программные средства для формирования и хранения файлов и записей в памяти ЭВМ, а также для выбора и обработки данных по запросам пользователей.

Возможности БД файлового типа в значительной мере определяются возможностями файловой системы ЭВМ.

Первоначально, когда жесткие диски и оперативная  память имели небольшую емкость, файлы БД располагались на магнитных  лентах. Особенность работы с магнитными лентами состоит в том, что  файлы располагаются на ленте последовательно друг за другом и для доступа к нужной записи необходимо прокрутить ленту до места ее расположения. Иными словами, в файловых системах ЭВМ первых поколений реализовывался последовательный метод доступа к данным, когда для извлечете нужной записи надо было прочитать все предыдущие. Поэтому первые файловые БД требовали длительного времени поиска данных.

В последующем  ЭВМ стали использовать файловые системы с произвольным или индексно-последовательным доступом, а для хранения БД - жесткие диски и оперативную память. В них стало возможным реализовать способ прямого доступа к памяти и практически сразу находить нужный файл и запись. Именно тогда окончательно сформировалось понятие ключа, по значению которого определяется запись, необходимая пользователю.

В базах данных, основанных на файловой модели, используются простейшие по современным понятиям СУБД, в которых реализовывается простейший механизм поиска необходимых пользователю записей. Фактически в них для реализации запроса нового типа требуется писать дополнительный программный модуль.

Заметим, что  система хранения и поиска данных на жестком диске ПЭВМ и есть некоторый  вариант БД файлового типа

Рассмотрим, например, как физически располагаются  записи на жестком диске и организуется выборка нужной записи при использовании файловой системы с индексно-последовательным доступом .

Жесткий диск состоит  из пакета дисков с магнитным покрытием. Данные записываются на дорожки в  виде сегментов фиксированной длины, которые пронумерованы и располагаются по кругу с радиусом, отсчитываемым от центра диска Сегменты, в свою очередь, могут состоять из нескольких записей. Набор дорожек с одинаковыми номерами со всех дисков пакета называют цилиндром. Данные могут записываться или считываться с помощью блока специальных головок одновременно со всех дорожек некоторого цилиндра.

Записи при  их большом числе требуют для  размещения несколько сегментов, дорожек и (или) цилиндров; в одном сегменте может быть несколько (записей. Для простоты понимания предположим, что каждая запись на диске представлена одним сегментом, а дорожки в цилиндре пронумерованы числами 1,2,....

Очевидно, что  для поиска записи следует указать  номера цилиндра и дорожки, а также сегмента. Для ускорения поиска создаются индексные таблицы цилиндров и дорожек (рис.2.2)

Рис. 2.2. Схема поиска записи при индексно-последовательном доступе

 

Допустим, что  записи пронумерованы и значение номера сегмента есть первичный ключ для выборки нужной записи. При  запросе «Выбрать запись со значением ключа 64» будут выполнены определенные действия. Сначала ЭВМ найдет на диске индексную таблицу (далее индекс) цилиндров.

В ней для  каждого цилиндра указывается максимальный ключ - максимальный номер записи (сегмента) на данном цилиндре (рис. 2.2). Далее определяется, что нужная запись находится на втором цилиндре, производится обращение к индексу дорожек цилиндра 2 и определяется, что запись 64 находится па дорожке 3. После этого производится чтение с дорожки 3 второго цилиндра сегмента (записи) с нужным номером. Эта запись будет четвертой на дорожке 3 второго цилиндра.

Базы данных, в основе которых лежит файловая организация данных, до сих пор  довольно широко используются. Однако оказалось, что они обладают серьезными недостатками. Основная проблема состоит в том, что файлы независимы и могут иметь повторяющиеся данные. Повторение данных в разных файлах приводит, во-первых, к избыточному объему, во вторых, усложняется процесс редактирования, так как одинаковые поля надо изменять в нескольких файлах, а при этом можно ошибиться. Кроме того, одни и те же данные могут размещаться в полях с разными именами, что приводит к проблемам выбора логически связанных записей из нескольких файлов.

Следует отметить, что файловые модели не предполагают установления связей между файлами, что и явилось одной из причин появления специальных прикладных программ, получивших название СУБД.

 

2.2 Иерархическая  и сетевая модели представления  данных

 

Иерархическая модель

Более сложными моделями по сравнению с файловыми  являются иерархические и сетевые модели, которые предполагают, что БД содержит описания совокупности взаимосвязанных объектов. Связь двух объектов отражает их подчиненность.

Иерархическая БД представляет собой древовидную структуру и состоит из упорядоченного набора деревьев (ориентированных графов) или, точнее, упорядоченного набора нескольких деревьев (графов) одного и того же типа. Напомним, что граф 1 совокупность точек, изображенных на плоскости (вершины графа) и связей между ними в виде линий, соединяющих их (ребра или дуги графа). Вершина, с которой начинается дерево (см. рис. 2.1), называется корневой. Каждая вершина (родительская) может порождать ряд других вершин (потомков), которые располагаются ниже. Графом, например, удобно описывать структуру управления организацией, начиная от ее руководителя и заканчивая конкретным исполнителем.

Тип дерева представляет собой иерархически организованную совокупность, содержащую один корневой тип записи и упорядоченный набор, который может содержать или  не содержать множество типов поддеревьев, каждое из которых относится к определенному типу дерева.

Между записями в иерархии могут быть определены связи: один ко многим или один к одному, где запись, соответствующая элементу один, определяется как исходная, а соответствующая элементу иного — как порожденная. Для иерархической структуры характерно, что запись-потомок имеет только одного предка, у которого может быть множество потомков. В общем случае данные в иерархической БД могут представляться несколькими деревьями.

В иерархических  БД автоматически поддерживается целостность  ссылок между предыдущим (родителями) и последующим (потомками). Основное правило — последующее не может существовать без своего предыдущего. Аналогичное поддержание целостности по ссылкам между записями, не входящими в одну иерархию, не поддерживается.

В различных  СУБД описание объекта для БД иерархического типа может называться по-разному: тип  записи, файл, сегмент (далее используем термин «запись»). В свою очередь, запись состоит из одного или нескольких элементов данных (это аналог поля в файловой модели). Элементы упорядочиваются в некотором порядке.

 Записи одной  структуры образуют тип записи. Отдельные записи некоторого  типа называют экземплярами записи. Модель данных может включать  несколько типов записей. При этом запись конкретного типа называют объектом модели.

Между объектами  модели данных устанавливаются связи. Они также характеризуются типом. Связи между разными объектами (между парой экземпляров записей разного типа) могут иметь разный тип.

В качестве пояснения  ниже приводится концептуальная и логическая модели иерархической БД для «Классификатора таможенных органов и их структурных подразделений». Этот классификатор применяется при подготовке и контроле таможенных документов.

Известно, что  в структуре ФТС России выделяют три типа объектных множеств: региональные таможенные управления (РТУ), таможни (Т) и таможенные посты (ТП). Они находятся в линейной подчиненности РТУ-Т-ТП. Описание каждого типа объектов состоит из двух элементов: имя и код, однако они имеют разный смысл. Для объектов типа РТУ - это наименования и коды региональных таможенных управлений, для Т - наименования и коды таможен, для ТП - наименования и коды таможенных постов. Таким образом, концептуальная модель создаваемой базы предполагает задание и сохранение в БД описании объектов трех типов, находящихся в линейной подчиненности.

Конкретная  таможня   подчиняется только одному РТУ, а ТП - только одной таможне, поэтому для каждого РТУ можно построить дерево  подчиненности, в котором у каждого потомка будет только один предок, а корнем дерева будет объект типа РТУ. Следовательно, взаимосвязь данных в создаваемой БД описывается иерархическим деревом, что является особенностью БД иерархического типа.

Поскольку в состав каждого РТУ входят несколько таможен, а в таможню - несколько ТП, можно выделить два типа связей: первый - [РТУ-» Т] и второй - [Т -> ТП] . Поскольку в ФТС России семь РТУ, логическая модель создаваемой БД будет иметь семь однотипных деревьев (рис. 2.3). Количество потомков записей РТУ или Т будет зависеть от структуры соответствующих РТУ. Для описания элементов объектов в логической модели будет три типа записей по числу типов объектов: РТУ, Т и ТП.

Рис.2.3. Логическая модель БД классификатора

Например, запись типа РТУ, описывающая Центральное  таможенное управление (ЦТУ), будет иметь вид:

Имя

Код

ЦТУ

10100000


 

В Подольской таможне несколько ТП. Поэтому запись типа Т с именем - <Подольская> будет иметь соответствующее число потомков типа ТП.

Имя

Код

Подольская

10127070