Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Реляционные базы данных. Исходя из обсуждений и объяснений этой главы, можно дать более формальное определение (более формальное





Исходя из обсуждений и объяснений этой главы, можно дать более формальное определение (более формальное, чем данное выше в этой главе) термина "реляционная база данных". Перефразировав определение, данное Коддом в [4.1], Получим следующее:

Реляционная база данных — это база данных, воспринимаемая пользователем как набор нормализованных отношений (т.е. переменных отношений) разной степени.

Как отмечалось ранее, выражение "воспринимаемая пользователем" является решающим: идея реляционной модели применяется к внешнему и концептуальному уровням системы, а не к внутреннему уровню. Можно сказать и иначе — реляционная модель представляет систему баз данных на уровне абстракции, несколько удаленном от подробностей лежащей в основе этой системы машины; так же как, например, язык Pascal представляет систему программирования на уровне абстракции, несколько удаленном от подробностей лежащей в основе этой системы машины. В действительности реляционную модель можно рассматривать как язык программирования, специально, ориентированный на приложения баз данных.

Различие между доменами и (именованными) отношениями также можно несколько уточнить. Мы называем именованные отношения переменными, так как их значения изменяются со временем. Как указывалось выше в этой главе, домены не являются переменными в этом смысле. Например, множество всех возможных номеров поставщиков, конечно, не изменяется со временем, или если изменяется, то изменение носит описательный характер, т.е. происходит на уровне типа, а не экземпляра. Это немного похоже на изменение основного типа данных для номера поставщиков с CHAR(5) на CHAR(7). Обратите внимание, что такое изменение, возможно, повлечет за собой реорганизацию базы данных.

Итак, можно сказать, что в традиционных терминах отношение соответствует файлу (логическому, а не физическому), кортеж — записи (экземпляру, а не типу), атрибут полю (типу, а не экземпляру). Однако это соответствие в лучшем случае приблизительное. Отношение следует рассматривать не как "просто файл", а как файл, подчиняющийся определенным правилам, это отражается в значительном упрощении структуры объектов данных, с которой сталкивается пользователь, и, как следствие, в упрощении операторов, необходимых для работы с этими объектами. Если говорить точнее, все данные в реляционной системе представляются одним и только одним способом, а именно явными значениями (это свойство иногда называют "основным принципом реляционной модели", а также "информационным принципом"). В частности, этими явными значениями представляются логические связи в отношении и между отношениями; не существует видимых для пользователя указателей на файлы или записи, не существует видимого для пользователя порядка записей, не существует видимых для пользователя групп повторения и т.д.


 

[6][1] Если рассматривать отношения как таблицы, то мы могли бы сказать, что, например, переменная отношения S в разное время представляет разные таблицы. Однако заметьте, что в этих разных таблицах будут разные строки, а столбцы будут одинаковые.

[7][2] Для читателей, знакомых с языком SQL, отметим, что в SQL существует возможность добавлять новый столбец или удалять существующий столбец из базовой таблицы посредством оператора ALTER TABLE. Однако эту операцию лучше рассматривать не как изменение существующей таблицы, а как уничтожение существующей таблицы и создание новой с тем же именем и новым заголовком.

[8][3]Точнее, всегда существует по крайней мере один потенциальный ключ. Мы предполагаем, что один из потенциальных ключей выбран как первичный. Дальнейшее обсуждение этого вопроса приведено в главе 5.

[9][4]Понятие "последовательности" требуется для интерфейса между реляционной базой данных и базовым языком, таким как С или COBOL. Но это требование для базовых языков, а не для реляционной модели. В сущности, эти языки требуют, чтобы неупорядоченные множества были преобразованы в упорядоченные таким образом, чтобы могли выполняться операции типа "вызвать следующий кортеж". Заметьте также, что такие возможности составляют часть прикладного программного интерфейса—они не видны конечному пользователю.

[10][5]Здесь мы используем очевидное сокращение, согласно которому выражение (S1,Smith,20,London) соответствует кортежу {<S#:'S1'>, <SNAME:'Smith'>, <STATUS:20>, <CITY: 'London'>}.

 

 

Целостность реляционных данных (стр. 113-130)

 

Глава 5

Целостность

реляционных данных:







Date: 2016-05-25; view: 519; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию