ОБЕКТНО - РЕЛЯЦИОННЫЕ ТИПОВЫЕ РЕШЕНИЯ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ МОДЕЛИРОВАНИЯ СТРУКТУРЫ Выполнил : Олейник Павел ПС -41 Глава 12.

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



Advertisements
Похожие презентации
Мартин Фаулер « Архитектура корпоративных программных приложений » Подготовила Ст. ПС - 41 Лукиных Н. А.
Advertisements

Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
Технология хранения, поиска и сортировки информации в базах данных
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Билет Табличные базы данных (БД): основные понятия (поле, запись, первичный ключ записи); типы данных. Системы управления базами данных и принципы.
Базы данных Учитель информатики МАОУ "СОШ 55" г. Пермь Бадьина Лариса Ивановна.
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная.
СУБД Microsoft Access 2003 ЗНАКОМСТВО. Что такое Access? Access – Приложение, входящее в состав пакета Microsoft Office (разработано компанией Microsoft).
БАЗЫ ДАННЫХ ЛЕКЦИЯ 14. тема: XML-ТЕХНОЛОГИИ В БАЗАХ ДАННЫХ.
БАЗА ДАННЫХ – ОСНОВА ИНФОРМАЦИОННОЙ СИСТЕМЫ ТЕХНОЛОГИЯ ИСПЛЬЗОВАНИЯ И РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Основные понятия БД Сама по себе БД не может обслужить запросы пользователя на поиск и обработку информации, т.е. БД – это «информационный склад». Обслуживание.
Выполнение запросов, создание и редактирование отчета MS Access.
Базы данных организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ и постоянного применения. (совокупность.
База данных – это совокупность структурированных данных определенного назначения. Структурирование данных – это объединение данных по определенным параметрам.
НАЧАТЬ ТЕСТ по КИТ2 Разработчики: Оскерко В.С., доцент, к.э.н. Панько Н.Г., студентка ДФФ-1, 2-й курс 2011 г.
Реляционная модель – это особый метод рассмотрения данных, содержащий данные в виде таблиц, способов работы и манипуляции с ними в виде связей. структура,
БАЗЫ ДАННЫХ ( ВВЕДЕНИЕ ). База данных это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором.
Транксрипт:

ОБЕКТНО - РЕЛЯЦИОННЫЕ ТИПОВЫЕ РЕШЕНИЯ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ МОДЕЛИРОВАНИЯ СТРУКТУРЫ Выполнил : Олейник Павел ПС -41 Глава 12

Сохраняет идентификатор записи базы данных для поддержки соответствия между объектом приложения и строкой базы данных Поле идентификации (Identity Field)

Выбор ключа значащий незначащий простой составной тип ключа уникальный в пределах таблицы уникальный в пределах базы данных

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

Вычисление нового значения ключа автоматическая генерация средствами базы данных глобальный уникальный идентификатор (GUID) самостоятельная генерация

Отображает ассоциации между объектами на ссылки внешнего ключа между таблицами базы данных Отображение внешних ключей ( Foreign Key Mapping )

Принцип действия Каждый объект, добавляемый в коллекцию, должен быть проверен на предмет того, является ли он новым объектом. Способы решения проблемы : удаление и вставка добавление обратного указателя операция сравнения

Сохраняет множество ассоциаций в виде таблицы, содержащей внешние ключи таблиц, связанных ассоциациями Отображение с помощью таблицы ассоциаций ( Association Table Mapping )

Принцип действия Основная идея – хранение ассоциаций в таблице отношений Таблице отношений не соответствует объект приложения => нет идентификатора объекта Первичным ключом служит совокупность двух первичных ключей связанных отношениями таблиц Для загрузки данных необходимо выполнить два запроса

Передает некоторому классу полномочия по выполнению отображения для дочернего класса Отображение зависимых объектов ( Dependent Mapping )

Принцип действия Основная идея – один класс ( зависимый объект ) передает другому классу ( владельцу ) все свои полномочия по взаимодействию с базой данных У каждого зависимого объекта должен быть один и только один владелец На зависимый объект может ссылаться только его владелец Зависимый объект не имеет поля идентификации Зависимый объект может быть владельцем другого зависимого объекта

Отображает объект на несколько полей таблицы, соответствующей другому объекту Внедренное значение ( Embedded Value )

Принцип действия Основная идея – когда объект - владелец загружается в базу данных или сохраняется в ней, вместе с ним загружаются или сохраняются и зависимые объекты Внедренное значение можно рассматривать как частный случай отображения зависимых объектов, где значение поля таблицы является отдельным зависимым объектом

Сохраняет граф объектов путем их сериализации в единый крупный объект и помещает его в поле базы данных Сериализованный крупный объект ( Serialized LOB )

Принцип действия Крупный двоичный объект (BLOB) - простота кодирования - небольшое занимаемое пространство - СУБД должна поддерживать двоичный формат - нельзя воссоздать структуру без самого объекта - при изменении класса невозможно прочитать предыдущие сериализации Крупный символьный объект (CLOB) - полученный текст читабелен - занимает больший объем памяти - может потребовать написания специального анализатора - большее время обработки XML - не решает ( более того, усложняет ) проблемы с занимаемым пространством

Предоставляет иерархию наследования классов в виде одной таблицы, столбцы которой соответствуют всем полям классов, входящих в иерархию Наследование с одной таблицей ( Single Table Inheritance )

Принцип действия Выполняя загрузку объекта в память, необходимо знать, в экземпляр какого класса следует поместить загружаемые данные В структуру добавляется только одна таблица Для извлечение не нужно выполнять соединение Не все поля соответствуют содержимому каждого конкретного объекта Бессмысленная трата свободного места

Предоставляет иерархию наследования классов, используя по одной таблице для каждого класса Наследование с таблицами для каждого класса ( ClassTable Inheritance )

Принцип действия Необходимо решить вопрос как связать соответствующие строки таблиц базы данных Простота понимания Проблема эффективного извлечения данных из множества таблиц Не всегда известно, к каким именно таблицам следует применить соединение

Предоставляет иерархию наследования классов, используя по одной таблице для каждого конкретного класса этой иерархии Наследование с таблицами для каждого конкретного класса ( Concrete Table Inheritance )

Принцип действия Ключи должны быть уникальны в пределах всей иерархии Таблицы не содержат ненужных полей Не нужно выполнять соединений Отсутствует возможность моделировать отношения между абстрактными классами Большое количество обращений к базе данных

Структура, предназначенная для организации преобразователей, которые работают с иерархиями наследования Преобразователи наследования ( Inheritance Mappers )

Принцип действия Преобразователи можно организовать в иерархию, так, чтобы у каждого класса домена был свой преобразователь, который будет загружать и сохранять данные этого класса Минимизация количества кода Реализация абстрактного и конкретного поведения

ТИПОВЫЕ РЕШЕНИЯ ОБЕКТНО - РЕЛЯЦИОННОГО ОТОБРАЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ МЕТАДАННЫХ Выполнил : Олейник Павел ПС -41 Глава 13

Хранит описание деталей объектно - реляционного отображения в виде метаданных Отображение метаданных ( Metadata Mapping )

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

Объект, предоставляющий запрос к базе данных Объект запроса ( Query Object )

Принцип действия Объект запроса разновидность типового решения интерпретатор, предназначенная для представления SQL- запросов Возможность представления запросов в терминах объектов приложения, а не базы данных Уменьшение количества запросов к базе данных

Выступает в роли посредника между слоем домена и слоем отображения данных, предоставляя интерфейс в виде коллекции для доступа к объектам домена Хранилище ( Repository )

Принцип действия Основная идея инкапсулировать в себе множество объектов, содержащихся в источнике данных, и операции, которые над ними выполняются, тем самым обеспечивая объектно - ориентированный аспект слоя хранения. Улучшение читабельности и ясности кода Разные источники данных

ТИПОВЫЕ РЕШЕНИЯ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ПРЕДСТАВЛЕНИЯ ДАННЫХ В WEB Выполнил : Олейник Павел ПС -41 Глава 1 4

Распределяет обработку взаимодействия с пользовательским интерфейсом между тремя участниками Модель - представление - контроллер ( Model View Controller )

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

Принцип действия Отделение представления от модели - представление и модель относятся к разным сферам программирования - отображение одной и той же информации разными способами - тестирование Отделение контроллера от представления - возможность использования контроллеров в качестве стратегий, используемых представлениями

Объект, который обрабатывает запрос к конкретной web - странице или выполнение конкретного действия на web - сайте Контроллер страниц ( Page Controller )

Принцип действия Контроллер необходим для каждого действия, под которым подразумевается щелчок на кнопке или гиперссылке Может быть реализован в виде сценария или страницы сервера Не обязательно должен представлять собой единственный класс

Принцип действия Основные обязанности : Проанализировать URL и извлечь данные, введенные пользователем Создать объекты модели и вызвать их методы для обработки Определить представление и передать ему необходимую информацию, полученную от модели

Контроллер, который обрабатывает все запросы к web - сайту Контроллер запросов ( Front Controller )

Принцип действия web- обработчик – объект, который выполняет фактическое получение POST- или GET- запросов и делегирует выполнение соответствующей команде Иерархия команд - статический выбор – синтаксический анализ URL и применение условной логики - динамический выбор – извлечение некоторого стандартного фрагмента URL и динамическое создание экземпляра класса команды

Преобразует результаты выполнения запроса в формат HTML путем внедрения маркеров в HTML-страницу Представление по шаблону ( Template View )

Принцип действия Вставка маркеров в текст готовой статической HTML- страницы При вызове страницы маркеры будут заменены результатами некоторых вычислений

Представление, которое поочередно обрабатывает элементы данных домена и преобразует их в код HTML Представление с преобразованием ( Transform View )

Принцип действия Преобразования изначально направлены на визуализацию данных в формат HTML Не требует наличия функционирующего web- сервера

Выполняет визуализацию данных домена в два этапа: вначале формирует некое подобие логической страницы, после чего преобразует логическую страницу в формат HTML Двухэтапное представление ( Two Step View )

Принцип действия Создание логических окон вынуждает будущие страницы сайта следовать одному стилю Облегчает проведение глобальных изменений web- приложения с несколькими вариантами вида web- приложения с одним вариантом вида Не подойдет если между экранами приложения мало общего Каждое изменение сайта требует участия программистов

Точка централизованного управления порядком отображения интерфейсных экранов и потоком функции приложения Контроллер приложения ( Application Controller )

Принцип действия Две основных функции : Выбор логики домена, которую нужно применить в конкретной ситуации Выбор представления, которое следует отобразить в ответ на запрос