
- •Инфологическое моделирование в виде er – моделей. Основные понятия, характеристики, свойства и связи.
- •1.Сущность.
- •2.Атрибут.
- •3. Ключ
- •4. Связь
- •2.3.2. Язык инфологического моделирования (яим) "Сущность-связь". Классификация сущностей.
- •2.3.2. Язык инфологического моделирования "Таблица-связь".
- •2.4. Пример построения инфологической модели базы данных "Питание"
- •Операции агрегации, обобщения, ассоциации над единицами информации, их отображение в e-r – моделях.
- •Даталогическая модель данных
- •1.3.1. Иерархическая даталогическая модель
- •1.3.3. Даталогическая модель на основе инвертированных списков
- •1.3.4. Реляционная даталогическая модель
- •1.3.5. Объектно- реляционная даталогическая модель
- •Основные понятия реляционных баз данных: отношения, атрибуты, домены, кортежи, ключи.
- •2.1.1. Тип данных
- •2.1.2. Домен
- •2.1.3. Схема отношения, схема базы данных
- •2.1.4. Кортеж, отношение
- •Основные свойства отношений реляционных баз данных
- •2.3.1 . Отсутствие кортежей-дубликатов
- •2.3.2 . Отсутствие упорядоченности кортежей
- •2.3.3 . Отсутствие упорядоченности атрибутов
- •2.3.4 . Атомарность значений атрибутов
- •Нормализация отношений
- •3.2.1. Пример декомпозиции исходной «универсальной» таблицы на простые отношения.
- •3.2.2. Проблемы, возникающие при использовании универсального отношения
- •3.2.3. Первая нормальная форма (1nf).
- •3.2.4. Вторая нормальная форма (2nf)
- •3.2.5. Третья нормальная форма (3nf)
- •3.2.6. Нормальная форма Бойса-Кодда (bcnf)
- •3.2.7. Четвертая нормальная форма (4nf). Пятая нормальная форма, или нормальная форма проекции-соединения (5nf или pj/nf)
2.1.4. Кортеж, отношение
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или "арность" кортежа, т.е. число элементов в нем, совпадает с "арностью" соответствующей схемы отношения. Попросту говоря, кортеж - это набор именованных значений заданного типа. Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят "отношение-схема" и "отношение-экземпляр", иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой. Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных. Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения". Когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, мы будем использовать эту житейскую терминологию. Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД. Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД. Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.
Целостность реляционных баз данных
Для пользователей важно, чтобы база данных отображала предметную область однозначно и непротиворечиво, т.е. чтобы она удовлетворяла условию целостности. Выделяют два основных типа ограничений по условию целостности:
Каждая строка таблицы должна отличаться от остальных ее строк значением хотя бы одного столбца.
Пример: Сотрудники отдела могут оказаться полными тезками, родившимися в один и тот же день. Чтобы не нарушить условия целостности, добавляем в таблицу новый столбец - "Номер пропуска", превращая ее в отношение. Таким образом, первое ограничение обеспечивается наличием в таблице - отношении первичного ключа.
Внешний ключ не может быть указателем на несуществующую строку той таблицы, на которую он ссылается. Это ограничение называется ограничением целостности по ссылкам.
Пример: В столбце Название отдела таблицы "Сотрудник" (Рис. 2.2.1.) хранятся сведения о принадлежности сотрудников к отделу. Здесь Название отдела является внешним ключом для ссылки на таблицу "Отдел". Для обеспечения ограничения целостности по ссылкам каждое Название отдела из таблицы "Сотрудник" должно принадлежать конкретному отделу из таблицы "Отдел". Рис. 2.2.1. Таблицы «Сотрудник» и «Отдел». Примечание: В реальных базах данных названия не делают ключевыми из-за их длины (замедление процесса поиска), а также из-за того, что они могут изменяться (сложности с сопровождением системы)