Реляциялық есептеу. Реляциялық есептеу, реляциялық алгебраға қарағанда, кестені бір сұраныстың көмегімен анықтайды. Реляциялық есептеуде сұраныс келесі түрде беріледі:
{мақсаттық тізім: анықтаушы өрнек}
Мақсаттық тізім реляциялық есептеудегі сұраныстың шешімі болып табылатын кестенің атрибуттарын (бағандарын) анықтайды.
Анықтаушы өрнек шешу кестесінің элементтері қанағаттандыруға тиіс болатын шарттарды береді. Фигуралы жақшалар шешу кестесіндегі жолдардың көптігін білдіреді. Еркін түрдегі жолды белгілеу үшін латын алфавитінің кіші әріптері қолданылады. Мысалы, «Орион» фирмасының сауда агенттерінің қайсысы Лондонда тұрады деген сұраныс келесі түрде беріледі:
{r.Summ, r.Sname:=r IN Salespeople AND r.City=”London”} Сұраныс нәтижесінде келесі кесте пайда болады.
Summ Sname 1001 Pal
1004 Smith
Бұл мысалда реляциялық есептеудің сұранысы реляциялық алгебраның келесі екі амалына – таңдау және проекцияны құруға теңбе-тең болады. A=select(Salespeople: City=London), B=A[Summ, Sname]
Тұтастай алғанда жоғарыда көрсетілген мысалдар тәрізді сұраныстарды, жалғау және бөлу амалдарынан басқа, реляциялық алгебраның амалдарымен орындауға болады. Реляциялық есептеуде қосу және бөлу амалдарына ұқсас келетін әрекеттерді орындау үшін сәйкесінше бар болу кванторы мен жалпыға бірдей кванторы қолданылады.
Реляциялық есептеуде болмыс кванторы дегеніміз – бұл берілген шартты қанағаттандыратын ең болмағанда бір жолдың болуын білдіретін өрнек. Егер де, мысалы, 1002 агентіне сұраныс жасаған клиенттерді атап шығу қажет етілсе, онда келесідегідей сұраныс жасау қажет:
{r.Cname:=r IN Customers AND EXISTS s IN Orders (s.Cnum=r.Cnum and s.Snum=1002)} Мұндай сұраныс реляциялық алгебраның қосу және проекцияны құру амалдары орындайтын әрекетті орындайды.
Sname Lewe
Grass
A=Join (Customers Orders: Customers.Cnum=Orders. Cnum and Orders.snum=1002) B=[Cname]
Реляциялық есептеудегі жалпыға бірдей кванторы – бұл белгілі типтегі әрбір жолда қолданылатын шартты білдіретін өрнек. Мысалы, әрбір клиенттен қай агент тапсырыс алды? Сұраныс келесі түрде болады.
{r.Snum, r.Sname: r IN Salespeople AND s IN Orders AND THERE EXISTS c IN Customers (r.Snum = s.Snum) AND (c.Cnum = s.Cnum)} Реляциялық есептеу – қалай қол жеткізуге болатынын емес, нені орындау қажет екендігін тұжырымдауға мүмкіндік беретін процедуралық емес тіл. Реляциялық есептеу, реляциялық алгебра сияқты теориялық тіл болып табылады және логикалық сипаттамаларға негізделген реляциялық мәліметтер қорының кестелерін, олардың физикалық құрылымына қатыссыз манипуляциялауға арналған. Реляциялық есептеу лексикалық тұрғыдан реляциялық алгебраға барабар, яғни ол реляциялық алгебра шешетін есепті шешуге мүмкіндік береді.