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



Σχετικά έγγραφα
Βάσεις Δεδομένων. Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Βάσεις Δεδομένων. Ενότητα 6: Κανονικοποίηση. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 5: Σημασιολογικός Σχεδιασμός. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Ηλεκτρονικοί Υπολογιστές II

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

Τεχνοοικονομική Ανάλυση Οργάνωση και Διοίκησης Έργων και Επιχειρήσεων

Λογιστικές Εφαρμογές Εργαστήριο

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΠΛΗΡΟΦΟΡΙΚΗ. Ενότητα: Εργαστηριακές Ασκήσεις. Καθηγήτρια: Ι.

Ηλεκτρονικοί Υπολογιστές II

ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #3: Αρχή της Επέκτασης - Ασαφείς Σχέσεις. Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε.

Βάσεις Περιβαλλοντικών Δεδομένων

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

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

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

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

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

Ηλεκτρονικοί Υπολογιστές II

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

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

Βάσεις Δεδομένων Ι. Παραδείγματα. Γεώργιος Ευαγγελίδης, Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής

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

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

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

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

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

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #11: Ασαφής Αριθμητική. Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε.

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

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

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων

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

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

Διαχείριση Πολιτισμικών Δεδομένων

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

Σχεδίαση Βάσεων Δεδομένων

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

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

Στατιστική Επιχειρήσεων Ι

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

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

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

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

Διοίκηση Ολικής Ποιότητας

Εισαγωγή στα Πληροφοριακά Συστήματα

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Υπολογιστικά & Διακριτά Μαθηματικά

Βάσεις Δεδομένων. Ενότητα 7.2: Structured Query Language - 2 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

13 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Πληροφορική. Εργαστηριακή Ενότητα 6 η : Ταξινόμηση & Ομαδοποίηση Δεδομένων

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

Ηλεκτρονικοί Υπολογιστές II

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

Lecture 8: RM I + RA I


Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

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

Τεχνολογία Πολιτισμικού Λογισμικού

Λογιστικές Εφαρμογές Εργαστήριο

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

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

Βάσεις Περιβαλλοντικών Δεδομένων

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

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

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 2: Το Σχεσιακό Μοντέλο Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί Ενότητας Ο φοιτητής που θα παρακολουθήσει με επιτυχία την ενότητα αυτή θα διαθέτει τις απαιτούμενες θεωρητικές και πρακτικές γνώσεις ώστε: Να εξηγεί και να τεκμηριώνει πως μπορούν να αξιοποιηθούν οι Βάσεις Δεδομένων σε μια επιχείρηση ή οργανισμό. 4

Περιεχόμενα Ενότητας Αρχιτεκτονική Τριών Επιπέδων ANSI-SPARC Ανεξαρτησία δεδομένων των τριών επιπέδων Η γλώσσα προγραμματισμού των Βάσεων Δεδομένων Λειτουργίες των Βάσεων Δεδομένων Βασικές έννοιες και ορισμοί του Σχεσιακού Μοντέλου Ορισμός των Σχέσεων στις Βάσεις Δεδομένων Οι νόμοι της Ακεραιότητας Όψεις (Views) 5

Χρήση Διατάξεων

Σχεσιακό Μοντέλο - Ορισμοί Η σχέση (Relation) είναι ένας πίνακας με στήλες και γραμμές. Έχει νόημα μόνο στη λογική δομή της Βάσης Δεδομένων και όχι στη φυσική της μορφή. Χαρακτηριστικό (Αttribute) είναι μια ορισμένη στήλη της σχέσης. Πεδίο τιμών (Domain) είναι το σύνολο των επιτρεπτών τιμών για ένα ή περισσότερα χαρακτηριστικά. Σχέση: Τμήμα Πεδίο Τιμών: τα τμήματα του ΑΕΙ. Χαρακτηριστικά: Title, Building,.. DepartmentCode Title Building Telephone Fax Site ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος 2105381000 2105281001 dbs.tei.gr ΛΟ Λογιστικής Κτήριο Δ - 1ος όροφος 2105382000 2105382001 log.tei.gr ΠΛ Πληροφορικής Κτήριο Α 210-5381250 2105381251 pl.tei.gr 7

Σχεσιακό Μοντέλο Ορισμοί (2) Εγγραφή (Tuple) είναι μια γραμμή της σχέσης. Βαθμός (Degree) είναι ο αριθμός των χαρακτηριστικών της σχέσης. Πλήθος Στοιχείων (Cardinality) είναι ο αριθμός των γραμμών σε μια σχέση. Σχεσιακή Βάση Δεδομένων είναι μια συλλογή από ορισμένες και κανονικοποιημένες σχέσεις. Σχέση: Φοιτητής StudentNo Name FatherName Birtday Address Telephone DepartmentCo de Πλήθος Στοιχείων (Cardinality): 5 1234 Γεωργίου Γεώργιος Νικόλαος 10/10/1994 Κήπων 10 - Αθήνα 210 6010900 ΔΕ Ανθέων 20, 1011 Νικολάου Νικόλαος Δημήτριος 1/5/1993 Αιγάλεω 210 5456783 ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας 10/3/1995 Σπετσών 22, Αθήνα 210 6789011 ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος 7/7/1994 Σπάρτης 123, Πειραιάς 210 5060789 ΔΕ 25432 Παυλίδης Παύλος Γεώργιος 12/8/1993 Θηβών 250, Αιγάλεω 210 7898001 ΠΛ Εγγραφή Βαθμός: 7 8

Τμήμα- Σχέση Department Σύνδεση Σχέσεων DepartmentCode Title Building Telephone Fax Site ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος 2105381000 2105281001 dbs.tei.gr ΛΟ Λογιστικής Κτήριο Δ - 1ος όροφος 2105382000 2105382001 log.tei.gr ΠΛ Πληροφορικής Κτήριο Α 210-5381250 2105381251 pl.tei.gr Πρωτεύων Κλειδί Ξένο Κλειδί Φοιτητής Σχέση Students StudentNo Name FatherName Birtday Address Telephone DepartmentCode Κήπων 10-1234 Γεωργίου Γεώργιος Νικόλαος 10/10/1994 Αθήνα 210 6010900 ΔΕ 1011 Νικολάου Νικόλαος Δημήτριος 1/5/1993 Ανθέων 20, Αιγάλεω 210 5456783 ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας 10/3/1995 Σπετσών 22, Αθήνα 210 6789011 ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος 7/7/1994 Σπάρτης 123, Πειραιάς 210 5060789 ΔΕ 25432 Πααυίδης Παύλος Γεώργιος 12/8/1993 Θηβών 250, Αιγάλεω 210 7898001 ΠΛ 9

Παράδειγμα Πεδίου Τιμών Χαρακτηριστικών Χαρακτηριστικό Περιγραφή Μορφή Πεδίο τιμών DeprtmentCpde Ο μοναδιαίο κωδικός του Τμήματος 4 Χαρακτήρες, Α001 - Α999 Title Ο τίτλος του Τμμήματος 30 χαρακτήρες Sex Το φύλο 1 χαρακτήρας Α - Άρρεν, Θ- θήλυ Birthday Η ημερομηνία Γέννησης Ημερομηνία 1/1/1900-31/12/2020 10

Ορισμοί Έχουν το ίδιο νόημα Σχέσεις - Relations Πίνακας - Table Αρχείο - File Εγγραφή - Record, Tuple Γραμμή - Row Χαρακτηριστικό - Attribute Στήλη - Column Πεδίο - Field 11

Σχέσεις Βάσεων Δεδομένων Σχεσιακό Σχήμα (Relation schema) Ορισμένη Σχέση η οποία αποτελείται από ένα σύνολο χαρακτηριστικών με καθορισμένα τα πεδία τιμών τους. Σχεσιακό Σχήμα Β.Δ. (Relational database schema) Ένα σύνολο από σχεσιακά σχήματα, καθένα από τα οποία έχει διακριτό όνομα. 12

Ιδιότητες των Σχέσεων Το όνομα μιας σχέσης είναι διακριτό από όλες τις άλλες σχέσεις που περιλαμβάνονται στο σχεσιακό σχήμα. Κάθε κελί μιας σχέσης περιλαμβάνει μία και μόνο μία τιμή. Κάθε χαρακτηριστικό έχει διακριτό όνομα στη σχέση που ανήκει. Αναφερόμαστε: Όνομα Σχέσης.Όνομα Χαρακτηριστικού (Stusents.Name) Οι τιμές ενός χαρακτηριστικού είναι όλες από το ίδιο Πεδίο Τιμών. Φοιτητής Σχέση Students StudentNo Name FatherName Birtday Address Telephone DepartmentCode Κήπων 10-1234 Γεωργίου Γεώργιος Νικόλαος 10/10/1994 Αθήνα 210 6010900 ΔΕ 1011 Νικολάου Νικόλαος Δημήτριος 1/5/1993 Ανθέων 20, Αιγάλεω 210 5456783 ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας 10/3/1995 Σπετσών 22, Αθήνα 210 6789011 ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος 7/7/1994 Σπάρτης 123, Πειραιάς 210 5060789 ΔΕ 25432 Πααυίδης Παύλος Γεώργιος 12/8/1993 Θηβών 250, Αιγάλεω 210 7898001 ΠΛ 13

Ιδιότητες των Σχέσεων (2) Κάθε εγγραφή είναι διακριτή, Δεν υπάρχουν ίδιες γραμμές (για όλα τα χαρακτηριστικά) στη σχέση. Η σειρά των χαρακτηριστικών στη σχέση δεν παίζει κανένα ρόλο. Η σειρά των εγγραφών δεν παίζει κανένα ρόλο (θεωρητικά). StudentNo Name FatherName Birtday Address Telephone DepartmentCode Κήπων 10-1234 Γεωργίου Γεώργιος Νικόλαος 10/10/1994 Αθήνα 210 6010900 ΔΕ 1011 Νικολάου Νικόλαος Δημήτριος 1/5/1993 Ανθέων 20, Αιγάλεω 210 5456783 ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας 10/3/1995 Σπετσών 22, Αθήνα 210 6789011 ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος 7/7/1994 Σπάρτης 123, Πειραιάς 210 5060789 ΔΕ 25432 Πααυίδης Παύλος Γεώργιος 12/8/1993 Θηβών 250, Αιγάλεω 210 7898001 ΠΛ 14

Κλειδιά Υπερ-Κλειδί (Superkey) Ένα χαρακτηριστικό ή ένα σύνολο από χαρακτηριστικά τα οποία καθορίζουν μοναδικά την εγγραφή σε μία σχέση. Ενδεικτικά ΥπερΚλειδιά ΑΜΚΑ, LastName, FirstName LastName, FirstName, Fathersname, Birthday, Address, Sex AMKA LastName, FirstName, Fathersname, Birthday, Address.. AMKA LastName FirstName FathersName Birthday Sex Address ΤΚ Tel Salary Position 10021995005647 Γεωργίου Γεώργιος Νικόλαος 10/2/1995 Αρρεν Ανθέων 20, Αθηνα 11122 210505050 1750 Λογιστής 1031985100023 Νικολάου Νικόλαος Γεράσιμος 10/3/1985 Αρρεν Κήπων 128, ΑΙγάλεω 12233 2106767674 2100 Προϊστάμενος...................... 15

Κλειδιά (2) Υποψήφιο κλειδί (Candidate Key) Υπερ-κλειδί για το οποίο δεν υπάρχει υποσύνολο που μπορεί να είναι υπερ-κλειδί. Για κάθε εγγραφή της Σχέσης η τιμή του Κλειδιού καθορίζει μοναδικά την εγγραφή. Κανένα υποσύνολο του Υποψήφιου Κλειδιού δεν έχει την ιδιότητα της μοναδικότητας (irreducibility). Ενδεικτικά Υποψήφια Κλειδιά LastName, FirstName, Fathersname, Birthday AMKA. AMKA LastName FirstName FathersName Birthday Sex Address ΤΚ Tel Salary Position 10021995005647 Γεωργίου Γεώργιος Νικόλαος 10/2/1995 Αρρεν Ανθέων 20, Αθηνα 11122 210505050 1750 Λογιστής 1031985100023 Νικολάου Νικόλαος Γεράσιμος 10/3/1985 Αρρεν Κήπων 128, ΑΙγάλεω 12233 2106767674 2100 Προϊστάμενος...................... 16

Κλειδιά (3) Πρωτεύον Κλειδί (Primary Key) Υποψήφιο κλειδί το οποίο επιλέγεται για τον καθορισμό με μοναδικό τρόπο των εγγραφών σε μια σχέση. Εναλλακτικό Κλειδί (Alternate Keys) Υποψήφιο κλειδί το οποίο δεν έχει επιλεγεί σαν πρωτεύον κλειδί. AMKA LastName FirstName FathersName Birthday Sex Address ΤΚ Tel Salary Position 10021995005647 Γεωργίου Γεώργιος Νικόλαος 10/2/1995 Αρρεν Ανθέων 20, Αθηνα 11122 210505050 1750 Λογιστής 1031985100023 Νικολάου Νικόλαος Γεράσιμος 10/3/1985 Αρρεν Κήπων 128, ΑΙγάλεω 12233 2106767674 2100 Προϊστάμενος...................... Πρωτεύων Κλειδί Εναλλακτικά Κλειδιά: LastName, FirstName, FathersName, Birthday, Address.. 17

Κλειδιά (4) Ξένο Κλειδί (Foreign Key) Χαρακτηριστικό ή ένα σύνολο από χαρακτηριστικά σε μία σχέση το οποίο συνδέεται και παίρνει ακριβώς τις ίδιες τιμές με το πρωτεύον κλειδί μιας άλλης σχέσης. Με αυτόν τον τρόπο συνδέονται οι εγγραφές στη λογική του Master-Detail. Τμήμα DepartmentCode Title Building Telephone Fax Site ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος 2105381000 2105281001 dbs.tei.gr ΛΟ Λογιστικής Κτήριο Δ - 1ος όροφος 2105382000 2105382001 log.tei.gr ΠΛ Πληροφορικής Κτήριο Α 210-5381250 2105381251 pl.tei.gr Ξένο Κλειδί Πρωτεύων Κλειδί Φοιτητής StudentNo Name FatherName Birtday Address Telephone DepartmentCode 1234 Γεωργίου Γεώργιος Νικόλαος 10/10/1994 Κήπων 10 - Αθήνα 210 6010900 ΔΕ Ανθέων 20, 1011 Νικολάου Νικόλαος Δημήτριος 1/5/1993 Αιγάλεω 210 5456783 ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας 10/3/1995 Σπετσών 22, Αθήνα 210 6789011 ΔΕ Σπάρτης 123, 7990 Πέτρου Πέτρος Ευθύμιος 7/7/1994 Πειραιάς 210 5060789 ΔΕ 25432 Πααυίδης Παύλος Γεώργιος 12/8/1993 Θηβών 250, Αιγάλεω 210 7898001 ΠΛ 18

Το κενό (Null) Κενό (Null) Αντιπροσωπεύει τιμή σε ένα χαρακτηριστικό η οποία προς το παρόν είναι άγνωστη ή δεν έχει ακόμη εφαρμογή. Σχετίζεται με μη ολοκληρωμένες καταστάσεις ή μη εφαρμοσμένες τιμές. Αντιπροσωπεύει την απουσία τιμής και δεν είναι το ίδιο με το 0 ή τα σύμβολα space, τα οποία εκφράζουν τιμές. Δεν έχει τοποθετηθεί σε θέση και δεν έχει καθοριστεί ο μισθός AMKA LastName FirstName FathersName Birthday Sex Address ΤΚ Tel Salary Position 10021995005647 Γεωργίου Γεώργιος Νικόλαος 10/2/1995 Αρρεν Ανθέων 20, Αθηνα 11122 210505050 Null Null 1031985100023 Νικολάου Νικόλαος Γεράσιμος 10/3/1985 Αρρεν Κήπων 128, ΑΙγάλεω 12233 2106767674 2100 Προϊστάμενος...................... 19

Συνθήκες Ακεραιότητας (Οντότητας) Ακεραιότητα Οντότητας (Entity Integrity) Σε μια Σχέση (Πίνακα) κανένα χαρακτηριστικό πρωτεύοντος κλειδιού δεν μπορεί να έχει τιμή null. AMKA LastName FirstName FathersName Birthday Sex Address ΤΚ Tel Salary Position 10021995005647 Γεωργίου Γεώργιος Νικόλαος 10/2/1995 Αρρεν Ανθέων 20, Αθηνα 11122 210505050 100000 Καθηγητής 1031985100023 Νικολάου Νικόλαος Γεράσιμος 10/3/1985 Αρρεν Κήπων 128, ΑΙγάλεω 12233 2106767674 2100 Προϊστάμενος...................... Δεν μπορεί ποτέ να είναι κενό το πρωτεύων κλειδί ΑΜΚΑ Ο έλεγχος της ακεραότητας οντότητας πραγματοποιείται από το Σύστημα Διαχείρισης της Βάσης Δεδομένων. 20

Συνθήκες Ακεραιότητας (Αναφοράς) Ακεραιότητα Αναφοράς (Referential Integrity) Τμήμα Στο ξένο κλειδί σε μια σχέση οι τιμές του είτε θα ταιριάζουν με τιμές του πρωτεύοντος κλειδιού της άλλης σχέσης με την οποία υπάρχει αναφορά (σύνδεση) είτε θα είναι null. DepartmentCode Title Building Telephone Fax Site ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος 2105381000 2105281001 dbs.tei.gr Πρωτεύων Κλειδί ΛΟ Λογιστικής Κτήριο Δ - 1ος όροφος 2105382000 2105382001 log.tei.gr ΠΛ Πληροφορικής Κτήριο Α 210-5381250 2105381251 pl.tei.gr Φοιτητής Ξένο Κλειδί Αν δεν είναι κενό η τιμή του θα υπάρχει οπωσδήποτε σαν πρωτεύον κλειδί στον πίνακα Τμήμα StudentNo Name FatherName Birtday Address Telephone DepartmentCode 1234 Γεωργίου Γεώργιος Νικόλαος 10/10/1994 Κήπων 10 - Αθήνα 210 6010900 ΔΕ 1011 Νικολάου Νικόλαος Δημήτριος 1/5/1993 Ανθέων 20, Αιγάλεω 210 5456783 ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας 10/3/1995 Σπετσών 22, Αθήνα 210 6789011 ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος 7/7/1994 Σπάρτης 123, Πειραιάς 210 5060789 ΔΕ 25432 Πααυίδης Παύλος Γεώργιος 12/8/1993 Θηβών 250, Αιγάλεω 210 7898001 ΠΛ 21

Περιορισμοί Εφαρμογής Περιορισμοί της Εφαρμογής Επιπρόσθετοι περιορισμοί καθορίζονται από τους χρήστες και τους διαχειριστές της Βάσης Δεδομένων. 22

Όψεις (Views) Σχέση Βάσης Δεδομένων Μια ορισμένη σχέση που αντιστοιχεί σε συγκεκριμένη οντότητα στο σημασιολογικό σχήμα και της οποίας οι εγγραφές έχουν καταχωρηθεί με φυσικό τρόπο στη Βάση Δεδομένων. Βάση Δεδομένων (Φοιτητές, Μαθήματα, Δηλώσεις Μαθημάτων) Αντιστοιχεί στις οντότητες της εφαρμογής. Φυσική ύπαρξη στη Βάση Δεδομένων 23

Όψεις (Views) (2) Όψεις (View) Το δυναμικό αποτέλεσμα μιας ή περισσοτέρων πράξεων πάνω σε σχέσεις βάσης, έτσι ώστε να δημιουργηθεί μια νέα εικονική σχέση. Όψη Γραμματείας Students(Όλα τα στοιχεία) Courses(Όλα τα στοιχεία) Assign(Academic year) Όψη Καθηγητή Students(StudentNo, Fname, Lname,) Courses(Όλα τα στοιχεία) Assign(Όλα τα στοιχεία) 24

Όψεις (Views) (3) Είναι εικονική σχέση και δεν υπάρχει απαραίτητα στη Βάση Δεδομένων. Παράγεται από ένα ερώτημα που δημιουργείται στη Βάση Δεδομένων Δημιουργείται την ώρα που εκτελείται το ερώτημα. Οι όψεις παρέχουν ένα ευέλικτο και δυναμικό εργαλείο για την ασφάλεια των δεδομένων καθώς παρουσιάζονται στους χρήστες μόνο τα δεδομένα που τους αφορούν. Επιτρέπει στους χρήστες να έχουν προσπέλαση στα δεδομένα ανάλογα με τις λειτουργικές ανάγκες. Τα ίδια δεδομένα μπορούν να παρουσιασθούν σε διαφορετικούς χρήστες με διαφορετικό τρόπο. Απλοποιούνται πολύπλοκες διεργασίας στις Σχέσεις της Βάσης Δεδομένων. Περισσότερα θα αναλυθούν στα επόμενα 25

Σχεσιακή Άλγεβρα (Relational Algebra) Άλγεβρα : Ενα σύνολο Α εφοδιασμένο με πράξεις (σχέσεις) Παράδειγμα: Το σύνολο των Πραγματικών Αριθμών στο οποίο ορίζουμε τις βασικές πράξεις (σχέσεις) Πρόσθεση και Πολλαπλασιασμό (R, +, x). Οι άλλες πράξεις (αφαίρεση και διαίρεση) ορίζονται από τις Βασικές. Το αποτέλεσμα μιας πράξης δυο πραγματικών αριθμών είναι πάντα πραγματικός αριθμός. +: (XX, YY) > ZZ, δηλαδή Ζ = Χ + Υ, Χ RR, YY RR, ZZ RR Η Σχεσιακή Άλγεβρα αφορά το Σύνολο Πινάκων (Σχέσεων) στο οποίο ορίζουμε τις βασικές πράξεις (Επιλογή, Προβολή. Καρτεσιανό Γίνόμενο, Ένωση και Διαφορά) Το αποτέλεσμα της πράξης δύο πινάκων (σχέσεων) είναι ένας νέος πίνακας (σχέση) Από τη σύνθεση των βασικών πράξεων υλοποιούνται οι περισσότερες λειτουργίες αναζήτησης πληροφοριών από τη Βάση Δεδομένων. 26

Σχεσιακή Άλγεβρα (2) Οι Πέντε Βασικές Πράξεις: I. Επιλογής - Selection, II. Προβολή - Projection, III. Καρτεσιανό Γινόμενο IV. Ένωση - Union V. Διαφορά Set Difference Άλλες Πράξεις που Προκύπτουν είναι: 1. Συνδέσεις - joins 2. Τομή - Intersection 3. Διαίρεση - Division 27

Επιλογή Selection (σ) Επιλογή: Από έναν πίνακα δημιουργείται ένας νέος πίνακας που περιλαμβάνει τις εγγραφές που ικανοποιούν μια συγκεκριμένη συνθήκη (σ συνθήκη επιλογής) Παράδειγμα: Πίνακας Φοιτητών StudentNo LName FName FathersNa me Sex BirthDay RecordDate Address City Zip tel 1 Πέτρου Πέτρος Δημήτριος Α 10/1/1992 1/9/2010 Πάτρας 8 Περιστέρι 10111 2 Φίλος Γεώργιος Νικόλαος Α 5/22/1994 2/10/2012 Σπάρτης 221 3 Νικολάου Νικολέτα Γεώργιος Θ 11/8/1995 2/10/2012 Ελευθερίας 23 4 Παρασκευά Μαρία Πέτρος Θ 10/10/199 4 Αθήνα 10100 Ίλιον 12211 3/10/2012 Σπετσών 8 Αθήνα 10101 210505070 0 210676768 9 210343434 9 Επιλογή με τη Συνθήκη σ(city = Αθήνα) προκύπτει νέος πίνακας StudentNo LName FName FathersNam e Sex BirthDay RecordDate Address City Zip tel 2 Φίλος Γεώργιος Νικόλαος Α 5/22/1994 2/10/2012 Σπάρτης 221 Αθήνα 10100 2106767689 4 Παρασκευά Μαρία Πέτρος Θ 10/10/1994 3/10/2012 Σπετσών 8 Αθήνα 10101 2103434349 28

Προβολή Projection (P) Προβολή: Από έναν πίνακα Α προκύπτει ένας νέος πίνακας Β που περιλαμβάνει ένα υποσύνολο των στηλών (χαρακτηριστικών) του A χωρίς να πριλαμβάνει ίδιες εγγραφές (διπλοεγγραφές) Παράδειγμα: Από τον Πίνακα Φοιτητών: StudentNo LName FName FathersName Sex BirthDay RecordDate Address City Zip tel 1 Πέτρου Πέτρος Δημήτριος Α 10/1/1992 1/9/2010 Πάτρας 8 Περιστέρι 10111 2 Φίλος Γεώργιος Νικόλαος Α 5/22/1994 2/10/2012 3 Νικολάου Νικολέτα Γεώργιος Θ 11/8/1995 2/10/2012 Σπάρτης 221 Ελευθερίας 23 Αθήνα 10100 Ίλιον 12211 4 Παρασκευά Μαρία Πέτρος Θ 10/10/1994 3/10/2012 Σπετσών 8 Αθήνα 10101 210505070 0 210676768 9 210343434 9 StudentNo LName FName 1 Πέτρου Πέτρος 2 Φίλος Γεώργιος 3 Νικολάου Νικολέτα 4 Παρασκευά Μαρία Με την Προβολή P StudentNο, Fname, Lname έχουμε τον Πίνακα 29

Καρτεσιανό Γινόμενο (X) Από δύο πίνακες Α και Β δημιουργούμε έναν νέο πίνακα Γ που περιλαμβάνει εγγραφές που προκύπτουν αν κάθε εγγραφή του πίνακα Α συνδυαστεί με κάθε εγγραφή του πίνακα Β Πίνακας: Students StudentNo LName FName FathersName Students X Courses 1 Πέτρου Πέτρος Δημήτριος 2 Φίλος Γεώργιος Νικόλαος StudentNo LName FName CourseID CourseTitle 1 Πέτρου Πέτρος ΒΔ Βάσεις Δεδομένων 1 Πέτρου Πέτρος ΕΕ Επιχειρησιακή Έρευνα CourseID ΒΔ ΕΕ ΜΑ CourseTitle Βάσεις Δεδομένων Επιχειρησιακή Έρευνα Μαρκετινγκ 1 Πέτρου Πέτρος ΜΑ Μαρκετινγκ 2 Φίλος Γεώργιος ΒΔ Βάσεις Δεδομένων 3 Φίλος Γεώργιος ΕΕ Επιχειρησιακή Έρευνα 4 Φίλος Γεώργιος ΜΑ Μαρκετινγκ Πίνακας: Courses 30

Ένωση Union (U) Ένωση δυο Πινάκων (Σχέσεων) Α και Β είναι ένας νέος πίνακας Γ που περιλαμβάνει τις εγγραφές του Α και του Β. Στον Πίνακα Γ δεν υπάρχουν διπλοεγγραφές (ίδιες ακριβώς γραμμές). Αν ο Πίνακας Α έχει ν εγγραφές και ο πίνακας Β έχει μ εγγραφές τότε ο Πίνακας Γ θα έχει ν+μ το πολύ εγγραφές. Οι Πίνακας Α και Β θα πρέπει να είναι συμβατοί (να περιλαμβάνουν χαρακτηριστικά, ίδια σε αριθμό, τύπο και με την ιδια σειρά). Παράδειγμα: StudentNo LName FName FathersName Sex BirthDay 1 Πέτρου Πέτρος Δημήτριος Α 10/1/1992 2 Φίλος Γεώργιος Νικόλαος Α 5/22/1994 ΑUΒ StudentNo LName FName FathersName Sex BirthDay 1 Πέτρου Πέτρος Δημήτριος Α 10/1/1992 2 Φίλος Γεώργιος Νικόλαος Α 5/22/1994 3 Νικολάου Νικολέτα Γεώργιος Θ 11/8/1995 StudentNo LName FName FathersName Sex BirthDay 3 Νικολάου Νικολέτα Γεώργιος Θ 11/8/1995 4 Παρασκευά Μαρία Πέτρος Θ 10/10/199 4 4 Παρασκευά Μαρία Πέτρος Θ 10/10/199 4 31

Διαφορά -Set Difference (-) Η Διαφορά του Πίνακα Β από τον Πίνακα Α είναι ένα νέος πίνακας Γ που προκύπτει από τις εγγραφές του Πίνακα Α που δεν είναι ίδιες με καμμία από τις εγγραφές του Β. Οι Πίνακες Α και Β θα πρέπει να είναι συμβατοί. Παράδειγμα StudentNo LName FName FathersName Sex BirthDay 1 Πέτρου Πέτρος Δημήτριος Α 10/1/1992 2 Φίλος Γεώργιος Νικόλαος Α 5/22/1994 3 Νικολάου Νικολέτα Γεώργιος Θ 11/8/1995 StudentNo LName FName FathersName Sex BirthDay 3 Νικολάου Νικολέτα Γεώργιος Θ 11/8/1995 4 Παρασκευά Μαρία Πέτρος Θ 10/10/1994 4 Παρασκευά Μαρία Πέτρος Θ 10/10/1994 Α-Β StudentNo LName FName FathersName Sex BirthDay 1 Πέτρου Πέτρος Δημήτριος Α 10/1/1992 2 Φίλος Γεώργιος Νικόλαος Α 5/22/1994 32

Σύνδεση (Join) Πράξη που προκύπτει από τις πράξεις Καρτεσιανό Γινόμενο και Επιλογή Ισοδυναμεί με την εκτέλεση του Καρτεσιανού Πολλαπλασμού και ακολούθως την εκτέλεση της επιλογής στον πίνακα που προκύπτει από το Κaρτεσιανό Γινόμενο. Πράξεις Σύνδεσης 1. Theta-join 2. Equi-join 3. Natural join 4. Outer join 5. Semi-join 33

Theta Join (Σύνδεση θ) Theta-join ((AXB) σs) - Δημιουργείται ένας νέος πίνακας (σχέση) που περιλαμβάνει εγγραφές από το καρτεσιανό γινόμενο των Πινάκων Α και Β για τις οποίες ικανοποιείται η συνθήκη s της επιλογής σ. Ισχύει: Α Χ Β σs = σs(axb) Αν η συνθήκη s είναι ισότητα τότε η πράξη λέγεται σύνδεση ισότητας. ( equi-join) 34

Theta Join (Σύνδεση θ) (2) DepartmentCode Title Building ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος ΛΟ Λογιστικής Κτήριο Δ - 1ος όροφος ΠΛ Πληροφορικής Κτήριο Α Φυσική Σύνδεση (Natural Join) StudentNo Name FatherName DepartmentCOde 1234 Γεωργίου Γεώργιος Νικόλαος ΔΕ 1011 Νικολάου Νικόλαος Δημήτριος ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος ΔΕ 25432 Πααυίδης Παύλος Γεώργιος ΠΛ Departments X Students Ισότητα στο DepartmentCode StudentNo Name FatherName DepartmentCOde Title Building 1234 Γεωργίου Γεώργιος Νικόλαος ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος 1011 Νικολάου Νικόλαος Δημήτριος ΛΟ Λογιστικής Κτήριο Δ - 1ος όροφος 456 Αθανασίου Αθανάσιος Ζαχαρίας ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος 7990 Πέτρου Πέτρος Ευθύμιος ΔΕ Διοίκησης Επιχειρήσεων Κτήριο Δ - 2ος όροφος 25432 Πααυίδης Παύλος Γεώργιος ΠΛ Πληροφορικής Κτήριο Α 35

Εξωτερική Σύνδεση (Outer Join) Εξωτερική Σύνδεση (Outer join) Υπάρχουν περιπτώσεις σύνδεσης (join) στις οποίες οι γραμμές του ενός πίνακα δεν συνδέονται με κανένα στοιχείο του άλλου πίνακα. Στην περίπτωση αυτή δεν συμπεριλαμβλανονται στη σύνδεση αυτές οι γραμμές. Για να συμπεριληφθούν και να εμφανισθούν στο αποτέλεσμα οι γραμμές του ενός πίνακα που δεν συνδέονται με στοιχεία του άλλου πίνακα θα πρέπει η Συνδεση να δηλωθεί ώς Outer (Εξωτερική). Αριστερή Εξωτερική Σύνδεση (Left outer join) Στη Σύνδεση (join) Α Χ Β σs αριστερή εξωτερική (Left Outer Join) είναι εκείνη η σύνδεση στην οποία τα στοιχεία του A που δεν συνδέονται με στοιχεία του B μέσω της σχέσης σ συμπεριλαμβάνονται και εμφανίζονται στο αποτέλεσμα με κενά τα στοιχεία του Β. Ομοίως για το Right Outer Join. 36

Τομή (Intersection) Η τομή Α Β αποτελείται από όλα τις γραμμές της Σχέσης Α που περιλαμβάνονται και στη Σχέση Β. Παράδειγμα StudentNo Name FatherName DepartmentCOde 1234 Γεωργίου Γεώργιος Νικόλαος ΔΕ 1011 Νικολάου Νικόλαος Δημήτριος ΛΟ 456 Αθανασίου Αθανάσιος Ζαχαρίας ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος ΔΕ 25432 Παυλίδης Παύλος Γεώργιος ΠΛ StudentNo Name FatherName DepartmentCOde 1234 Γεωργίου Γεώργιος Νικόλαος ΔΕ 1011 Παρασκευάς Πέτρος Δημήτριος ΠΛ 457 Αθανασίου Κων/νος Γεώργιος ΛΟ 7990 Πέτρου Πέτρος Ευθύμιος ΔΕ StudentNo Name FatherName DepartmentCOde 1234 Γεωργίου Γεώργιος Νικόλαος ΔΕ 7990 Πέτρου Πέτρος Ευθύμιος ΔΕ 37

Διαίρεση (Division) Το αποτέλεσμα της Διαίρεσης δύο πινάκων Α και Β αποτελείται από εκείνες τις γραμμές του Α στις οποίες η τιμή ενός χαρακτηριστικού (Χ1) είναι συσχετισμένο στον πινακα Α με κάθε γραμμή του πίνακα Β Παράδειγμα X1 AA1 AA2 AA3 AA2 AA1 X2 BB1 BB3 BB4 BB5 BB6 X3 BB1 BB6 Αποτέλεσμα ΑΑ1 Το στοιχείο ΑΑ1 του Χ1 του Πίνακα Α είναι συχετισμένο (στον Πίνακα Α) με όλα τα στοιχεία (ΒΒ1, ΒΒ6) του Πίνακα Β. Πηλίκο ΑΑ1. 38

Σύστημα Διαχείρισης Σχεσιακών Βάσεων Δεδομένων (ΣΔΣΒΔ) Κανόνες Λειτουργίας Θεμελιακοί Κανόνες (0 και 2) Δομικοί Κανόνες (1 and 6) Κανόνες Ακεραιότητας (3 and 10) Κανόνες Διαχείρισης των Δεδομένων (2,4,5,7) Κανόνες Ανεξαρτησίας των Δεδομένων (8,9,11) 39

Κανόνες ΣΔΣΒΔ Θεμελιακοί Κανόνες Κανόνας 0: Το ΣΔΣΒΔ θα πρέπει να διαχειρίζεται τη Βάση Δεδομένων με τις εσωτερικές του λειτουργίες που διαθέτει και βασίζονται σε σχέσεις (πίνακες). Δεν θα πρέπει να διαθέτει λειτουργία ή εργαλείο που δεν θα βασίζεται στη Σχεσιακή Άλγεβρα για να επιτύχει κάποια από τις λειτουργίες διαχείρισης των δεδομένων. Κανόνας 2: Δεν θα μπορεί να χρησιμοποιηθεί κάποια γλώσσα προγραμματισμού (χαμηλού επιπέδου) για προσπέλαση στα δεδομένα της Βάσης Δεδομένων. Η προσπέλαση στη Βάση Δεδομένων ελέγχεται από το Σ.Δ.Β.Δ. 40

Κανόνες Κανόνας 1: Όλες οι πληροφορίες και τα μετα-δεδομένα αναπαριστώνται στο λογικό επίπεδο με τιμές σε πίνακες. Κανόνας 6: Αν μια όψη (εικονικός πίνακας) με βάση τον σχεδιασμό μπορεί να ενημερώνεται και μεταβάλλεται τότε το ΣΔΣΒΔ θα πρέπει να το υποστηρίζει. Κανόνας 3: Οι τιμές Null υποστηρίζονται από το Σ.Δ.Β.Δ. και αναπαρριστούν χαμένες τιμές η περιπτώσεις που δεν έχουμε διαθέσιμες τιμές ανεξάρτητα από τον τύπο των δεδομένων. Κανόνας 10: Οι περιορισμοί της ακεραιότητας είναι αντικείμενο που διαχειρίζεται το Σ.Δ.Β.Δ. ή καθορίζεται εσωτερικά στη Β.Δ. και δεν πρέπει να αποτελεί μέρος της εφαρμογής του λογισμικού διεπαφής 41

Κανόνες (2) Κανόνας 2: Κάθε datum (ατομική τιμή) σε μια Σχεσιακή Βάση Δεδομένων θα είναι λογικά προσπελάσιμη μέσω ενός συνδυασμού που περλαμβάνει το όνομα του πινακα, την τιμή του πρωτεύοντος κλειδιού και το όνομα του χαρακτηριστικού. Κανόνας 4: Η περιγραφή της Βάσης Δεδομένων αντιπροσωπεύεται σε λογικό επίπεδο με τον ίδιο τρόπο με τα κανονικά δεδομένα, έτσι ώστε οι χειριστές με τα κατάλληλα προνόμια να εφαρμόζουν την ίδια διαδικασία επεξεργασίας όπως ακριβώς στα κανονικά δεδομένα. Κανόνας 5: Το Συστημα Διαχείρισης Σχεσιακών Βάσεων Δεδομένων μπορεί να υποστηρίζει πολλές γλώσσες. Θα πρέπει να έχει μια γλώσσα για: α) Ορισμό των Δεδομένων, β) Ορισμό των όψεων, γ) Επεξεργασία διαχείριση των δεδομένων, δ) Θέση συνθηκών ακεραιότητας, ε) καθορισμό αρμοδιοτήτων στους χειριστές και στ) διαχείριση των ορίων των συναλλαγών. Κανόνας 7: Δυνατότητα να έχουμε προσπέλαση, εισαγωγή νέων εγγραφών, μεταβολή και διαγραφή σε κάθε βασική σχέση ή σχέση που προκύπτει από άλλες βασικές. 42

Κανόνες (3) Kανόνας 8: Οι εφαρμογές λογισμικού διεπαφής δεν έχουν επιπτώσεις όταν συμβούν αλλαγές στον τρόπο καταχώρησης των δεδομένων ή στην μέθοδο προσπέλασης στη Βάση Δεδομένων. Κανόνας 9: Οι εφαρμογές λογισμικού διεπαφής δεν θα έχουν επιπτώσεις όταν συμβούν αλλαγές στις αρμοδιότητες των χρηστών στις Βασικές Σχέσεις στη Βάση Δεδομένων. Κανόνας 11: Δεν θα πρέπει να υπάρχουν αλλαγές στις εντολές διαχείρισης των δεδομένων (DML) και τα προγραμματα διεπαφής θα πρέπει να λειτουργού το ίδιο είτε η Βάση Δεδομένων είναι κεντρική είτε κατανεμημένη. 43

Ασκήσεις (1) Άσκηση 1: Δίνεται η παρακάτω Βάση Δεδομένων για τους Ασθενείς ενός ΠολυΙατρείου (Ασθενείς, Ιατροί, Γνωματεύσεις, Ειδικότητες ιατρών) Ποιά είναι τα πρωτεύοντα κλειδιά και ποια είναι τα ξένα κλειδία στους πίνακες της Βάσης Δεδομένων; Αιτιολογήστε την απάντησή σας. Περιγράψτε τους κανόνες ακεραιότητας και αναφοράς που ισχύουν για την συγκεκριμένη Βάση Δεδομένων Ποιείς είναι οι περιπτώσεις που δεν ικανοποιούνται οι κανονες ακεραιότητας στη Βάση Δεδομένων με βάση τα καταχωρημένα Δεδομένα; Pcode PName Padress Birthday p001 Γεωργίου Γ. Ανθέων 20, Αθήνα 10/3/1965 p004 Νικολάου Ν. Κήπων 42, Περιστέρι 18/5/1955 Σπύρου Σ. Πάτρας 12, Αθήνα 20/1/1960 p124 Πέτρου Π, Ανθέων 42, Αθήνα 10/11/1972 Εξετάσεις - Γνωματεύσεις Ασθενείς Ιατροί Dcode Dname Speciality Δ001 Ιατρίδης Α. Α1 Δ003 Μάρκου Μ Α2 Δ004 Παύλου Π. Α3 Ειδικότητες Ιατρών Pcode Dcode DateofAdm Advice Cure p001 Δ001 10/3/2012 Νεφρολιθίαση Χειρουργείο p004 Δ002 20/9/2013 Πρεσβειοπεία 2 βαθμών γυαλιά οράσεων p124 Δ003 14/2/2103 Κρυολόγημα Αντιβίωση p009 Δ001 10/3/2012 Κυστίτιδα Χειρουργείο Dspec A1 Α2 Α3 Α4 Speciality Χειρούργος Οφθαλμίατρος Δερματολόγος Παθολόγος 44

Ασκήσεις - Επίλυση (1) Άσκηση 1: Δίνεταιη παρακάτω Βάση Δεδομένων για τους Ασθενείς ενός ΠολυΙατρείου (Ασθενείς, Ιατροί, Γνωματεύσεις, Ειδικότητες ιατρών) Ποια είναιτα πρωτεύοντα κλειδιά και ποια είναι τα ξένα κλειδία στους πίνακες της Βάσης Δεδομένων; Αιτιολογήστε την απάντησή σας. Περιγράψτε τους κανόνες ακεραιότητας και αναφοράς που ισχύουν για την συγκεκριμένη Βάση Δεδομένων Ποιες είναι οι περιπτώσεις που δεν ικανοποιούνται οι κανονες ακεραιότητας στη Βάση Δεδομένων με βάση τα καταχωρημένα Δεδομένα; PCode Dcode Pcode PName Padress Birthday p001 Γεωργίου Γ. Ανθέων 20, Αθήνα 10/3/1965 p004 Νικολάου Ν. Κήπων 42, Περιστέρι 18/5/1955 Σπύρου Σ. Πάτρας 12, Αθήνα 20/1/1960 p124 Πέτρου Π, Ανθέων 42, Αθήνα 10/11/1972 Pcode + Dcode, DateofAdm Dcode Dname Speciality Δ001 Ιατρίδης Α. Α1 Δ003 Μάρκου Μ Α2 Δ004 Παύλου Π. Α3 Dspec Pcode Dcode DateofAdm Advice Cure p001 Δ001 10/3/2012 Νεφρολιθίαση Χειρουργείο p004 Δ002 20/9/2013 Πρεσβειοπεία 2 βαθμών γυαλιά οράσεων p124 Δ003 14/2/2103 Κρυολόγημα Αντιβίωση p009 Δ001 10/3/2012 Κυστίτιδα Χειρουργείο Dspec A1 Α2 Α3 Α4 Speciality Χειρούργος Οφθαλμίατρος Δερματολόγος Παθολόγος 45

Ασκήσεις (2) Άσκηση 2: Κατασκευάστε ένα απλοποιημένο Σχήμα της Βάσης Δεδομένων για τη διαχείριση των δεδομένων που αφορούν ενα οικογενειακό δέντρο. Παροουσιάστε τον τρόπο ώστε τα δεδομένα που αφορούν τις οικογενειακές σχέσεις να μπορουν να αποτυπωθούν σε ένα Σχεσιακό Σχήμα Βάσης Δεδομένων. Ποιές είναι οι δυσκολίες που αντιμετωπίζετε στο σχεδιασμό αυτής της Βάσης Δεδομένων; Σε ποιές περιπτώσεις θα χρειαστεί να χρησιμοποιείσετε τιμές null; Ποιές είναι οι λύσεις που δίνονται με τη χρήση των κενών (null); 46

Ασκήσεις (2) Επίλυση Kod Fname Lname DateofBirth DateofDeth Φύλο 1 Γεωργίου Γεώργιος 3/3/1932 10/4/2009 Άρρεν 2 Γεωργίου Μαρία 6/8/1938.Θήλυ 3 Γεωργίου Νίκόλαος 10/10/1970 Άρρεν 4 Γεωργίου Γεώργιος 9/8/2008 Άρρεν 5 Νικολάου Αικατερίνη 9/22/1942 Θήλυ Kod1 Kod2 TypeOfRelation 1 1 Σύζυγος 1 3 Τέκνο 2 3 Τέκνο 3 4 Τέκνο 1 5 Σύζυγος Πεδίο Τιμών: { Σύζυγος, Τέκνο } 47

Ασκήσεις (3) Άσκηση 3: Κατασκευάστε ένα απλοποιημένο Σχήμα της Βάσης Δεδομένων για τη διαχείριση των δεδομένων του ωρολογίου προγράμματος μαθημάτων ενός τμήματος ΑΕΙ. Στο ωρολόγιο πρόγραμμα θα περιλαμβάνονται τα μαθήματα, οι ημέρες της εβδομάδας, οι αίθουσες διδασκαλίας και οι προγραμματισμένες ώρες για το μάθημα. Ποιοι είναι οι οι κανονες ακεραιότητας αναφοράς που θα περιλαμβάνονται στο Σχήμα της Βάση Δεδομένων που σχεδιάσατε; Ποιοι είναι οι κανόνες που θα πρέπει να περιλαμβάνονται στη Βάση Δεδομένων και οι οποίοι αφορούν την συγκεκριμένη περίπτωση; 48

Ασκήσεις (4) Άσκηση 4: Δίδεται το παρακάτω Σχήμα Β.Δ. των κρατήσεων δωματίων ενός Ξενοδοχείου Ποιό είναι το πρωτεύων κλειδί των Πινάκων Κρατήσεις και Πελάτες Ποιά μπορεί να είναι τα εναλλακτικά κλειδία στον Πίνακα Πελάτες Ποιές είναι οι συνθήκες ακεραιότητας οντότητας και αναφοράς για την συγκεκριμμένη Βάση Δεδομένων. 49

Ασκήσεις (4) (2) Πελάτες Hroom Description Dprise 101 Διπλό Α ορόφου - θέα στον κήπο 100 102 Διπλό Α ορόφου 90 103 Μονόκλινο Α ορόφου 70 104 Σουίτα Α ορόφου 130 201 Διπλό Β ορόφου - θέα στον κήπο 110 202 Διπλό Β ορόφου 100 204 Μονόκλινο ορόφου 70 301 Διπλό Γ ορόφου 100 302 Μονόκλινο Γ ορόφου 70 303 Σουίτα Γ ορόφου 140 Δωμάτια Κρατήσεις Ccode Cname Address ΑΜΚΑ 1001 Γεωργίου Γ Ανθέων 20, Αθήνα 1002199023 1002 Πέτρου Π. Παρασκευά 20, Πάτρα 2004809099 1003 Παύλου Π Κορίνθου 7, Λάρισα 1109959000 1004 Δημητρίου Δ Φεραίου 20, Βόλος 2808194091 1005 Νικολάου Ν Πάτρας 20, Κόρινθος 1004200398 1006 Σταύρου Σ. Βόλου 45, Αθήνα\ 1711197390 1007 Σωτηρίου Σ Κυψέελης 120, Αθήνα 1812196089 1008 Αθανασίου Α Τήνου 103, Σπάρτη 1002187568 1009 Προκοπίου Π. Πάρου 88, Αθήνα 2306196590 Ccode Croom DateCheckIn DateCheckout 1001 101 2/3/2012 4/3/2012 1003 202 4/5/2012 5/5/2012 1004 103 7/8/2012 12/8/2012 1001 301 6/7/2011 20/7/2011 1007 303 3/4/2013 12/4/2013 1005 201 7/11/2012 11/11/2012 1001 302 24/12/2012 2/1/2013 1004 203 18/12/2012 4/1/2013 50

Τέλος Ενότητας