Какие виды логических моделей баз. Логическая модель базы данных


Данные понятия соответствуют описанию графического представления иерархической модели в виде ориентированного графа (перевернутое дерево).

Каждый элемент иерархической структуры соответствует некоторому атрибуту базы данных. Каждой записи в базе данных соответствует единственный путь, ведущий от корневой вершины к оконечным атрибутам (листьям). Например путь А;В3;С4 – это запись в базе данных. Если под А; понимать атрибут – институт № (например МИРЭА), а под В3; - атрибут группа № (например ВУС – 6.99), а под С4; - атрибут студент № (например Иванов), то данная структура является описанием логической структуры базы данных студентов МИРЭА.

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

Сетевая модель данных.


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

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

Понятие реляционная база данных (от англ. relation – отношение) связанно, прежде всего, с именем американского специалиста по базам данных Е. Кодда.

Реляционная модель – это организация данных в виде двухмерных таблиц. Каждая таблица при этом обладает следующими свойствами:

каждый столбец (атрибут или домен) имеют уникальное имя;

одинаковые строки в таблице отсутствуют;

все элементы в столбце имеют одинаковый тип и формат;

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

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


На следующем рисунке представлен пример реляционной модели, построенной на основе отношений: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.

Поле т.е. один или несколько доменов, значение которого однозначно определяет соответствующую запись называется ключевым, или ключом. В табл. 1 и 2 ключом является поле “номер зачетной книжки”. Для того что бы связать две таблицы, надо ключ одной таблицы ввести в состав ключа другой таблицы. Например чтобы связать таблицы 2 и 3 надо в табл. 3 и 2 использовать атрибут “результат”. Если бы его не было в одной из таблиц, то его необходимо было бы ввести.

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

Инфологическая модель.

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

Множество информационных объектов образует класс (или тип), которому присваивается определенное уникальное имя.

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


Пример представления информационного объекта в виде графа представлен на следующем рисунке:

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

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

Е. Коддом выделены 3 нормальные формы отношений и предложен механизм их получения.

Первая нормальная форма. Отношение находится в первой нормальной форме (1 НФ), если все его атрибуты являются неделимыми. Например, атрибут “Ф.И.О.” не находится в 1 НФ, т.к. может быть разбит на “Фамилия”, “Имя”, “Отчество”, т.е. приведен к 1 НФ.

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


Пример функциональной зависимости представлен на рисунке:

Помимо функциональной существует также понятие функционально – полной зависимости.

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

Отношение будет находиться во 2 НФ, если оно находится в 1 НФ и каждый ключевой атрибут функционально полно зависит от составного ключа.

Пример т-осного отношения (во 2 НФ) – это отношение студент = ( , фамилия, имя, отчество, дата, группа) – которое также находится и в 1 НФ.

Отношение успеваемость = (номер , фамилия, имя, отчество, дисциплина , оценка) находится в 1 НФ и имеет составной ключ номер + дисциплина . Но это отношение не находится во 2 НФ, т.к. атрибуты фамилия, имя, отчество, не находятся в полной функциональной зависимости от составного ключа отношения (иными словами фамилия, имя, отчество функционально зависят от части составного ключа – атрибута номер и это функционально полную зависимость).

Понятие третьей нормальной формы основывается на понятии транзитивной и не транзитивной зависимости.

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

Отношение будет находиться в третьей нормальной форме (3 НФ), если оно, находясь во 2 НФ не имеет не ключевых атрибутов транзитивно зависящих от первичного ключа.



Примером транзитивной зависимости для отношения “Студент” может служить атрибут “Староста”, который определяется номером “группы”.

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

Для устранения транзитивной зависимости необходимо произвести “расщепление” исходного информационного объекта. В результате расщепления часть атрибутов удаляется из исходного информационного объекта – см. рис.


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

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

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

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

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


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02

Введение. Основные понятия баз данных

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

История развития систем управления базами данных (СУБД) насчитывает десятки лет. Первая промышленная СУБД фирмы IBM была введена в эксплуатацию в 1968 году, а в 1975 году появился первый стандарт, который определил ряд основных понятий в теории систем баз данных.

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

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

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

Примерами серверов могут служить:

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

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

Дисковый сервер, обладающий расширенными ресурсами внешней памяти и предоставляющий их в использование компьютерам-клиентам и, возможно, другим серверам;

Файловый сервер, поддерживающий общее хранение файлов для всех рабочих станций;

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

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

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

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

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

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

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

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

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

· обработка данных - данные можно обрабатывать различными способами: выбирать любые поля, фильтровать и сортировать данные, объединять данные и вычислять итоговые значения;

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

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

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

Рис 1. Иерархическая модель данных

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

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

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

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

Типичным представителем (наиболее известным и распространенным) является СУБД IMS (Information Management System) компании IBM. Первая версия системы появилась в 1968 г.

2.2.2. Сетевая модель данных

Под сетевой моделью понимается модель данных, подобная иерархической, но допускающая свободную систему связей между узлами различных уровней. Она является расширением иерархической модели данных. Таким образом, сетевые модели допускают наличие двух и более «предков» (рис.2).

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

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

Рис. 2. Сетевая модель данных

Типичным представителем систем, основанных на сетевой модели данных, является СУБД IDMS (Integrated Database Management System), разработанная компанией Cullinet Software, Inc. и изначально ориентированная на использование мэйнфреймов (ЭВМ общего назначения) компании IBM. Архитектура системы основана на предложениях Data Base Task Group (DBTG) организации CODASYL (Conference on Data Systems Languages), которая отвечала за определение языка программирования COBOL. Отчет DBTG был опубликован в 1971 г., и вскоре после этого появилось несколько систем, поддерживающих архитектуру CODASYL, среди которых присутствовала и СУБД IDMS. В настоящее время IDMS принадлежит компании Computer Associates.

Нормализация базы данных

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

Рассмотрим пример нормализации БД управления доставкой заказов. Неупорядоченная БД «Продажи» состояла бы из одной таблицы (рис.7).

Рис.7. БД «Продажи»

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

Первая нормальная форма

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

Выполним нормализацию БД " Продажи" до первой нормальной формы (рис.8).

Рис.8. Первая нормальная форма

3.3.2. Вторая нормальная форма

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

Выполним нормализацию БД " Продажи" до второй нормальной формы. Все сведения, не связанные с отдельными заказами, выделим в отдельную таблицу. В итоге получим вместо одной таблицы " Продажи" получим две - таблицу "Заказы" (рис.9) и таблицу "Товары" (рис.10).

Рис.9. Таблица "Заказы"

Рис.10. Таблица "Товары"

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

3.3.3. Третья нормальная форма

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

Выполним нормализацию БД "Продажи" до третьей нормальной формы. Для этого следует удалить из таблицы "Заказы" столбец "Всего". Значения в этом столбце не зависят ни от одного ключа и могут быть вычислены по формуле ("Цена")*("Количество"). Таким образом, получена БД "Продажи" с оптимальной структурой, которая состоит из двух таблиц (рис.11).

Рис. 11. Нормализованная БД "Продажи"

3.2 Программная реализация базы данных

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

Прикладные программы реализуются с помощью языков третьего или четвертого поколения. Некоторые элементы этих прикладных программ будут представлять собой транзакции обработки базы данных, записываемые на языке манипулирования данными (DML) целевой СУБД и вызываемые из программ на базовом языке программирования - например, на Visual Basic, С++, Java. Кроме того, на этом этапе создаются другие компоненты проекта приложения - например, экраны меню, формы ввода данных и отчеты. Следует учитывать, что многие существующие СУБД имеют свои собственные инструменты разработки, позволяющие быстро создавать приложения с помощью непроцедурных языков запросов, разнообразных генераторов отчетов, генераторов форм, генераторов графических изображений и генераторов приложений.

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

3.2.1. Разработка приложений

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

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

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

3.2.2 Тестирование базы данных

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

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

3.3 Эксплуатация и сопровождение базы данных

Эксплуатация и сопровождение - поддержка нормального функционирования БД.

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

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

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

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

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

4. СУБД Microsoft Access

4.1.Назначение и общие сведения о СУБД Microsoft Access

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

К областям применения Microsoft Access можно отнести следующие:

· в малом бизнесе (бухгалтерский учет, ввод заказов, ведение информации о клиентах, ведение информации о деловых контактах);

· в крупных корпорациях (приложения для рабочих групп, системы обработки информации);

· в качестве персональной СУБД (справочник по адресам, ведение инвестиционного портфеля, поваренная книга, каталоги книг, пластинок, видеофильмов и т. п.).

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

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

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

В Access можно использовать графические средства, как и в Microsoft Word, Excel, PowerPoint и других приложениях, позволяющие создавать различные виды графиков и диаграмм. Можно создавать гистограммы, двухмерные и трехмерные диаграммы. В формы и отчеты Access можно добавлять всевозможные объекты: рисунки, диаграммы, аудио- и видеоклипы. Связывая эти объекты с разработанной базой данных, можно создавать динамические формы и отчеты. Также в Access можно использовать макросы, позволяющие автоматизировать выполнение некоторых задач. Они позволяют открывать и закрывать формы и отчеты, создавать меню и диалоговые окна с целью автоматизации создания различных прикладных задач.

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

4.2. Объекты Microsoft Access

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

Рис. 12. Запуск Access

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

При создании новой базы данных Access откроет пустую таблицу, содержащую одну строку и два столбца (рис 13).

Рис.13. Окно новой базы данных

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

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

Таблицы в Access могут быть созданы следующим образом:

· в режиме «конструктора»;

· в режиме ввода данных в таблицу.

Создать таблицу можно путем импорта данных, хранящихся в другом месте, или создания связи с ними. Это можно сделать, например, с данными, хранящимися в файле Excel, в списке Windows SharePoint Services, XML-файле, другой базе данных MS ACCESS. Список SharePoint позволяет предоставить доступ к данным пользователям, у которых не установлено приложение MS ACCESS. При импорте данных создается их копия в новой таблице текущей базы данных. Последующие изменения, вносимые в исходные данные, не будут влиять на импортированные данные, и наоборот. Если осуществляется связывание с данными, в текущей базе данных создается связанная таблица, обеспечивающая динамическое подключение к данным, хранящимся в другом месте. Изменения данных в связанной таблице отражаются в источнике, а изменения в источнике - в связанной таблице.

В режиме таблицы отображаются данные, которые хранятся в таблице, а в режиме «конструктора» отображается структура таблицы.

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

Запросы . Запросы - это специальные средства, предназначенные для поиска и анализа информации в таблицах базы данных, отвечающей определенным критериям. Найденные записи, называемые результатами запроса, можно просматривать, редактировать и анализировать различными способами. Кроме того, результаты запроса могут использоваться в качестве основы для создания других объектов Access. Существуют различные типы запросов, наиболее распространенными из которых являются запросы на выборку, параметрические и перекрестные запросы, запросы на удаление записи, изменение и другие. Реже используются запросы на действие и запросы SQL (Structured Query Language). Если нужного запроса нет, то его можно создать дополнительно.

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

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

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

· «форма»;

· «разделенная форма»;

· «несколько элементов»;

· «пустая форма».

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

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

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

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

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

Страницы. Чтобы предоставить пользователям Интернета доступ к информации, в базе данных можно создать специальные страницы доступа к данным. С помощью страниц доступа к данным можно просматривать, добавлять, изменять и обрабатывать данные, хранящиеся в базе данных. Страницы доступа к данным могут также содержать данные из других источников, например, из Excel. Для публикации информации из базы данных в Web Access включают «мастер», который обеспечивает создание страницы доступа.

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

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

Создание таблиц

При вводе данных в Access полям присваиваются имена: Поле1, Поле2 и так далее. Можно использовать предложенные имена или изменить их. Название полей в таблице можно задавать двумя способами. После выбора способа создания таблицы выполняется команда «Создать »и вызывается соответствующее окно. На рис.8. показано создание таблицы в режиме «конструктора». Создаются требуемые поля таблицы с заданным типом данных, который выбирается посредством кнопки выбора – «галочка», в нижней части окна находится раздел выбора свойств поля, которые предлагаются вначале по умолчанию.

Рис. 14. Создание таблицы в режиме конструктора

Свойства полей таблицы базы данных Access указаны в нижней половине таблицы (рис.14).

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

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

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

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

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

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

Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии – подчиненными. Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим». Для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов.

Узлы и ветви образуют иерархическую древовидную структуру. Узел является совокупностью атрибутов, описывающих объект. Наивысший в иерархии узел называется корневым (это главный тип объекта). Корневой узел находится на первом уровне. Зависимые узлы (подчиненные типы объектов) находятся на втором, третьем и т.д. (пример – каталоги ЭВМ).

Сетевая модель

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

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

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

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

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

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

3.5 Построение реляционной субд

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

    позволяют обрабатывать очень большие объемы данных;

    информационные массивы можно без труда трансформировать, связывать, представляя их в виде еди­ной таблицы;

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

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

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

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

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

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

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

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

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

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

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

Альтернативный ключ – это атрибут (или группа атрибутов), не совпадающий с первичным ключом и уникально идентифицирующий экземпляр объекта. Например для объекта «служащий», который имеет атрибуты «ИДЕНТИФИКАТОР», «ФАМИЛИЯ», «ИМЯ», «ОТЧЕСТВО», последние три атрибута могут являться альтернативным ключом по отношению к атрибуту «ИДЕНТИФИКАТОР».

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

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

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

  1. определение типов и моделей данных
  2. иерархическая и сетевая модели
  3. реляционная модель.

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

Ссылочный тип – указатель – это адрес памяти. Всё дисковое пространство разделено на страницы (2, 4, 8 и т.д. килобайт), и адрес памяти – это номер страницы + относительный номер байта внутри страницы. Абстрактный тип (объект) – это интерпретируемый структурированный тип с функциями, определенными над его элементами. При этом определяются имена, типы элементов, функции (методы), а также правила (ограничения целостности) применения этих функций к описанным элементам. Для поддержания во внешней дисковой памяти более сложных структур данных на уровне СУБД поддерживаются модели данных, включая иерархическую, сетевую и реляционную. Модель данных – это совокупность структур данных и правил их порождения, операций над ними и ограничений целостности как перечень мероприятий, направленных на поддержание БД в актуальном состоянии. Целостность – это точность, корректность данных в базе в любой момент времени. Ограничение целостности – набор мероприятий, направленных на поддержание целостности базы и корректности выборки информации.

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

На первых этапах внедрения БД (50–80 годы) широко использовались СУБД первого поколения на ЕС ЭВМ – иерархические и сетевые СУБД.

Иерархическая модель организует структуру в виде упорядоченного дерева, вершины (узлы) соответствуют сущностям и называются типами записей. Тип записи может состоять из нескольких элементов, а дуга, связывающая типы, называется «исходный-порожденный» и соответствует типу «один ко многим» (одному экземпляру исходной записи соответтствует ноль, один или несколько порожденных записей). Доступ к каждому узлу осуществляется по иерархическому пути – это последовательность типов записей от корня дерева. Верхняя вершина – корень, последняя – лист, много деревьев – лес. Расширением типа записи является таблица, а расширением связи – множество соединений между строками таблиц. Каждая строка таблицы – это экземпляр типа записи. Ограничением целостности является то, что в вершину всегда входит только одна дуга. Операции: включение данных (экземпляр порожденной записи не может существовать в отсутствии экземпляра исходной), которое осуществляется по иерархическому пути (указываются ключи записи); удаление данных (при удалении экземпляра исходной записи автоматически удаляются все экземпляры порожденных, так как экземпляры записей реализуются посредством указателей); извлечение данных осуществляется по иерархическому пути посредством указания ключей записей; обновление данных – изменение значений производится только над извлеченными записями. В экземпляре записи всегда есть ячейка с указателем на брата и на сына. Таким образом, связи в иерархической модели основаны на указателях. Для того, чтобы реализовать концептуальную модель предметной области нужно ввести 6 иерархических структуры: материал – деталь – поставка, склад – деталь – поставка, город – поставщик – поставка, материал – деталь – отпуск, склад – деталь – отпуск, клиент – отпуск.

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

Представим для примера реализацию на иерархической модели базы данных «склад деталей».

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

Сетевая модель.

Это ориентированный граф, в узлах которого расположены типы записей, граф произвольного вида и в вершину может входить несколько дуг. Идея сетевой модели предложена ассоциацией КОДАСИЛ. Характеристика модели КОДАСИЛ:

  1. элемент данных – базовая поименованная единица
  2. агрегат – совокупность данных: массив, структура
  3. запись – поименованная совокупность элементов и/или агрегатов данных
  4. набор – поименованная совокупность записей, образующих двухуровневую иерархическую структуру «исодный–порожденный». Каждый тип набора представляет собой отношение между двумя типами записей. Каждый экземпляр набора содержит один экземпляр записи «владелец» и ноль, один или несколько экземпляров «член набора».

Сеть – это совокупность иерархий.

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

Сетевые СУБД – IDMS –> СЕТЬ и СЕТОР.

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

Пример сетевой модели базы «склад деталей».

Таким образом в БД хранятся экземпляры типов записей «город», «поставщик», «поставка», «деталь» и т.д., которые связаны в рамках определенных экземпляров наборов отношениями «один ко многим». Например, деталь 1 в типе набора «деталь – поставка» является владельцем экземпляров поставка 2 и поставка 6, а деталь 2 в этом типе набора является владельцем поставки 1, 2, 7. Деталь 1 и 2 находятся в разных связках, то есть в разных экземпляров набора.

К ранним видом СУБД относятся псевдореляционные. Они получили распространение на ПЭВМ, это системы dBase группы. К ним относятся Clipper, FoxPro, FoxBase. В этих системах каждая таблица (тип записи) хранится в отдельном файле с расширением dbf, например, отдельно файл «Город», файл «Поставщик» и т.д. Между файлами связи поддерживались на программном уровне в клиентском приложении. Для каждого файла создавались индексы для обеспечения быстрого доступа к записям файлов по ключу. Далее мы перейдем к реляционной модели, которая поддерживает ссылочную целостность между сущностями.

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

Характеристика модели.

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

Имя отношения
А1 А2 А3 А4 – атрибуты
А11 А12 А13 А14 – кортежи выборки
А21 А22 А23 А24
А31 А32 А33 А34

А11, А12 – это значения атрибутов.

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

Правила отображения концептуальной модели предметной области в реляционную БД.

На рисунке 5 изображена концептуальная модель. Отобразим её в реляционную.

  1. отображение сущностей в реляционные отношения, которые нормализованы
  2. отображение ассоциаций связано с использованием ссылочной целостности между таблицами. Ассоциативное отношение 1:1, 1:М, М:1 реализуются посредством помещения внешнего вторичного ключа в сущность, из которой исходит стрелка ассоциации. Этот ключ соответствует первичному ключу, на который указывает стрелка. Связи «многие ко многим» требует ведения перекрестной таблицы, в которую включается в качестве вторичных ключей первичные ключи связываемых сущностей.

  1. отображение агрегации осуществляется с помощью ассоциаций, при этом заводится отдельная таблица «часть» с вторичным ключом, связывающим её с таблицей владельцев (целое)
  2. отображение обобщения чаще всего осуществляется посредством отображения каждого подтипа в отдельную таблицу с включением в неё вторичного ключа, соответствующего первичному ключу таблицы супертипа. Пример: «клиент» (код клиента ) для подтипов «организация» (ОГРН , код клиента), «ИП» (ИНН , код клиента).

Целостность реляционной модели.

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

Ссылочная целостность – БД не должна содержать несогласованных значений внешних ключей (FK). Если отношение R2 имеет среди своих атрибутов какой-то внешний ключ, который соответствует первичному ключу (PK) отношения R1, то каждое значение FK должно быть равно значению РК. Пример: все коды материалов таблицы «деталь» должны присутствовать как первичные ключи в таблице материалов.

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

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

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


Рис. 1.8.

Общие принципы классификации СУБД

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

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

Так, СУБД CDS / ISIS в первую очередь ориентирована на поддержку работы с документом, который состоит из определенного числа рубрик, проиндексированных по тезаурусу ключевых слов. СУБД ADABAS хорошо подходит для организации фактографических БД, а СУБД ORACLE - для БД смешанного типа. Во избежание несуразностей с использованием определенной модели данных, БД, за редким исключением, целесообразно классифицировать по типу используемой модели в СУБД. Отметим, что классификация БД далеко не завершенная область исследований: попытки ввести новые типы БД продолжаются (активные, дедуктивные, нечеткие реляционные, графические БД и т.д.).

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

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




Top