Математика | ||||
базу данных и UML и проектирование -Роберт ДЖ.Мюллер -Москва 1999 стр.420 | ||||
базу данных и UML и проектирование -Роберт ДЖ.Мюллер -Москва 1999 стр.420
Предисловие Э, "та книга иллюстрирует простой тезис: базу данных (БД) любого типа можно разработать с помощью стандартных методов объектно-ориентированного программирования (ООП). Как всегда, все скрыто в деталях, и при работе с БД детали имеют особое значение. Отход от традиции В книге рассматриваются реляционные, объектно-реляционные (ОР) и объектно-ориентированные (ОО) базы данных. В ней нет сравнительного анализа всех методов разработки БД, а также существующих методов информационного моделирования. Повторим еще раз главный тезис — в большинстве случаев при использовании ООП можно обойтись без этих методов. Если вы хотите узнать все о методах разработки IDEFIX, или использовании диаграмм SSADM, или проектировании в среде Oracle Designer/2000, обратитесь к приведенной в конце книги библиографии. Автор воспользовался унифицированным языком моделирования (UML) и его методами моделирования по двум причинам. Во-первых, это принятый стандарт Рабочей группы по развитию стандартов объектного программирования (OMG). Во-вторых, это кульминация многих лет работы трех очень умных разработчиков моделей объектов, которые решили создать из предлагаемых каждым из них методов единый, всеобъемлющий стандарт нотации. В главе 7 приводится подробное описание UML. Тем не менее можно использовать и любой другой объектно-ориентированный метод моделирования. Знание их облегчит освоение UML, так как они являются объединением почти всех концепций объектно-ориентированных методов, которые встречались автору на практике, Изучая UML, можно получить систематическое представление о концепциях ООП. Затем будет нетрудно преобразовать нотацию UML и знания о ее применении, полученные из данной книги, в любую объектно-ориентированную нотацию и метод, который вы сможете использовать в своей практике. Данная книга не относится к разряду справочников по теории баз данных; она предназначена для практического использования при создании БД. У автора не было Цели представить совершенно новый взгляд на БД или академическое исследование. Эта книга посвящена продуктивному применению современных технологий для построения полезных систем программного обеспечения. Автор делает упор на адаптацию современных технологий к ООП, а не на их замену объектно-ориентированным проектированием. И, наконец, как вы заметите, в этой книге приводятся примеры на основе системы управления базой данных Oracle. Автор почти все время работал именно с ней, хотя использовал также и другие базы данных — от Sybase до Informix и SQL Server, здесь приведены примеры на основе всех этих DBMS-продуктов. Концепции данной книги имеют вполне общий характер. Можно преобразовать любой пример на основе Oracle в эквивалент на основе любой другой DBMS, по крайней мере настолько, насколько это позволяет сделать реляционная структура. Но после перехода к реалиям объектно-реляционной DBMS или объектно-ориентированной DBMS можно обнаружить, что выбранный продукт во многом будет определять ваши возможности (см. главы 12 и 13). Точка зрения автора состоит в следующем: не совершите ошибку, полагая, что методы, описанные в книге, изменятся в зависимости от того, будет ли использован Informix или MS Access. Именно разработка является предметом нашей книги, но не реализация. Как и для UML, при понимании концепций можно легко реализовать особенности базы данных с помощью любой выбранной технологии. Если у вас есть конкретные вопросы о применении методов на практике, пожалуйста, напишите по адресу muller@computer.org, чтобы разрешить свои проблемы. Технология информационных хранилищ Блюстители теории БД вскоре обнаружат, что в данной книге не рассказано о технологии информационных хранилищ, информационных витрин и о схеме звезда. Однако надо было где-то подвести черту; чтобы получить книгу реального объема, и мы с издателем решили не включать сюда проблемы, связанные с технологией информационных хранилищ. Основной концепцией технологии информационных хранилищ является размерность — набор информационных атрибутов, относящихся к основным объектам информационного хранилища. В классическом анализе данных, например, приходится часто структурировать данные в многомерные таблицы с ячейками, находящимися на пересечении различных размерностей или категорий. Эти таблицы становятся основой для дисперсионного анализа и других методов статистического моделирования. Одним из наиболее важных способов организации размерностей является схема звезда, в которой таблицы размерностей окружают таблицу фактов {объект) в конфигурации звезды с отношениями один-ко-многим. Такая конфигурация позволяет аналитику данных просматривать факты в базе данных (основные объекты) с точки зрения различных размерностей. В классическом ООП схема звезда является образцом взаимозависимых объектов, которые вместе находятся в центральном объекте некоторого рода. Центральному объекту не принадлежат другие объекты; напротив, он связывает их в многомерную' структуру. Схема звезда реализуется в реляционной БД как набор таблиц один-ко-многим, в объектно-реляционной базе данных — как набор объектных ссылок, а в объектно-ориентированной БД — как объект со средствами доступа к размерностям и атрибутам, которые ссылаются на другие объекты. Содержание Глава 1 Жизненный цикл базы данных...................1 Анализ информационных требований.......................2 Создание модели данных..................../...........3 Проектирование и оптимизация базы данных..............•.. • • • 5 Качество, проверка и тестирование базы данных..............• • 8 Сертификация баз данных.............................10 Поддержка и доработка баз данных........................10 Глава 2 Системная архитектура и проектирование............ 12 Виды системной архитектуры • • • •.......................14 Трехсхемная архитектура • • •.......;.................14 Многозвенные архитектуры • •.................•......18 Резюме по системной архитектуре......................30 Архитектуры данных....................•............30 Реляционные базы данных...........................32 Объектно-ориентированные базы данных.................36 Объектно-реляционные базы данных....................45 Итоги..........................................56 .Глава 3 Сбор требований • • • •.......................57 Неопределенность и устойчивость........................57 Неопределенность................................58 Наблюдение и правильная постановка вопросов.............62 Устойчивость...................................65 Четкая расстановка приоритетов.........................69 Понимание требований............................-69 Распределение требований по категориям...........>•••••• 70 Зависимости между требованиями......................73 Определение приоритетов требований...................74 Определение стиля базы данных......................• • • 74 Итоги...............„...........................76 Глава 4 Моделирование требований с помощью вариантов использования................... 77 Весь мир — сцена................................... 78 Актеры на сцене............. . . .'.................... 81 Диаграммы вариантов использования.................... 81 Краткий пример.................................. 83 Транзакции и варианты использования..................... 85 Отношения вариантов использования.................... 86 Подготовка сцены................................• • • 89 Резюме........................................ 90 Описания • • • • „•.............................• • • • 92 Диаграммы деятельности UML........................ 97 Резюме по элементам данных и бизнес-правилам............. 99 Итоги..........................................101 Глава 5 Тестирование системы.......................102 Требования и точность соответствия......................103 Системы и точность соответствия........................ Ю4 Итоги..........................................107 Глава б Создание моделей сущность — отношение.........• 108 Сущности и атрибуты • •......•....................• • • 110 Отношения.....................................-111 Семантические отношения: порождение подтипа и агрегация •••••• 114 ER-бизнес-правила..................................119 Множественность................................120 Ключи и отношения..............................123 Сильные и слабые отношения • • • • •...................127 Домены......................................128 Итоги..............................••...........-128 Глава 7 Создание моделей классов в UML................129 Пакеты, классы и атрибуты............................. 130 Пакеты...................................• • • • 132 " Классы и атрибуты............................... 139 Операции....................................... 143 Операции, методы и интерфейсы...................... 144 Поведение приложения • • •......................... 147 Поведение сервера базы данных....................... 148 Отношения...................................... 151 Наследование и генерализация........................ 151 Ассоциации, включение и видимость.................... 165 Ограничения объектов и бизнес-правила • • • • •.............. 173 Идентичность объектов и ограничения уникальности......... 173 Ограничения доменов...................•......... 178 Сложные ограничения............................. 184 Итоги.......................................... 185 Глава 8 Образцы моделирования данных................ 187 Моделирование с помощью повторно используемых образцов разработки................................ 188 . Абстрактные образцы............................... 190 Одноточечный образец (Singleton)..................... 190 Составной образец (Composite)....................... 192 Легковесный образец (Flyweight) ....................... 195 Образец метамодели.............................. 200 Аналитические образцы.............................. 202 Образец партнерства (Party)....................,.,..... 202 Образец географического местоположения................. 205 Образец процесса.................................. 208 Образец документа............................... 211 Итоги............................•.............. 213 Глава 9 Критерии достижения успеха...................214 Цели, показатели и шкалы................•............215 Оценки размера...................,• • ' '............. 217 Размер базы данных...............................217 Размер схемы...............• • • •................ 218 Оценка степени сложности............................223 Оценка степени связности..........• •......... . .......224 Абстрактная связность........................•.....224 Структурная связность.............................225 Оценка степени соединения........................... 227 Потенциал повторного использования...................... 232 Сертификация повторного использования..................233 Итоги.................................. . .......236 Глава 10 Выбор предшественников •................... 237 Культура разработки программного обеспечения и унаследованная система...........................• • • 238 События культуры.........• •.....................238 Замена или использование унаследованной системы •.........245 Новая разработка...................................248 Использование унаследованной системы.................248 Определение границ системы и культуры................• 250 Черновая разработка................................253 Боевые истории и общий язык........................253 Нормы, ценности и убеждения'• •....................... 254 Ритуалы............................ . . ........256 Структура разработки схем • • •......................... 257 Структуры......................• • -.............257 Отношения....................................258 Бизнес-правила..........•....................... 258 Общее направление разработки.......................259 Языки определения данных.......................... 259 Интеграция представлений моделей данных............• • • • • 259 Структурная интеграция.........•..................262 Интеграция генерализаций.......................... 264 Интеграция бизнес-правил.....-. •..................• • 264 Интеграция общей картины.........................266 Итоги..........................................-269 Глава 11 Разработка схемы реляционной базы данных.....• • • 270 Преобразования таблиц................. .-•*•...........272 Пакеты, подсистемы и пространства имен................273 Типы и домены................................• • 276 Классы................................•......281 Внешние связи....................................298 Двоичные ассоциации.............................298 Генерализации..................................303 Особые ситуации..............................• • 310 Жизнь по правилам.................................317 Инварианты классов............•.................317 Системные инварианты............................319 Отношения нормализации............................320 Элементарные значения • •..........................320 Зависимости и нормализация • • • • •....................322 Денормализация созданной схемы.....................327 Язык мира- • •................................... . 329 Правила согласования........-,....................329 Опасности несоответствия..........................335 Итоги..........................................341 Глава 12 Разработка схемы объектно-реляционной базы данных • 343 Так что же нового? • • • •............................. 343 Свойства...................................... 344 Обратная сторона...................•............ 345 Процесс преобразования для продуктов ORDBMS............346 Разнообразие объектов: типы........................... 355 Определенные пользователем и объектные типы............ 357 Ассоциации..................................• • 366 Поведение- • • •................................. 370 Кто диктует правила?................................ 371 Язык войны...................................... 371 Устойчивые классы • •............................. 372 Операции..................................... 378 Итоги- • • • •................/...................... 380 Глава 13 Разработка схемы объектно-ориентированной базы данных • ••......•.........................381 Процесс преобразования для продуктов OODMBS ............. 381 Действительно простота?............................. 385 Классы......."••'•'............................. 386 Генерализации и реализации......................... 392 Ассоциации.................................... 393 Дисциплинирование объектов.......•...............•. . . 403 Проблемы поведения................• • • • •.......• • 403 Установка границ................................ 405 Целевой язык- • •................................... 406 Устойчивые классы и интерфейсы..................... 406 Операции..................................... 412 Итоги......• • •................................. 415 Ссылки на истории о Шерлоке Холмсе...................416 Библиография..................................417 Цена: 150руб. |
||||