Rachunek relacyjny - Relational calculus
Relacyjny rachunek składa się z dwóch kamieni, na krotki relacyjnym rachunku i domeny relacyjnym rachunku , które są częścią modelu relacyjnego baz danych i zapewniają deklaratywny sposób określić zapytań do bazy danych.
Rachunek relacyjny jest podobny do algebry relacyjnej , która jest również częścią modelu relacyjnego: podczas gdy rachunek relacyjny jest rozumiany jako język deklaratywny, który nie nakazuje kolejności wykonywania podwyrażeń wyrażenia rachunku relacyjnego, algebra relacyjna jest rozumiana jako język imperatywny: podwyrażenia relacyjnych wyrażeń algebraicznych mają być wykonywane od lewej do prawej i od wewnątrz po ich zagnieżdżeniu.
Relacyjnej algebry ekspresja może przepisać następujące kroki, aby pobrać numery telefonów i nazwiska Księgarnie, które dostarczają kilka przykładowych Book :
- Dołącz do księgarń i tytułów przez BookstoreID.
- Ogranicz wynik tego sprzężenia do krotek dla książki Some Sample Book .
- Wyświetl wynik tego ograniczenia na StoreName i StorePhone.
Wyrażenie rachunku relacyjnego sformułowałoby to zapytanie w następujący opisowy lub deklaratywny sposób:
- Pobierz StoreName i StorePhone dla księgarni, tak że istnieje tytuł BK z tą samą wartością BookstoreID iz wartością BookTitle Some Sample Book .
Algebra relacyjna i rachunek relacyjny są logicznie równoważne : dla każdego wyrażenia algebraicznego istnieje równoważne wyrażenie w rachunku różniczkowym i vice versa. Wynik ten znany jest jako twierdzenie Codda .
Racją bytu rachunku relacyjnego jest sformalizowanie optymalizacji zapytań . Optymalizacja zapytań polega na określeniu na podstawie zapytania najbardziej efektywnego sposobu (lub sposobów) jego wykonania. Optymalizacja zapytań może być sformalizowana jako tłumaczenie wyrażenia rachunku relacyjnego dostarczającego odpowiedź A na wydajne relacyjne wyrażenia algebraiczne dostarczające tę samą odpowiedź A.
Zobacz też
Bibliografia
- Data, Christopher J. (2004). Wprowadzenie do systemów baz danych (wyd. 8). Addisona Wesleya. Numer ISBN 0-321-19784-4.