Релационни езици

Релационните езици са езици за описание и обработка на данни в релационните бази дани. Наричат се още езици на данни а поради това че често са вградени в други езици се наричат и подезици на данни.

Релационните езици се делят на две основни категории езици на релационната алгебра и езици на релационното смятане. Езиците на релационната алгебра са процедурни езици, които позволяват стъпка по стъпка да се опише изчислителен процес, водещ до релацията – отговор.

Езиците на релационното смятане, наричани още предикатни езици, позволяват да се запише общият вид на релация – отговор, без да се определят отделните операции и тяхната последователност.

Такива са езиците Alpha и QBE, QBE (Query By Example) е език, който се използва най-често в графичната среда. Той предлага на потребителя графичен инструментариум за моделиране на заявка чрез попълване на шаблони, които съответстват на таблиците включени в базата данни.

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

Релационни структури

Релациите са такива структури от данни, които са променливи по съдържание и във всеки момент представят текущото състояние на класа от обекти.

Същественото в случая е, че те запазват структурата си през цялото време от съществуването си. Структурата на всяка релация или както се казва още типът на релацията се задава с нейната релационна схема.

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

Едно от важните свойства на релационния модел е, че всяка
релация има първичен ключ. Ако R е с атрибути А1,А2…,Аn то ключ на релацията R се нарича подмножеството от атрибути К=(Ai,Aj..Ak) което отговаря на условията:

1. Уникалност. в произволен момент от времето не съществуват два кортежа     на релацията , които имат едно и също значение за Аi, Aj ,…, Ak.

2. Минималност. Нито един от атрибутите Ai, Aj,…, Ak не може да бъде изключен без да се наруши уникалността.

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

Съществуват две правила за цялост на релационния модел на данните:

1. Цялост по същности. Не се допуска който и да е атрибут, участващ в първичния ключ на дадена базова релация, да приема неопределено значение.

2. Цялост на връзките. Ако релацията R2 включва външен ключ FK, съответстващ на първичния ключ РК на друга релация на R1, то всяко значение на FK в R2 трябва или да бъде равно на значението на РК в някои кортежи на P1 или да е напълно неопределено, т.е. всяко значение на атрибута, участващ в това значение на FK да бъде неопределено (в този случай атрибутът FK не може да влиза в състава на първичния ключ на R2 ).

Целостта на базата данни предполага изпълнението и на други ограничения:

Стойностите на даден атрибут на релацията да се намират в определен  интервал, т.е. да принадлежат на точно определено множество от стойности:

Даден атрибут , който не е ключ да не може да приема неопределени (нулеви) стойности.

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

Степен на релация – касае броя на обектите участващи в релацията

Възможностите са:

Един обект – такъв тип се нарича рекурсивна. Това става възможно, защото в една и съща релация един обект може да участва в повече от една роля;

Два обекта – наричат се бинарни и са най-често срещания тип;

Три или повече обекта – наричат се n-арни (n-ary).

Конективност или кардиналност – отнася се до изображението на

екземплярите на обекта А в екземплярите на обекта В. Има 3 възможности:

Едно към едно – за всяко А има не повече от едно В;

Едно към много – за всяко А има нула или повече от едно В,

но за всяко В има само едно А. Това е най-често срещания тип.

Много към много – за всяко А има нула или повече от едно В

и за всяко В има нула или повече от едно А.

Релационна алгебра

Общи сведения

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

За реализацията на конкретна релационна система за управление на база данни СУБД не се използват в чист вид нито релационна алгебра, нито релационни изчисления. Фактически стандартния достъп до релационни данни става посредством езика SQL (Structured Query Language). Езикът SQL представлява смес от оператори на релационна алгебра и изражение на релационни изчисления, използващи синтаксис, близък до фрази от английския език и разширени допълнителни възможности, отстъпващи в релационната алгебра и релационните изчисления. Език за достъп до данни се нарича релационно пълен, ако той по нищо не отстъпва на релационната алгебра (или на релационните изчисления), т.е. който и да е оператор на релационната алгебра ще може да бъде изразен посредством този език. Именно такъв се явява езикът SQL.

Основи на релационната алгебра

Релационната алгебра представлява набор от оператори, използващи отношения (релации) като аргументи, и резултатни релации като резултат. По този начин , релационния оператор f изглежда като функция с аргументи:

R=f(R1,R2,….,Rn)

Релационната алгебра се явява затворена, т.к. като аргументи в релационните оператори може да се подставят други, подходящи по тип, релационни оператори:

R= f(f1R11,R12,….),f2(R21,R22,….),…

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

Релационни оператори

Д-р Код, определя осем релационни оператора, обединени в две групи.

1. Теоретикомножествени оператори:

-  Обединение

-  Сечение

-  Изваждане

-  Декартово произведение

2. Специални релационни оператори:

-  Избор

-  Проекция

-  Съединение

-  Деление

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

Произволни статии

  • Визуализация на Microsoft Word документ
    За да видите точно как ще изглежда документът ви след като го отпечатате, можете да използвате „Визуализация за печат”. Прозорецът „Визуализация за печат” показва точно как ще се отпечатат редовете върху страницата и къде ще започва нова страница. Ако оформлението не ви хареса, можете да го коригира...
  • Държавни органи за външни отношения
    За осъществяване на своята външна политика всяка държава има специализиран апарат със система от органи за външни отношения. Чрез своите органи за външни отношения държавата установява и поддържа връзка с другите субекти на международното право. Държавните органи за външни отношения, били те физичес...
  • Delphi и Програмен език Object Pascal
    Преди създаването на Delphi, Borland вече бяха въвели някои подобрения в езика Pascal и всъщност бяха разработили Object Pascal. Съотнесен към стандартният език Pascal, Object Pascal е това което е С++ спрямо стандартният език С. Object Pascal добави класове към стандартният език и по този начин го ...
  • Граничните понятия при функционалната декомпозиция на корпорацията
    Разбирането на същността, структурата, целите и мотивите на корпоративното ръководство е невъзможно без уточнение на базисните гранични понятия, като корпорация, корпоративни субекти, корпоративна собственост, корпоративни принципи и пр. Това се налага поради многообразието в тълкуването на тези тер...
  • Полиморфизъм в MS Visual C++
    Първи вид: Полиморфизъм по отношение на структурата/формата/ “чист полиморфизъм” представлява способността на обекти (представители на различни типове) да отговарят на едни и същи съобщения позволява обекти с различна структура/поведение да се управляват по единен начин (могат да реагират...
  • Защо ни е нужен уеб дизайн на сайт?
    Изработването на дизана на уеб сайт е услуга, която се ползва с широка популярност. Колкото повече нараства броя на хората, които оценяват достойно всички преимущества на професионалния подход към интернет-проектите, толкова по-високо е търсенето на уеб дизайн, създаден от истински професионалисти. ...
  • Фактори на обкръжаващата среда – неконтролирани и контролирани от маркетинга
    Развитието на маркетинговите дейност в организацията се определя от ролята на марке­тинга, която ръководството му отрежда, неговото място и функции в общата й дейност. Значението на маркетинга е налице, когато той е равнопоставен с другите дейности, има самостоятелен ръководител и ресурси, с коит...