Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Реляційна модель Кодда. Реляційна алгебра
12 правил Кодда. Ці правила є напів-офіційним визначенням поняття реляційна база даних: · правило 0: Основное правило (Foundation Rule): Реляционная СУБД должна быть способна полностью управлять базой данных, используя связи между данными.: · правило 1: Явное представление данных. Информация должна быть представлена в виде данных, хранящихся в ячейках. Данные, хранящиеся в ячейках, должны быть атомарны. Порядок строк в реляционной таблице не должен влиять на смысл данных. · правило 2: Гарантированный доступ к данным. Доступ к данным должен быть свободен от двусмысленности. К каждому элементу данных должен быть гарантирован доступ с помощью комбинации имени таблицы, первичного ключа строки и имени столбца. · правило 3: Полная обработка неизвестных значений: Неизвестные значения NULL, отличные от любого известного значения, должны поддерживаться для всех типов данных при выполнении любых операций. · правило 4: Доступ к словарю данных в терминах реляционной модели. Словарь данных должен сохраняться в форме реляционных таблиц, и СУБД должна поддерживать доступ к нему при помощи стандартных языковых средств. · правило 5: Полнота подмножества языка: Система управления реляционными базами данных должна поддерживать хотя бы один реляционный язык, который o (а) имеет линейный синтаксис, o (б) может использоваться как интерактивно, так и в прикладных программах, o (в) поддерживает операции определения данных, определения представлений, манипулирования данными (интерактивные и программные), ограничители целостности, управления доступом и операции управления транзакциями (begin, commit и rollback). · правило 6: Возможность модификации представлений: Каждое представление должно поддерживать операции манипулирования данными: операции выборки, вставки, модификации и удаления данных. · правило 7: Наличие высокоуровневых операций управления данными. Операции вставки, модификации и удаления данных должны поддерживаться не только по отношению к одной строке реляционной таблицы, но по отношению к любому множеству строк. · правило 8: Физическая независимость данных: Приложения не должны зависеть от способов хранения данных, аппаратного обеспечения компьютеров, на которых находится реляционная база данных. · правило 9: Логическая независимость данных: Представление данных в приложении не должно зависеть от структуры реляционных таблиц. · правило 10: Независимость контроля целостности: Вся информация, необходимая для поддержания целостности, должна находиться в словаре данных. Язык для работы с данными должен выполнять проверку входных данных и автоматически поддерживать целостность данных. · правило 11: Дистрибутивная независимость: База данных может быть распределённой, может находиться на нескольких компьютерах, и это не должно оказывать влияние на приложения.. · правило 12: Согласование языковых уровней: Если используется низкоуровневый язык доступа к данным, он не должен игнорировать правила безопасности и правила целостности, которые поддерживаются языком более высокого уровня. Теоретичні основи реляційної моделі баз даних були закладені Е.Коддом на початку 70-х років Введемо поняття реляції. Нехай V – основний алфавіт, тобто деяка скінченна множина. w - деякий виділений елемент; w Ï V. Позначимо через D1¢, D2¢, … Dn¢ Í V*; де V* - множина всіх слів в алфавіті V. Домени визначаються як Di = Di¢ È {w}; Множину імен атрибутів позначимо W. І введемо однозначне, але не обов’язково ін’єктивне відображення N: W ® {D1, D2, … Dn}, яке іменує домени. Кожен домен може мати кілька імен, позначимо Wі = N-1(Dі) – множину всіх імен домена Dі. Очевидно, що ці множини мають такі властивості: Wі Ç Wj = Æ; È(i=1¸ n) Wі = W; Атрибутом називається (А,Dі) – де А Î Wі , Нехай Â Í (Аі1,D1)Ä(Аі2,D2)Ä…Ä(Аік,Dк) – відношення над декартовим добутком атрибутів. Введемо над множиною так визначених відношень розбиття на класи еквівалентності: до одного класу віднесемо ті відношення, які відрізняються тільки порядком компонент у декартовому добутку. Представник такого класу називається реляцією R((Аі1,D1),(Аі2,D2),…,(Аік,Dк)). Схемою реляції R(А1,А2,…,Ак) називають відповідну реляційну таблицю без даних. Через aR будемо позначати множину імен атрибутів реляції R. Реляційна алгебра – алгебра в строгому розумінні. Елементи основної множини – реляції. Сигнатура складається з 8-ми операцій. Теоретико-множинні операції Ç,È,\ – частково визначені (визначені тільки для сумісних реляцій з однаковою структурою). Реляції R1(A1, …, An) і R2(B1, …, Bk) називаються сумісними, якщо у них однакова кількість атрибутів; та кожному атрибуту першої реляції можна поставити у взаємно однозначну відповідність атрибут другої реляції. Об’єднання. R1ÈR2: в результуючу реляцію попадають всі кортежі першої і другої реляції без дублів. Перетин. R1ÇR2: в результуючу реляцію попадають кортежі, присутні і в першій, і в другій реляції. Різниця. R1\R2: в результуючу реляцію попадають кортежі з R1, яких немає в R2. Декартів добуток. R1ÄR2 – визначається для будь-яких реляцій. R1ÄR2 = {(r1, …, rk, rk+1, …, rk+n) | (r1, …, rk) Î R1, (rk+1, …, rk+n) Î R2}. Ця операція може різко збільшити об’єм результату. Проекція. Реляція S(B1, …, Bn) узгоджена з R(A1, …, Ak), якщо $ f: aS ® aR, N(f(Bi)) = N(Ai), i = 1 ¸ n. Відображення f однозначне, але, взагалі кажучи, не взаємно однозначне. Проекцією реляції R на схему S відносно узгодження f будемо називати реляцію T = R[S] таку, що: T = {(r[Ai1], r[Ai2], …, r[Ain])} та T = R[Ai1, Ai2, …, Ain,] Операція q - з’єднання (q - join). Введемо поняття q - порівнюваності для кортежів. На двох реляціях R(A1, …, Ak) і S(B1, …, Bn) візьмемо відповідно два підкортежі: r1 = (d1, d2, …, dm), r2 = (d1|, d2|, …, dm|); Нехай q = {=, ¹, <, £, >, ³, …}; Два кортежі r1 і r2 q - порівнювані: r1q r2 Û di q di|, i = 1,m; (m £ k, m £ n); Нехай в реляції R виділений список атрибутів M1 = {A1, …, Am}, а в реляції S список атрибутів M2 = {B1, …, Bm}, причому відповідні атрибути співпадають по доменам, тобто N(Ai) = N(Bi), i = 1,m; Операція q - з’єднання реляції R з реляцією S по спискам M1 і M2 : R[M1 q M2]S = {t Î R Ä S | t[M1] q t[M2]}. Date: 2015-09-24; view: 475; Нарушение авторских прав |