Реферат: Московский государственный институт международных отношений



МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ

МЕЖДУНАРОДНЫХ ОТНОШЕНИЙ

(УНИВЕРСИТЕТ)


Кафедра информатики и математических методов


В.М. ГОРДУНОВСКИЙ, С.А. ГУТНИК, С.Ю. САМОХВАЛОВ


ВВЕДЕНИЕ В СИСТЕМЫ БАЗ ДАННЫХ


УЧЕБНОЕ ПОСОБИЕ


Под общей редакцией

В.В. Григорьева


МОСКВА – 2000


ГОРДУНОВСКИЙ Виктор Максимович, ГУТНИК Сергей Александрович, САМОХВАЛОВ Сергей Юрьевич. Введение в системы баз данных: Учебное пособие/ Под редакцией ГРИГОРЬЕВА Владимира Викторовича.

Изд. МГИМО (Университет), 2000 г., с.


В учебном пособии изложены основные понятия систем баз данных. Рассматриваются принципы организации данных, архитектура баз данных, функции систем управления базами данных и конкретные модели данных. На примерах иллюстрируются основные концепции в построении баз данных: файловые системы последовательного доступа, иерархическая, сетевая и реляционная. Подробно рассматривается реляционная модель данных и основные операции в этой модели. Приведены примеры реляционных операций с использованием языка структурированных запросов Microsoft Query. Продемонстрированы возможности работы с базами данных в Microsoft Excel.


Редактор Т.Ф.Тищенко


© Московский государственный институт международных отношений (Университет), 2000.





Оглавление



Глава 1. Понятие о базе данных 5

1.1.Развитие технологии систем баз данных 7

1.2. Функциональная структура базы данных 16

1.2.Основные компоненты базы данных 19

^ 1.4. Модели данных 22

1.5. Основные определения моделей данных 26

1.6. Предметная область баз данных 31

Глава 2. Методы проектирования систем баз данных 33

^ 2.1. Пример базы данных 33

2.2. Файловые системы баз данных последовательного доступа 35

2.3. Иерархические системы 37

2.4. Сетевые системы 42

2.5. Реляционные системы управления базами данных 43

Глава 3. Реляционная модель данных 48

^ 3.1. Понятие отношения 48

3.2. Теоретико множественные операции управления данными 55

Глава 4. База данных в Excel 78

4.1.Создание базы данных в Excel 78

4.2. Сортировка данных 79

4.3. Фильтрация данных. Автофильтр 81

^ 4.4. Фильтрация данных. Поиск по критерию 82

4.5. Фильтрация данных. Расширенный фильтр 83

4.6. Обработка информации с помощью формы данных 86

4.7. Функции для работы с базой данных 88

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 90



^ Глава 1. Понятие о базе данных

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

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

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

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

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

Каждый отдел может иметь базу данных отдела, учитывающую профиль работы этого отдела.

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

Чтобы создать свою персональную базу данных, нужно прежде всего решить, из каких элементов она будет состоять, т. е. задать её структуру. Здесь можно положиться на свой повседневный опыт. Например, если необходимо создать электронную копию своей личной записной книжки, то включим в нее фамилии, имена и отчества своих знакомых, их адреса, телефоны и т. д. Из этих элементов можно составить запись, т. е. объединить их так же, как это делается на бумаге. При объединении элементов в запись между ними устанавливается определенная связь. Наличие структуры таких связей и определяет базу данных.

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

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

Введем еще одно определение базы данных с точки зрения информационного моделирования.

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



^ Развитие технологии систем баз данных



Под данными будем понимать разрозненные факты. Под информацией – организованные и обработанные данные.

В развитии технологии управления данными можно выделить несколько этапов. Вначале данные обрабатывались вручную. Впервые автоматизированная обработка информации появилась в 1890 году в США, когда Холлерит использовал технологию перфокарт и электромеханические машины для сортировки и обработки большого количества записей во время переписи населения Соединенных Штатов. Каждая перфокарта содержала двоичную запись по каждой семье. Машины сводили подсчеты в таблицы по жилым кварталам, территориальным и административным округам и штатам. Этот бизнес по производству оборудования для записи и обработки данных на перфокартах привел к возникновению в 1915 году компании International Business Machines (IBM). К середине 50-х годов у многих компаний имелись целые этажи библиотек данных на перфокартах. На других этажах размещались системы управления данными в виде рядов электромеханических перфораторов, сортировщиков и табуляторов.

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

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

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

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

Рассмотрим иерархическую модель базы данных на простом примере системы резервирования авиабилетов. В системе резервирования авиабилетов используются следующие типы записей: ГОРОДА, РЕЙСЫ, ПУТЕШЕСТВИЯ, ЗАКАЗЧИКИ (рис.1.1):



ГОРОДА




ЗАКАЗЧИКИ




РЕЙСЫ
















РЕЙСЫ




ПУТЕШЕСТВИЯ




ЗАКАЗЧИКИ
















ГОРОДА




РЕЙСЫ






















^ Рис. 1.1. Иерархическая модель


Рассмотрим связи между этими типами записей. ГОРОД-РЕЙСЫ – каждому городу соответствует набор отбывающих рейсов. ЗАКАЗЧИК-ПУТЕШЕСТВИЯ – каждое путешествие состоит из набора рейсов. РЕЙС-ЗАКАЗЧИКИ – каждому рейсу соответствует набор пассажиров. Эта информация может быть представлена в виде трех иерархий наборов с записями, сгруппированными под другими записями. Каждая из трех иерархий отвечает на отдельный вопрос. Первая иерархия – это планирование рейсов в городе. Вторая иерархия дает представление о рейсах заказчика-пассажира. Третья иерархия говорит, к какому рейсу относится каждый заказчик. Программа резервирования билетов нуждается в этих трех представлениях данных. Но иерархическое представление данных обладает существенным недостатком – избыточностью. Например, при создании нового рейса или обновлении информации о нем необходимо обновить данные во всех трех местах (во всех трех иерархиях).

Для решения этих проблем информацию стали представлять в виде сетевой модели данных. Например, в системе резервирования авиабилетов каждую запись стали хранить в одном экземпляре и соотносить с набором других записей посредством связей. Так все РЕЙСЫ, используемые в ПУТЕШЕСТВИИ конкретного ЗАКАЗЧИКА, связываются с этим ПУТЕШЕСТВИЕМ, как показано на рис.1.2.



ГОРОДА



ЗАКАЗЧИКИ
отбывающие

рейсы

прибывающие

рейсы



пассажир

заказал

путеше-

ствия

РЕЙСЫ


состоят из рейсов
ПУТЕШЕСТВИЯ

^ Рис. 1.2. Сетевая модель


При необходимости между записями могут создаваться новые связи.

Несмотря на успех сетевой модели данных, проектирование и программирование этих баз данных вызывали большие трудности. В 1970 году Э.Ф. Коддом (США) была предложена реляционная модель. В реляционной модели, которая будет подробно рассмотрена ниже, данные представляются в виде таблиц-отношений. Отношение легко представить как множество записей в электронных таблицах. Названия столбцов таблицы представляют собой имена полей записей.

Перечислим современные технологии обработки информации в реляционных базах данных. Первая - задачи оперативной обработки данных, так называемые задачи OLTP (On Line Transaction Processing). Это задачи обработки текущей информации в реальном времени, например системы резервирования авиабилетов или системы обработки банковских счетов.

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

Сбор разрозненных и разнотипных данных.

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

Потребность в непротиворечивой и достоверной информации.

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

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

В рамках технологии хранилищ данных развиваются или нашли свое применение такие направления современных информационных технологий и методов обработки данных, как OLAP (On Line Analytical Processing) - интерактивная аналитическая обработка, DSS (Decision Support System) - системы поддержки принятия решений, EIS (Executive Informatin System) - информационная система руководителя, Data Mining and Knowledge Discovery in Data Bases - интеллектуальный анализ данных, Data Modeling - моделирование данных, Data Cleaning - очистка данных, ERP (Enterprise Resourse Planning) - планирование ресурсов предприятия и пр.

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

Появление в 1981 году IBM PC сделало персональный компьютер неотъемлемой частью офисного оборудования. Программы обработки текстов, работы с электронными таблицами и многие другие сами по себе оправдывали использование персонального компьютера. Кроме того, было вполне естественно связывать компьютеры в сеть, чтобы пользователи могли общаться по электронной почте и работать с общими ресурсами, такими, как принтеры, диски. Вначале серверы были созданы для управления печатью и доступом к файлам. Это были серверы печати и файловые серверы. Например, в ответ на запрос клиента на доступ к конкретному файлу, файловый сервер пересылал этот файл через сеть на клиентский компьютер. Сегодня же большинство серверов составляют серверы баз данных – программы, которые запускаются на серверной машине и обслуживают доступ клиентов к базе данных. Например, клиент запускает прикладную программу, и ему требуется запросить базу данных. Для этого он обращается к серверу за нужными ему данными, сервер выполняет запрос и возвращает результат клиенту. Прикладная программа может также посылать данные на сервер с требованием обновить базу данных. Сервер вносит необходимые изменения. Система клиент-сервер – это локальная сеть, состоящая из клиентских компьютеров, которые обслуживает компьютер-сервер. В основе производительности системы клиент-сервер лежит принцип разделения труда. Клиент – это та машина, с которой работает пользователь. Управление клиентом происходит с использования графического пользовательского интерфейса (GUI – Graphical User Interface). На клиентской части производятся вычисления и другая работа, необходимая непосредственно конечному пользователю. Сервер выполняет работу, общую для нескольких клиентов: доступ к базе данных, обновление базы данных и т. д.

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

В некотором смысле технология клиент-сервер – наиболее яркое воплощение сочетания распределенной обработки данных с централизованным управлением и доступом к данным.

Другое важное новшество – объектно-ориентированные мультимедийные базы данных, которые хранят более сложные типы данных, - документы, включающие графические, звуковые и видео образы. Эти системы нового поколения представляют собой базовые средства хранения для приложений Internet и Intranet.

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

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

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

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

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

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

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

В программах, написанных на языке системы управления базами данных, используются методы баз данных. Объекты данных обладают свойствами и методами. Файлы объектно-реляционных баз данных и таблицы, чье содержимое согласуется с парадигмой объекта, рассматриваются в смысле модели в объектно-ориентированного представлении.

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

Сегодняшние технологии, такие, как объектно-ориентированные базы данных, технологии клиент-сервер, Web-технологии и системы электронной коммерции E-commerce в Internet, решают сложнейшие задачи и приведут к появлению в будущем более мощных систем.

^ 1.2. Функциональная структура базы данных

Почему организации выгодно хранить данные в базе данных? Наиболее общий ответ состоит в том, что база данных обеспечивает централизованное управление данными всей организации. Это предполагает, что в организации, имеющей систему баз данных, имеется вычислительный центр по управлению данными, есть сотрудник – администратор базы данных, который отвечает за работу с данными. На практике администратором базы данных может быть даже группа специалистов. Отметим, что роль администратора базы данных в организации очень важна. Фактически администратор базы данных рассматривается как часть системы управления базы данных.

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

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





^ Отдел маркетинга










Отдел закупок




Бухгалтерия




























Продажи




Реклама




^ Оценка

товаров




Дебет




Кредит













































































^ Рис. 1.3. Пример нецентрализованного управления данными


Но база данных определялась как совокупность структурированных, взаимосвязанных, совместно используемых и управляемых данных. Их совместное использование и управление достигаются средствами интеграции данных. Таким образом, определение содержит три критерия эффективности базы данных.

Во-первых, данные должны находиться в совместном использовании. Ранее упоминалось, что данные могут совместно использоваться различными отделами организации.

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

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

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

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

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

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

^ Основные компоненты базы данных

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



































СУБД













СУБД координирует все действия, относящиеся к базе данных




Менеджер БД

Обрабатывает все программные обращения к БД










Рис. 1.4. Основные компоненты архитектуры СУБД

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

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

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

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

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

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

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

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

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

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


^ 1.4. Модели данных

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

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

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

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








Внешняя модель данных




^ Интерфейс пользователя










Отображение во внутренние структуры данных

Внутренняя

схема













Физическая база данных





Рис.1.5. Двухуровневая архитектура СУБД


На рис.1.6. представлена обобщенная трехуровневая архитектура СУБД. В этом варианте одной концептуальной модели соответствует несколько внешних моделей.


Внешняя модель данных 1




В
еще рефераты
Еще работы по разное