Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике 3 семестр (Базы данных).doc
Скачиваний:
27
Добавлен:
07.12.2018
Размер:
1.28 Mб
Скачать

Тема 2 Введение в теорию баз данных

2.1. Определение базы данных. Особенности организации данных в базе данных

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

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

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

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

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

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

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

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

Система управления базой данных (СУБД) – программное обеспечение, которое управляет доступом к данным и обеспечивает функциональные возможности ИС [20, С.7].

Современные БД могут иметь практически неограниченное число записей, содержать мультимедийную информацию, предоставлять возможность публикации данных базы на Web (в том числе с использованием интерактивных страниц), предоставлять данные для хранилищ данных и др. Проектирование БД является сложной задачей, требующей специальной подготовки, и в настоящее время осуществляется, как правило, с использованием CASE (Computer Aided System Engineering) – средств (а именно, средств компьютерной поддержки технических систем). Создание и ведение БД возлагается на одного специалиста (или группу специалистов), являющегося администратором БД.

Из истории развития БД

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

Последующее затем появление устройств памяти прямого доступа таких, как магнитные диски систем IBM/360 или ICL-1900, открыло принципиально новые возможности для организации хранения данных во внешней памяти компьютеров.

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

Результатом активной деятельности ряда крупных американских компаний, большинство их которых выполняло военные заказы, стало появление первых приложений, использующих принципы баз данных. Первым из известных симпозиумов, посвященных проблематике баз данных, считается симпозиум, проведенный в июне 1963 г. в Санта-Монике (шт. Калифорния) компанией System Development Corporation (SDC). На симпозиуме обсуждались доклады по использованию БД в военных приложениях, были представлены ранние программные системы – прообразы современных СУБД. По мнению известного эксперта в области БД Т. Олле (T. Olle), именно в рамках разработок, представленных на этом симпозиуме, и родился термин «база данных» [13].

Дальнейшая история развития подходов к проектированию и созданию БД представлена в табл. 2.1 [13, 20].

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

Так в простейшей БД «ЗАКАЗ» могут быть созданы две таблицы: «Заказ» и «Клиент», - связанные между собой (табл.2.2 и табл. 2.3).

Таблица 2.2.

Клиент

Таблица 2.3.

Заказ

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

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

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

Формы предназначены для ввода и редактирования данных, отчёты – для формирования выходных документов и вывода их на печать.

Страницы доступа к данным являются интерактивными Web-страницами, которые позволяют просматривать, редактировать и вводить данные в БД, используя браузер.

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

Представление таблиц и связей между ними отображается Схемой данных (рис.2.1).

Рис.2.1. Схема данных «Заказ»

Таблица 2.1. Развитие технологий баз данных и ИС

Период появления

Название модели/технологии

Описание

Области применения и примеры

Конец

50-х гг.

Файловые системы

Файлы последовательного доступа

Обработка записей информации производилась в последовательном порядке

Первые системы бронирования авиабилетов; банковские системы; ИС предприятий и др.

1960 г.

Файлы прямого (произвольного) доступа

Поддержка прямого доступа к конкретной записи информации

1960 – 1965 гг.

Иерархические системы управления («иерархическая» или «древовидная» модель данных)

Поддержка доступа к нескольким записям информации

Отношения между данными подчиняются определенной иерархии, основу которой составляют отношения «потомок-предок», зависящее от предопределенных физических указателей

Проект компании North American Rockwell, поддерживавшей высадку астронавтов на Луне (1968 г.)

Система учета банковских счетов

1965 – 1970 гг.

Сетевые системы управления («сетевая» или «графовая» модель данных)

Поддержка иерархических и неиерархических отношений между данными

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

Базы данных торговых предприятий

1970 г.

Реляционная модель (появление в печати статьи Кодда о реляционных отношениях)

Поддержка всех логических отношений между данными

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

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

Реляционные СУБД используются в сфере управления предприятиями (производственными, сферы торговли, транспорта), в маркетинге услуг и т.д.

1970 – 1990 гг. и далее

Реляционная модель

1976 г.

ERM (Entity-Relationship Model, модель «сущность-связь»). Публикация статьи П.Чена о графическом представлении логических объектов БД

Поддержка всех логических отношений между данными

Модель «сущность-связь» предлагает графическое представление логических объектов (сущностей) и их отношений (связей) в структуре БД

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

Таблица 2.1. Развитие технологий баз данных и ИС (продолжение)

1981 г.

SDM (Semantic Database Model – семантическая модель БД), предложенная в статье М.Хаммера и Д. Маклеодома

SDM моделирует как данные, так и их отношения в единой структуре, которая называется объектом

OODM-модель отражает объекты БД, содержащих как внутреннюю семантику объекта, так и информацию о связях с другими объектами.

Основа концепции OODM-модели – объектно-ориентированная модель и семантическая модель данных

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

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

Начиная с 80-х гг. и далее

OODM (Object Oriented Database Model – объектно-ориентированная модель БД)

Основы OODM-модели разработаны компанией Xerox

Поддержка логических отношений между данными, представленных в виде объектов с семантическим наполнением

Начиная с 80-х гг. и далее

ERDM (Extended Relation Data Model – расширенная реляционная модель),

а также:

O/RDM (Object/Relational Data Model – объектно-реляционная модель)

Поддержка всех логических отношений между данными

ERDM-модель базируется на концепциях реляционной модели

ERDM-модель используется в основном для бизнес-приложений.

Часто СУБД, основанные на ERDM, называют объектно-реляционными системами управления базой данных (ОРСУБД)

Начиная с 1990 г. и далее

Client-server (технология «клиент-сервер»)

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

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

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

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

Таблица 2.1. Развитие технологий баз данных и ИС (окончание)

Начиная с 2000 г.

Технология многоуровневой архитектуры

Сочетание распределенной обработки данных с централизованным управлением и доступом к данным, используя промежуточное звено – сервер приложений (application server)

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

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

Начиная с 2000 г.

Технология интеграции информации

Федеративные БД (federated data-bases – независимые источники данных с возможностью получения необходимой информации из других источников данных)

Возможность использования содержимого двух либо более баз данных (источников информации – information sources) с возможностью дальнейшего создания единой крупной БД (возможно, виртуальной – virtual database), к которой можно обращаться с запросами, к к единому виртуальному пространству

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

Хранилища данных (data warehouses) – хранение копий фрагментов информации нескольких источников данных, прошедших определенное преобразование с целью согласования структур с общей схемой хранилища данных, в единой БД. Обновление хранилища происходит регулярно

Медиаторы (mediators) – программные компоненты, которые обеспечивают поддержку виртуальных БД с возможностью обработки запросов