Тема_7 (1122352), страница 11

Файл №1122352 Тема_7 (Презентации лекций С.Д. Кузнецова PDF) 11 страницаТема_7 (1122352) страница 112019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Кузнецов. Базы данных.139Проектирование РБДДиаграммы классов языка UML(60) Определить ограничение, что у каждогоотделадолжен иметьсяменеджер,иОграниченияцелостностии языкOCLлюбой отдел должен быть основан нераньше соответствующей компании(29) Инвариант класса (20)context Отдел inv:self.служащий → exists (должность= “manager”) andself.компания.годОснования ≥self.годОснования Если бы в ограничении мы потребовали, чтобы у каждого отдела былтолько один менеджер, то следовало бы написать … count () = 1, и этобыло бы не эквивалентно варианту с exists Обратите внимание, что в этом случае снова законным являетсяподвыражение self.компания.годОснования, поскольку кратность роликомпания в ассоциации классов Отдел и Компания равна единице29.10.2009С.Д.

Кузнецов. Базы данных.140Проектирование РБДДиаграммы классов языка UML(61) Условие четвертого инвариантаОграничениямаксимальноцелостности и язык OCL (30) Инвариант класса (21)ограничиваетвозможное количество сотрудниковкомпании числом 1000context Компания inv:self.отдел → collect (служащие) →count () < 1000 Здесь полезно обратить внимание на использование операции collect Проследим за вычислением условного выражения В нашем случае в классе Компания всего один объект, и он сразу становится текущим В результате выполнения операции self.отдел будет получено множество объектов,соответствующих всем отделам компании При выполнении операции collect (служащие) для каждого объекта-отдела по экземпляруассоциации с объектами класса Служащие будет образовано множество объектов-служащихданного отдела, а в результате будет образовано множество объектов, соответствующих всемслужащим всех отделов компании, т.е.

всем служащим компании29.10.2009С.Д. Кузнецов. Базы данных.141Проектирование РБДДиаграммы классов языка UML(62)Ограниченияязык OCL (31) Инварианткласса (22)Плюсы целостностии минусыииспользованияязыкаOCLприпроектировании реляционных баз данныхЯзык OCL позволяет формально и однозначно(без двусмысленностей, свойственныхестественным языкам) определять ограниченияцелостности БД в терминах ее концептуальнойсхемыСкорее всего, наличие подобной проектнойдокументации будет полезным длясопровождения БД, даже если придетсяпреобразовывать инварианты OCL вограничения целостности SQL вручную29.10.2009С.Д.

Кузнецов. Базы данных.142Проектирование РБДДиаграммы классов языка UML(63)Ограниченияцелостности и языкOCL (32) использованияИнвариант класса (23)К отрицательнымсторонамOCLотносится, прежде всего, сложность языка инеочевидность некоторых его конструкцийКроме того, строгость синтаксиса и линейнаяформа языка в некотором роде противоречатнаглядности и интуитивной ясности диаграммнойчасти UMLДа, в инвариантах OCL используются те жепонятия и имена, что и в соответствующейдиаграмме классов, но используются совсем вдругой манере29.10.2009С.Д. Кузнецов. Базы данных.143Проектирование РБДДиаграммы классов языка UML(64)Ограниченияязык опровергнутьOCL (33) Инвариант классаТрудно целостностидоказатьииликак (24)предположение, что на языке OCL можновыразить любое ограничение целостности,которое можно определить средствами SQL, таки утверждение, что на языке OCL нельзявыразить такой инвариант, для которогоокажется невозможным сформулироватьэквивалентное ограничение целостности наязыке SQLНеизвестны работы, в которых бы сравниваласьвыразительная мощность этих языков в связи сограничениями целостности реляционных БД29.10.2009С.Д.

Кузнецов. Базы данных.144Проектирование РБДДиаграммы классов языка UML(65)Получениереляционнойбазынаданныхиз диаграммыклассов UMLЕсли несхемыобращатьвниманияразличияв терминологии,тоздесь выполняются практически те же шаги, что и в случае(1) преобразования в схему реляционной БД ER-диаграммы Поэтому ограничимся только некоторыми рекомендациями,специфичными для диаграмм классов. Рекомендация 1. Прежде чем определять в классахоперации, подумайте, что вы будете делать с этимиопределениями в среде целевой РСУБД Если в этой среде поддерживаются хранимые процедуры, то,возможно, некоторые операции могут быть реализованыименно с помощью такого механизма Но если в среде РСУБД поддерживается механизмопределяемых пользователями функций, возможно, онокажется более подходящим29.10.2009С.Д.

Кузнецов. Базы данных.145Проектирование РБДДиаграммы классов языка UML(66)Получениесхемы реляционнойбазы данныхдиаграммы классов UML Рекомендация2. Помните,чтоиз сравнительно(2) эффективнов РСУБД реализуются толькоассоциации видов «один ко многим» и «многиеко многим»Если в созданной диаграмме классов имеютсяассоциации «один к одному», следует задуматься оцелесообразности такого проектного решенияРеализация в среде РСУБД ассоциаций с точнозаданными кратностями ролей возможна, но требуетопределения дополнительных триггеров, выполнениекоторых понизит эффективность29.10.2009С.Д.

Кузнецов. Базы данных.146Проектирование РБДДиаграммы классов языка UML(67)Получениесхемы реляционнойбазы данных из диаграммыклассов UMLРекомендация3. В спецификацииUML говоритсяо том, что, определяя однонаправленные связи,(3)вы можете способствовать эффективностидоступа к некоторым объектамДля технологии реляционных баз данных поддержкатакого объявления вызовет дополнительныенакладные расходы и тем самым снизитэффективностьРекомендация 5.

Не злоупотребляйтевозможностями OCLДиаграммы классов UML – это мощныйинструмент для создания концептуальных схембаз данных, но, как известно, все хорошо в меру29.10.2009С.Д. Кузнецов. Базы данных.147Проектирование РБДДиаграммы классов языка UML(68)Нельзя сказать, что проектирование баз данныхЗаключение(1)на основе семантическихмоделей в любомслучае ускоряет и/или упрощает процесспроектированияВсе зависит от сложности предметной области,квалификации проектировщика и качествавспомогательных программных средствНо так или иначе этап диаграммного моделированияобеспечивает следующие преимущества:На раннем этапе проектирования до привязки кконкретной РСУБД проектировщик можетобнаружить и исправить логические недочетыпроекта, руководствуясь нагляднымграфическим представлением концептуальнойсхемы29.10.2009С.Д. Кузнецов. Базы данных.148Проектирование РБДДиаграммы классов языка UML(69)Нельзя сказать, что проектирование баз данных на основесемантических моделей в любом случае ускоряет и/илиупрощает процесс проектированияВсе зависит от сложности предметной области,квалификации проектировщика и качества вспомогательныхпрограммных средствНо так или иначе этап диаграммного моделированияобеспечивает следующие преимущества: На раннем этапе проектирования до привязки к конкретнойРСУБД проектировщик может обнаружить и исправитьлогические недочеты проекта, руководствуясь нагляднымграфическим представлением концептуальной схемыЗаключение (2)29.10.2009С.Д.

Кузнецов. Базы данных.149Проектирование РБДДиаграммы классов языка UML(70)Окончательный вид концептуальной схемы, полученнойнепосредственно перед переходом к формированиюреляционной схемы, а может быть, и промежуточнойверсии концептуальной схемы, должен стать частьюдокументации целевой реляционной БДЗаключение (3)Наличие этой документации очень полезно длясопровождения и, в особенности, для изменения схемыБД в связи с изменившимися требованиями.При использовании CASE-средств концептуальноемоделирование БД может стать частью всего процессапроектирования целевой информационной системы,что должно способствовать правильной структуризациипроцесса, эффективности и повышению качествапроекта в целом29.10.2009С.Д.

Кузнецов. Базы данных.150Проектирование РБДДиаграммы классов языка UML(71)В контексте проектирования реляционных БД структурныеЗаключение(4) основанные на использовании ERметоды проектирования,диаграмм, и объектно-ориентированные методы,основанные на использовании языка UML, различаются,главным образом, лишь терминологиейER-модель концептуально проще UML, в ней меньшепонятий, терминов, вариантов примененияИ это понятно, поскольку разные варианты ER-моделейразрабатывались именно для поддержки проектированияреляционных БД, и ER-модели почти не содержатвозможностей, выходящих за пределы реальныхпотребностей проектировщика реляционной БД29.10.2009С.Д.

Кузнецов. Базы данных.151Проектирование РБДДиаграммы классов языка UML(72)Язык UML принадлежит объектному мируЗаключение(5)Этот мир гораздо сложнее (если угодно, непонятнее,запутаннее) реляционного мираПоскольку UML может использоваться дляунифицированного объектно-ориентированногомоделирования всего чего угодно, в этом языке содержитсямасса различных понятий, терминов и вариантовиспользования, избыточных с точки зрения проектированияреляционных БДЕсли вычленить из общего механизма диаграмм классов то,что действительно требуется для проектированияреляционных БД, то мы получим в точности ER-диаграммы сдругой нотацией и терминологией29.10.2009С.Д. Кузнецов.

Базы данных.152Проектирование РБДДиаграммы классов языка UML(73)Поэтому выбор конкретной концептуальной модели – этоЗаключение(6)вопрос вкуса и сложившихсяобстоятельствПонятно, что если в организации уже имеется сложившаясяинфраструктура проектирования приложений, то разумнопродолжать ею пользоваться до тех пор, пока это не станеттормозомПри построении же новой инфраструктуры стратегическиесоображения высшего руководства компании имеютбольший вес, чем предпочтения технических специалистов,хотя эти предпочтения тоже обязательно должныучитываться29.10.2009С.Д.

Кузнецов. Базы данных.153Проектирование РБД.

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

Тип файла
PDF-файл
Размер
625,64 Kb
Тип материала
Предмет
Высшее учебное заведение

Список файлов лекций

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