Конспект лекций_Администрирование БД. Теоретические основы баз данных
Скачать 0.98 Mb.
|
Методы организации удалённого доступа к данным.1. Интерфейсы ODBC, OLE DB и ADO.(в электронном варианте лекции нет) 2. Интернет-доступ к базам данных.(в электронном варианте лекции нет) Перспективы развития СУБД.1. Недостатки реляционной модели.Реляционная модель данных не допускает естественного представления данных со сложной (иерархической) структурой, поскольку в ее рамках возможно моделирование лишь с помощью плоских отношений (таблиц). Все отношения принадлежат одному уровню, многие значимые связи между данными либо теряются, либо их поддержку приходится осуществлять в рамках конкретной прикладной программы. По определению в реляционной модели поля кортежа могут содержать лишь атомарные значения. Однако, в приложениях САПР (ГИС) и системах искусственного интеллекта должны проводиться операции со сложно-структурированными объектами2. Слишком высокий уровень деструктуризации (раздробления) данных по многочисленным таблицам, что (1) уменьшает скорость выполнения запросов, (2) увеличивает их сложность, а значит возможность совершения дополнительных ошибок. Кроме того, имеются определенные недостатки и в релизации тех возможностей, которые прямо не предусматриваются реляционной моделью, но стали непременным атрибутом всех современных СУБД: Цикл существования реляционной базы данных состоит в переходе от одного целостного состояния к другому. Однако, нельзя избежать такой ситуации, когда пользователь вводит данные, формально удовлетворяющие ограничениям целостности, но не соответствующие реальному состоянию предметной области. В этом случае предыдущее значение данных будет утеряно. Реляционная СУБД выполняет над данными не только те действия, которые задает пользователь, но и дополнительные операции в соответствии с правилами, заложенными в базу данных. Всегда ли хороши эти правила? 2. Интеллектуальный анализ данных (data mining)– процесс выявления значимых корреляций, образцов и тенденций в больших объёмах данных. Роль такого анализа возрастает с увеличением объёма информационных хранилищ (Data Warehouse). Он в основном применяется в бизнес-приложениях аналитиками и руководителями компаний. Для этих категорий пользователей разрабатываются высокоуровневые инструментальные средства, позволяющие решать достаточно сложные практические задачи без специальной математической подготовки. В бизнес-приложениях наибольший интерес представляет интеграция методов интеллектуального анализа данных с технологией оперативной аналитической обработки данных (OLAP – On-Line Analytical Processing). Термин OLAP ввёл Кодд в 1993 г. В своей статье он рассмотрел недостатки реляционной модели, в первую очередь невозможность «объединять, просматривать и анализировать данные с точки зрения множественности измерений». При этом имеется в виду именно многомерное концептуальное представление информации, а не структура таблиц базы данных, хотя в последнее время появились СУБД, уходящие от реляционных отношений в сторону многомерных банков данных. 3. Постреляционные базы данных.Постреляционная модель данных представляет собой расширенную реляционную модель, в которой отменено требование атомарности атрибутов. Наиболее известное воплощение этой модели – многомерные таблицы, т.е. таблицы, в полях которых можно хранить другие таблицы. Известными представителями таких СУБД являются системы Adabas, Pick и Universe. 4. Отказ от нормализации отношений.Во многом нормализация отношений нарушает иерархические связи между объектами, характерные для выбранной предметной области. В настоящий момент уже существует теоретическое обоснование работы с ненормализованными отношениями и практические реализации подобных систем. В обычных реляционных СУБД ненормализованные таблицы ведут к увеличению времени обработки данных и к уменьшению надёжности. 5. Объектно-реляционные базы данных.Одной из наиболее известных СУБД этого вида является система Postgres (PostgreSQL) – автор Майкл Стоунбрейкер, – в которой реализованы многие интересные средства: поддерживается темпоральная (обеспечивающая временные срезы3) модель хранения и доступа к данным и в связи с этим абсолютно пересмотрен механизм журнализации изменений, откатов транзакций и восстановления БД после сбоев; обеспечивается мощный механизм ограничений целостности; поддерживаются ненормализованные отношения (работа в этом направлении началась еще в среде INGRES). В POSTGRES допускается хранение в полях отношений данных абстрактных, определяемых пользователями типов. Это обеспечивает возможность внедрения поведенческого аспекта в БД, т.е. решает ту же задачу, что и ООБД, хотя, конечно, семантические возможности модели данных POSTGRES существенно слабее, чем у объектно-ориентированных моделей данных.
6. Язык SQL-3 и СУБД Oracle 8.Попытки совместить средства манипулирования данными реляционной модели и способы описания внешнего мира объектно-ориентированной модели получили развитие в языке SQL-3. 1) Характеристики объекта определяется описанием строки таблицы. Поэтому вводится специальная возможность описания нового типа данных: Create type Address ( number char (6), street char (30), aptno integer, city char (30), state char (2), zip integer ); На основе нового типа могут быть определены таблицы, например: Create table Addresses of Address; Новые типы допускается использовать и для определения столбцов (т.е. игнорируется требование атомарности атрибутов реляционной модели): Сreate table People of new type Person ( name char (30), address Address, birthdate date, ); Наследование определяется с помощью фразы under. Create type Employee under Person ( empno char(10), dept ref(Department) ); Здесь атрибут dept является ссылкой на объект, хранящийся в таблице Department. Т.е. в понятиях реляционной модели в этом столбце должен быть записан внешний ключ, указывающий на на одну из строк таблицы Department. На самом деле, в SQL-3 предполагается, что каждый объект имеет уникальный идентификатор - OID, именно он используется при создании ссылок на объекты. Также в операторе CREATE TABLE можно определить и методы доступа к вновь созданным типам данных: Create table People of new type Person ( name char(30), address Address, birthdate date function age(:р ref(Person)) return date; begin current_age:=:р.birthdate-current_date; return current_age; end; ); В этом примере задана функция age, которая вычисляет текущий возраст объекта типа Person, хранимого в таблице People. К данной функции можно обращаться из оператора SELECT. Oracle8i совместим с минимальным уровнем ANSI/ISO (SQL92). Он поддерживает большинство возможностей, заложенных в более продвинутые уровни SQL92, и даже некоторые из SQL3, но зачастую эти возможности реализованы в нем по-своему. В Oracle создан свой язык для создания триггеров, хранимых процедур и просто скриптов (в Oracle их принято называть безымянными блоками). Этот язык получил название PL/SQL (Program Language SQL). Внешней процедурой в Oracle является подпрограмма, хранимая в DLL, или метод элемента библиотеки Java-класса. В версии 8.0 были введены объектные типы данных. Такие типы данных можно применять при создании локальных и пакетных переменных, при объявлении колонок БД и при объявлении типа записи в таблицах БД. Причем в случае, когда объект олицетворяет всю запись целиком в качестве первичного ключа, используется так называемая объектная ссылка (REF). REF является вполне самостоятельным типом данных и может использоваться для ссылки на такую объектную запись из других таблиц. Объекты поддерживают только инкапсуляцию, но не поддерживают не наследования, не полиморфизма. 7. Объектно-ориентированные базы данных.В объектно-ориентированной парадигме предметная область моделируется как множество классов взаимодействующих объектов. Направление объектно-ориентированных баз данных (ООБД) возникло сравнительно давно. Публикации появлялись уже в середине 1980-х гг. Среди языков и систем программирования наибольшее первичное влияние на ООБД оказал Smalltalk. Этот язык сам по себе не является полностью пионерским, хотя в нем была введена новая терминология, являющаяся теперь наиболее распространенной в объектно-ориентированном программировании. Структура объектной модели описываются с помощью трех ключевых понятий: Инкапсуляция Наследование Полиморфизм Целостность данных: автоматическое поддержание отношений наследования возможность объявить некоторые поля данных и методы объекта как "скрытые", не видимые для других объектов; такие поля и методы используются только методами самого объекта создание процедур контроля целостности внутри объекта Средства манипулирования данными: Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk, C++ или Java. Недостатки ОО модели баз данных: осутствуют мощные непроцедурные средства извлечения объектов из базы. Все запросы приходится писать на процедурных языках, проблема их оптимизации возлагается на программиста. вместо чисто декларативных ограничений целостности (типа явного объявления первичных и внешних ключей реляционных таблиц с помощью ключевых слов PRIMARY KEY и REFERENCES) или полудекларативных триггеров для обеспечения внутренней целостности приходится писать процедурный код. Стандарт ODMG (Object Data Management Group) ODMG добавляет возможности взаимодействия с базами данных в объектно-ориентированные языки программирования: определяются средства долговременного хранения объектов и расширяется семантика языка, вносятся операторы управления данными. Стандарт состоит из нескольких частей: Ключевые концепции объектной модели ODMG: наделение объектов такими свойствами как атрибуты и связи методы объектов (поведение) множественное наследование идентификаторы объектов (ключи) определение таких совокупностей объектов как списки, наборы, массивы и т.д. блокировка объектов и изоляция доступа операции над базой данных Язык описания объектов (ODL - Object Defifnition Language) – средство определения схемы базы данных (по аналогии с DDL в реляционных СУБД). ODL создает слой абстрактных описаний так, что схема базы данных становится независима как от языка программирования, так и от СУБД. Язык объектных запросов (OQL - Object Query Language) – SQL-подобный декларативный язык, который предоставляет эффективные средства для извлечения объектов из базы данных, включая высокоуровневые примитивы для наборов объектов и объектных структур. Object Manipulation Language (OML) - язык манипулирования объектами, который расширяет базовые ОО-языки средствами манипулирования и хранения объектов. Также включаются OQL, средства навигации и поддержка транзакций. Каждый ОО-язык имеет свой собственный OML, поэтому разработчик остается в одной языковой среде, ему нет необходимости разделять средства программмирования и доступа к данным. 1 Проекция – это копия отношения, в которую не включены один или несколько атрибутов исходного отношения. 2 Пример: Пусть нам необходимо создать базу данных земельных участков. Каждый участок задается координатами узлов ломаной линии, ограничивающей его по периметру. В этом случае спроектировать реляционную таблицу невозможно, т.к. заранее не известно количество узлов для всех участков. Также невозможно написать общие процедуры (вычисление площади, нахождение пересечения и т.д.) для всех случаев. 3 Основной тезис темпоральных систем состоит в том, что для любого объекта данных, созданного в момент времени t1 и уничтоженного в момент времени t2, в БД сохраняются (и доступны пользователям) все его состояния во временном интервале [t1,t2). |