Любая развитая семантическая модель данных, как и реляционная модель, включает структурную, манипуляционную и целостную части, главным назначением семантических моделей является обеспечение возможности выражения семантики данных.
Наиболее часто на практике семантическое моделирование используется на первой стадии проектирования базы данных. При этом в терминах семантической модели производится концептуальная схема базы данных, которая затем вручную преобразуется к реляционной (или какой-либо другой) схеме. Этот процесс выполняется под управлением методик, в которых достаточно четко оговорены все этапы такого преобразования.
Менее часто реализуется автоматизированная компиляция концептуальной схемы в реляционную. При этом известны два подхода: на основе явного представления концептуальной схемы как исходной информации для компилятора и построения интегрированных систем проектирования с автоматизированным созданием концептуальной схемы на основе интервью с экспертами предметной области. И в том, и в другом случае в результате производится реляционная схема базы данных в третьей нормальной
Далее мы кратко рассмотрим некоторые черты одной из наиболее популярных семантических моделей данных - модель "Сущность-Связи" (часто ее называют кратко ER-моделью).
На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в системах CASE. Основными понятиями ER-модели являются сущность, связь и атрибут.
|
Сущность - это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности.
Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Связь представляется в виде линии, связывающей две сущности или ведущей от сущности к ней же самой. При это в месте "стыковки" связи с сущностью используются трехточечный вход в прямоугольник сущности.. Обязательный конец связи изображается сплошной линией, а необязательный - прерывистой линией.
В изображенном ниже примере связь между сущностями БИЛЕТ и ПАССАЖИР связывает билеты и пассажиров. При том конец сущности с именем "для" позволяет связывать с одним пассажиром более одного билета, причем каждый билет должен быть связан с каким-либо пассажиром. Конец сущности с именем "имеет" означает, что каждый билет может принадлежать только одному пассажиру, причем пассажир не обязан иметь хотя бы один билет.
33. CASE-средства
CASE-средства поддерживают концептуальное проектирование, позволяют осуществить логическое и физическое проектирование путем автоматической генерации БД для целевой СУБД. При сравнении CASE-систем кроме используемой методологии ER-моделирования, необходимо учитывать специфические критерии, связанные с реализацией функций автоматизированного проектирования:
|
· число и перечень поддерживаемых целевых СУБД;
· поддержку распределенных БД;
· поддержку коллективной работы при проектировании;
· построение концептуальной ER-модели по описанию структуры существующей БД;
· автоматизируемые функции проектирования и степень их автоматизации;
· качество и жесткость проектных решений;
· надежность работы;
· документирование проекта;
· открытость системы
удобство графического редактора;
· количественные ограничения
· возможность автоматической оценки объема памяти для проектируемой БД;
· возможность автоматической генерации процедур;
· наличие средств моделирования хранилищ данных;
· требования к ресурсам компьютера;
· операционную среду;
· стоимость системы.
CASE-средства показывают модель с разной степенью детализации:
· только обозначения сущностей и связей между ними;
· сущности + ключи;
· сущности + ключи + внешние ключи;
· сущности + все атрибуты.
Важной характеристикой CASE-средств является возможность получать подмодели из общей модели и обеспечивать интеграцию фрагментов в единую модель..
Еще одним критерием сравнения СASE-средств является степень проверки правильности построенных моделей. Ни одна система автоматизации проектирования не может гарантировать соответствия построенной концептуальной модели реалиям предметной области..
Многие CASE-средства этим позволяют задавать в модели ограничения целостности и генерируют программы (триггеры, хранимые процедуры), проверяющие эти ограничения при эксплуатации БД. Кроме того, CASE-средства могут генерировать программы ведения БД.Многие CASE-средства позволяют экспортировать модели в другие системы и, наоборот, импортировать их из других систем.
|
75.Типы интерфейсов доступа к БД. ODBC (англ. Open Database Connectivity) — это программный интерфейс доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies.
В начале 1990 г. существовало несколько поставщиков баз данных, каждый из которых имел собственный интерфейс. Если приложению было необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных было необходимо написать свой код. Для решения возникшей проблемы Microsoft и ряд других компаний создали стандартный интерфейс для получения и отправки источникам данных различных типов. Этот интерфейс был назван Open Database Connectivity, или открытая связь с базами данных.. C помощью ODBC прикладные программисты могли разрабатывать приложения для использования одного интерфейса доступа к данным, не беспокоясь о тонкостях взаимодействия с несколькими источниками.
MFC усовершенствовала ODBC для разработчиков приложений. Истинный интерфейс ODBC является обычным процедурным API. Вместо создания простой оболочки процедурного API, разработчики MFC создали набор абстрактных классов, представляющих логические сущности в базе данных.
При применении ODBC требуется помнить, что данная технология доступа к данным не рассчитана на работу с большим числом клиентов.
DO — интерфейс программирования приложений для доступа к данным, разработанный компанией Microsoft и основанный на технологии компонентов ActiveX. ADO позволяет представлять данные из разнообразных источников в объектно-ориентированном виде.
JDBC — платформенно-независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД, реализованный в виде пакета java.sql. JDBC основана на концепции так называемых драйверов, позволяющих
Перемещение столбца· выделение столбца; получать соединение с базой данных по специально описанному URL. Драйверы могут загружаться динамически. Загрузившись, драйвер сам регистрирует себя и вызывается автоматически, когда программа требует URL, содержащий протокол, за который драйвер отвечает.
JDBC API содержит два основных типа интерфейсов: первый - для разработчиков приложений и второй (более низкого уровня) - для разработчиков драйверов.
Соединение с базой данных описывается классом, реализующим интерфейс java.sql.Connection.
Имея соединение с базой данных, можно создавать объекты типа Statement, служащие для исполнения запросов к базе данных на языке SQL.
76.OLAP-технология и хранилище данных (ХД). Отличия ХД от базы данных.
Предметная ориентация - ключевое отличие оперативных БД от ХД. Разные приложения БД могут описывать одну и ту же предметную область с разных точек зрения и решение, принятое на основе данных, отражающих только одну сторону вопроса, могут быть неэффективными, а порой и просто неверными.. В оперативных БД информация может добавляться, удаляться и изменяться, а в ХД данные могут только загружаться и читаться
Хранилище данных (Data Warehouse). это база данных, хранящая данные, агрегированные по многим измерениям.
Средства OLAP. Инструментарий навигации по многомерным данным.
MOLAP (Multidimensional OLAP). Детальные данные и агрегаты хранятся в многомерной БД. В этом случае получается наибольшая избыточность, так как многомерные данные полностью содержат реляционные.
ROLAP (Relational OLAP). Детальные данные остаются на своем месте (в реляционной БД), агрегаты хранятся в той же БД в специально созданных служебных таблицах.
HOLAP (Hybrid OLAP). Детальные данные остаются на месте (в реляционной БД), а агрегаты хранятся в многомерной БД.
Хранилища данных (ХД) - оптимально организованной БД, хранящей данные, агрегированные по многим измерениям, и обеспечивающей максимально быстрый доступ к информации, необходимой для принятия управленческих решений. Данные в ХД попадают из оперативных БД и систем, которые предназначены для автоматизации бизнес-процессов. Кроме того, ХД может пополняться из внешних источников, например, статистических отчетов.
OLAP-серверы, или серверы многомерных БД, могут хранить свои многомерные данные по-разному
Прежде всего отметим принципиальные отличия OLAP-систем. Это программное обеспечение, предоставляющее пользователю возможность в режиме реального времени получать ответы на произвольные аналитические запросы. К классу OLAP-систем относят только те программы, которые в качестве внешнего интерфейса предоставляют пользователю многомерную изменяемую таблицу. Эта таблица позволяет пользователю менять местами столбцы и строки, задавать условия фильтрации и при этом она автоматически вычисляет промежуточные итоги в группах данных и окончательные итоги. Неотъемлемой частью OLAP-анализа является графическое отображение данных.
Программная реализация OLAP-решения предполагает наличие машины вычислений (OLAP-сервера) и многомерной базы данных (MO-LAP), к которой обращаются клиентские программы с запросами на получение данных и выполнение вычислений. Любое конечное решение содержит OLAP-компоненту, которая является интерфейсом пользователя. Эти компоненты похожи друг на друга. Их визуальная часть состоит из элементов управления и элементов отображения данных.
48. Технология создания базы данных:
В Access существует три способа создания таблицы: в режиме таблицы, с помощью мастера, в режиме конструктора.
Создание таблицы в режиме таблицы наиболее просто. От пользователя требуется: полям стандартной таблицы присвоить имена полей собственной таблицы; заполнить эти поля конкретными значениями; присвоить имя собственной таблице. Создание таблицы с помощью мастера сводится к созданию новой таблицы на основе образца таблицы из деловой или личной сферы.Для создания таблицы в режиме конструктора необходимо открыть окно конструктора таблицы с помощью ярлыка в окне БД «Создание таблицы в режиме конструктора» или выполнив последовательности действий:
Окно БД; объект Таблицы; [Создать];
окно Новая таблица; выбрать Конструктор [ОК]
В этом окне пользователь должен описать структуру таблицы, т.е. для каждого
поля: указать его имя в столбце «Имя поля», выбрать его тип из раскрывающегося списка в столбце «Тип поля», при необходимости дать комментарий к нему в столбце «Описание поля», задать присущие ему свойства в строках раздела окна «Свойства поля», доступных после выбора типа поля. Значения одних свойств могут совпадать со значениями, принятыми по умолчанию; других – введены с клавиатуры или получены с помощью построителя выражений; третьих – выбраны из раскрывающегося списка.
Если создается таблица главная, то в ней необходимо определить первичный ключ. Для этого выделяется поле, играющее роль ключа, путем щелчка в столбце маркировки поля и вводится команда Правка / Ключевое поле.
В случае создания подчиненной таблицы надо учесть следующее. Если между главной и подчиненной таблицами связь типа 1:1, то для вторичного ключа следует задать свойство «Индексированное поле» со значением «Да (Совпадения не допускаются)»; если связь типа 1:М, то со значением «Да (Допускаются совпадения)».Описав структуру таблицы, окно конструктора закрывают, на вопрос о сохранении таблицы дают утвердительный ответ и таблице присваивают имя, после чего она регистрируется в окне БД.
Для заполнения созданной таблицы конкретными данными она открывается в режиме таблицы посредством кнопки «Открыть». Поочередно заполняются записи таблицы. При этом переход к новой записи вызывает автоматическое сохранение предыдущей записи.
В процессе работы с БД может понадобиться корректировка структуры таблицы. Она выполняется в режиме конструктора. Поля таблицы можно: перемещать при помощи мыши, удалять по команде Правка / Удалить, вставлять по команде Вставка / Строки. Кроме того, возможно изменение имен, типов, свойств полей. Изменение типа может привести к потере информации, и оно должно выполняться с осторожностью.
49. Корректировка базы данных (каскадные операции)
Схема данных является удобным и наглядным средством отображения логических связей таблиц БД. Связи используются для объединения записей связанных таблиц при любой обработке. Это упрощает процесс конструирования многотабличных запросов, форм и отчетов. Если создается связь с поддержкой целостности данных, то можно предусмотреть в БД следующие каскадные операции (операции по корректировке БД):
· каскадное обновление связанных полей – изменение значений ключа в записи главной таблицы влечет автоматическое изменение значений вторичного ключа в подчиненных записях;
· каскадное удаление связанных записей - удаление записи из главной таблицы приводит к автоматическому удалению всех подчиненных записей.
Для создания схемы данных вводится команда Сервис / Схема данных.
Затем необходимо:
· в окне Добавление таблицы на вкладке Таблицы поочередно выделять значки
связываемых таблиц и нажимать [Добавить], после чего нажать [Закрыть];
· в окне Схема данных разместить списки полей таблиц, представленные в отдельных окнах, согласно логической структуре БД и приступить к связыванию таблиц. Для установки связи между двумя таблицами следует перетащить первичный ключ на вторичный;
· в окне Изменение связей задать целостность данных, после чего – каскадные
операции. При необходимости изменить способ объединения записей, заданный по умолчанию, воспользовавшись кнопкой «Объединение». После нажатия [Создать] произойдет возврат к окну Схема данных.
50. Работа с таблицей осуществляется в режиме таблицы.
Операции со значениями полей и их выполнение. Наименование операцииОбеспечивающие действия и команды. Редактирование значения поля· щелчок на значении поля;
Поиск значения в поле· выделение поля;
· ввод команды Правка / Найти
Замена значения в поле· выделение поля;
· ввод команды Правка / Заменить
Операции с записями и их выполнение
Наименование операцииОбеспечивающие действия и команды
Добавление записи· ввод команды Вставка / Новая запись
Удаление записи· выделение записи;
· ввод команды Правка / Удалить
Сортировка записей· выделение поля, по которому будут сортироваться
записи;
· ввод команды Записи / Сортировка
Фильтр по выделенному· выделение значения поля;
· ввод команды Записи / Фильтр / Фильтр по выделенному
Обычный фильтр· ввод команды Записи / Фильтр / Изменить фильтр;
· выбор значений, по которым будет осуществляться отбор записей;
· ввод команды Фильтр / Применить фильтр
Расширенный фильтр· ввод команды Записи / Фильтр / Расширенный фильтр;
· очистка бланка фильтра и формирование условия отбора записей;
· ввод команды Фильтр / Применить фильтр
Отображение подчиненных записей для записи главной таблицы· выбор
подчиненной таблицы по команде Вставка / Подтаблица;
· щелчок на значке «+» (плюс) слева от записи
Отображение всех подчиненных записей в главной таблице· ввод команды
Формат / Подтаблица / Развернуть все
Операции со столбцами и их выполнение
Наименование операцииОбеспечивающие действия и команды
Переименование столбца· двойной щелчок на заголовке столбца
Вставка столбца· выделение столбца, перед которым осуществляется вставка;
· ввод команды Вставка / Столбец
Удаление столбца· выделение столбца;
· ввод команды Правка / Удалить столбец
Скрытие столбца· выделение столбца;
· ввод команды Формат / Скрыть столбцы
· ухват мышью заголовка столбца и указание его нового расположения
Закрепление столбца· выделение столбца, который должен быть крайним левым.