Главная страница
Навигация по странице:

  • Целостность данных

  • Средства манипулирования данными

  • Недостатки ОО модели баз данных

  • Стандарт ODMG (Object Data Management Group)

  • Конспект лекций_Администрирование БД. Теоретические основы баз данных


    Скачать 0.98 Mb.
    НазваниеТеоретические основы баз данных
    Дата14.09.2022
    Размер0.98 Mb.
    Формат файлаdoc
    Имя файлаКонспект лекций_Администрирование БД.doc
    ТипДокументы
    #676796
    страница14 из 14
    1   ...   6   7   8   9   10   11   12   13   14

    Методы организации удалённого доступа к данным.

    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).



    1   ...   6   7   8   9   10   11   12   13   14


    написать администратору сайта