Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 7: RM I. Relational Data Model. (Chapter , Elmasri-Navathe 5ED)

Σχετικά έγγραφα
Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων (Databases)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

Βάσεις Δεδομένων (Databases)

Εισαγωγή στις Βάσεις Δεδομζνων II

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Εισαγωγή. Σχεδιασµός µιας Β

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Lecture 21: Functional Dependencies and Normalization

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Lecture 8: RM I + RA I

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Σχεδιασμός μιας Β : Βήματα

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

Lecture 21: Functional Dependencies and Normalization

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Μοντέλο Οντοτήτων-Συσχετίσεων

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Κεφάλαιο 3 Σχεσιακό Μοντέλο

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Μοντέλο Οντοτήτων-Συσχετίσεων

#5. Σχεσιακό Μοντέλο

Σχεδίαση Σχεσιακών ΒΔ

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

Lecture 23: Functional Dependencies and Normalization

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης

Lecture 14: SQL DML I

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων Εισαγωγή

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Μοντέλο Οντοτήτων-Συσχετίσεων

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης. Το µοντέλο Οντοτήτων Συσχετίσεων Το Σχεσιακό Μοντέλο εδοµένων

Lecture 24: Functional Dependencies and Normalization IV

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases)

Lecture 12: SQL DDL I

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων

Αρχεία και Βάσεις Δεδομένων

Θεωρία Κανονικοποίησης

Διδάσκων: Παναγιώτης Ανδρέου

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model)

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΗΥ 360 Αρχεία και Βάσεις Δεδομένων

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αρχεία και Βάσεις Δεδομένων

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #8

Σχεσιακό Μοντέλο Δεδομένων

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Μοντέλο Οντοτήτων-Συσχετίσεων

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στη Σχεσιακή Άλγεβρα

Βάσεις Δεδομένων (Databases)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

Επισκόπηση Μαθήµατος

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Βάσεις Δεδομένων Ενότητα 4

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1

Lecture 16: SQL DML III

Μοντέλο Οντοτήτων-Συσχετίσεων

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ

Transcript:

Department of Computer Science University of Cyprus EPL342 Databases Lecture 7: RM I Relational Data Model (Chapter 5.1-5.2, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 7-1

Περιεχόµενο ιάλεξης Ολοκλήρωση ιάλεξης 4 Κεφάλαιο 5: Το Σχεσιακό Μοντέλο εδοµένων Εισαγωγή στο Σχεσιακό Μοντέλο Ορισµοί: Σχέση,Γνώρισµα, Κλειδί, Σχήµα Σχέσης, Πεδίο Ορισµού, Πλειάδα, Κατάσταση Σχέσης, Πληθυκός Αριθµός Σχέσης, Παραδείγµατα ΧαρακτηριστικάΣχεσιακού Μοντέλου: ιάταξη Πλειάδων, ιάταξη Γνωρισµάτων, Τιµές & Κενές Τιµές Επόµενη ιάλεξη Περιορισµοί Σχεσιακού Μοντέλου και Σχήµατα Πράξεις Ενηµερώσεων και Αντιµετώπιση Παραβιάσεων των Περιορισµών 7-2

Εισαγωγή στο Σχεσιακό Μοντέλο Μέχρι τώρα είδαµε Μοντέλο Οντοτήτων-Συσχετίσεων (ER Model),το οποίο χρησιµοποιείται για την εννοιολογική αναπαράσταση δεδοµένων µε χρήση αφηρηµένων εννοιών όπως Οντότητες, Γνωρίσµατακαι Συσχετίσεις Παρόλο που ένα τέτοιο µοντέλο αναπαριστάται διαγραµµατικάκαι γίνεται εύκολα αντιληπτόαπό τους σχεδιαστές και πελάτες, δεν είναι ακόµη προφανές πως γίνεται «αντιληπτό» από ένα υπολογιστικό σύστηµα. Σε αυτή την ενότητα θα δούµε πως το Σχεσιακό Μοντέλο (Relational Model), το οποίο κάνει χρήση του µαθηµατικού υποβάθρου των Σχέσεων για να απαντήσει το πιο πάνω ερώτηµα. 7-3

Εισαγωγή στο Σχεσιακό Μοντέλο Το Σχεσιακό Μοντέλο ορίζεται το 1970 από τον Βρετανό ερευνητή Edgar F. Coddστο IBM Research "A Relational Model of Data for Large Shared Data Banks". Codd, E.F.(1970), Communications of the ACM 13(6):377-387 Σε αυτό το µοντέλο, τα δεδοµένα αναπαριστώνται σε πίνακεςπάνω στους οποίους ορίζονται διάφοροι περιορισµοί. (Θα οριστεί αυστηρότερα στη συνέχεια) To µοντέλο προκάλεσε µια επανάσταση*στο χώρο των βάσεων δεδοµένων λόγω της απλότηταςκαι του µαθηµατικού του υπόβαθρου 1969: Το Σχεσιακό Μοντέλο υλοποιείται από τη βάση IBM System R 1970: H IBM δηµιουργεί την SEQUEL (προποµπό της SQL) 1981: O Coddπαίρνει το Turing Award στη πληροφορική 1985: HΙΒΜκάνει την SQLΠατέντα (US Pat. 4,506,326). Σήµερα: To Σχεσιακό Μοντέλο υλοποιείται από τις περισσότερες σύγχρονες βάσεις δεδοµένων (Oracle, IBM DB2, SQL Server, PostgreSQL, MySQL, κτλ). * Μέχρι τότε τα EPL342: επικρατέστερα Databases µοντέλα - Demetris ήταν το ικτυακό Zeinalipour (Network) (University και το Ιεραρχικό of Cyprus) (Hierarchical) 7-4

Εισαγωγή στο Σχεσιακό Μοντέλο Στόχος του Σχεσιακού Μοντέλου: Να προσφέρει µια δηλωτική (declarative) µέθοδο για τον ορισµό δεδοµένωνκαι επερωτήσεων Πάνω στο σχεσιακό µοντέλο στηρίζεται σήµερα η Σχεσιακή Άλγεβρα (Relational Algebra) (και κατ επέκταση η SQL) Εάν και υπάρχουν κάποιες λεπτές διαφορές µεταξύ του Σχεσιακού Μοντέλου και του πως αναπαριστάτα δεδοµένα µια βάση δεδοµένων. Σε επόµενες διαλέξεις θα καλύψουµε εκτενώς τόσο την σχεσιακή άλγεβρα όσο και την SQL 7-5

Σχεσιακό Μοντέλο: Άτυποι Ορισµοί Στο Σχεσιακό Μοντέλο (Relational Model) κάνει χρήση της µαθηµατικής έννοιας της Σχέσης (Relation) Τυπικά, µια Σχέση r είναι ένα σύνολο πλειάδων (tuples) r={t 1,t 2, t Μ }, όπου κάθε πλειάδα είναι µια διατεταγµένη λίστα τιµών t=<v 1,v 2,,v Ν >. Συνεπώς, µια σχέση είναι ουσιαστικά ένας πίνακας ΜxΝ (Μγραµµών και N στηλών)! Κάθε γραµµή αναπαριστά συγκεκριµένα γεγονότα τα οποία αναφέρονται σε κάποια οντότητα (entity)ή συσχέτιση (relationship) του πραγµατικού κόσµου. Κάθε γραµµή row ονοµάζεται και πλειάδα (tuple) ή εγγραφή (record) Κάθε στήλη (column) ονοµάζεται καιχαρακτηριστικό (characteristic) ή γνώρισµα (attribute) Η επικεφαλίδα κάθε στήλης προσδιορίζει το νόηµα της εν λόγω στήλης 7-6

Σχεσιακό Μοντέλο: Παράδειγµα Επικεφαλίδα Όνοµα Σχέσης Γνωρίσµατα Εγγραφές Τυπικά, η επικεφαλίδα ΕΝ είναι µέρος της σχέσηςαλλά περιλαµβάνεται στις Μέτα-πληροφορίες της. Που αποθηκεύονται οι τέτοιες Μέτα-πληροφορίες σε µε σχεσιακή βάση δεδοµένων; 7-7

Σχεσιακό Μοντέλο: Άτυποι Ορισµοί Κλειδί (Key) µιας Σχέσης:Η ανάθεση τιµήςενόςή περισσοτέρωνγνωρισµάτων τα οποία προσδιορίζουν µοναδικά την γραµµή στον πίνακα. Ο ορισµός είναι αντίστοιχος µε αυτόν που δώσαµε στο πλαίσιο του ER οπού ορίσαµε ως το Κλειδί µιας Οντότητας (Key) το πεδίο(α) που αναγνωρίζουν µοναδικά µια Οντότητα Στο Σχεσιακό Μοντέλο µια σχέσηείναι είτε µια Οντότηταή µια Συσχέτιση του ER Μοντέλου Στο παράδειγµα του πίνακα STUDENT, το SSN είναι προφανώς το κλειδί. Κάποτε η θέση της γραµµής (row-id)ή σειριακοί αριθµοί χρησιµοποιούνται ως κλειδιά Ονοµάζονται Τεχνητά Κλειδιά (Artificial keys) ή Υποκατάστατα Κλειδιά (surrogate keys) 7-8

Ορισµοί Σχεσιακού Μοντέλου (Σχήµα Σχέσης) To Σχήµα (Schema) ή περιγραφή µιας Σχέσης: Θα αναφέρεται ως R(A 1, A 2,...A n ) Rείναι το όνοµατης σχέσης Τα γνωρίσµατατης σχέσης είναι τα A 1, A 2,..., A n Παράδειγµα: CUSTOMER (Cust-id, Cust-name, Address, Phone#) CUSTOMER δηλώνει το όνοµα της σχέσης Η σχέση ορίζεται από τα γνωρίσµατα: Cust-id, Cust-name, Address, Phone# Κάθε γνώρισµα ορίζεται στο πεδίο ορισµού (domain) π.χ., το domain του Cust-id είναι 6 ψηφία (ακολουθεί ορισµός) Ο βαθµός (degree ή arity) µιας σχέσης είναι το πλήθος n των γνωρισµάτων του σχήµατος. 7-9

Ορισµοί Σχεσιακού Μοντέλου (n-άδα ή Πλειάδα) Μια πλειάδα (tuple)είναι ένα διατεταγµένο*σύνολο τιµών v 1, v 2,, v n το οποίο εµπερικλείεται στον ακόλουθο συµβολισµό < > Κάθε τιµή v j (1 j n)της πλειάδας ορίζεταιστο αντίστοιχο πεδίο ορισµού του συγκεκριµένου γνωρίσµατος Α j (1 j n)ή είναι κενό. * εάν και θα χαλαρώσουµε αυτό τον περιορισµό αργότερα Παράδειγµα: CUSTOMER (Cust-id, Cust-name, Address, Phone#) Μια γραµµή της σχέσης CUSTOMER είναι µια 4-άδα η οποία αποτελείται από 4 τιµές, για παράδειγµα: <632895, "John Smith", "101 Main St. Atlanta, GA 30332", "(404) 894-2000"> Μια σχέση είναι ένα σύνολο (set) τέτοιων πλειάδων. 7-10

Ορισµοί Σχεσιακού Μοντέλου (Πεδίο Ορισµού) Το Πεδίο Ορισµού (Domain dom(ai)) είναι το σύνολο των δυνατών ατοµικώντιµών ενός γνωρίσµατος (δηλ., δεν κάνει νόηµα να διασπαστούν οι τιµές περαιτέρω), π.χ., Int -2 31 (-2,147,483,648) µέχρι 2 31-1 (2,147,483,647) Τηλεφωνικοί Αριθµοί Πελατών To σύνολο όλων των έγκυρων αριθµών τηλεφώνων. Το Πεδίου Ορισµού έχει ένα Λογικό Ορισµό (εξήγηση): Π.χ.,: nicosia_phone_numbers : το σύνολο των αριθµών που είναι έξι ψηφία και ξεκινούν µε 22. Επιπλέον, έχει Όνοµα, Τύπο και Μορφοποίηση: Τύπος εδοµένων nicosia_phone_numbers : Συµβολοσειρά 22-892700 Μορφοποίηση nicosia_phone_numbers : Οι αριθµοί πρέπει να έχουν την µορφή 22-dddddd, όπου d είναι ένα δεκαδικό ψηφίο. Τέλος,ίσως να απαιτείται και επιπλέον πληροφορία (π.χ., µονάδα µέτρησης σε ένα πεδίο persons_weight: kg, g) 7-11

Ορισµοί Σχεσιακού Μοντέλου (Κατάσταση Σχέσης) Η Κατάσταση ή Στιγµιότυπο Σχέσης (Relation State r(r))είναι ένα υποσύνολο (ακόµη και κενό)του Καρτεσιανού Γινοµένου των πεδίων ορισµού των γνωρισµάτων Συνεπώς, το r(r) είναι ένα σύνολο πλειάδων (tuples) r={t 1,t 2, t Μ }, όπου κάθε πλειάδα είναι µια διατεταγµένη ακολουθία τιµών t=<v 1,v 2,,v Ν >. Κάθε τιµή v j είναι ένα στοιχείο του dom(a j ) ή NULL Το r(r) ονοµάζεται συχνά καιέκταση σχέσης (relation extension) και το σχήµα R µιας σχέσης ως πρόθεση σχέσης (relation intension) Πληθυκός Αριθµός Σχέσης (Cardinality) ( r(r) ): Ο αριθµός των πλειάδων µιας σχέση. δηλ., ο αριθµός γραµµών του πίνακα της σχέσης Παράδειγµα: Επόµενη διαφάνεια 7-12

Ορισµοί Σχεσιακού Μοντέλου (Σύνοψη) Στιγµιότυπο r(student) Όνοµα Σχέσης Γνωρίσµατα Πλειάδες r(student) Βαθµός (Degree) = R = 7 (γνωρίσµατα) Πληθυκός Αριθµός (Cardinality) = r(student) = 5 (πλειάδες) 7-13

Ορισµοί Σχεσιακού Μοντέλου (Σύνοψη) R(A 1, A 2,, A n ) είναι το σχήµατης σχέσης. R είναι το όνοµα της σχέσης A 1, A 2,, A n είναι τα γνωρίσµατατης σχέσης dom(a j ): To πεδίο ορισµού του A j r(r): είναι µια συγκεκριµένη κατάσταση (state) της σχέσης R Αυτό είναι ένα σύνολο από πλειάδες (έγγραφες) r(r) = {t 1, t 2,, t m } όπου κάθε t i είναι µια n-άδα t i = <v 1, v 2,, v n > όπου κάθε τιµή v j ανήκει στο dom(a j ) Πληθυκός Αριθµός Σχέσης: r(r) = m Βαθµός Σχέσης: R = n 7-14

Ορισµοί Σχεσιακού Μοντέλου (Σύνοψη) Έστω ότι R(A 1, A 2 ) είναι ένα σχήµα σχέσης: Υποθέστε ότι dom(a 1 ) = {0,1} Υποθέστε επίσης ότι dom(a 2 ) = {a,b,c} Τότε: dom(a 1 ) X dom(a 2 )είναι όλοι δυνατοί συνδυασµοί: {<0,a>, <0,b>, <0,c>, <1,a>, <1,b>, <1,c> } Η κατάσταση της σχέσης είναι υποσύνολο του καρτεσιανού γινοµένου των πεδίων ορισµού r(r) dom(a 1 ) X dom(a 2 ) Π.χ., r(r) µπορεί να είναι {} ή {<0,b>} ή {<0,a>,<0,b>,<1,c>}ή οποιοδήποτε άλλο στοιχείο του υναµοσυνόλου (PowerSet) του dom(a 1 ) X dom(a 2 ) To υναµοσύνολο (powerset) P(A) ενός σύνολο Αείναι το σύνολο όλων των υποσυνόλων του A. Αν A={a,b} τότε P(A)={ {}, {a}, {b}, {a,b} } O πληθυκόςαριθµός του δυναµοσυνόλου P(A) =2 Α Συνεπώς υπάρχουν 2 6 =64 διαφορετικά στιγµιότυπα του r(r) 7-15

Ορισµοί Σχεσιακού Μοντέλου (Σύνοψη) Πιο κάτω φαίνεται η αντιστοίχιση της άτυπηςορολογίας προς την επίσηµη ορολογία Πίνακας Άτυποι Όροι (Κεφαλίδα) Στήλης Όλες οι δυνατές τιµές µιας στήλης Γραµµή ήλωση Πίνακα Επίσηµοι Όροι Σχέση (Relation) Γνώρισµα (Attribute) Πεδίο Ορισµού (Domain) Πλειάδα (Tuple) Σχήµα Σχέσης (Schema) εδοµένα Πίνακα Στιγµιότυπο Σχέσης (State) 7-16

Χαρακτηριστικά των Σχέσεων 1. ιάταξη των πλειάδων σε µια σχέση r(r): Οι πλειάδες ΕΝ είναι διατεταγµένεςή ταξινοµηµένες, παρόλο ίσως να παρουσιάζονται έτσι. Μια σχέση είναι ουσιαστικά ένα σύνολο πλειάδων. Τα σύνολα εξ ορισµού δεν είναι διατεταγµένα. Ορισµός Συνόλου (Cantor 1895):Μια συλλογή ή οµάδα αντικειµένων ή στοιχείων ή µελών Η διάταξη ΕΝ αποτελεί µέρος του ορισµού µιας σχέσηςαφού µια σχέση προσπαθεί να αναπαραστήσει κάποια γεγονότα σε λογικό επίπεδο. 7-17

Χαρακτηριστικά των Σχέσεων 1 (1. ιάταξη Πλειάδων) 2 r(student1) = r(student2) 7-18

Χαρακτηριστικά των Σχέσεων 2. ιάταξη Γνωρισµάτων σε µια Πλειάδα: Ο ορισµός της πλειάδας που χρησιµοποιήσαµε θεωρεί ότι τα γνωρίσµατα είναι διατεταγµένα. «Πλειάδα είναι ένα διατεταγµένο σύνολο τιµών v 1, v 2,, v m») Τώρα θα χαλαρώσουµεαυτό τον περιορισµό αφού σε λογικό επίπεδο η διάταξη των πλειάδων δεν παίζει σηµαντικόρόλο, π.χ., Student (Name, SSN, Home_Phone, Address, ) Student (SSN, Name, Home_Phone, Address, ) Συνεπώς, θα θεωρούµε ότι µια πλειάδαείναι ένα σύνολο από ζεύγη της µορφής (<γνώρισµα>,<τιµή>) όπου κάθε τιµή ορίζεται στο dom(γνώρισµα). 7-19

Χαρακτηριστικά των Σχέσεων 3. Τιµές και NULL Τιµές στις Πλειάδες: Κάθε τιµήσε µια πλειάδαείναι µια ατοµική τιµήη οποία ορίζεται στο Πεδίο Ορισµού του εν λόγω γνωρίσµατος Κάθε ΠλειότιµηΤιµή (Multi-valued Attribute) αναπαριστάται από µια επί µέρους σχέση Π.χ., Γνώρισµα «Locations» σε µια σχέση Department Κάθε Σύνθετη Τιµή (Composite attribute) αναπαριστάται από τα απλά συστατικά τους. Π.χ., Γνώρισµα «Name»αναπαριστάται στη σχέση από Fname, Minit και Lname 7-20

Χαρακτηριστικά των Σχέσεων 3. Τιµές και NULL Τιµές στις Πλειάδες: NULL Τιµές Τιµές που δεν είναι γνωστές Π.χ., δεν καταχωρήσαµε το Office_phone κάποιου Employee Τιµές που µπορεί να µην ισχύουν για κάποια πλειάδα Π.χ., Ένας Υπάλληλος δεν δουλεύει σε γραφείο αλλά σε κάποιο άλλο χώρο (και δεν έχει γραφείο) 7-21

Χαρακτηριστικά των Σχέσεων 3. Τιµές και NULL Τιµές στις Πλειάδες: Γιατί µας απασχολούν οι NULL τιµές; Γιατί σπαταλούν χώρο. Γιατί η σύγκριση τους µπορεί να οδηγήσει σε ασάφειες. Π.χ., Βρες όλους τους υπαλλήλους που έχουν το ίδιο τηλέφωνο. Οι σχεσιακές βάσεις υλοποιούν µια τριαδική λογική: {TRUE, FALSE, UNKNOWN} αντί δυαδικής {TRUE, FALSE} στους τελεστές σύγκρισης για να λύσουν αυτό το πρόβληµα, Κατά τον σχεδιασµό βάσεων προσπαθούµε να αποφεύγουµε τις NULL τιµές όσο το δυνατό περισσότερο. 7-22

Χαρακτηριστικά των Σχέσεων Σηµειογραφία: Θα αναφερόµαστε στα γνωρίσµατα (χαρακτηριστικά) µιας πλειάδας t ως: t[a j ] ή t.a j Αυτή είναι η τιµή του v i για το γνώρισµα A i της πλειάδας t Όµοια, t[a u, A v,..., A w ] αναφέρεται στην υποπλειάδα t η οποία περιλαµβάνει τιµές για τα γνωρίσµατα A u, A v,..., A w. 7-23

Σχεσιακοί Κανόνες Ακεραιότητας (Relational Integrity Constraints) Μέχρι τώρα είδαµε διάφορους ορισµούςκαι τα χαρακτηριστικάτα οποία αφορούν µια Σχέση. Σε µια σχεσιακή βάση ωστόσο υπάρχουν πολλές Σχέσεις Θυµηθείτε τις οντότητεςκαι τις συσχετίσειςτου ER Μοντέλου, οι οποίες αναπαριστώνται και οι δυο σαν Σχέσεις (Πίνακες) στο Σχεσιακό Μοντέλο. Σε µια σχεσιακή βάση υπάρχουν επίσης πολλοί τύποι περιορισµών, οι οποίοι αναφέρονται Σε µια σχέση (π.χ., περιορισµός κλειδιού, πεδίου ορισµού και οντότητας) Σε πολλαπλές σχέσεις (π.χ., περιορισµός αναφορικής ακεραιότητας) 7-24

Σχεσιακοί Κανόνες Ακεραιότητας (Relational Integrity Constraints) Σχεσιακοί Περιορισµοί (Relational Constraints)είναι συνθήκες οι οποίες πρέπει να ισχύουν για κάθε έγκυρη κατάσταση σχέσης (state). Στο σχεσιακό µοντέλο υπάρχουν τρεις τύποι περιορισµών: A. Κλειδιού (Key constraints) Άτυπα: Κάθε σχέση έχει ένα πρωτεύων κλειδί. B. Ακεραιότητας Οντοτήτων (Entity integrity constraints) Άτυπα: Το πρωτεύων Κλειδί δεν µπορεί να είναι NULL C. Αναφορικής Ακεραιότητας (Referential integrity constraints) Άτυπα: Εάν µια πλειάδα Α αναφέρεται σε άλλη πλειάδα B τότε η Β πρέπει να υπάρχει. Τέλος, υπάρχει και ο Περιορισµός Πεδίου Ορισµού (Domain Constraint) ο οποίος εξυπακούεται. Η τιµή κάθε πλειάδας πρέπει να ορίζεται στο αντίστοιχο της πεδίο ορισµού (ή µπορεί να είναι NULL, εάν επιτρέπεται για το εν λόγω γνώρισµα) 7-25