Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 39
Текст из файла (страница 39)
Метод сущность-связь193ПРЕПОДАВАТЕЛЬДОЛЖНОСТЬФИОСтажФИОГруппа ПредмДолжн...ДолжнСТАЖСтажВЕДЕТЗАНЯТИЕГрупрас^ПредмРис. 6.24. Схема базы данныхЗамечания.• В нашем примере отношение З А Н Я Т И Е , кроме ключевых атрибутов(Группа. Предм). других атрибутов не имеет. Поэтому оно не несет дополнительной информации, кроме содержащейся в отношении ВЕДЕТ.Действительно, это отношение включает в себя атрибуты Группа. Предм.Поэтому отношение З А Н Я Т И Е нужно исключить из формируемой схемы БД (на рис.
6.24 оно перечеркнуто). Если бы имелись другие атрибуты, например атрибут Семестр, в котором некоторая группа изучает конкретную дисциплину, то получили бы отношение З А Н Я Т И Е (Группа.Предм. Семестр), которое вошло бы в БД.• На последнем этапе проектирования предварительные отношения анализируются на предмет избыточного дублирования информации. Приэтом возможно рассмотрение нескольких кортежей каждого отношения.При наличии избыточности возможно либо перепроектирование соответствующей части проекта (ER-диаграмм), либо декомпозиция соответствующих отношений с использованием метода нормальных форм.
Конечный результат преобразований представляет собой совокупность отношений в нормальной форме Бойса - Кодда.• Рассмотренные правила проектирования БД позволяют моделироватьмногие практические ситуации. Построение ряда других реальных моделей может потребовать использования дополнительных конструкций.В частности, может возникнуть необходимость использования связейболее высокого порядка, чем бинарные, например, тернарные, связывающие три сущности.Контрольныевопросыизадания1. Перечислите основные понятия метода сущность-связь.2. Охарактеризуйте понятие ключа сущности.7 Зак.
541Часть 2. Проектирование и использование БД1943.4.5.6.Что представляют собой диаграммы ER-экземпляров и диаграммы ER-типа.Что определяет степень связи между сущностями?Каким может быть класс принадлежности?Приведите пример диаграммы ER-экземпляров со степенью связи между сущностями 1:1 и обязательным классом принадлежности двух сущностей.7.
Как на диаграммах ER-типа обозначаются степень связи, обязательноеи необязательное участие в связи экземпляров сущности?8. Приведите пример диаграммы ER-экземпляров для связи типа 1:М варианта Н-О.9. Назовите этапы проектирования базы данных.10. Как осуществляется формирование отношений для связи 1:1?11. Сформулируйте правило 3 формирования отношений, если степеньсвязи 1:1 и класс принадлежности обеих сущностей является необязательным.12. Сформулируйте правило формирования отношения для случая степени связи между сущностями 1:М (М:1) и обязательного класса принадлежности М-связной сущности.13. Укажите правила формирования отношений для связи М:М.14.
Покажите, что полученные в прикладном примере из раздела отношения находятся в нормальной форме Бойса - Кодда.Литература1. Дейтп К. Дж. Введение в системы баз данных / Пер. с англ. — б-е изд. К.: Диалектика, 1998.2. Джексон Г. Проектирование реляционных баз данных для использования сМ И К Р О Э В М / Пер. с англ. М.: Мир, 1991.3. Кузнецов С. Д.
Введение в СУБД: часть 4 / / Системы Управления Базами Данных, № 4 , 1995. С. 114 -122.4. Основы современных компьютерных технологий: Учебник / Под ред. проф.Хомоненко А. Д. Авторы: Брякалов Г. А., Войцеховский С. В., Воробьев Е. идр. - СПб.: КОРОНА принт, 2005. - 672 с.5. Хансен Г., Хансен Д.
Базы данных: разработка и управление / Пер. с англ.М.: ЗАО «Издательство БИНОМ», 1999.1957. Средства автоматизациипроектированияВ разделе дается общая характеристика CASE-средств создания и сопровождения информационных систем. Рассматриваются модели жизненного цикла программных систем, описываются модели структурного и объектно-ориентированного проектирования. Дается классификация CASE-средств и приводится характеристика наиболее популярныхсистем.7 .
1 . Основные определенияДля автоматизации проектирования и разработки информационных систем в 70-80-е гг. широко применялась структурная методология, означающая использование формализованных методов описания разрабатываемой системы и принимаемых технических решений. При этом использовались графические средства описания различных моделей информационных систем с помощью схем и диаграмм. При ручной разработке информационных систем такие графические модели разрабатывать и использовать весьма трудоемко.Отмеченные обстоятельства послужили одной из причин появления программно-технологических средств, получивших название CASE-средств иреализующих CASE-технологию создания и сопровождения информационных систем.
Кроме структурной методологии, в ряде современных CASEсредств используется объектно-ориентированная методология проектирования.Термин CASE (Computer Aided Software Engineering) дословно переводится как разработка программного обеспечения с помощью компьютера. В настоящее время этот термин получил более широкий смысл, означающий автоматизацию разработки информационных систем.CASE-средства представляют собой программные средства, поддерживающие процессы создания и/или сопровождения информационных систем, такие как: анализ и формулировка требований, проектирование баз данных иприложений, генерация кода, тестирование, обеспечение качества, управление конфигурацией и проектом.CASE-систему можно определить как набор CASE-средств, имеющих определенное функциональное предназначение и выполненных в рамках единого программного продукта.Часть 2.
Проектирование и использование БД196CASE-технология обычно определяется как методология проектированияинформационных систем плюс инструментальные средства, позволяющие наглядно моделировать предметную область, анализировать ее модель на всехэтапах разработки и сопровождения информационной системы и разрабатывать приложения для пользователей.CASE-индустрия объединяет сотни фирм и компаний различной ориентации.
Практически все серьезные зарубежные программные проекты осуществляются с использованием CASE-средств, а общее число распространяемых пакетов превышает 500 наименований.Основная цель CASE-систем и средств состоит в том, чтобы отделить проектирование программного обеспечения от его кодирования и последующихэтапов разработки (тестирование, документирование и пр.), а также автоматизировать весь процесс создания программных систем, или инжиниринг (отангл.
engineering - разработка).В последнее время все чаще разработка программ начинается с некоторогопредварительного варианта системы. В качестве такого варианта может выступать специально для этого разработанный прототип, либо устаревшая ине удовлетворяющая новым требованиям система. В последнем случае длявосстановления знаний о программной системе с целью последующего ихиспользования применяют повторную разработку - реинжиниринг.Повторная разработка сводится к построению исходной модели программной системы путем исследования ее программных кодов. Имея модель, можно ее усовершенствовать, а затем вновь перейти к разработке. Так часто и поступают при проектировании.
Одним из наиболее известных принципов такого типа является принцип «возвратного проектирования» - Round TripEngineering (RTE).Современные CASE-системы не ограничиваются только разработкой, ачаще всего обеспечивают и повторную разработку. Это существенно ускоряет разработку приложений и повышает их качество.ПерспективнаяCASE-системаДинамика изменения позиций структурных и объектно-ориентированныхсистем позволяет предположить, что перспективная CASE-система будетобъектно-ориентированной.
Рассмотрим требования к идеальной перспективной CASE-системе.Полнофункциональная объектно-ориентированная система должна решатьзадачи анализа и моделирования, проектирования, разработки (реализации),а также иметь эффективную инфраструктуру, обеспечивающую сервисом первые три основные задачи.Для решения задач анализа и моделирования целесообразно иметь интегрированную среду разработчика, которая должна обеспечивать возможности:• динамического моделирования событий в системе;7. Средства автоматизации проектирования197•динамической и согласованной коррекции всей совокупности диаграмм;• добавления пояснительных надписей к диаграммам моделей и в документацию;• автоматической генерации документации;•создания различных представлений и скрытия неиспользуемых слоевсистемы;• поддержки различных нотаций (это требование ослабевает в связи с переходом к единому языку моделирования).Осуществление процесса проектирования предполагает наличие возможностей:•определения основной модели прикладной задачи (бизнес-модели,обычно объектно-ориентированной) и правил ее поведения (бизнесправил);• поддержки процесса проектирования с помощью библиотек, оснащенных средствами хранения, поиска и выбора элементов проектирования(объектов и правил);• создания пользовательского интерфейса и поддержания распространенных программных интерфейсов (поддержка стандартов OLE, OpenDoc,доступ к библиотекам HTML/Java и т.
п.);•создания различных распределенных клиент-серверных приложений.Средства разработки в составе CASE-системы должны обеспечивать построение приложения по результатам предыдущих этапов разработки приложения. Максимально высоким требованием к средствам разработки можносчитать генерацию готовой к выполнению программы.CASE-системы ближайшего будущего должны позволять создавать скелетные заготовки под классы, атрибуты и методы, готовые приложения на объектно-ориентированных языках программирования типа С++ или Smalltalk,либо программы на языках клиент-серверных продуктов (PowerBuilder, Forte,VisualAge, Visual Works и т. д.).
К поддерживаемым языкам, по-видимому, скоро добавится язык Java.Для обеспечения связи с другими этапами жизненного цикла приложения средства CASE-системы должны включать и функции контроляпрограммного кода на синтаксическую корректность и соответствие моделям.Ядром инфраструктуры будущих CASE-систем должен быть репозиторий,отвечающий за генерацию кода, реинжиниринг и обеспечивающий соответствие между моделями и программными кодами. Основу репозитория составят объектно-ориентированные БД, хотя ранее для этого использовались реляционные БД.