- •Глава 1. Теоретические основы баз данных.
- •Информационные системы.
- •Терминология субд.
- •1.3 Модели данных и этапы проектирования баз данных.
- •1.4 Инфологическое моделирование. Er-диаграммы.
- •1.5 Модели доступа к данным.
- •1.6 Теория модели реляционных баз данных.
- •1.7 Ключи и поддержка целостности.
- •1.8 Нормализация отношений в базе данных.
- •5Nf (pj/nf).
- •Глава 2. Язык sql.
- •1. История развития и стандарты.
- •2. НаборыкомандSql.
- •3. Оператор select.
- •4. Операторы определения данных (основные сведения).
- •5. Операторы манипулирования данными.
- •Insert – добавление информации к таблице
- •Глава3.Субдms sql ServerиязыкTransact-sql.
- •Введение в sql Server.
- •Типы данных, управляющие конструкции языка и функции Transact-sql.
- •Объекты баз данных и работа с ними.
- •Физическая модель данных ms sql Server.
- •Система безопасности и администрирование sql Server.
- •Перспективы ms sql Server.
- •Коллекция субд.
- •1. Субд dBase. Хранение данных в формате dbf.
- •2. Microsoft Visual FoxPro. Обзор.
- •3. Microsoft Access. Oбзор.
- •1. Возможности. Ядро
- •Диалоговые средства конструирования объектов, программы-Мастера, технология Drag and Drop, технология IntelliSence
- •Поддержка языка xml
- •Поддержка расширенных свойств с помощью Microsoft sql Server 2000
- •Прочие возможности
- •2. Объекты Microsoft Access.
- •3. Средства программирования.
- •4. Спецификации Microsoft Access.
- •5. Типы данных, которые могут иметь поля в Microsoft Access
- •10. Мастер подстановок
- •ПрограммированиевVba (Visual Basic for Application)
- •Типы переменных:
- •Массивы
- •Доступность
- •Обработка ошибок
- •If Err Then
- •Ветвления и циклы
- •Параметры процедур и функций.
- •Простейшие программы на vba
- •Задание свойств форм, отчетов и элементов управления в Visual Basic
- •Чтобы задать свойство формы или отчета
- •Чтобы задать свойство элемента управления
- •Чтобы задать свойство раздела формы или отчета
- •`Общение с jet через объекты данных Access.
- •ИспользованиеобъектаTableDef
- •ИспользованиеобъектаRecordset
- •Примеры использования методов dao
- •Программирование в формах.
- •Субд MySql
- •Методы организации удалённого доступа к данным.
- •2. Интеллектуальный анализ данных (data mining)
- •3. Постреляционные базы данных.
- •4. Отказ от нормализации отношений.
- •5. Объектно-реляционные базы данных.
- •6. Язык sql-3 и субд Oracle 8.
- •7. Объектно-ориентированные базы данных.
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).