sqlschool.gr logo

articles

Articles of SQLschool.gr Team

Introduction to Relational Algebra pt1: Ορισμός και παρουσίαση βασικών πράξεων

Fivi Panopoulou - Sotiris Karras
Sunday 21 June 2015

 

Το 1970, ο E.F. Codd ενώ δούλευε στην IBM περιέγραψε για πρώτη φορά την σχεσιακή άλγεβρα, ένα μαθηματικό μοντέλο το οποίο θεμελιώνει το θεωρητικό υπόβαθρο των σχεσιακών βάσεων δεδομένων, περιγράφοντας τα δεδομένα που αποθηκεύονται σε αυτές, τις σχέσεις μεταξύ τους καθώς και την διατύπωση ερωτημάτων (queries) πάνω σε αυτά. 

H Σχεσιακή Άλγεβρα αποτελεί την βάση του σχεδιασμού γλωσσών ερωτημάτων (βλέπε T-SQL), και χρησιμοποιείται από το RDBMS για την μετατροπή των queries σε δεντρική μορφή και τελικά στο optimization αυτών (χρήση του algebrizer, αναπαράσταση execution plans).

Σε αυτή την σειρά άρθρων, θα δοθούν οι βασικές έννοιες της σχεσιακής άλγεβρας και θα παρουσιαστούν οι βασικές πράξεις που την συνθέτουν.

 

Εισαγωγή

Αρχικά, θα πρέπει να ορίσουμε την έννοια της άλγεβρας*. Στα μαθηματικά, μία άλγεβρα είναι ένα μαθηματικό σύστημα το οποίο αποτελείται από δύο συνιστώσες:

  1. Τελεστές (operators), σύμβολα τα οποία “περιγράφουν” διαδικασίες οι οποίες παράγουν νέες τιμές από δοσμένα ορίσματα και
  2. Ορίσματα

Στην σχεσιακή άλγεβρα, τα ορίσματα τα οποία δέχονται οι τελεστές ονομάζονται σχέσεις. Οι σχέσεις, είναι σύνολα από τούπλες με συγκεκριμένη μορφή (schema). Ας δούμε ένα παράδειγμα:

 

 

Ο πίνακας R1, παριστάνει μία σχέση (relation) στην σχεσιακή άλγεβρα. Αποτελείται από τα attributes (sid, bid, day) τα οποία προσδίδουν και το schema του relation και δυο tuples [22, 101, 10/10/96] και [58, 103, 11/12/94]. Αντιθέτως ο πίνακας D1, δεν παριστάνει relation λόγω της παρουσίας του duplicate tuple [22, 101, 10/10/96] (Υπενθύμιση: Τα relations είναι σύνολα από tuples, και τα μαθηματικά δεν επιτρέπουν την ύπαρξη duplicate στοιχείων σε ένα σύνολο).

*Σημείωση: Η σχεσιακή άλγεβρα, ανήκει σε ένα σύνολο αλγεβρών οι οποίες ονομάζονται κλειστές. κάθε τελεστής/πράξη με ορίσματα relations, παράγει με την σειρά του relation.

 

 

Βασικοί τελεστές συνολοθεωρίας

Ως προέκταση της συνολοθεωρίας, στην σχεσιακή άλγεβρα ορίζονται και οι βασικές πράξεις μεταξύ συνόλων:

 

  • Union (Ένωση, “”). Έστω relations R1, R2 με το ίδιο schema. Τότε, από την πράξη R1 R2  προκύπτει ένα relation R3 το οποίο περιέχει τα tuples που εμφανίζονται και στην R1 και στην R2.

 

 

Σημείωση: Αν ένα tuple εμφανίζεται και στην R1 και στην R2 περιέχεται μόνο μία φορά στην R3 μιας και το αποτέλεσμα τη ένωσης πρέπει να είναι relation.

 

  • Intersection (Τομή, “∩”). Έστω relations R1, R2 με το ίδιο schema. Τότε, από την πράξη R1  R2 προκύπτει ένα relation R3 το οποίο περιέχει τα κοινά tuples των R1 και R2.

 

 

 

  • Difference (Διαφορά, “-“). Έστω relations R1, R2 με το ίδιο schema. Τότε, από την πράξη R1 - R2 προκύπτει ένα relation R3 το οποίο περιέχει τα tuples της R1 τα οποία δεν εμφανίζονται στην R2.

 

Fivi Panopoulou

Fivi Panopoulou

Το 2007 ξεκίνησα τις σπουδές μου στη σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών στο Εθνικό Μετσόβιο Πολυτεχνείο.Κατά την διάρκεια των σπουδών μου εκεί αγάπησα τον προγραμματισμό και τα συστήματα πληροφορικής, καθώς επίσης απέκτησα το ιδιαίτερο ενδιαφέρον μου για τις βάσεις δεδομένων. Κατά την διάρκεια της διπλωματικής μου ασχολήθηκα με ζητήματα ανωνυμοποίησης δεδομένων και την ανάπτυξη σχετικού εργαλείου. Τα τελευταία χρόνια των σπουδών μου, μου δόθηκε η ευκαιρία να ασχοληθώ περισσότερο και να διευρύνω τους ορίζοντές μου ως Microsoft Student Partner και μέσω της κοινότητας Student Guru. Στα πλαίσια των κοινοτήτων αυτών, ξεκίνησα να ασχολούμαι με παρουσιάσεις αλλά και να γνωρίζω τον SQL Server. Από την πρώτη στιγμή που ασχολήθηκα μαζί του, συνειδητοποίησα πόσο ήθελα να εμβαθύνω τις γνώσεις μου σχετικά με αυτόν και τα συστήματα διαχείρισης βάσεων δεδομένων γενικότερα, πράγμα που προσπαθώ να κάνω έκτοτε. Πριν χρόνια είχα την τύχη να συμμετέχω στο πρόγραμμα mentoring, μέσω του οποίου γνώρισα τον κ. Χατζηπαυλή. Από τότε συμμετέχω στην ομάδα του SQLschool.gr.


Sotiris Karras

Sotiris Karras

Είμαι απόφοιτος της σχολής Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Εθνικού Μετσόβιου Πολυτεχνείου και στα ενδιαφέροντά μου συμπεριλαμβάνεται o τομέας του Knowledge and Data Engineering. Πιο συγκεκριμένα, έχω ασχοληθεί ακαδημαϊκά και ερευνητικά με τον τομέα του data privacy και data anonymity, ενώ πάθος μου είναι ό,τι έχει να κάνει με relational databases και data management. Στο παρελθόν, έχω συνεργαστεί με την Microsoft Hellas ως Microsoft Student Partner για ακαδημαϊκές δραστηριότητες και ήμουν μέρος του MVP mentoring προγράμματός της, στο οποίο είχα την τύχη να γνωρίσω τον κ. Χατζηπαυλή.

Tip

What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.