Базы данных и технологии баз данных, использующие объектную модель или ее элементы.

Презентация:



Advertisements
Похожие презентации
Модуль 1. Математические основы баз данных и знаний.
Advertisements

БАЗА ДАННЫХ – ОСНОВА ИНФОРМАЦИОННОЙ СИСТЕМЫ ТЕХНОЛОГИЯ ИСПЛЬЗОВАНИЯ И РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ.
Системы управления базами данных СУБД является универсальным программным средством предназначенным для создания и ведения(обслуживания) баз данных на внешних.
Билет Табличные базы данных (БД): основные понятия (поле, запись, первичный ключ записи); типы данных. Системы управления базами данных и принципы.
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
Типы данных. В Delphi в объявлении переменной необходимо указать ее тип Стандартные типы уже определены в языке, а переменную такого типа можно объявить,
Библиотека База данных «Библиотека». В БД «Библиотека» есть таблицы: «Книги», «Авторы», «Сотрудники библиотеки», Учет выдачи книг», «Жанры»
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Переменные, величины Переменные, величины Типы, имена переменных Типы, имена переменных Хранение величин Хранение величин Переменные, величины Переменные,
Базы данных Реляционная база данных MS Access. Повторение База данных организованная совокупность данных из какой-либо предметной области, предназначенная.
Виды моделей данных. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная.
«Типы данных». Целочисленные типы данных Тип ДиапазонТребуемая память (байт) byte shortint integer word longint
Данные в Visual Basic. Типы данных ДАННЫЕ переменные величины постоянные величины.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Диаграммы UML Диаграмма классов (Class Diagram). Основные вопросы Что такое диаграмма классов Компоненты диаграммы классов и их назначение Пример диаграммы.
ВИДЫ МОДЕЛЕЙ ДАННЫХ. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА ПАСКАЛЬ n Язык программирования – это система правил и обозначений для записи алгоритмов для ЭВМ. n Алгоритм – это понятное и.
Операции реляционной алгебры -соединение Соединением отношений A(A 1, A 2 …A n ) и B(B 1, B 2 … B n ) по операции :A 1 xA 2 x…A n xB 1 xB 2 …B n {T|F}
Учебная дисциплина «Базы данных» для студентов специальности Бизнес-информатика (бакалавриат) ЛЕКЦИЯ 3 ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ Вопрос.
Транксрипт:

Базы данных и технологии баз данных, использующие объектную модель или ее элементы

Объектная модель Объектные или, как иногда говорят, объектно- ориентированные модели данных тесно связаны с понятием объектно-ориентированных языков и объектно-ориентированной парадигмой программирования. Мы будем считать объектной моделью такую модель, которая полностью поддерживает следующие понятия ОО парадигмы программирования: - систему поддержки типов; - классы и объекты; - уникальные идентификационные номера объектов; - наследование.

Система поддержки типов Нормальная объектная БД должна предоставлять пользователю некоторый набор атомарных типов, плюс набор средств, позволяющих создавать на их основе более сложные типы. Этот набор должен включать в себя, как минимум, следующие составляющие: - структуры записей, - коллекции, - ссылки.

Классы и объекты Полноценная объектная модель должна позволять поддерживать особенный выводимый тип, называемый классом, который может включать в себя не только другие типы данных, но и методы, выполняемые в контексте объектов данного класса. Методы отличаются от обычных функций (процедур) только тем, что всегда содержит один скрытый параметр – текущий объект класса. Под объектом класса подразумевается либо константное значение данного типа, либо переменная, содержащая значения данного типа.

Идентификационный номер объекта (OID) Чтобы можно было различить два объекта, принадлежащих одному и тому же классу (типу) данных, в объектной модели* принято сопоставлять каждому из них уникальный (среди всех объектов всех типов) идентификационный номер. * Часто так делают и в реляционных БД

Иерархия классов Как и в ОО языках программирования в объектной БД должно поддерживаться наследование классов. Если класс B наследует класс A, то он включает в себя все характеристики класса A, в том числе: тип, все методы и все атрибуты.

Объектная СУБД Объектной СУБД называется такая система управления базами данных, которая полностью поддерживает объектную модель, включая определение данных и основные манипуляции с ними (добавление, удаление, изменение и выборку).

Объектно-реляционные СУБД Большинство проектов посвященных чисто объектным БД в 90-х годах на текущий момент на грани краха. Это связано с тем, что производители реляционных систем вместо перехода к чисто объектным БД сделали ставку на пополнение существующих реляционных СУБД новыми возможностями, характерными для объектных БД. Такие СУБД получили название объектно-реляционных.

SQL-99 Стандарт SQL-99 определяет некоторые элементы характерные для объектно- реляционных СУБД. В том числе: определение типов и методов для них, ссылочные типы и другие составляющие. Некоторые широко известные СУБД содержат и более яркие элементы объектной модели. Например, в СУБД PostgreSQL встречается такое понятие как наследование.

Объектно-реляционные преобразователи Написание интерфейсов к информационным системам в последнее время чаще всего осуществляется на объектно- ориентированных языках программирования. При этом процесс преобразования данных из реляционной (или объектно- реляционной) СУБД в объекты удобные для использования в контексте данного языка программирования является задачей трудоемкой. При этом неопытный пользователь может на этой стадии допустить огромное количество различных ошибок. Все это определило появление нового класса программных компонент (библиотек) осуществляющих автоматическое преобразование из/в записей отношений реляционной СУБД в/из объекты объектно-ориентированного языка программирования. Такие механизмы принято называть объектно-реляционными преобразователями (object-relation mappers). Одним из наиболее ярких на сегодняшний момент ОРП является механиз ActiveRecord из системы RubyOnRails (ROR).

Язык ODL Язык ODL – это стандартизованный язык, служащий для описания структур баз данных в терминах объектно- ориентированного проектирования.

Объявление класса на языке ODL сlass Наименование { список свойств } Свойства класса могут включать в себя атрибуты, связи или методы.

Пример class Star { attribute string name; attribute Struct Addr {string street, string city} address; }; Здесь определяется класс Star с двумя атрибутами: простым строковым name и атрибутом, определенном в виде структуры из двух полей, address.

Типы в ODL Атомарные типы: integer (целое число), float (вещественное число), character (символ), string (строка символов), boolean (бинарное логическое значение) и перечисляемый тип (enumerations).

Составные типы ODL Пусть T и S – произвольные типы, а I – целое число. Set - множество значений типа T Bag - мультимножество* значений типа T List - список значений типа T Array - массив из i элементов типа T Dictionary - словарь сопоставлений значений типа T значениям типа S Struct M {T1 F1, T2 F2, …, Tn Fn } – структура с обозначением M, состоящая из n полей с именами Fj и типами Tj. * Мультимножество отличается от множества возможностью наличия повторяющихся значений

Связи в атрибутах Атрибуты связи записываются при помощи ключевого слова relationship. Различают прямые и обратные связи. Обратные связи задаются при помощи добавления конструкции inverse.

Пример class Movie { … relationship Set starsOf inverse Star::starredIn; } class Star { … relationship Set starredIn inverse Movie::starsOf; } В данном примере два отношения Movie (фильм) и Star (звезда) находятся в отношении многие-ко-многим.

Методы Свойства могут быть описаниями методов. class Movie { … float lengthInHours() raises(noLengthFound); } В данном примере класс Movie содержит определение одного метода lengthInHours, возвращающего объект дробного типа. В методе определена одна возможная исключительная ситуация – отсутствие указания длины фильма (noLengthFound).