270 likes | 482 Views
Основы реляционных баз данных. Лекция 2. Введение в проектирование . Желенкова Ольга Петровна, с.н.с. ОИ САО РАН, к.ф.-м.н . 14-18 апреля 2008. Базовые понятия. Тип данных Домен Атрибут Кортеж Отношение Первичный ключ Вторичный ключ. Типы данных. Символьные ( CHAR, VARCHAR2)
E N D
Основы реляционных баз данных Лекция 2. Введение в проектирование Желенкова Ольга Петровна, с.н.с. ОИ САО РАН, к.ф.-м.н. 14-18 апреля 2008
Базовые понятия • Тип данных • Домен • Атрибут • Кортеж • Отношение • Первичный ключ • Вторичный ключ
Типы данных • Символьные (CHAR, VARCHAR2) • Целые числа • с плавающей точкой (NUMBER) • Битовые сроки (RAW) • Специализированные числовые данные • Временные данные (DATE)
Домен - это семантическое понятие (несет определенную смысловую нагрузку) • Домен определен на некотором простом типе данных или на другом домене. • Домен может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для данного домена. Область допустимых значений атрибута
Отношение – именованная таблица • Атрибут отношения - некоторое свойство, характеристика отношения или наименование столбца таблицы • Кортеж отношения – строка таблицы База данных – набор отношений Схема базы данных – набор заголовков таблиц
Фундаментальные свойства отношений • Отсутствие кортежей-дубликатов • Отсутствие упорядоченности кортежей • Отсутствие упорядоченности атрибутов • Атомарность значений атрибутов
Предметная область • Модель предметной области (инфологическая модель) • Логическая модель данных • Физическая модель данных • Собственно база данных и приложения
информативными и полезными при разработке баз данных являются описания предметной области, выполненные при помощи специализированных графических нотаций. Имеется большое количество методик описания предметной области ER-диаграммы, UML-диаграммы и т.д.
Сущность – любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. • тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. • экземпляр сущности относится к конкретной вещи в наборе
Атрибут – поименованная характеристика сущности • Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности.
Связь – ассоциирование двух или более сущностей. • Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. • Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи.
Entity-Relation-диаграммы • Первый тип – связь ОДИН-К-ОДНОМУ (1:1) в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:
Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В
Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ (М:N).
множество связей между одними и теми же сущностями
три основные класса сущностей: стержневые, ассоциативные и характеристические.
Первичный ключ - служат идентификаторами объектов предметной области (т.е. предназначены для различения объектов) • Значения первичных ключей не могут содержать неизвестные значения (NULL).
Различные объекты предметной области, информация о которых хранится в базе данных, всегда взаимосвязаны друг с другом. • Такие взаимосвязи отражаются в реляционных базах данных при помощи внешних ключей, связывающих несколько отношений.
Внешний ключ, также как и потенциальный, может быть простым и составным и определяется на тех же доменах, что и соответствующий первичный ключ родительского отношения. • Внешний ключ, как правило, не обладает свойством уникальности. В дочернем отношении может быть несколько кортежей, ссылающихся на один и тот же кортеж родительского отношения. • Хотя каждое значение внешнего ключа обязано совпадать со значениями потенциального ключа в некотором кортеже родительского отношения, то обратное, вообще говоря, неверно. Например, могут существовать поставщики, не поставляющие никаких деталей.
Правило целостности сущностей. Атрибуты, входящие в состав некоторого потенциального ключа не могут принимать null-значений. • Правило целостности внешних ключей. Внешние ключи не должны быть несогласованными, т.е. для каждого значения внешнего ключа должно существовать соответствующее значение первичного ключа в родительском отношении.
Ссылочная целостность (или связь родительская-дочерняя таблицы) может нарушиться в результате операций (добавления, обновление и удаление) изменяющих состояние базы данных. В определении ссылочной целостности участвуют два отношения - родительское и дочернее. Ссылочная целостность в принципе может быть нарушена при выполнении одной из четырех операций: • Обновление кортежа в родительском отношении. • Удаление кортежа в родительском отношении. • Вставка кортежа в дочернее отношение. • Обновление кортежа в дочернем отношении.
Существуют две основные стратегии поддержания ссылочной целостности: • RESTRICT (ОГРАНИЧИТЬ)- не разрешать выполнение операции, приводящей к нарушению ссылочной целостности (требуется проверка, имеются ли кортежи в дочернем отношении, связанные с некоторым кортежем в родительском отношении). • CASCADE (КАСКАДИРОВАТЬ)- разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других отношениях так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительском отношении и каскадно выполняется в дочернем отношении. В реализации этой стратегии имеется одна тонкость, заключающаяся в том, что дочернее отношение само может быть родительским для некоторого третьего отношения.
Нормализация таблиц основана на понятии функциональной зависимости атрибутов отношения. • 1 нормальная форма (1НФ)– нет дублирующих кортежей, однако первой нормальной формы недостаточно для правильного моделирования данных • Отношение находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа • Отношение находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого