Тема 1 1 Проектирование реляционных баз данных.ppt
- Количество слайдов: 26
Базы данных Тема 1. 1 Проектирование реляционных баз данных
Концепция баз данных • СУБД — это комплекс программных средств для создания баз данных и поддержания их а актуальном состоянии. Основная особенность СУБД — это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. • База данных — это файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД.
Связь программ и данных при использовании СУБД
Концепция баз данных • Язык запросов СУБД позволяет обращаться за данными как из программ, таки с терминалов (рис. на слайде). • При выполнении запроса на чтение данных, выданного прикладной программой или непосредственно с терминала (другого компьютера), СУБД выполняет ряд действий, включающих: 1. Интерпретацию запроса. 2. Поиск всех описаний данных, на которые выдан запрос. 3. Формирование команд, по которым операционная система пересылает из запоминающих устройств в буферы СУБД содержимое всех физических записей с требуемыми данными. 4. Выделение из этих записей нужных данных, их форматирование (если это необходимо), создание заданного вида и последовательности вывода, а также пересылку этих данных на терминал или в рабочую область прикладной программы. • Аналогичные действия выполняются при обновлении или вводе данных. • Однако за все надо расплачиваться: на обмен данными через СУБД требуется большее время, чем на обмен аналогичными данными прямо из файлов, специально созданных для того или иного приложения.
Архитектура СУБД
Архитектура СУБД должна предоставлять доступ к данным любым пользователям, включая и тех, кто практически не имеет и (или) не хочет иметь представления о: физическом размещении в памяти компьютера данных и их описаний; механизмах поиска запрашиваемых данных; проблемах, возникающих при одновременном запросе одних и тех же данных многими пользователями (прикладными программами); способах обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа; поддержании баз данных в актуальном состоянии и множестве других функций современных СУБД. • При выполнении основных из этих функций СУБД должна использовать различные описания данных. А что это за описания? • В 1975 году подкомитет SPARC (Standards Planning and Requirements Committee) американского национального института стандартов (American National Standards Institute, ANSI) выдвинул проект трехуровневой архитектуры СУБД (рис. на слайде): 1. Внешний (пользовательский). 2. Промежуточный (концептуальный). 3. Внутренний (физический). . • В основе архитектуры ANSI/SPARC лежит концептуальный уровень. Этот уровень описывает данные и их взаимосвязи с наиболее общей точки зрения — концепции архитекторов (разработчиков) базы данных. • Внутренний уровень позволяет скрыть подробности физического хранения данных (носители, файлы. . . ) от концептуального уровня. Отделение внутреннего уровня от концептуального уровня обеспечивает, так называемую, физическую независимость данных. • На внешнем уровне описываются различные подмножества элементов концептуального уровня для представления данных различными пользователями и (или) их программами. Каждый пользователь получает в свое распоряжение часть представлений о данных, но полная концепция скрыта. Отделение внешнего уровня от концептуального уровня обеспечивает логическую независимость данных. n
Подходы к проектированию баз данных • Прикладное проектирование Базы данных, объединяющие все данные, необходимые для решения одной или нескольких прикладных задач, называют прикладными базами данных • Предметное проектирование Базы данных, объединяющие все данные, относящиеся к какой-либо предметной области (например, финансам, учебному процессу, кулинарии и т. п. ) называют предметными базами данных.
Подходы к проектированию баз данных n n n Предметные базы данных позволяют обеспечить поддержку любых текущих и будущих приложений, поскольку набор их элементов данных включает наборы элементов данных прикладных баз данных. Вследствие этого предметные базы данных создают основу для обработки неформализованных, изменяющихся и неизвестных запросов и приложений. Такая гибкость и приспосабливаемость позволяет создавать на основе предметных баз данных достаточно стабильные информационные системы, т. е. системы, в которых Основывая же проектирование баз данных на текущих и предвидимых приложениях, можно существенно ускорить создание высокоэффективной информационной системы, т. е. системы, структура которой учитывает наиболее часто встречающиеся пути доступа к данным. Поэтому прикладное проектирование до сих пор привлекает некоторых разработчиков. Однако по мере роста числа приложений таких информационных систем быстро увеличивается число прикладных баз данных, резко возрастает уровень дублирования данных и повышается стоимость их ведения. Таким образом, каждый из рассмотренных подходов к проектированию воздействует на результаты проектирования в разных направлениях. Желание достичь и гибкости, и эффективности привело к формированию методологии проектирования, использующей как предметный, так и прикладной подходы. В общем случае предметный подход используется для построения первоначальной информационной структуры, а прикладной — для ее совершенствования с целью повышения эффективности обработки данных.
Этапы проектирования баз данных • Описание предметной области. • Построение логической (инфологической, концептуальной) модели базы данных. • Построение физической (датологической, табличной) модели базы данных
Этапы проектирования баз данных Процесс проектирования баз данных состоит из трех основных этапов: 1. На основе информации, полученной при анализе, необходимо создать подробное описание предметной области, обращая особое внимание на требования к данным. 2. Построить инфологическую модель базы данных — обобщенное, не привязанное к какимлибо компьютерам и СУБД, описание предметной области (наборы данных, их типов, длин, связей и т. п. ). 3. Выбрать СУБД, под управлением которой должна функционировать база данных, и создать даталогическую (табличную) модель базы данных — инфологическую модель, переведенную на язык выбранной СУБД. n
Проектирование баз данных Основные понятия модели "сущность— связь" • Сущность — это некоторая абстракция реально существующего объекта, процесса, явления или некоторого представления об объекте, информацию о котором требуется хранить в базе данных. • Типы сущностей: Ø сильная (не зависимая), Ø слабая (зависимая, характеристика).
Проектирование баз данных n n n Модель "сущность— связь" (или ER-модель) представляет собой способ логического унифицированного представления данных некоторой предметной области. Эта модель может быть преобразована к любой из существующих конкретных моделей данных: иерархической, сетевой, реляционной, объектной. ER-модель позволяет представлять только данные, но не действия, которые с ними могут производиться, поэтому она используется лишь для проектирования структуры хранимых данных. Следует различать такие понятия, как тип сущности и экземпляр сущности. Понятие "тип сущности" относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть Город, а экземпляром — Москва, Киев и т. д. Предполагается, что гарантировано отличие экземпляров одного типа сущности друг от друга. В дальнейшем, однако, там, где это не может вызвать неоднозначного прочтения, мы не будем различать типы и экземпляры, а будем просто использовать термин "сущность". Принято именовать сущность существительным или существительным с характеризующим его прилагательны. M (СТУДЕНТ, ДЕКАНАТ, ВЫПУСКАЮЩАЯ КАФЕДРА и др. ). Выделяют два вида сущностей: сильная (не зависимая) и слабая (зависимая, характеристика). Сильная сущность — независящая от других сущность.
Проектирование баз данных n n n Слабая сущность описывает или уточняет другую сущность. Она полностью зависит от нее и исчезает с исчезновением последней. Например, сущность ЗАРПЛАТА является характеристикой конкретных работников предприятия и не может в таком контексте существовать самостоятельно — при удалении экземпляра сущности РАБОТНИК должны быть удалены и экземпляры сущности ЗАРПЛАТА, связанные с удаляемым работником. Любой фрагмент предметной области может быть представлен некоторым набором сущностей и связями между ними. Например, рассматривая предметную область ФАКУЛЬТЕТ, можно выделить следующие основные сущности СТУДЕНТ, КАФЕДРА, СПЕЦИАЛЬНОСТЬ, ДЕКАНАТ, ГРУППА, ПРЕПОДАВАТЕЛЬ, ЭКЗАМЕН. На первом этапе создания ER-модели данных следует выделить все сущности, которые предполагается описывать, исходя из постановки задачи. Сущностью может быть не только некоторый материальный объект, но и некоторый процесс, например ЭКЗАМЕН, ЛЕКЦИЯ. Сущностью может быть и некоторая количественная, и качественные характеристики объекта: УЧЕНОЕ ЗВАНИЕ, СТАЖ, ОКЛАД И др. Все в действительности зависит от постановки задачи и от анализа предметной области.
Проектирование баз данных Основные понятия модели "сущность— связь" • Атрибут — это некоторое свойство, которое идентифицирует, классифицирует, количественно характеризует или определяет состояние сущности. • Ключ сущности — набор атрибутов сущности, однозначно определяющий экземпляр сущности.
Проектирование баз данных n n n Сущность фактически представляет собой некоторый набор атрибутов. Можно сказать, что сущность проявляет себя через набор атрибутов. Например, сущность СТУДЕНТ имеет атрибуты ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, HOМЕР ЗАЧЕТНОЙ книжки, год ПОСТУПЛЕНИЯ и т. д. Область определения атрибута называется доменом. Домен сужает множество возможных значений атрибута по сравнению с его типом. Действительно, атрибут ГОД ПОСТУПЛЕНИЯ должен принимать целые значения (целый тип). Домен же сужает возможные значения, ограничивая для нашего времени год числами от 2000 и выше. Следует понимать, что набор атрибутов всецело определяется предметной областью и постановкой задачи. Например, для студента нет смысла рассматривать атрибут ВЕС, хотя вес, разумеется, у него (студента) есть. А вот для посетителя поликлиники (сущность ПАЦИЕНТ) эта характеристика (атрибут) имеет существенное значение. Таким образом, важным принципом проектирования является абстрагирование от несущественных в данном контексте свойств объектов. Надо иметь в виду, что атрибут может на деле оказаться сущностью. Это происходит, если при анализе значений атрибута выясняется, что для него необходимо хранить дополнительную информацию. Типичным примером являются атрибуты, для которых нужно хранить значения в разные моменты времени (хранить историю). Так фамилия человека может неоднократно меняться в течение его жизни, и если этот факт имеет значение в данной постановке задачи, следует выделять фамилию в виде отдельной сущности. Ключ сущности — набор атрибутов сущности, однозначно определяющий экземпляр сущности. Ключ сущности, не содержащий в себе другие ключи, называют кандидатом или возможным ключом. Среди возможных ключей выбирается один первичный ключ.
Проектирование баз данных Основные понятия модели "сущность— связь" - Основные типы связей: 1 -1, 1 -M, М-1, M-M. • Характеристики связи: Ø кардинальность связи (тип связи, степень связи); Ø модальность связи ( «класс принадлежности» , обязательность - не обязательность связи).
Проектирование баз данных n n n n Связь (Relationship) - это ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе - нулевым) количеством экземпляров другой сущности. Обычно рассматриваются бинарные связи, т. е. связи между двумя типами сущностей. Связи являются двунаправленными. Связи могут устанавливаться между сущностями одного типа. Например, связь «Быть руководителем» устанавливается между разными экземплярами сущностей одного типа «СОТРУДНИК» . Различают связи типа «один к одному» (1: 1), «один ко многим» (1: М), «многие к одному» (М: 1) и «многие ко многим» (М: М). Принято называть связь, используя глагольную форму. Причем в некоторых нотациях именуются оба конца связи, а в некоторых именуется вся связь в целом. Например, если имеются две сущности — СТУДЕНТ и ОЦЕНКИ, то связь с одного конца будет называться, например, ПОЛУЧИЛ ОЦЕНКУ, а с другого — ВЫСТАВЛЕНА ОТМЕТКА. Кроме кардинальности (типа связи, степени связи) в ER-модели, для характеристики связи между разными сущностями надо указывать модальность ( «класс принадлежности» , обязательность – не обязательность), который показывает, может ли отсутствовать связь экземпляра сущности с какимлибо экземпляром другой сущности. Модальность также является двусторонней характеристикой связи. Немодальный тип связи со стороны сущности означает, что экземпляры сущности не обязаны участвовать в данной связи. Модальный тип означает, что все экземпляры сущности участвуют в данной связи. Связь между независимой и зависимой сущностью принято называть идентифицирующей. Связь между независимыми сущностями принято называть неидентифицирующей. В настоящее время разработано несколько различных графических методов (нотаций) представления диаграмм в модели «сущность — связь» . Ниже на слайдах представлены обозначения основных нотаций.
Нотация Чена
Нотация Чена
Нотация Мартина
Нотация IDEF 1 X
Проектирование баз данных Нотация Чена. Подтипы и супертипы
Проектирование баз данных Нотация IDEF 1 X. Отношение категоризации.
Проектирование баз данных n n n Иногда тип сущности может быть разбит на несколько подтипов. При этом любой экземпляр такой сущности обязательно должен принадлежать одному из подтипов. Сам тип сущности при этом называют супертипом. Исключается также ситуация, когда экземпляр сущности может принадлежать одновременно двум подтипам. Наконец, любой экземпляр подтипа должен обязательно принадлежать и супертипу. Часто, для того чтобы удовлетворить перечисленным условиям приходится добавлять подтип с названием ДРУГИЕ И относить к нему все экземпляры сущностей, которые не вошли в ранее определенные подтипы. Отношение сушностей супертип и подтип также называют наследованием или категоризацией. Пример: имеем тип сущности ЧЛЕНЫ КАФЕДРЫ. Всех членов кафедры можно разбить на четыре подтипа: ПРЕПОДАВАТЕЛИ, АСПИРАНТЫ, ПРОГРАММИСТЫ, ЛАБОРАНТЫ. Члены супертипа имеют атрибуты Фамилия, Имя, Отчество, а члены подтипов, наследуя эти атрибуты, при этом имеют и собственные атрибуты: Ученое звание, Специальность, Основная задача, Лаборатория.
Проектирование баз данных Пример логической модели базы данных в нотации IE (Information Engineering)
Контрольные вопросы 1. Понятие БД и СУБД. Архитектура СУБД 2. Характеристика этапов проектирования базы данных. 3. Модель «сущность-связь» : понятие сущности, типы сущностей, атрибуты и ключ сущности, 4. Модель «сущность-связь» : понятие связи, кардинальность и модальность связи, идентифицирующие и не идентифицирующие связи, супертипы и подтипы. 5. Нотации диаграмм «сущность-связь» .
Тема 1 1 Проектирование реляционных баз данных.ppt