Реляційна модель даних та SQL
Що таке реляційна модель, її характеристики та компоненти. Найбільш важливі терміни для опису структури даних, поняття домену, схеми відношень. Особливості реляційної схеми БД як сукупності схем відношень. Базові змінні-відношення і представлення.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | украинский |
Дата добавления | 20.06.2010 |
Размер файла | 26,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Реляційна модель даних та SQL
Найбільш поширена трактовка реляційної моделі даних належить Дейту. Згідно ньому реляційна модель характеризується трьома частинами, що описують різні аспекти реляційного підходу: Єдиною структурою даних, що використовується в реляційних БД; механізмами маніпулювання даними та цілісністю сутностей та посилань.
Реліційна модель складається з пяти компонентів:
1. Необмежений набір скалярних типів (включаючи, зокрема, логічний тип або значення істини);
2. Генератор типів відношень і відповідна інтерпретація для таких генерованих типів відношень.
3. Можливість визначення змінних відношень для таких генерованих типів відношень.
4. Операція реляційного присвоєння для присвоєння реляційних значень таким змінним відношенням;
5. Необмежений набір реляційних операторів для одержання значень відношень з інших значень відношень.
Найбільш важливі терміни для опису структури даних наведені на рис, що представляє відношення постачальників, розширене таким чином, щоб було видно використовувані типи даних і домени.
Основними термінами тут є: відношення, домен, атрибут, кортеж, первинний ключ, кардинальність, ступінь.
Д
о
м
е
н
и
S#: S# |
SNAME:NAME |
STATUS: STATUS |
CITY:CITY |
|
S1 |
Smith |
20 |
London |
|
S2 |
Jones |
10 |
Paris |
|
S3 |
Blake |
30 |
Paris |
|
S4 |
Clare |
20 |
London |
|
S5 |
Adams |
30 |
Athens |
Атрибути
Формальний реляційний термін |
Неформальний еквівалент |
|
Відношення |
Таблиця |
|
Кортеж |
Рядок або запис |
|
Кардинальність |
Кількість рядків |
|
Атрибут |
Стовпчик або поле |
|
Степень |
К-ть стовпчиків |
|
Первинний ключ |
Унікальний ідентифікатор |
|
Домен |
Сукупність допустимих значень |
За допомогою засобів мови SQL визначемо базу даних постачальників та деталей. Для кожної базової таблиці визначення міститиме один оператор CREATE TABLE імя базової таблиці (список елементів таблиці);. Під елементом таблиці розуміють найчастіше визначення стовпчика, яке має наступний вигляд:
<імя стовпчика>< тип/імя домена>[<значення за замовчуванням>]
Поняття типу даних в реляційній моделі даних повністю адекватно поняттю типа даних у мовах програмування. Кожне значення даних обовязково повинно мати свій тип. Кожен тип даних може бути або скалярним або не скалярним. Не скалярними є всі типи, явно визначені таким чином, що у них є компоненти, видимі для користувача. Зокрема, не скалярними типами є типи відношень. Наприклад, наведене відношення складається з видимих компонентів. Скалярні типи, навпаки таких видимих типів не мають. До них відносяться: Звичайно в сучасних реляційних БД допускається збереження символьних, числових даних, бітових рідків, спеціалізованих числових даних (таких як "гроші"), а також спеціальних "темпоральних" (тимчасових) даних (дата, час, інтервал часу). У мові запитів SQL користувачам не дозволяється визначення власних типів. Підтримуються лиш вбудовані типи, визначені системою, зокрема:
CHARACTER (n) INTEGER DATE
BIT (n) SMALLINT TIME
NUMERIC(p, q) FLOAT TIMESTAMP
DECIMAL(p,q) MONEY INTERVAL
В мові SQL необхідно вказувати довжину і точність для деяких типів. Очевидно, що мова SQL розглядає ці специфікатори як частину певного типу (мається на увазі, що CHAR(4) і CHAR(5) задають різні типи). Проте краще їх (довжину і точність) розглядати як обмеження цілісності.
CREATE TABLE S // suppliers
(S# CHAR(5),
SNAME CHAR(20),
STATUS NUMERIC(5),
CITY CHAR(15),
PRIMARY KEY (S#));
CREATE TABLE P //parts
( P# CHAR(6),
PNAME CHAR(20),
COLOR CHAR(6),
Weight numeric(5,1),
CITY CHAR(15),
PRIMARY KEY (P#));
CREATE TABLE SP //supplies of the parts
(S# char(5),
P# char(6),
QTY NUMERIC(9),
PRUMARY KEY(S#, P#),
FOREIGN KEY (S#) REFERENCES S,
FOREiGN KEY (P#) REFERENCES P);
4.1.2 Домен
Поняття домена більш специфічне для баз даних, хоча і має деякі аналогії з підтипами в деяких мовах програмування. Це дещо відмінне від типу даних, що визначаються системою, подібно наведеним. Основне призначення доменів у мові SQL - дозволити надавати (присвоїти) вбудованим типам скорочених імен, які можна було б використовувати для спрощеного запису визначення деяких стовпців у базових таблицях, наприклад таким чином:
CREATE DOMAIN S# CHAR(5);
CREATE DOMAIN P# CHAR(6):
CREATE TABLE S (S# S#,…);
CREATE TABLE P (P# P#,…);
CREATE TABLE SP (S# S#, P# P#,…);
Отже, що таке тип даних. Перш за все - це множина можливих значень даного типу. Наприклад, тип INTEGER - це множина всіх цілих чисел, тип S# - це множина номерів усіх постачальників тощо. Говорячи про будь-який тип, також не слід забувати про допустимі оператори, які можуть коректно застосовуватись до змінних того чи іншого типу. Іншими словами, значеннями заданого типу можна маніпулювати лише за допомогою операторів. Визначених для цього типу. Для цілого типу - це арифметичні оператори та оператори порівняння. Багато систем дозволяє визначати власні типи (SQL - лише власні типи доменів). Тоді, як для типу S# теж можна застосовувати операції порівняння, з іншого боку для даного типу швидше за все не знадобляться арифметичні операції. Це означає, що їх виконання над номерами постачальників виконуватися не буде. Найбільш правильною інтуїтивною трактовкою поняття домена є розуміння домена як допустимої потенційної множини значень даного типу.
· Домени мови SQL - це просто синтаксичні скорочення, вони не мають ніякого відношення до типу даних, визначеного користувачем.
· Значення доменів не можуть бути довільної складності. Складність значень доменів обмежується складністю вбудованих типів.
· Кожен домен повинен визначатися у термінах лише одного з існуючих вбудованих типів.
· У мові SQL немає строгого контролю типів і виконувана перевірка правильності типів є незначною. Якщо взяти в якості прикладу визначені вище типи S# і P#, то їх значення є порівнюваними.
· Мова SQL не підтримує можливості визначення користувачем операцій, що можуть застосовуватися до даного домену. Допустимими є лише вбудовані оператори, що застосовуються до відповідних представлень цього типу.
Кортеж, відношення
Як зазначалося на минулій лекції слід у теорії БД розрізняють такі поняття як відношення і змінні-відношення (тобто змінні, значеннями яких є відношення).
Нехай задано множина з n типів або доменів Ті (і=1, 2,...n), причому всі вони необовязково повинні бути різними. Тоді r буде відношенням, визначеним з цих типів, якщо воно складається з двох частин: заголовку і тіла, де:
а) заголовок - це множина з n атрибутів Аі:Ті, де Аі - імена атрибутів (які повинні відрізнятися одне від одного) відношення r, а Ті - відповідні імена типів (і=1, 2, … n). Список імен атрибутів (заголовок відношення) називається схемою відношення.
б) тіло - множина з m кортежів t; Кортежі є елементами відношення. Кортеж - це множина пар {ім'я атрибуту, значення}, яка містить одне входження кожного імені атрибуту, що належить схемі відношень. "Значення" є допустимим значенням домену даного атрибута (або типу даних, якщо поняття домену не підтримується). Тому, тут t - множина компонентів виду Аі:і, в яких і - значення типу Ті, тобто значення атрибуту для атрибуту Аі в кортежі t (i=1, 2,…n).
Значення m та n називають відповідно кардинальністю та степенем(арністю). У подальшому відношення степені 1 називатимемо унарним, 2 - бінарним, 3 - тернарним, n- n-арним. Тим самим, степень або "арність" кортежу, тобто число елементів у ньому, співпадає з "арністю" відповідної схеми відношень. Простіше кажучи, кортеж - це набір іменованих значень одного типу (рядок у відношенні). Набір кортежі складає тіло відношення.
Оскільки відношення є множинами кортежів, в них не повинні зустрічатися однакові кортежі і порядок кортежів у відношенні є несуттєвим.
Схема відношення, схема бази даних
Схема відношення - це іменована множина пар ім'я атрибута, ім'я домену (або типу, якщо поняття домену не підтримується). Ступінь, або "арність" схеми відношення - потужність цієї множини. Ступінь відношення Постачальники рівна чотирьом, тобто воно є 4-арним. Якщо всі атрибути одного відношення визначені на різних доменах, доцільно використовувати для іменування атрибутів імена відповідних доменів (пам'ятаючи при цьому, що це є лише зручним засобом іменування і не усуває різниці між поняттями домену і атрибута).
Схема БД (в структурному розумінні) - це набір іменованих схем відношень.
Насправді, поняття схеми відношень дуже наближене до поняття структурного типу даних у мові програмування. Було б цілком логічним дозволити окремо визначати схему відношення, а після цього - одне або декілька відношень з даною схемою. Проте в реляційних базах даних це не практикується. Імя схеми відношень у таких базах даних завжди співпадає з іменем відповідного відношення-екземпляра. У класичних реляційних базах даних після визначення схеми бази даних змінюються лише відношення-екземпляри. В них можуть зявлятися нові і видалятися або змінюватися існуючі кортежі. проте в багатьох реалізаціях допускається і зміна схеми бази даних: визначення нових і зміна існуючих схем відношень. Звичайним життєвим представленням відношення є таблиця, заголовком якої є схема відношення, а рядками - кортежі відношення-екземпляру; в цьому випадку імена атрибутів іменують стовпчики цієї таблиці. Реляційна база даних -це набір відношень, імена яких співпадають з іменами схем відношень у схемі БД.
Сукупність схем відношень називається схемою (реляційною) БД, а поточні значення відповідних відношень - (реляційною) БД. Дані з діаграми обєктів-звязків представляються двома видами відношень:
Набір обєктів може бути представлений відношенням, що містить усі атрибути даного набору обєктів. Якщо обєкти набору ідентифікуються за допомогою звязку з іншим обєктом, тоді схема відношення містить додаткові атрибути ключа другого набору.
Звязок між наборами обєктів E1,E2,...,Ek представляється відношенням, схема якого складається з атрибутів ключів кожного з цих наборів.
Найбільш характерною з різних точок зору є реляційна МД, оскільки вона має можливість гнучкої зміни і розвитку схем, а також логічну ясність представлення даних. У зв'язку з цим реляційна МД використовується для побудови логічних схем на основі КС. Реляційна модель у тій самій формі (n-арнарних відношень) дозволяє описувати як об'єкти, так і зв'язки між ними. Крім того, для реляційних МД добре відпрацьований апарат маніпулювання даними (реляційна алгебра). В зв'язку з цим сучасні СКБД є системами управління базами даних реляційного типу.
Значення кортежу t на атрибуті А називають t (А) або, іншими словами, А - значення кортежу t .
Серед атрибутів схеми відношення можна вибрати таку підмножину атрибутів К R, що для будь-якого ti (K) буде виконуватися ti (K) tj (K), при ij.
Якщо К - мінімальна підмножина атрибутів з R , то К - ключ відношення.
Відношення може мати не єдиний ключ. Ці ключі називають можливими ключами.
Множина ключів, обраних з усіх можливих ключів і певним визначеним способом перерахованих, називають виділеними ключами.
Один з виділених ключів відношення обирають в якості первинного.
Реляційна система базується на формальних основах, або теорії, яка називається реляційною моделлю даних. Для такої системи виконуються як мінімум три умови:
Структурний аспект. Дані в базі сприймаються користувачами у вигляді таблиць (і лише таблиць);
Аспект цілісності. Ці таблиці задовольняють певним умовам цілісності (це ми розглянемо на цій лекції трохи згодом);
Аспект обробки. У розпорядженні користувача є оператори маніпулювання даними (наприклад, вибірки інформації), які генерують нові таблиці на основі вже наявних і серед цих операторів є принаймні оператори вибірки (select), проекції (project) і обєднання (join).
На рис. Наведено простий приклад реляційної бази даних відділів (таблиця DEPT) і службовців (таблиця EMP).
DEPT
DEPT# |
DNAME |
BUDGET |
|
D1 |
Marketing |
10M |
|
D2 |
Development |
12M |
|
D3 |
Research |
5M |
EMP
EMP# |
ENAME |
DEPT# |
SALARY |
|
E1 |
Lopez |
D1 |
40K |
|
E2 |
Cheng |
D2 |
42K |
|
E3 |
Finizi |
D2 |
30K |
|
E4 |
Satio |
D2 |
35K |
Операція вибірки SELECT передбачена для вибірки певних рядків та стовпців
SELECT DEPT#, DNAME, BUDGET
FROM DEPT
WHERE BUDGET>8M
DEPT# |
DNAME |
BUDGET |
|
D1 |
Marketing |
10M |
|
D2 |
Development |
12M |
PROJECT DEPT#, BUDGET
FROM DEPT
DEPT# |
BUDGET |
|
D1 |
10M |
|
D2 |
12M |
|
D3 |
5M |
Join DEPT AND EMP
DEPT# |
DNAME |
BUDGET |
EMP# |
ENAME |
SALARY |
|
D1 |
Marketing |
10M |
E1 |
Lopez |
40K |
|
D1 |
Marketing |
10M |
E2 |
Cheng |
42K |
|
D2 |
Development |
12M |
E3 |
Finizi |
30K |
|
D2 |
Developement |
12M |
E4 |
Satio |
35K |
Очевидно, результат кожної з 3-х представлених операцій - це ще одна таблиця (іншими словами, ці оператори - такі що породжують таблиці). Це є реляційною властивістю замкненості. Вона має велике значення і, головним чином, через те, що результатом виконання операції є обєкт того ж роду, що ї обєкт, над яким виконується операція, а саме - таблиця. Це, крім того, означає, що над результатом операції можна виконувати знову деякі операції (вибрати стовпці). Іншими словами, можна використовувати вкладені вирази, тобто вирази, в яких операнди представлені виразами, а не просто іменами таблиць.
По-перше, коли ми говоримо, що результатом виконання є таблиця, ми маємо на увазі, що це таблиця з концептуальної точки зору. Таблиці в реляційних системах є логічними, а не фізичними структурами. Насправді на фізичному рівні система може використовувати будь-яку з існуючих структур памяті (послідовний файл, індексування, ланцюг вказівників), лишень би була можливість зображати ці структури у вигляді таблиць на логічному рівні. Дане положення є абстракцією способу фізичного збереження даних, в якій багато деталей на рівні памяті (розміщення збережених записів, послідовність збереження, кодування записів) сховано від користувача.
В даному випадку термін „логічна структура” відноситься як до концептуального так і до зовнішнього рівнів. Справа в тому, що в реляційній системі обидва ці рівні є однаково реляційними, і лише фізичний не є таким. Насправді реляційна теорія взагалі нічого не може сказати про фізичний рівень вона визначає те, як база даних представлена користувачеві.
По-друге, у реляційної бази даних є чудова властивість, яку називають інформаційним принципом: весь інформаційний вміст бази представляється виключно одним єдиним способом, а саме - явним завданням значень, розміщених в позиціях стовпців у рядках таблиці. Цей метод представляється єдино можливим для реляційних баз даних (на логічному рівні). Зокрема, немає ніяких вказівників, які повязують одну таблицю з іншою.
На цьому ми закінчуємо огляд аспекту структури і обробки даних, і переходимо до аспекту цілісності. Ще раз скористаємося нашою базою даних. На практиці для неї потрібно було б визначити декілька обмежень підтримки цілісності бази. Наприклад, зарплата службовця не повинна виходити за рамки 25-95 тисяч за рік, а бюджет відділу повинен, наприклад, лежати в межах 1-15 млн тощо.
Деякі з таких правил цілісності мають таке важливе значення, що навіть одержали спеціальне значення.
1. кожен рядок в таблиці ВІДДІЛИ повинен містити унікальне значення стовпчика ВІДД№; аналогічно кожен рідок в таблиці РОБІТН повинен містити унікальне значення РОБІТН№. Кажуть, що зазначені стовпці є первинними ключами для своїх таблиць
2. кожне значення стовпчика ВІДД№ в таблиці РОБІТНИКИ повинне існувати як значення стовпчика ВІДДІЛ№ таблиці ВІДДІЛИ для відображення того факту, що кожен робітник повинен відноситися до конкретного існуючого ( описаного в таблиці) відділу. Кажуть, що стовпчик ВІДД№ в таблиці РОБІТНИКИ є зовнішнім ключем, який посилається на первинний ключ таблиці ВІДДІЛИ.
Отже, наведемо приблизне визначення реляційної моделі. Вона складається з пяти компонентів:
6. Необмежний набір скалярних типів (включаючи, зокрема, логічний тип);
7. Генератор типів відношень і відповідна інтерпретація для таких генерованих типів.
8. Можливість визначення змінних відношень для таких генерованих типів відношень.
9. Операція реляційного присвоєння для присвоєння реляційних значень таким змінним відношенням;
10. Необмежений набір реляційних операторів для одержання значень відношень з інших значень відношень.
Як бачимо, реляційна модель - це дещо більше ніж просто таблиця плюс вибірка, проекція та зєднання.
Якщо припустити, що реляційна база даних - це просто база даних, в якій дані зберігаються у вигляді таблиць, тоді виникає питання, чому ми називаємо таку базу реляційною, а не табличною? Відповідь проста (вона вже колись звучала) - relation (відношення) це математична назва таблиці. Наприклад, можна сказати, що база даних робітників і відділів містить два відношення.
У даний час у неформальному контексті терміни відношення та таблиця вважаються синонімами. На практиці термін таблиця використовується частіше, ніж термін відношення. Треба обговорити, чому саме термін відношення поставлений на перше місце.
§ Як зазначалося, реляційні системи основані на реляційній моделі. Реляційна модель, в свою чергу - абстрактна теорія даних, основана на деяких положеннях математики (теорії множин та логіки предикатів).
§ Принципи реляційної моделі були закладені 1969 та 1970 роках Коддом, який в той час був дослідником, що працював у корпорації ІВМ. Кодд, математик за освітою, вперше дійшов висновку, що математичні дисципліни можна використовувати для впровадження в область управління базами даних строгих принципів та точності.
§ З того часу ці ідеї стали загальновизнаними і створили значний вплив на технологію баз даних, а також інші галузі, такі як штучний інтелект, обробка природних мов тощо.
В реляційній моделі, яку сформулював Кодд, навмисно застосовувалися певні терміни. Наприклад, сам термін „відношення” практично не використовувався в той час інформаційних технологій. Насправді, терміни того часу не вирізнялися визначеністю і були нечіткими. Наприклад, запис (екземпляр запису або тип запису, логічний чи фізичний запис, той, що зберігається чи віртуальний?). Тому у формальній реляційній моделі термін „запис” взагалі не використовується - замість нього застосовують термін „кортеж” (tuple) - приблизне поняття рядка (так само як термін відношення приблизно відповідає слову таблиця).
Знову звернемося до бази даних відділів та робітників. Зауважимо, що таблиці ВІДДІЛИ та РОБІТНИКИ є фактично змінними відношень, тобто їх значення (дані, що зберігаються) - це значення відношень. Припустимо, наприклад, що таблиця РОБІТНИКИ в даний момент має значення (значення відношень), таке-то. І далі ми хочемо видалити з неї рядок про співробітника Satio (його номер Е4).
Delete
From EMP
Where EMP#='E4'; Одержуємо:
EMP# |
ENAME |
DEPT# |
SALARY |
|
E1 |
Lopez |
D1 |
40K |
|
E2 |
Cheng |
D2 |
42K |
|
E3 |
Finizi |
D2 |
30K |
Концептуально це можна прокоментувати наступним чином: старе значення відношення РОБІТНИКИ було замінено на зовсім інше, нове значення відношення. Попереднє значення складалося з 4-х рядків, а нове з 3-х. Насправді дана операція видалення рядка - це просто інший, спрощений спосіб запису для певної операції реляційного присвоювання, яка могла б виглядати приблизно так:
EMP:= EMP MINUS (EMP where EMP#='E4');
Як і при будь-якому обчисленні, тут з концептуальної точки зору спочатку обраховується вираз, розташований праворуч від позначки присвоювання, а потім результат присвоюється змінній, яка записана перед знаком присвоювання (за визначенням, перед знаком присвоювання може стояти лише змінна). Змінна-відношення (relval).
Зміст відношень
Відношення повязані з типами даних, а реляційна модель, як зазначалося, містить необмежений набір типів даних. Крім того, користувач може визначати свої власні типи. Наприклад, визначати типи можна наступним чином (на мові Tutorial D):
Type EMP#....; - множина можливих номерів відділів
Type NAME…; - всі можливі імена
Type DEPT#...;
Type Money …;
Кожне відношення, вірніше кожне значення відношення, складається з двох частин: набору пар „імя_стовпчика: імя_типу” (заголовок) і набору рядків, узгоджених з цим заголовком (тіло).
На практиці частина заголовку імя-тип опускаються.
Спосіб представлення змісту відношень:
- по-перше, дане відношення r і заголовок відношення r є певним предикатом або логічною функцію;
- по-друге, кожен рядок у тілі відношення r є істинним висловом, одержаним з предикату шляхом підстановки певних значень аргументів відповідного типу замість місцезнаходжень або параметрів цього предикату
Наприклад, для таблиці РОБІТНИКИ предикат буде наступним:
Робітник з номером ЕМР#, на прізвище ENAME працює у відділі з номером DEPT# і одержує зарплатуSALARY.
Тут параметрами є ЕМР#, ENAME, DEPT# і SALARY, яким відповідають чотири стовпчики змінної-відношення РОБІТНИКИ. Ось приклад відповідного істинного твердження:
Робітник з номерно Е1 на прізвище Лопе працює у відділі з номером Д1 і одержує зарплатню 40 тис на рік.
Інакше кажучи:
Типи - це обєкти (множини обєктів), які можна обговорювати;
Відношення - це факти (множини фактів), відносно обєктів, які можна обговорювати.
Типи повязані з відношеннями так само як іменники повязані з реченнями. Необхідні як типи так і відношення, бо без перших ми не будемо мати що сказати, а без других не будемо знати як.
Базові змінні-відношення і представлення
Як ми вже бачили, на основі реляційних значень, присвоєних деякій множині змінних-відношень, подібних до ВІДДІЛИ та РОБІТНИКИ, реляційні вирази дозволяють одержувати безліч інших реляційних значень, наприклад в результаті зєднання двох змінних-відношень. Вихідні (задані) змінні-відношення називають базовими змінними-відношеннями (реальні), а присвоєнні їм значення - базовими відношеннями. Відношення, яке одержане з базового відношення в результаті виконання деяких реляційних виразів, називається похідним відношенням.
Реляційні системи надають засоби для створення, в першу чергу базових змінних-відношень. На мові SQL, наприклад, ця фнкція забезпечується оператором CREATE TABLE EMP…;
Проте, реляційні системи звичайно підтримують ще один вид іменованих змінних-відношень, які називають представленнями. У будь-який момент часу їх значення є похідним відношенням. Значення даного представлення є результатом обчислення певного реляційного виразу, який задається у момент створення цього представлення. Наприклад
CREATE VIEW TOEMP AS
(EMP WHERE SALARY> 33K) {emp, ename, salary};
Коли оператор виконується, вираз, що стоїть за ключовим словом AS і фактично визначає представлення, не обчислюється, а просто запамятовується системою. Проте зовні все виглядає так начеб то у базі даних зявилася реальна змінна-відношення, значення якої розміщені у незатемнених ділянках
EMP# |
ENAME |
DEPT# |
SALARY |
|
E1 |
Lopez |
D1 |
40K |
|
E2 |
Cheng |
D2 |
42K |
|
E3 |
Finizi |
D2 |
30K |
|
E4 |
Satio |
D2 |
35K |
Як вже зазначалося, такі змінні-відношення як ЕМР та ДЕР можна вважати реальними, тоді як змінна-відношення ТОЕМР слід розуміти як віртуальну змінну-відношення. Інакше кажучи, вона зовні існує, але насправді її немає (значення цієї змінної-відношення у будь-який момент часу залежить від значень деяких інших змінних-відношень.) вираз, що визначає представлення не обраховується насправді, а представлення - це просто вікно, через яке ми можемо бачити потрібні нам значення базової змінної-відношення ЕМР. Звідси випливає, що будь-які зміні у базовій змінній призводитимуть до змін у незатемненій частині представлення. Аналогічно, зміни у змінну-відношення ТОЕМР будуть автоматично внесені до реальної змінної-відношення ЕМР і, отже, спостерігатимуться через вікно.
З концептуальної точки зору операції з представленнями фактично реалізуються через заміну посилання на імя представлення, виразом,який визначає представлення (тобто виразом, збереженим у каталозі). Тому можна стверджувати, що базові змінні-відношення існують незалежно, а представлення - ні, оскільки залежать від базових змінних-відношень.
(TOEMP WHERE SALARY< 42K) {EMP#, SALARY} ==
((EMP WHERE SALARY>33K) {EMP#, ENAME, SALARY}
WHERE SALARY< 42K) {EMP#, SALARY};
Подобные документы
Методи використання традиційних файлових систем - набору програм, які виконують для користувачів деякі операції, наприклад, створення звітів. Системи керування баз даних. Основні поняття реляційної моделі даних. Реляційна алгебра і реляційне числення.
реферат [40,2 K], добавлен 13.06.2010Аналіз відомих підходів до проектування баз даних. Ієрархічна, мережева та реляційна моделі представлення даних, їх особливості. Концептуальне проектування: приклад документів, побудова ER-діаграми, модель "сутність-зв'язок". Побудова фізичної моделі.
курсовая работа [541,5 K], добавлен 29.01.2013Поняття бази даних та основне призначення системи управління. Access як справжня реляційна модель баз даних. Можливості DDE і OLE. Модулі: Visual Basic for Applications програмування баз даних. Система управління базами даних Microsoft SQL Server 2000.
реферат [41,2 K], добавлен 17.04.2010Вивчення механізмів і принципів проектування реляційних баз даних на основі математичної теорії відношень. Ознайомлення з блок-схемою функціональних залежностей між атрибутами універсального відношення. Визначення детермінантів і ключів відношення.
лабораторная работа [37,3 K], добавлен 03.11.2022Реляційна модель баз даних. Цілісність бази даних. Нормалізація, нормальні форми та функціональні залежності. Нормальна форма Бойса-Кодда. Запити та форми Access. Процес нормалізації при побудові бази даних "Музей" та система запитів над даними.
курсовая работа [2,9 M], добавлен 06.11.2013Методологія застосування можливостей середовища MySQL для роботи з базами даних. Реляційна основа та інтерактивні запити. Динамічне визначення даних. Вигляд таблиць після заповнення. Встановлення зв’язків, проектування схеми. Створення запитів та форм.
курсовая работа [2,0 M], добавлен 10.04.2015Проектування бази даних: визначення об’єктів, структура таблиць, побудова схеми даних, забезпечення цілісності даних, створення певних відношень між таблицями, створення запитів, побудова форм, оформлення об’єктів. Розробка інструкції користувача.
курсовая работа [1,9 M], добавлен 19.09.2014Аналіз відомих підходів до проектування баз даних. Моделі "сутність-зв'язок". Ієрархічна, мережева та реляційна моделі представлення даних. Організація обмежень посилальної цілісності. Нормалізація відносин. Властивості колонок таблиць фізичної моделі.
курсовая работа [417,6 K], добавлен 01.02.2013Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".
курсовая работа [4,0 M], добавлен 02.12.2014Особливості побудови та роботи з об’єктно-реляційною моделлю даних в інструментальній системі управління базами даних PostgreSQL. Розробка бази даних факультету, що має у підпорядкуванні кілька кафедр. Тестування роботи спроектованої бази даних.
курсовая работа [1,8 M], добавлен 09.05.2014