Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 99

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 99 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 992019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 99)

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

19.2 показана часть модели банкомата, которая будет использована в этой главе в качестве примера. Мы добавили классы О»есй»лдАссоипг (ТекушийСчет) и 5ао»щъАссоилг (НакопительныйСчет), чтобы иметь возможность обсудить вопросы, связанные с обобщением. Кроме того, мы добавили класс АЙЬех» (Адрес). 414 Глава 19 ° Базы данных СагбАи!Ьобзаноп Вала СавЬСап! Мзиез се!особе 0..1 раззигогб 11пг1! зебагмигпьег пагпе чеп!ураввпогб сгеа!евачгпдвАссоип1 сгеа!еСпесыпдАссоип! сгеа!еСазЬСагб чепуулгпоип! аббАссоип! гепючеАссоип! бозе Ассоип! Сив!огпег Ьа1а псе сгебашвпа паве !егпрАпзвп! с1ове чег11улпгоип! Роз! ассоип!Собе де1Атоип! 1 де1Ассоип! 1 0..1 0..1 Абб геев аббгевз Рис.

19.2. Сокращенная модель банкомата для реализации 19.3. Реализация структуры — основы Модель классов достаточно легко перевести в код на языке 501.. Для этого сушествуют автоматические средства, но вам все равно нужно знать правила этого преобразования.

Тогда вы сможете понять, что именно делают ваши программы, и сможете проверить результаты их работы. РСУБД обеспечивают хорошую поддержку классов и ассоциаций, но не поддерживают наследование, поэтому вам придется использовать обходные методики. Реализация структуры осуществляется в приведенной ниже последовательности. 1. Реализация классов (раздел 19.3.1). 2. Реализация ассоциаций (раздел 19.3.2). 3. Реализация обобщений (раздел 19.3А). 4. Реализация индивидуальности (раздел 19.3.5). 19.3.1. Классы Чаще всего каждый класс отображается в свою собственную таблицу, а каждый его атрибут становится столбцом этой таблицы (рис. 19.3). Можно добавить столбцы для идентификатора объекта и для ассоциаций (об этом мы расскажем чуть ниже).

Полужирным шрифтом мы выделили основной ключ. Ключевые слова языка ЯЯ1 выделены заглавными буквами. Обратите внимание, что операции не воздействуют на структуру таблицы. Мы выбрали типы данных и ограничения, которые кажутся разумнымн в свете нашей задачи. Во всех примерах мы будем использовать синтаксис Огас!е. пп сизготег1 и пп сизготег2 — названия, которые мы дали ограничениям на значения полей (эти поля не могут быть нулевыми). р!1 сиз!стет — название ограничения, которое накладывается на основной ключ.

19.3. Реализация структуры — основы 415 Модель классов Таблица Сиа1огпег Таблицы (Год 3(ЗЬ СВЕАТЕ ТАВЬЕ Спасовег ( г ьо момвев(зо) сомятвлзмт с г ег1 мот моьь, спас паве ЧАВСНАВ2(50) СОМВТВА1МТ пп спасовег2 МОТ МОЬЬ, Гевр авоппг МОМВЕК(12,2), сомятвльнт рК спасовег РВТМЕВТ кят (спасовег ТО))) Рис. 19.3. Реализация классов Модель классов Таблица Ассоип( Ь ( Ьа(апсе Таблица СагдАигиомкабоп Таблица Ассоип( СагдАигиопаабоп Таблицы йод 30)Ь свелте тлвье лссоппг ( ассоппс 1О МОМВЕВ(ЗО) Ьа1апсе МОНВЕК (12, 2) сгепьг ьзвга МОМВЕВ(12,г), сомятвльнт рК ассоппс РВ1МЛВТ Кет (ассоспс 1О))) сомятвлзмт пп ассоппг1 СОМЯткатнт пп ассоппсг МОт МВЬЬ, СВЕЛте ТАВЬВ Саге Апспогггагьоп ( саго асГП ТО МОМВЕВ(ЗО) СОМятВЛТМт пп сагоасГП1 МОт МОЬЬ, рааееогс ЧАКСНАК2(50), 1гвгс МОНВЕК (12,2), сомятвлтнт рв сагоапсп ЕВТМЛВТ Квт (саго аппп 1О))) СВЕЛтв тЛВЬЕ Лосс Саговссл ( ассоппс 1О МНМВЕВ(ЗО) СОМятВЛ1нт пп асссса1 МОт МВЬЬ, сага асГЬ 1О МВМВЕВ(ЗО) СОМЯтВЛ1нт ассссаг МОт моЬЬ, СОМятВЛТМт рв асссса ВВТМЛВТ Квт (ассоппс 10, саго аппп 1О)); Рис.

19.4. Реализация ассоциаций типа «многие-ко-многим» 416 Глава 19 ° Базы данных 19.3.2. Ассоциации Правила реализации ассоциаций учитывают их кратность. «Многие-ко-многим». Реализуйте ассоциацию в виде таблицы и сделайте основным ключом этой таблицы комбинацию основных ключей участвующих в ассоциации классов (рис. 19.4). Если у ассоциации есть атрибуты, они станут дополнительными столбцами этой таблицы. «Один-ко-многим».

Каждый класс у полюса «один» становится внешним ключом в таблице класса с кратностью «много» (рис. 19.5). Если бы у полюса «однн» было имя, мы могли бы использовать его в качестве имени внешнего ключа. Мы предполагаем, что порядковый номер (звт)а(й(ил)Ьег) банковской карты (Сазйсага') уникален. Модель классов Таблица Савасагб Сзл(ди(попав((ол Таблицы (выв Йога Ядие 194... Сага Апсногтгастоп собе Ггое Гьдоге 19.« .. СВХАтк тАВЬК Са«Ь Сага ( сазн сага 1О МОМВКВ(ЗО) СОМЗтялгмт пп сазлсагсц МОт МОЫ., зег1а1 пол ))АВСНАВ2(50! СОМ5ТВА1МТ пп савлсагб2 МОТ МОЬЬ, сагб апГЬ МОМВКВ(30) СОМВТВАТМТ пп савнсагбз Мог МОЬЬ, СОМЗТВА1МТ рк савнсагб ВВТМАВТ Ккт (савн сагб 10), сомзтВА1мт пч саьсагб1 ОВ1док (вег1а1 пои))) Рис. 19.$.

Реализация ассоциаций типа «один-ко-многим» «Один-к-одному». Такая кратность встречается тностредко. В этом случае внешний ключ можно поместить в таблицу любого класса (рис. 19.6). Х-арные ассоциации. Тоже встречаются редко. Можно рассматривать их как ассоциации типа «многие-ко-многим» и создавать для них отдельную таблицу. Чаще всего основной ключ таблицы и-арной ассоциации сочетает в себе основные ключи участвующих в ассоциации таблиц. Классы ассоциаций. Это ассоциация, которая одновременно является классом. Правильно описать зависимости будет проше, если такую ассоциацию сделать отдельной таблицей, независимо от ее краи. Квалифицированные ассоциации.

Для ннх действуют те же правила, что и для таких же ассоциаций без квалификатора. Поэтому на рис. 19.7 мы поступили с квалифицированной ассоциацией, как с ассоциацией типа «один-ко-многим» (у каждого банка может быть много счетов). снап (и — но- мер) обозначает возможный ключ.

У многих квалифицированных ассоциа- ций квалифнкатор входит в состав возможного ключа. Модель «пассос Таблица Аббгеаа таблицы Соа(о)пег(аые тго>п явоте 19.3... аббасов Соасоаег собе Ггоа Г1доге 19.3.. СВЕЛтв тЛВЬЕ Лбагееа ( аббгеее тО МОНВЕВ(ЗО) СОНЗтВЛ>мт аббгеее) МОт НОЬЬ, аааге НЛВСНЛВг(200) СОМВтВЛтнт пп ааагеааг НОт НОЬЬ, спесоаег 1О МОНВЕВ(ЗО) СОМЗтВЛтмт аббгее«З НОт МОЬЬ, СОНЗтВЛ>Мт рх абагеее РВ1МЛВт КЕХ (амате»а 1О))) Рис. 19.б. Реализация ассоциации типа «один-к-однону» Модель «пассос Таблица Ассоцп! свелте тлвье вапв ( Ьапх 1О МОИВЕВ(ЗО) СОМЗтВЛ>нт Ь 11 НОт НОЬЬ, Ьапк паве НЛВСнвкг(50) сонзтвлтмт пп Ьапхг нот ноьь, соматвлтмт рк ьапх рвтмлвт кет (ьапк то), СОМЗтнвтнт од Ьапхт ОМ1СОЕ (Ьапх и е)>) СОМЗтяптнт пп а оппст НОт НОЬЬ, СОматВЛ>Мт пп ассоппсг МОт МОЬЬ, СОМЗтВЛтнт пп ассоппГЗ Нат НОЬЬ, сонзтвлтмт пп ассоппта МОт ноЬЬ, (ассоппГ 10), (ьапх 1О, ассоопг собе))) Рис.

19.7. Реализация квалифицированной ассоциации )4 Заг 699 Таблица Вала Ьапыо па>пе (схт) | Таблицы свелте тлвье лес пг ( ассоопг то номвев(зо> Ьазапсе НОМВЕВ(тг,г> сгеб1Г 11а1Г НОНВЕВ(12,2) Ьапк 1О НОНВЕВ(30) ассоопс сабе НЛВСНЛВ2(50) сонзтвлтнт рк ассо Г РВ>МЛВт СОмвтВЛтнт пд ассопсь ОН)ООЕ 19.3. Реализация структуры — основы 417 .Егяоагт"'Б~Юяяке'Бгрфхогаии" фп / еаллыла 'плел е.с:. жной записи суперкласса. Многоуровневое наследование реаднзтетск в теюытетко, .жиливуужыж.юуыг Модель классов Таблица Ассесора Таблицы Таблица СнесЫпбАссоипх Таблица ЗагдпбаАссоип1 Аод Зягл сомятрлхмт пп ассоспсь мот моьь, СОМятклгнт ассоппег МОт МОЬЬ, сомятвлхмт пп ассопп«З мот моьь, кех <ассоппс хо~~; СВЕАТЕ ТАВЬЕ Снес«тпя Ассоппо [ сп« ассе хо момвек(ЗО> сомятвлгмт пп сь«асссь мот моьь, рсосесс осстс члкснлвг~ь~ сомятвлхмт пп сь«асссг мот моьь, сомятвлхмт р« сл«ассе рвгнлкх кех <сл« асс« ГО>)г СВЕЛтв тЛВЬЕ Яачтпое Ассоппе ~ еач ассе хо минаев~за) сомятвлтмт пп аачасссь мот моьь, сомятвльмт р« еачассс ввгнлкх кех ~аае ассе го~~; Рис.

19.8. Реализация обобщения скелте тлвье лссоппс ~ ассоспс го момвев<зо1 ьаь момвев~ьг,г~ ссесас ььагс минаев(ьг,г), ассо с суре члвснлвг(го) сомятвлхмт р« ассоспс рвхмлвх Ассесора сгебШ апа 19.3. Реализация структуры — основы 419 Обратите внимание, что названия основного ключа на нашем рисунке разные, но объект должен иметь одинаковые значения основного ключа во всей иерархии наследования. Поэтому «текущий счет Джо» может иметь одну строку в таблице Ассоипг с идентификатором ассоипг Ш = 101 и другую строку в таблице Сйесй(пд Ассоипг с идентификатором сл)т ассг Ш = 101. Мы предпочитаем связывать имена идентификаторов с именами классов (ассоипг Ш,сБ(т ассг Ш,зао Ассг Ш), а не использовать одно и тоже имя для всех таблиц, служащих для реализации обобщения.

Это упрощает работу с многоуровневыми обоб1цениями. Обратите внимание, что исключать из этой схемы подклассы, не имеющие атрибутов (подобно 5атппйзАссоипг на рис. 19.8), не следует. Достигаемое повышение производительности редко оказывается значительным, но зато при этом усложняется обеспечение зависимостей внешних ключей (см. раздел 19А.1). ° Множественное наследование. Для его реализации придется создавать отдельную таблицу суперклассов и отдельную таблицу подклассов. Для множественного наследования с перекрывающимися классами нужно создавать одну таблицу для каждого суперкласса, одну таблицу для каждого подкласса и одну таблицу для обобщения. 19.3.4.

Индивидуальность В каждой таблице, за редкими исключениями, должен быть основной ключ. В качестве этого ключа мы использовали индивидуальность объекта. Мы предпочитаем именно такой подход, хотя раньше никак не комментировали это, но нужно отметить, что в литературе по базам данных часто встречается и другой подход. На рис. 19.9 сравниваются два возможных варианта реализации индивидуальности объектов. ато дель классон Таблица Ассоипт Таблица Вапх Таблицы— индивиду- ЬапЫВ пате (схт) во»ность объектна Таблицы— индивидуальноспть значения Рис. 19.9. Индивидуальность объекта или значения 420 Глава 19 ° Базы данных ° Индивидуальность объекта.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее