Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные понятия реляционной модели данных

Реляционная модель данных

Обеспечение непротиворечивости и целостности данных в базе

Для пользователей АИС важно, чтобы база данных отображала предметную область однозначно и непротиворечиво, т. е. чтобы она удовлетворяла условию целостности.

Выделяют два основных типа ограничений по условию целост­ности:

1. Каждая строка таблицы должна отличаться от остальных ее строк значением хотя бы одного столбца.

Пример 1.2. Сотрудники отдела могут оказаться полными тезка­ми, родившимися в один и тот же день. Чтобы не нарушить условия целостности, добавляем в таблицу новый столбец — «Л* пропуска», превращая ее в отношение (см. рис. 1.4). Таким образом, первое ог­раничение обеспечивается наличием в таблице — отношении пер­вичного ключа.

2. Внешний ключ не может быть указателем на несуществую­щую строку той таблицы, на которую он ссылается. Это ограниче­ние называется ограничением целостности по ссылкам.

Пример 1.3. В столбце Название отдела таблицы «СОТРУДНИК» (см. рис. 1.4) хранятся сведения о принадлежности сотрудников к отделу. Здесь Название отдела является внешним ключом для ссылки на таблицу «ОТДЕЛ». Для обеспечения ограни­чения целостности по ссылкам каждое Название отдела из таблицы «СОТРУДНИК» должно принадлежать конкретному отделу из таб­лицы «ОТДЕЛ».

В реальных базах данных названия не делают ключевыми из-за их длины (замедление процесса поиска), а также из-за того, что они могут изменяться (сложности с сопровождением системы).

 

 

Реляционная23 модель является удобной и наиболее привычной фор­мой представления данных в виде таблицы. В отличие от иерархиче­ской и сетевой моделей, такой способ представления: 1) понятен пользователю-непрограммисту; 2) позволяет легко изменять схему — присоединять новые элементы данных и записи без изменения соот­ветствующих подсхем; 3) обеспечивает необходимую гибкость при обработке непредвиденных запросов. К тому же любая сетевая или иерархическая схема может быть представлена двумерными отноше­ниями.

Одним из основных преимуществ реляционной модели является ее однородность. Все данные рассматриваются как хранимые в таб­лицах, в которых каждая строка имеет один и тот же формат. Каж­дая строка в таблице представляет некоторый объект реального мира или соотношение между объектами. Пользователь модели сам должен для себя решить вопрос, обладают ли соответствующие сущ­ности реального мира однородностью. Этим самым решается про­блема пригодности модели для предполагаемого применения.

 

 

Основными понятиями, с помощью которых определяется реля­ционная модель, являются следующие: домен, отношение, кортеж, кардинальность, атрибуты, степень, первичный ключ. Соотношение этих понятий иллюстрируется рис. 3.14. Эти понятия представляют специальную терминологию, введенную авторами теоретических ос­нов, однако они имеют и более привычные аналоги (но не во всем эквиваленты!), соответствие которых приведено в следующей табл. 3.1.

Таблица 3.1

Домен Совокупность допустимых значений
Кортеж Таблица
Кардинальность Количество строк в таблице
Атрибут Поле, столбец таблицы
Степень отношения Количество полей (столбцов)
Первичный ключ Уникальный идентификатор

 

Домен — это совокупность значений, из которой берутся значе­ния соответствующих атрибутов определенного отношения. С точки зрения программирования, домен — это тип данных, определяемый системой (стандартный) или пользователем.

5) строки размещаются в таблице также в произвольном по­рядке;

6)столбцы имеют уникальные наименования.

В целом концепция реляционной модели определяется следую­щими двенадцатью правилами Кодда.

1. Правило информации. Вся информация в базе данных должна быть предоставлена исключительно на логическом уровне и только одним способом — в виде значений, содержащихся в таблицах.

2. Правило гарантированного доступа. Логический доступ ко всем и каждому элементу данных (атомарному значению) в реляци­онной базе данных должен обеспечиваться путем использования комбинации имени таблицы, первичного ключа и имени столбца.

3. Правило поддержки недействительных значений. В реляцион­ной базе данных должна быть реализована поддержка недействи­тельных значений, которые отличаются от строки символов нулевой длины, строки пробельных символов, от нуля или любого другого числа и используются для представления отсутствующих данных не­зависимо от типа этих данных.

4. Правило динамического каталога, основанного на реляционной модели. Описание базы данных на логическом уровне должно быть представлено в том же виде, что и основные данные, чтобы пользо­ватели, обладающие соответствующими правами, могли работать с ним с помощью того же реляционного языка, который они приме­няют для работы с основными данными.

5. Правило исчерпывающего подъязыка данных. Реляционная сис­тема может поддерживать различные языки и режимы взаимодейст­вия с пользователем (например режим вопросов и ответов). Однако должен существовать по крайней мере один язык, операторы кото­рого можно представить в виде строк символов в соответствии с не­которым четко определенным синтаксисом и который в полной мере поддерживает следующие элементы:

 

• определение данных;

• определение представлений;

• обработку данных (интерактивную и программную);

• условия целостности;

• идентификацию прав доступа;

• границы транзакций (начало, завершение и отмена).

 

6. Правило обновления представлений. Все представления, которые теоретически можно обновить, должны быть доступны для обновления.

7. Правило добавления, обновления и удаления. Возможность рабо­тать с отношением как с одним операндом должна существовать не

Первичный ключ — это столбец или некоторое подмножество столбцов, которые уникально, т. е. единственным образом опреде­ляют строки. Первичный ключ, который включает более одного столбца, называется множественным, или комбинированным, или составным. Правило целостности объектов утверждает, что первич­ный ключ не может быть полностью или частично пустым, т. е. иметь значение null.

Остальные ключи, которые можно также использовать в качест­ве первичных, называются потенциальными или альтернативными ключами.

Внешний ключ — это столбец или подмножество одной таблицы, который может служить в качестве первичного ключа для другой таблицы. Внешний ключ таблицы является ссылкой на первичный ключ другой таблицы. Правило ссылочной целостности гласит, что внешний ключ может быть либо пустым, либо соответствовать зна­чению первичного ключа, на который он ссылается. Внешние клю­чи являются неотъемлемой частью реляционной модели, поскольку реализуют связи между таблицами базы данных.

Внешний ключ, как и первичный ключ, тоже может представ­лять собой комбинацию столбцов. На практике внешний ключ все­гда будет составным (состоящим из нескольких столбцов), если он ссылается на составной первичный ключ в другой таблице. Очевид­но, что количество столбцов и их типы данных в первичном и внешнем ключах совпадают.

Если таблица связана с несколькими другими таблицами, она может иметь несколько внешних ключей.

Модель предъявляет к таблицам следующие требования:

1) данные в ячейках таблицы должны быть структурно недели­мыми24;

2)данные в одном столбце должны быть одного типа;

3)каждый столбец должен быть уникальным (недопустимо дуб­лирование столбцов);

4)столбцы размещаются в произвольном порядке;

только при чтении данных, но и при добавлении, обновлении и уда­лении данных.

8. Правило независимости физических данных. Прикладные про­граммы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при любых изменениях способов хранения данных или методов доступа к ним.

9. Правило независимости логических данных. Прикладные про­граммы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений, которые теоретически позволяют сохранить не­тронутыми содержащиеся в этих таблицах данные.

10. Правило независимости условий целостности. Должна существо­вать возможность определять условия целостности, специфические для конкретной реляционной базы данных, на подъязыке реляционной базы данных и хранить их в каталоге, а не в прикладной программе.

11. Правило независимости распространения. Реляционная СУБД не должна зависеть от потребностей конкретного клиента.

12. Правило единственности. Если в реляционной системе есть низкоуровневый язык (обрабатывающий одну запись за один раз), то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реля­ционном языке высокого уровня (обрабатывающем несколько запи­сей за один раз).

Правило два указывает на роль первичных ключей при поиске ин­формации в базе данных. Имя таблицы позволяет найти требуемую таблицу, имя столбца позволяет найти требуемый столбец, а первичный ключ позволяет найти строку, содержащую искомый элемент данных.

Правило три требует, чтобы отсутствующие данные можно было представить с помощью недействительных значений (NULL).

Правило четыре гласит, что реляционная база данных должна сама себя описывать. Другими словами, база данных должна содержать на­бор системных таблиц, описывающих структуру самой базы данных.

Правило пять требует, чтобы СУБД использовала язык реляци­онной базы данных, например SQL. Такой язык должен поддержи­вать все основные функции СУБД — создание базы данных, чтение и ввод данных, реализацию защиты базы данных и т. Д.

Правило шесть касается представлений, которые являются вир­туальными таблицами, позволяющими показывать различным поль­зователям различные фрагменты структуры базы данных. Это одно из правил, которые сложнее всего реализовать на практике.

Правило семь акцентирует внимание на том, что базы данных по своей природе ориентированы на множества. Оно требует, чтобы операции добавления, удаления и обновления можно было выпол­нять над множествами строк. Это правило предназначено для того, чтобы запретить реализации, в которых поддерживаются только операции над одной строкой.

Правила восемь и девять означают отделение пользователя и прикладной программы от низкоуровневой реализации базы дан­ных. Они утверждают, что конкретные способы реализации хране­ния или доступа, используемые в СУБД, и даже изменения структу­ры таблиц базы данных не должны влиять на возможность пользо­вателя работать с данными.

Правило 10 гласит, что язык базы данных должен поддерживать ограничительные условия, налагаемые на вводимые данные и дейст­вия, которые могут быть выполнены над данными.

Правило 11 гласит, что язык базы данных должен обеспечивать возможность работы с распределенными данными, расположенны­ми на других компьютерных системах..

И, наконец, правило 12 предотвращает использование других возможностей для работы с базой данных, помимо языка базы дан­ных, поскольку это может нарушить ее целостность.

<== предыдущая лекция | следующая лекция ==>
Информационная модель данных, ее состав (концептуальная, логическая и физическая модели) | Основы реляционной алгебры
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 737; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.