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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 8: RM I + RA I

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην πληροφορική

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

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

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

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

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

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

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

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

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

ER Diagram Συσχετίσεις Ασθενείς Οντότητες Παράδειγμα ER.. Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Βάσεις εδομένων ΘΕΜΑ ΕΡΓΑΣΙΑΣ. Μέρμηγκας Αλέξανδρος Α.Μ ιαχείρηση Πληροφοριακών Συστηματών

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

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Διάγραμμα Οντοτήτων - Συσχετίσεων

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

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

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

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

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

Transcript:

Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109)

Σχεσιακό Μοντέλο Βάσης Δεδομένων Βασικές Αρχές Θεμελιώδη Μαθηματικά Λειτουργίες Αναβάθμισης

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

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

Ιστορικά Το Σχεσιακό Μοντέλο ορίζεται το 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, κτλ). * Μέχρι τότε τα επικρατέστερα μοντέλα ήταν το Δικτυακό (Network) και το Ιεραρχικό ΕΠΛ342 (Hierarchical) 2011

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

Σχεσιακό Μοντέλο Είναι το πιο δημοφιλές υλοποιήσιμο μοντέλο Απλούστατες, οι πιο ενιαίες δομές δεδομένων, και είναι η πιο συμβατή με όλα τα μοντέλα δεδομένων Οι τύποι οντοτήτων (entity types) και οι τύποι συσχετίσεων (relationship types) παρουσιάζονται με σχέσεις (relations), π.χ., πίνακες (tables) 123 Smith John 3 CS 395 Aiken Mary 4 CS Κάθε οντότητα είναι μια απλή πλειάδα (tuple) (Αλλιώς γραμμή (row) ή εγγραφή (record)) Κάθε χαρακτηριστικό μιας οντότητας είναι μία στήλη (column) (αλλιώς πεδίο (field)) στην πλειάδα. Κάθε συσχέτιση (relationship) είναι μια απλή πλειάδα μέσα σε μια σχέση (relation).

Σχεσιακό Μοντέλο STUDENT Τι σημαίνει; StudentID LName Name Class Major 123 Smith John 3 CS 395 Aiken Mary 4 CS Ένα σχεσιακό σχήμα R καθορίζει Το όνομα της σχέσης Τα ονόματα των χαρακτηριστικών A i της R Το πεδίο D i (τύπος δεδομένων + μορφή) του κάθε χαρακτηριστικού A i τύπος δεδομένων είναι ένα σύνολο από ατομικές τιμές δεδομένων: Κανένα χαρακτηριστικό δεν είναι σύνολο τιμών (1st Normal Form, 1-NF) Κανένα χαρακτηριστικό δεν είναι σύνθετο Η μορφή (format) καθορίζει την παρουσίαση της τιμής των δεδομένων

Σχέσεις Μια σχέση r ενός σχεσιακού σχήματος R Δηλώνετε ως r(r) Είναι ένα σύνολο από πλειάδες που συνθέτουν την σχέση σε μια συγκεκριμένη χρονική στιγμή Τι είναι μια σχέση;

Η μαθηματική αντίληψη της σχέσης Τα D 1, D 2,, D n είναι πεδία ορισμού (όχι απαραίτητα ξεχωριστά), το καρτεσιανό γινόμενο αυτών των n συνόλων D 1 x D 2 x x D n είναι το σύνολο όλων των πιθανών ταξινομημένων n- πλειάδων (v 1, v 2,, v n ) έτσι ώστε v 1 D 1, v 2 D 2,, v n D n Π.χ., Τα D 1 = {Nick, Susan} και D 2 = {BS, MS, PhD} D 1 x D 2 = {(Nick, BS), (Nick, MS), (Nick, PhD), (Susan,BS), (Susan, MS), (Susan, PhD)} Σχέση είναι κάθε υποσύνολο του καρτεσιανού γινόμενου R 1 = {(Nick,BS),(Nick, MS), (Susan, BS), (Susan, PhD)} R 2 = {}

Σχέσεις Συνεπώς, μια σχέση είναι ουσιαστικά ένας πίνακας ΜxΝ (Μ γραμμών και N στηλών)! Κάθε γραμμή αναπαριστά συγκεκριμένα γεγονότα τα οποία αναφέρονται σε κάποια οντότητα (entity) ή συσχέτιση (relationship) του πραγματικού κόσμου. Κάθε γραμμή row ονομάζεται και πλειάδα (tuple) ή εγγραφή (record) Κάθε στήλη (column) ονομάζεται και χαρακτηριστικό (characteristic) ή γνώρισμα (attribute) Η επικεφαλίδα κάθε στήλης προσδιορίζει το νόημα της εν λόγω στήλης

Σχεσιακό Μοντέλο: Παράδειγμα Όνομα Σχέσης Γνωρίσματα πικεφαλίδα Εγγραφές r(student) dom(name) x dom (Ssn) x... x dom (Age) x dom (Gpa) G. Samaras 20011 Τυπικά, η επικεφαλίδα ΔΕΝ είναι μέρος της σχέσης αλλά περιλαμβάνεται στις Μέτα-πληροφορίες της. Που αποθηκεύονται οι τέτοιες Μέτα-πληροφορίες σε με σχεσιακή βάση δεδομένων;

Ορισμοί Σχεσιακού Μοντέλου (Σχήμα Σχέσης) 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 των γνωρισμάτων του σχήματος. G. Samaras 20011

Ορισμοί Σχεσιακού Μοντέλου (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) τέτοιων πλειάδων. G. Samaras 20011

Ορισμοί Σχεσιακού Μοντέλου (Πεδίο Ορισμού) Το Πεδίο Ορισμού (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) G. Samaras 20011

Ορισμοί Σχεσιακού Μοντέλου (Κατάσταση Σχέσης) Η Κατάσταση ή Στιγμιότυπο Σχέσης (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) ): Ο αριθμός των πλειάδων μιας σχέση. δηλ., ο αριθμός γραμμών του πίνακα της σχέσης Παράδειγμα: Επόμενη διαφάνεια G. Samaras 20011

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

Ορισμοί Σχεσιακού Μοντέλου (Σύνοψη) R = 4 r(r) = 3 ID Degree Major Year 123 BS Math 1992 064 BA History 1991 445 PhD CS 1999 R > 0 και r(r) 0 Cardinality είναι ιδιότητα μια σχέσης Arity είναι ιδιότητα ενός σχεσιακού σχήματος ή μιας σχέσης

Δύο Αναπαραστάσεις Το σχεσιακό σχήμα R αναπαρίσταται ως: R = {A 1 :D 1, A 2 :D 2,..., A n :D n } ή R = {A 1, A 2,, A n } Σύνολο από ιδιότητες Μια πλειάδα t της r(r) αναπαρίσταται ως: t ={A 1 :v 1, A 2 :v 2,..., A n :v n }, v i D i, 1 i n ή t = <(A 1 :v 1 ), (A 2 :v 2 ),..., (A n :v n )>, v i D i, 1 i n Λίστα από ιδιότητες Μια πλειάδα t της r(r) αναπαρίσταται ως: t =(v 1, v 2,..., v n ), v i D i, 1 i n

Ορισμοί Σχεσιακού Μοντέλου (Σύνοψη) 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 G. Samaras 20011

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

Ιδιότητες της Σχέσης Η σχέση είναι πεπερασμένη Δεν υπάρχουν 2 όμοιες πλειάδες σε μια σχέση. Υπενθύμιση: Η σχέση είναι σύνολο από πλειάδες Η σειρά των πλειάδων σε μια σχέση είναι ασήμαντη. Πολλές λογικές σειρές μπορούν να καθορισθούν σε μια σχέση. Μια τιμή μπορεί να εμφανισθεί πολλές φορές σε μια στήλη. Η σειρά των τιμών των ιδιοτήτων σε μια πλειάδα είναι: Σημαντική σε ένα ορισμό λίστας από ιδιότητες. Ασήμαντη σε ένα ορισμό συνόλου από ιδιότητες. G. Samaras 20011

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

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

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

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

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

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

Χαρακτηριστικά των Σχέσεων Σημειογραφία: Θα αναφερόμαστε στα γνωρίσματα (χαρακτηριστικά) μιας πλειάδας 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.

Χαρακτηριστικά των Σχέσεων Εάν t είναι μια πλειάδα και «Χ» ένα σύνολο από γνωρίσματα τότε t[x] = Τα στοιχεία του t στα γνωρίσματα «Χ» Π.χ. Εάν t = (Stand, St. King, Dover) τότε t[τιτλοσ] = t.τιτλοσ = Stand t[{τιτλοσ, ΣΥΓΓΡΑΦΕΑΣ}] = (t[τιτλοσ], t.συγγραφεασ) =???

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

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