ПредишенСледващото

Както отбелязахме в предишната глава, в компонента манипулация на модела на релационни данни, определена от два основни механизми на манипулиране на релационни данни - въз основа на теория на множествата и релационна алгебра въз основа на математическата логика (или по-скоро, в първия ред предикат смятане) релационни смятане. На свой ред. по принцип има два вида релационна смятане - смятане кортежи и домейн смятане.

Всички тези механизми имат една важна особеност: те са затворени в рамките на концепцията за връзка. Това означава, че експресията на релационна алгебра и релационна смятане формула определени за връзката на релационна база данни и в резултат на тяхната "компютри" е връзката (разбира се, това се отнася до ценности, нагласи). В резултат на това всеки израз, или формула може да се тълкува като отношение, което ви позволява да ги използвате в други изрази и формули.

Както ще видим, алгебра и смятане имат голяма изразителна сила: много сложни заявки база данни могат да бъдат изразени с една израз на релационна алгебра и релационно смятане формула едно. Именно поради тази причина, че са включени такива договорености в модела на релационни данни. Особено релационна база данни манипулация език се нарича релационна-пълно. Ако всяко искане формулирани с помощта на един или релационни алгебра изрази аудио формула релационна смятане. Тя може да бъде формулиран с помощта на оператор на езика.

Известен (и няма да се окаже), че механизмите на релационна алгебра и релационна смятане са еквивалентни, т.е.. Е., За всички допустими изразяване на релационна алгебра може да се изгради еквивалент (т. Е. Производство същия резултат) формула релационна смятане и обратно. Защо, по модела на релационни данни съдържа и двете от тези механизми?

Фактът, че те се различават по степента на процесуална. Релационни алгебра изрази са базирани на алгебрични операции (високо ниво), и точно както го тълкува аритметични и логически изрази на. израз на релационна алгебра като процесуална тълкуване. С други думи, на запитването. представени на езика на релационна алгебра. Тя може да бъде изчислена въз основа на изпълнението на елементарни алгебрични операции, основани на техния приоритет и евентуалното наличие на скоби. За недвусмислено тълкуване формула релационна смятане компютър. Най-общо казано, не. Формулата определя само условията, на които трябва да отговарят кортежи, произтичащи взаимоотношения. Ето защо, релационни езици смятане са до голяма степен не са процедурни и декларативни.

Тъй като механизмите на релационна алгебра и релационно смятане са еквивалентни, в определена ситуация да се тества степента на relationality на база данни на език, можете да използвате някой от тези механизми.

Имайте предвид, че много рядко алгебра или смятане се приема като пълно основите на база данни на език. Обикновено (например в случай на SQL език) език се основава на смес от алгебрични и логически структури. Независимо от това, познаване на алгебрични и логически основи на езици за бази данни често се използват в практиката.

За да спестите време и пространство, ние няма да се въведе някакъв строг синтаксис, но най-вече се ограничим до материала в семантично ниво.

Преглед на релационна алгебра Codd на

Основната идея на релационна алгебра е, че толкова дълго, колкото отношенията са набори, манипулиране на отношенията може да се основава на традиционните поставените теорията операции, допълнени от някои специални операции, характерни за релационна база данни.

Има много подходи към определянето на релационна алгебра. които се различават по групи от операции и начини да ги тълкуват, но по принцип са по-малко или еквивалент. В този раздел ще опишем малко усъвършенствана версия на първоначалния алгебра. който беше предложен от Codd (ние го наричаме "алгебра Codd си"). В това изпълнение, набор от основни алгебрични операции се състои от осем операции, които са разделени в два класа - настройка теоретични операции и специални релационна операции. Структурата на поставените теорията операции включват операции:

  • синдикалните отношения;
  • пресечни отношения;
  • като от разликата в отношенията;
  • вземане на декартово произведение на отношенията.

Специални релационни операции включват:

  • ограничаване на отношенията;
  • проекция връзка;
  • Свържете отношения;
  • отношения дивизия.

Също така, включени в операцията по прехвърляне алгебра. Позволява ви да запишете в базата данни за резултатите от изчисление на алгебрични изрази, и атрибути операцията по преименуване. което позволява правилно да се образува глава (схема) на получените отношения.

Общото тълкуване на релационни операции

Ако не отиде в някои от тънкостите, които ще разгледаме в следващите раздели, а след това в продължение на почти всички операции, които сме предложи набор има ясна и проста интерпретация.

  • Когато операцията за комбиниране (съюз) на две отношения се провежда с коефициент на същите позиции, включително всички кортежи, че включва най-малко една от връзките операнда.
  • Пресечната точка (INTERSECT) две отношения със същата нагласа прави заглавия, включва всички кортежи, които са включени в отношенията между две операнди.
  • Съотношение, което е разликата (минус) две връзки със същите позиции, обхваща всички кортежи включени в съотношението на първия операнд, така че нито едно от тях не е включена в съотношение, което е втория операнд.
  • Когато декартови продукт (пъти) двете съотношения, заглавията на пресечните които празно се прави съотношение кортежи чиито кортежи са направени чрез комбиниране на първата и втората операнди.
  • В резултат на ограничение (къде) отношения в дадено условие е съотношението, включително отношенията -operanda кортежи, които отговарят на това условие.
  • Когато се прави издатък (проект) съотношението на предварително определено подмножество на множеството от атрибутите на неговото съотношение, което кортежи са подходящи подгрупи -operanda кортежи на връзката.
  • Когато съединението (УЧАСТВА В) две отношения на определено състояние се образува в резултат съотношение, кортежи чиито кортежи са направени чрез комбиниране на първата и втората съотношения и отговарят на това състояние.
  • В релационна операция деление (разделете на) два операнда - бинарните и едноместно отношения. Получената връзката се състои от единично кортежи включително първия атрибут стойност на първия операнд кортежи, така че зададените стойности на втория атрибут (за фиксирана стойност на първия атрибут) включва множество от стойности на втория операнд.
  • преименуване на работа (ПРЕИМЕНУВАНЕ) произвежда съотношение, което съвпада с тялото на тялото опериран, но имената на атрибутите се променят.
  • задача Operation (: =) ви позволява да запишете в резултат от изчисляването изразът на зависимостта по отношение на съществуващата база данни.

В резултат на всички релационна операции (с изключение на операция на задача., Който не произвежда стойности) е определено съотношение, релационния израз може да се образува, в която вместо релационна операция съотношение операнд е вградена релационния израз. При изграждането на релационни израз всички релационни оператори могат да участват. с изключение на прехвърляне. Компютърна интерпретация на релационния израз е продиктувано от приоритетите, определени операции:

ПРЕИМЕНУВАНЕ> = където = ПРОЕКТ> = времена = JOIN = INTERSECT = разделят с> = ЮНИОН = минус

В друга форма на приоритетите на операциите, показани на Фиг. 3.1. Оценяване на израза от ляво на дясно с приоритетите на операциите и скоби.


Фиг. 3.1. приоритети Таблица традиционните операции релационна алгебра

Закриване на релационна алгебра и преименуване на работа

Както е отбелязано в предишната глава, всяка стойност съотношение се характеризира от заглавието (или верига) и тялото (или множество кортежи). Ето защо, ако наистина имаме нужда, алгебра. операции, които са затворени в отношенията концепция, всяка операция трябва да произвеждат съотношението в истинския смисъл, т.е.. е. той трябва да притежава в тяло и глава. Само в този случай ще бъде възможно да се изгради вложени изрази.

Заглавие отношения е набор от двойки <имя-атрибута, имя-домена>. Ако се вгледате в преглед на релационни оператори, посочени в предишния раздел, ние виждаме, че домейните на атрибутите на получената връзката еднозначно определят домейн операнд отношения. Въпреки това, в резултат на имената на атрибутите винаги не са толкова прости.

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

Подобни проблеми могат да се появят и в други случаи два място операции. За да решите проблемите в броя на релационни операции алгебра се вписват операция преименуване. Той следва да се прилага в случаите, когато се поражда конфликт атрибут именуване в отношенията-операнд една релационна работа. Тогава един от операндите е приложен за първи операция преименуване. и след това основната операция е вече без никакви проблеми. По-строго дефинираме операцията по преименуване в следващата глава, но за сега само имайте предвид, че в резултат на тази операция е отношението да съвпада с около съотношението на операнд, с изключение на тази на посоченото име на атрибут е променен на посоченото име.

По-нататък ние ще приемем, използването на преименуването на работа във всички конфликтни ситуации.

В този случай, нали?

(УЧАСТВА СТРОИТЕЛСТВО ПЕРСОНАЛ КЪДЕТО (SLU_IMYA = PROEKT_RUK И PRO_ZARP> 18000.00)) проекта (SLU_IMYA, SLU_NOM)

извършване на еднакво присъединят отношения със служителите и на проекта за състоянието SLU_IMYA = PROEKT_RUK;

намалявайки съотношение получен чрез състояние PRO_ZARP> 18000.00;
проект е резултат от предишната операция от атрибута SLU_IMYA, SLU_NOM

Може би тук, така че ще бъде правилно въз основа на предишните лекции в този курс.
Изпълняват Равно-присъединят отношения със служителите и проекти
намалявайки съотношение получен от (SLU_IMYA = PROEKT_RUK) И (PRO_ZARP> 18000.00)
проект е резултат от предишната операция от атрибута SLU_IMYA, SLU_NOM

Когато в резултат на операция проекта SLUZHASCHIE_V_PROEKTE_1 пъти в окончателния Талица има данни за SLUZHASCHIE_V_PROEKTE_2 на взаимоотношения.

Подкрепете проекта - споделете линка, благодаря!