- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
2.6. Объектно-ориентированная модель
В объектно-ориентированной модели при представлении данных имеется возможность идентифицировать отдельные записи базы. Между записями базы данных и функция ми их обработки устанавливают ся взаимосвязи с помощью механизмов, подобных соответствующим средствам в объек гно-ори ентированных языках npoi раммирования.
Стандартизованная объектно-ориентированной модель описана в рекомендациях стандарта ODMC-93 (Object Database Management Group - группа управления объек.но-ори* ншровандыми базами данных). Реачи.°овать з полном объеме рекомендацииODMG-93 пока не удается. Для иллюстрации ключевых идей рассмотрим несколько упрощенную модель объект но-ориентировэнной БД.
Стр> ктура объектно ориентиронанной БД графически пред ставима в виде дерева, узлами которого являются объек ты Свойства объектоь описываются некоторым t гандартным типом (например, с гроковым —string) или типом, конструируемым пользователем (определяется какclass).
Значением свойства типа string является строка симголов. Значение свойства типаclass есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объек та, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную иерархию объектов.
Пример логической структуры объектно-ориентированной БД библиотечного де ла приведен на рис. 2.10.
Здесь объект типа БИ БЛИОТЕКА является родительским для объектов- экземпляров классов АБОНЕНТ, КА ГАЛОГ и ВЫДАЧА. Различные объекты типа КН HI А могут иметь одного или разных родителей. Объекты типа КНИГА, имеющие одного и того же родителя, должны различаться по край ней мере инвентарным номером (уникален для каждого экземп тяра книги), но имеют одинаковые значения свойств isbn. у Oh, названиеи автоо.
Логическая структура объектно-ориентированной БД внешне похожа на структуру иерархической БД. Основное отличие между ними состоит в методах манипулирования данными.
Для выполнения дей( гвий над данными в рассматриваемой модели БД применяются логические операции, усиленные обьектно-ориен тированными механиз-
Рис.
2.10 Логическая структура БД библиотечного
дела
мами инкапсуляции, наследования и полиморфизма Ограниченно могу г применяться операции, подобные командам SQL (например, для создания БД).
(Создание и модификация БД сопровождается автоматическим формиро ванием и последующей корректировкой индексов (индексных таблиц), содержащих информацию для быстрого поиска данных.
Рассмотрим кратко понятия инкапсуляции, наследования и полиморфизма применительно к объек гно-ориентированной модели БД.
Инкапсуляцияограничивает область видимости имени свойства пределами того объекта, в котором оно определено. Так, если в объект тина КАТАЛОГ добавить свойство, задающее телесЬон аьтора книги и имеющее название телефон,то мы получим одноименные свойства у объектов АБОНЕНТ и К А ГАЛОГ. Смысл такого свойства будет определяться тем объектом, в который оно инкапсулировано.
Наслеоование,наоборот, распространяет область видимости свойства на всех потомков объекта Так, всем объектам типа КНИГА, являющимся по томками объекта гипа КАТАЛОГ, можно приписать свойства объекта-родителя: isbn, удк, названиеи автор.Если необходимо расширить действие меха низма наследования на объекты, не являющиеся непосредственными родственниками (например, между двумя потомками одного родителя), то в их общем предке определяется абстрактное свойство типаabs. Так, определение абстрактных свойств билети номерв объекте БИБЛИОТЕКА приводит к наследованию этих свойств всеми дочерними объектами АБОНЕНТ, КНИГА и ВЫДАЧА. Не случайно поэтому значения свойства билетклассов АБОНЕНТ и ВЫДАЧА, показанных на рисунке, будут одинаковыми — ООО 15.
Полиморфизмв объектно-ориентированных языках программирования означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объектной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента. Применительно к нашей объектно-ориентированной БД полиморфизм означает, что объекты класса КНИГА, имеющие разных родителей из класса КАТАЛОГ, могут иметь разный набор свойств. Следовательно, программы раооты с объектами класса КНИ1А могут сод( ржать полиморфный код.
Поисккобъекгно-ориентированнойБДссн.тоитввь1яснениисходс гвамеждуобьек- том, задаваемым поль ювателем, и обьекгами, хранящимися в БД. Определяемый пользователем объект, на олваемый объектом-целью (свойство обьею аимееттип^ооЛ, в общем с 1учае может представлять собой подмножество всей хранимой в БД иерархии объектов. Объект-це ль, а также результат выполнения запроса moi ут храниться в самой базе. Пример запроса о номерах читательских билетов и именах абонен гов, получавших вбиб. иотекехотя бы одну книгу, покь 1ан на рис. 2.11.
Рис
2,11. Фрагмент БД с объектом целью
Основным достоинствомобъектно-ориентированной модели данных в сравнении с реляционной яв ляется возможность отображения информации о сложных взаимосвязях объектов. Объектно-ориентированная модель данных позволяет идентифицировать отдельную запись базы данных и определять функции их обработки.
Hedoi таткамиобъектно-ориентированной модели являют< я высокат понятийная сложность, неудобство обработки данных и низкая скорость выполнения запросов.
В 90-е годы существивали экспериментальные прототипы объектно-ориентированных систем управления базами данных. В настоящее время такие системы получилиширокое распространение, в частности, к ним относятся следующие СУБД: РОЕТ (РОЕТSoftware),Jasmine(ComputeiAssociates),Versant(VersantTechnologies), 02 (ArdentSoftware),ODB-Jupiter(научно-производственный центр «Мчтелтек Плюс»), а такжеIris,OrionиPostgres.