Κωδικός Διαφανειών: MKT119 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Εργαστήριο Πληροφορικής Βάσεις Δεδομένων & Έμπειρα Συστήματα Κωδικός Μαθήματος Τμήμα Βιοτεχνολογίας : 405 Τμήμα Οικονομίας: 645 Τμήμα ΑΦΠ/ΓΜ Κωδικός Διαφανειών: MKT119 Καθηγητής Νίκος Λορέντζος
4. Επιλεγμένα Θέματα ΒΔ Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Εργαστήριο Πληροφορικής 4. Επιλεγμένα Θέματα ΒΔ Καθηγητής Νίκος Λορέντζος
Κατάλογος ή Λεξικό ΒΔ CREATE TABLE FARMAKO (KF Integer, Onoma Char(15), Morphi Char(18), Adeia Integer, Hmer Date, KFB Integer, PRIMARY KEY (KF)) USERS U2 U1 ON ?s:a>?n%5#7$ ucx!|<%$#@? User_Password Georgiou Antoniou User_Name COLUMNS Date 5 FARMAKO Hmer Integer 6 KFB 2 DOSOL KK 1 KF Char(20) Char(18) Char(15) Data_Type Table Dial Adeia Morphi Onoma Name 3 4 Primary_Key ON TABLES_VIEWS View Table Type U1 Owner KAT DOSOL FARMAKO SKEYASMA KAL BIOM Name
Κατάλογος ή Λεξικό ΒΔ Είναι μια ΒΔ του ΣΔΒΔ. Δημιουργείται ένας Κατάλογος (Λεξικό), για κάθε ΒΔ που ορίζει ο Διαχειριστής της ΒΔ. Περιέχει στοιχεία που είναι απαραίτητα στο ΣΔΒΔ, για να μπορέσει να διαχειρισθεί τη ΒΔ που ορίζει ο Διαχειριστής.
Κατάλογος ή Λεξικό ΒΔ SELECT Onoma, Morphi FROM FARMAKO WHERE Hmer > '15/05/1990' USERS U2 U1 ON ?s:a>?n%5#7$ ucx!|<%$#@? User_Password Georgiou Antoniou User_Name INSERT … DELETE … UPDATE … COLUMNS Date 5 FARMAKO Hmer Integer 6 KFB 2 DOSOL KK 1 KF Char(20 Char(18) Char(15) Data_Type Table Dial Adeia Morphi Onoma Name 3 4 Primary_Key ON TABLES_VIEWS View Table Type U1 Owner KAT DOSOL FARMAKO Q39_2_VIEW KAL BIOM Name
Κατάλογος ή Λεξικό ΒΔ - Μπορούμε να δούμε το περιεχόμενο του Καταλόγου; USERS U2 U1 ON ?s:a>?n%5#7$ ucx!|<%$#@? User_Password Georgiou Antoniou User_Name - Μπορούμε να αλλοιώσουμε το περιεχόμενο του Καταλόγου; COLUMNS Date 5 FARMAKO Hmer Integer 6 KFB 2 DOSOL KK 1 KF Char(20 Char(18) Char(15) Data_Type Table Dial Adeia Morphi Onoma Name 3 4 Primary_Key ON TABLES_VIEWS View Table Type U1 Owner KAT DOSOL FARMAKO Q39_2_VIEW KAL BIOM Name
Όψη (View) [Q39_2_VIEW] BIOM Αντωνιου Αθηνα Φαρμακευτικη 1 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Tel Ypef Edra Eponimia KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 ΒΙΦΑΡ Ε.Π.Ε Σκονη Cupravit 7 ΦΑΡΛΙΠ Α.Ε. Υγρο Folimat 5 Selinon 3 Φαρμακευτικη Κοκκωδης Nemacur 2 Morestan 1 Paraskeuastis Morphi Farmako KF FARMAKO 3 10/03/1999 210 Σκονη Cupravit 7 2 20/06/1998 435 Υγρο Folimat 5 02/03/1998 310 Selinon 1 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF Δώσε τον κωδικό του φαρμάκου, το όνομα, τη μορφή στην οποία κυκλοφορεί και το όνομα της φαρμακοβιομηχανίας που το παράγει. SELECT KF, Onoma AS Farmako, Morphi, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F WHERE F.KFB = B.KFB;
Ερωτήσεις σε Ερωτήσεις [Q40-2, Q41-2] Q39_2_VIEW ΒΙΦΑΡ Ε.Π.Ε Σκονη Cupravit 7 ΦΑΡΛΙΠ Α.Ε. Υγρο Folimat 5 Selinon 3 Φαρμακευτικη Κοκκωδης Nemacur 2 Morestan 1 Paraskeuastis Morphi Farmako KF Morestan Φαρμακευτικη Nemacur Selinon ΦΑΡΛΙΠ Α.Ε. Folimat Cupravit ΒΙΦΑΡ Ε.Π.Ε SELECT Farmako, Paraskeuastis FROM Q39_2_VIEW; SELECT Farmako, Lektiko, Paraskeuastis FROM Q39_2_VIEW AS S, DOSOL AS D, KAT AS K WHERE S.KF = D.KF AND D.KK = K.KK AND Lektiko = 'Μηλοειδη'; ACCESS SQL: Lektiko = "Μηλοειδη" ή Lektiko = 'Μηλοειδη'
Όψη (View) Όψη: Ερώτηση που χρησιμοποιείται όπως ένας πίνακας, για τη διατύπωση ερωτήσεων. Είναι ένας ιδεατός (όχι πραγματικός) πίνακας. BIOM Αντωνιου Αθηνα Φαρμακευτικη 1 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Tel Ypef Edra Eponimia KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 Q39_2_VIEW ΒΙΦΑΡ Ε.Π.Ε Σκονη Cupravit 7 ΦΑΡΛΙΠ Α.Ε. Υγρο Folimat 5 Selinon 3 Φαρμακευτικη Κοκκωδης Nemacur 2 Morestan 1 Paraskeuastis Morphi Farmako KF FARMAKO 3 10/03/1999 210 Σκονη Cupravit 7 2 20/06/1998 435 Υγρο Folimat 5 02/03/1998 310 Selinon 1 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF Ορισμός Όψης σε SQL CREATE VIEW Q39_2_VIEW AS SELECT KF, Onoma AS Farmako, Morphi, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F WHERE F.KFB=B.KFB
Πλεονεκτήματα Όψης Ασφάλεια Δεδομένων: Περιορίζουμε το χρήστη, ώστε να βλέπει μόνο εκείνα τα δεδομένα που του είναι απαραίτητα (ενδεχόμενα κάτω από νέα ονόματα). BIOM Αντωνιου Αθηνα Φαρμακευτικη 1 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Tel Ypef Edra Eponimia KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 Q39_2_VIEW ΒΙΦΑΡ Ε.Π.Ε Σκονη Cupravit 7 ΦΑΡΛΙΠ Α.Ε. Υγρο Folimat 5 Selinon 3 Φαρμακευτικη Κοκκωδης Nemacur 2 Morestan 1 Paraskeuastis Morphi Farmako KF FARMAKO 3 10/03/1999 210 Σκονη Cupravit 7 2 20/06/1998 435 Υγρο Folimat 5 02/03/1998 310 Selinon 1 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF
Πλεονεκτήματα Όψης 2. Απλούστερη διατύπωση ερωτήσεων 2. Απλούστερη διατύπωση ερωτήσεων Πριν τη δημιουργία της όψης SELECT KF, Onoma AS Farmako, Morphi, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F WHERE F.KFB = B.KFB; Μετά τη δημιουργία της όψης SELECT Farmako, Paraskeuastis FROM Q39_2_VIEW; 3. Ίδια δεδομένα κάτω από διαφορετικά ονόματα 4. Δεδομένα σε διαφορετική μορφή (Λογική Ανεξαρτησία Δεδομένων)
Ενέργειες ΣΔΒΔ όταν ορίζεται μια Όψη CREATE VIEW Q39_2_VIEW AS SELECT KF, Onoma AS Farmako, Morphi, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F WHERE B.KFB = F.KFB Ενημερώνει το Λεξικό του. TABLES-VIEWS View Table Type U1 Owner KAT DOSOL FARMAKO Q39_2_VIEW KAL BIOM Name VIEW_DEFINITION SELECT KF, Onoma AS Farmako, Morphi, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F WHERE B.KFB = F.KFB View_Code Q39_2_VIEW View_Name
Ενέργειες ΣΔΒΔ για την Απάντηση Ερώτησης Ερώτηση χρήστη SELECT Farmako, Lektiko, Paraskeuastis FROM Q39_2_VIEW AS S, DOSOL AS D, KAT AS K WHERE S.KF = D.KF AND D.KK = K.KK AND Lektiko = 'Μηλοειδη' Ενέργειες ΣΔΒΔ 1. Βρίσκει τον ορισμό της Όψης στο λεξικό του. VIEW_DEFINITION SELECT KF, Onoma AS Farmako, Morphi, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F WHERE B.KFB=F.KFB View_Code Q39_2_VIEW View_Name 2. Συνδυάζει την ερώτηση του χρήστη με την ερώτηση του λεξικού, σε μια νέα, ισοδύναμη ερώτηση. SELECT Onoma AS Farmako, Lektiko, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F, DOSOL AS D, KAT AS K WHERE B.KFB = F.KFB AND F.KF = D.KF AND D.KK = K.KK AND Lektiko= 'Μηλοειδη' 3. Εκτελεί την ισοδύναμη ερώτηση.
Όψη Μπορούμε σε μια Όψη να κάνουμε Εισαγωγή, Διαγραφή, Τροποποίηση Δεδομένων; VIEW_DEFINITION SELECT KF, Onoma AS Farmako, Morphi, Eponimia AS Paraskeuastis FROM BIOM AS B, FARMAKO AS F WHERE B.KFB=F.KFB View_Code Q39_2_VIEW View_Name Μπορούμε μέσω της Όψης να κάνουμε Εισαγωγή, Διαγραφή, Τροποποίηση Δεδομένων των συναφών πινάκων; FARMAKO 3 10/03/1999 210 Σκονη Cupravit 7 2 20/06/1998 435 Υγρο Folimat 5 02/03/1998 310 Selinon 1 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF BIOM Αντωνιου Αθηνα Φαρμακευτικη 1 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Tel Ypef Edra Eponimia KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3
Ημερολόγιο ΣΔΒΔ Ενδεικτικά Αρχείο στο οποίο το ΣΔΒΔ καταχωρίζει στοιχεία που σχετίζονται με την πρόσβαση στη ΒΔ και των γεγονότων που λαμβάνουν χώρα. Ενδεικτικά - Ώρα εισόδου στη ΒΔ - Ποιος - Από ποιό τερματικό - Τι έκανε: Ποια εισαγωγή, διαγραφή, τροποποίηση (δεδομένα πριν, δεδομένα μετά) και τι ώρα - Απόπειρα εκτέλεσης ενεργειών που δεν του επιτρέπονται και τι ώρα. - Ώρα εξόδου από τη ΒΔ.
Λήψη Αντιγράφων ΒΔ Συνολικό Αντίγραφο - Αντίγραφο όλης της ΒΔ. - Λαμβάνεται περιοδικά. - Λαμβάνονται τουλάχιστον δυο αντίγραφα, εκ των οποίων το ένα φυλάσσεται σε άλλο χώρο. Γιατί; 2. Αυξητικό Αντίγραφο - Αντίγραφο του περιεχομένου της ΒΔ που αλλοιώθηκε (εισαγωγή, διαγραφή, τροποποίηση) στη διάρκεια της ημέρας. - Λαμβάνεται στο τέλος κάθε ημέρας. Σημειώσεις Στη διάρκεια λήψης αντιγράφων, μόνο ο Διαχειριστής της ΒΔ έχει πρόσβαση στη ΒΔ. Γιατί; Πώς επιτυγχάνεται; Επίσης, λαμβάνεται αντίγραφο του Ημερολογίου της ΒΔ. Γιατί;
Λήψη Αντιγράφων ΒΔ Διαδικασία λήψης αντιγράφων ημ0 ημ1 ημ2 ημ3 ημν-1 … ΣΑ ημ1 i1 ημ2 i2 ημ3 i3 ημν-1 iν-1 … ΒΔ Η/Υ i1 Λήψη Συνολικού Αντιγράφου, την ημέρα ημ0 Λήψη Αυξητικών Αντιγράφων στο τέλος των ημερών ημ1, ημ2, ημ3, …, ημν-1
Λήψη Αντιγράφων ΒΔ Καταστροφή της ΒΔ στη διάρκεια ενημέρωσής της, την ημέρα ημν ημν-1 iν-1 ημ0 ΣΑ … ημ1 i1 ημ2 i2 ημ3 i3 ημν Η/Υ H/Y i1 ΒΔ Δ Β
Λήψη Αντιγράφων ΒΔ Επαναφορά της ΒΔ σε συνεπή κατάσταση ημ0 ημ1 ημ1 ΣΑ ημ1 i1 ημ1 i1 ημ2 i2 ημ3 i3 ημν-1 iν-1 … Η/Υ i1 ΣΑ i1 i2 i3 … iν-1 Φόρτωση Συνολικού Αντιγράφου της ημέρας ημ0 Ενημέρωση με Αυξητικά Αντίγραφα των ημερών ημ1, ημ2, ημ3, …, ημν-1 Επανάληψη διαδικασιών ενημέρωσης της ΒΔ με τις δοσοληψίες της ημέρας ημν
Συμπληρωματικά Μέτρα Ασφάλειας της ΒΔ Λήψη αντιγράφων της ΒΔ Σύστημα Αδιάλειπτης Λειτουργίας (UPS)
Πλεονεκτήματα ΣΔΒΔ Οικονομία στα μέσα αποθήκευσης Εξάλειψη πλεοναζόντων στοιχείων Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ Εξάλειψη ασυμβατότητας των δεδομένων Διασφάλιση ακεραιότητας δεδομένων Υψηλός βαθμός ασφαλείας δεδομένων Ανεξαρτησία δεδομένων Ευκολία στην ανάπτυξη εφαρμογών Διευκόλυνση εισαγωγής προτύπων Συμβιβασμός απαιτήσεων χρηστών
Παραδοσιακά Πληροφοριακά Σύστηματα ΔΙΕΥΘΥΝΣΗ ΣΠΟΥΔΩΝ ΚΑΘΗΓΗΤΗΣ(ΚΚ, Ειδικότητα) Όνομα, Επώνυμο, ΜΑΘΗΜΑΤΑ – μαθήματα που διδάσκονται ΔΙΔΑΣΚΑΛΙΑ – ποιος διδάσκει τι. ΦΟΙΤΗΤΕΣ – στοιχεία φοιτητών ΒΑΘΜΟΛΟΓΙΑ – ποιος φοιτητής πήρε τι βαθμό, σε ποιο μάθημα, πότε. … ΔΙΕΥΘΥΝΣΗ ΠΡΟΣΩΠΙΚΟΥ ΚΑΘΗΓΗΤΗΣ(ΚΚ, Βαθμίδα) Όνομα, Επώνυμο, ΠΡΟΫΠΗΡΕΣΙΑ – Έτη υπηρεσίας σε κάθε βαθμίδα … ΔΙΕΥΘΥΝΣΗ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΘΗΓΗΤΗΣ(ΚΚ, Ακαθάριστα, Κρατήσεις) Όνομα, Επώνυμο, … Προβλήματα Επανάληψη δεδομένων Επανάληψη διαδικασιών συντήρησης της ΒΔ Ασυμβατότητα δεδομένων
Σύστημα Διαχείρισης Βάσης Δεδομένων Αντιμετώπιση Προβλημάτων Συγκέντρωση και ταυτόχρονος καταμερισμός δεδομένων. ΚΑΘΗΓΗΤΗΣ(ΚΚ, Όνομα, Επώνυμο, Ειδικότητα, Βαθμίδα, Ακαθάριστα, Κρατήσεις) ΠΡΟΫΠΗΡΕΣΙΑ – Έτη υπηρεσίας σε κάθε βαθμίδα ΜΑΘΗΜΑΤΑ – Μαθήματα που διδάσκονται ΔΙΔΑΣΚΑΛΙΑ - Ποιος διδάσκει, Τι. ΦΟΙΤΗΤΕΣ – Στοιχεία φοιτητών. ΒΑΘΜΟΛΟΓΙΑ – Ποιος φοιτητής πήρε Τι βαθμό, σε Ποιο μάθημα, Πότε. …
Πλεονεκτήματα ΣΔΒΔ Οικονομία στα μέσα αποθήκευσης Εξάλειψη πλεοναζόντων στοιχείων Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ Εξάλειψη ασυμβατότητας των δεδομένων Διασφάλιση ακεραιότητας δεδομένων Υψηλός βαθμός ασφαλείας δεδομένων Ανεξαρτησία δεδομένων Ευκολία στην ανάπτυξη εφαρμογών Διευκόλυνση εισαγωγής προτύπων Συμβιβασμός απαιτήσεων χρηστών
Ακεραιότητα ΒΔ Η διασφάλιση καταχώρησης δεδομένων που ικανοποιούν τις προδιαγραφές της ΒΔ. CREATE TABLE FARMAKO [94] (KF Integer, Onoma Char(15), Morphi Char(18), Adeia Integer, Hmer Date, KFB Integer, PRIMARY KEY (KF), FOREIGN KEY (KFB) REFERENCES BIOM(KFB)) Ακεραιότητα τύπων δεδομένων Ακεραιότητα επιτρεπτών τιμών (συνεχείς, διακριτές τιμές) Ακεραιότητα ιδιοτήτων πρωτεύοντος κλειδίου (γνωστό, μοναδικό) Αναφορική ακεραιότητα Ορισμός πρόσθετων περιορισμών ακεραιότητας με ΓΟΔ ή Πρόγραμμα Χωρίς το ΣΔΒΔ, ο Προγραμματιστής πρέπει να προβλέπει όλους τους παραπάνω ελέγχους, σε κάθε πρόγραμμα εισαγωγής/τροποποίησης δεδομένων.
Πλεονεκτήματα ΣΔΒΔ Οικονομία στα μέσα αποθήκευσης Εξάλειψη πλεοναζόντων στοιχείων Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ Εξάλειψη ασυμβατότητας των δεδομένων Διασφάλιση ακεραιότητας δεδομένων Υψηλός βαθμός ασφαλείας δεδομένων Ανεξαρτησία δεδομένων Ευκολία στην ανάπτυξη εφαρμογών Διευκόλυνση εισαγωγής προτύπων Συμβιβασμός απαιτήσεων χρηστών
Ασφάλεια ΒΔ Προληπτικοί Έλεγχοι 0. Όνομα και Κωδικός Χρήστη για πρόσβαση στον Η/Υ Όνομα και Κωδικός Χρήστη για προσπέλαση της ΒΔ Περιορισμοί πρόσβασης που επιβάλλονται με τις Όψεις Παροχή/Αφαίρεση προνομίων πρόσβασης από τον Διαχειριστή της ΒΔ (Στην SQL, εντολές GRANT/REVOKE) Ενδεικτικά - Για ανάκτηση δεδομένων - Για αλλοίωση δεδομένων (εισαγωγή, διαγραφή, τροποποίηση) 4. Λήψη αντιγράφων ΒΔ 5. Κρυπτογράφηση δεδομένων Αποτρεπτικός Έλεγχος Ημερολόγιο Πώς αντιδρά το ΣΔΒΔ όταν διαπιστωθεί απόπειρα παραβίασης της ΒΔ; Έχουμε πλήρη κάλυψη από απόπειρα παραβίασης της ΒΔ;
Πλεονεκτήματα ΣΔΒΔ Οικονομία στα μέσα αποθήκευσης Εξάλειψη πλεοναζόντων στοιχείων Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ Εξάλειψη ασυμβατότητας των δεδομένων Διασφάλιση ακεραιότητας δεδομένων Υψηλός βαθμός ασφαλείας δεδομένων Ανεξαρτησία δεδομένων Ευκολία στην ανάπτυξη εφαρμογών Διευκόλυνση εισαγωγής προτύπων Συμβιβασμός απαιτήσεων χρηστών
Ανεξαρτησία δεδομένων Η αλλαγή του τρόπου δόμησης των δεδομένων στο φυσικό επίπεδο χωρίς την ανάγκη της ταυτόχρονης αλλαγής των προγραμμάτων διαχείρισης της ΒΔ.
Κατάκλιση Γλώσσας 4ης Γενιάς σε Γλώσσα 3ης Εντολές σε Γ3Γ σε Γ4Γ Εντολές σε Γ3Γ Εντολές σε Γ1Γ Προμεταφραστής Μεταφραστής Γλώσσες 1ης Γενιάς (Γ1Γ): Γλώσσες Μηχανής Μεταφραστικά Προγράμματα: Μεταφράζουν σε Γλώσσα Μηχανής. Γλώσσες 3ης Γενιάς (Γ3Γ): C, C++, BASIC, PASCAL, FORTRAN, … Γλώσσες 4ης Γενιάς (Γ4Γ): SQL, QUEL …