Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Κωδικός Διαφανειών: MKT119
Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Εργαστήριο Πληροφορικής Βάσεις Δεδομένων & Έμπειρα Συστήματα Κωδικός Μαθήματος Τμήμα Βιοτεχνολογίας : 405 Τμήμα Οικονομίας: Τμήμα ΑΦΠ/ΓΜ Κωδικός Διαφανειών: MKT119 Καθηγητής Νίκος Λορέντζος
2
2. Σχεσιακό Μοντέλο Γιατί πίνακες;;; Γεωπονικό Πανεπιστήμιο Αθηνών
Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Εργαστήριο Πληροφορικής 2. Σχεσιακό Μοντέλο Γιατί πίνακες;;; Καθηγητής Νίκος Λορέντζος
3
Ορολογία ΒΔ SQL ΜΗΧΑΝΟΓΡΑΦΗΣΗ Σχέση Πίνακας Αρχείο Γνώρισμα Στήλη
ΚΑΘΗΓΗΤΗΣ ΙΩΑΝΝΟΥ ΙΩΑΝΝΗΣ Κ3 ΓΕΩΡΓΙΟΥ ΓΕΩΡΓΙΟΣ Κ2 ΑΝΤΩΝΙΟΥ ΑΝΤΩΝΙΟΣ Κ1 ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΚ ΒΔ SQL ΜΗΧΑΝΟΓΡΑΦΗΣΗ Σχέση Πίνακας Αρχείο Γνώρισμα Στήλη Πεδίο Πλειάδα Γραμμή Εγγραφή
4
Διαχείριση Βάσης Δεδομένων
Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Γλώσσες: SQL, QBE, QUEL, …
5
2.1 Σχεσιακή Άλγεβρα
6
Σχεσιακή Βάση Δεδομένων Φαρμάκων
BIOM Αντωνιου Αθηνα Φαρμακευτικη 1 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Tel Ypef Edra Eponimia KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 FARMAKO 10/03/1999 210 Σκονη Cupravit 7 20/06/1998 435 Υγρο Folimat 5 02/03/1998 310 Selinon 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan Hmer Adeia Morphi Onoma KF KAT Λαχανικα Εσπεριδοειδη Μηλοειδη Lektiko KK KAL Μαρουλι 6 Λαχανο Μανταρινια 4 Πορτοκαλια Αχλαδια Μηλια KL DOSOL 400gr/100lit 350gr/100lit 125cc/100lit 120cc/100lit 600cc/100lit 35gr/m2 40gr/100lit 50gr/100lit 30gr/100lit Dial
7
Δημιουργία Πίνακα ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ)
- Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων Παραδοχή Σχεσιακής Άλγεβρας Οι πίνακες υπάρχουν (δεν διαθέτει ΓΟΔ).
8
Πρόσθετη Παραδοχή Σε ένα πίνακα, κάθε εγγραφή (πλειάδα) εμφανίζεται ακριβώς μια φορά.
9
Ανάκτηση Δεδομένων ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ)
- Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων
10
Ανάκτηση Δεδομένων Θεμελιώδεις Πράξεις Παράγωγες Πράξεις Επιλογή
Ένωση (Από Θεωρία Συνόλων) Διαφορά (Από Θεωρία Συνόλων) Προβολή (Από Θεωρία Συνόλων) Καρτεσιανό Γινόμενο (Από Θεωρία Συνόλων) Παράγωγες Πράξεις 6. Σύνδεση 7. Τομή …
11
Πράξη ΕΠΙΛΟΓΗ 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 Ερώτηση: Δώσε τα στοιχεία των φαρμάκων της φαρμακοβιομηχανίας με κωδικό 1. R := ΕΠΙΛΟΓΗ[ KFB = 1 ](FARMAKO) R 1 15/4 /1998 420 Κοκκωδης Nemacur 2 13/5 /1997 523 Σκονη Morestan KFB Hmer Adeia Morphi Onoma KF
12
Πράξη ΕΠΙΛΟΓΗ 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 Ερώτηση: Δώσε τα στοιχεία των φαρμάκων που κυκλοφορούν σε σκόνη. R := ΕΠΙΛΟΓΗ[ Morphi = 'Σκόνη' ](FARMAKO) R 3 10/3 /1999 210 Σκονη Cupravit 7 1 13/5 /1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF
13
Πράξη ΕΠΙΛΟΓΗ 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 Ερώτηση: Δώσε τα στοιχεία των φαρμάκων της φαρμακοβιομηχανίας με κωδικό 1, που κυκλοφορούν σε σκόνη. R := ΕΠΙΛΟΓΗ[ KFB = 1 AND Morphi = 'Σκόνη' ](FARMAKO) R 1 13/5 /1997 523 Σκονη Morestan KFB Hmer Adeia Morphi Onoma KF
14
Λογικοί Τελεστές Πίνακες Αληθείας Παραδείγματα Συνθήκες (Προτάσεις)
σ1: p > 8 σ2: q < 3 Μια συνθήκη (πρόταση) είναι αποκλειστικά είτε Αληθής (True) είτε Ψευδής (False). Πίνακες Αληθείας σ1 σ2 σ1 AND σ2 σ1 OR σ2 False True σ NOT(σ) False True Παραδείγματα Τότε: σ1 AND σ2 είναι False σ1 OR σ2 είναι True NOT(σ1) είναι False Αν ισχύει: p = 12 q = 10
15
Πράξη ΕΠΙΛΟΓΗ Σύνοψη Τελεστές Σύγκρισης: <, <=, =, <>, >=, > π.χ. Onoma > 'Morestan' Adeia < 400 Λογικοί Τελεστές: AND, OR, NOT π.χ. KFB = 1 AND Morphi = 'Σκόνη' Χρήση Παρενθέσεων π.χ. NOT(KFB = 1 OR Morphi = 'Σκόνη') AND KF >=2
16
Πράξη ΠΡΟΒΟΛΗ Ιωαννου Αθηνα ΒΙΦΑΡ Ε.Π.Ε. 3 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Αντωνιου Φαρμακευτικη 1 Tel Ypef Edra Eponimia KF BIOM Ερώτηση: Δώσε τα ονόματα των φαρμακοβιομηχανιών και τους υπευθύνους τους. Ερώτηση: Δώσε τις έδρες των φαρμακοβιομηχανιών. B1 := ΠΡΟΒΟΛΗ[ Eponimia, Ypef ](BIOM) B2 := ΠΡΟΒΟΛΗ[ Edra ](BIOM) Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. Μακρης ΦΑΡΛΙΠ Α.Ε. Αντωνιου Φαρμακευτικη Ypef Eponimia B1 B2 Πειραιας Αθηνα Edra
17
Πράξη ΕΝΩΣΗ Φάρμακα που κυκλοφορούσαν το 2009.
1 15/04/1998 420 Κοκκώδης Nemacur 2 13/05/1997 523 Σκονη Morestan KFB Hmer Adeia Morphi Onoma KF FAR_2009 Φάρμακα που κυκλοφορούσαν το 2009. FAR_2010 3 30/06/2010 401 Σκονη 3Ε 9 2 20/06/2010 400 Υγρο AAA 8 1 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF Φάρμακα που κυκλοφορούσαν το 2010. FAR := FAR_2009 ΕΝΩΣΗ FAR_2010 3 30/06/2010 401 Σκονη 3E 9 2 20/06/2010 400 Υγρο AAA 8 1 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF FAR Ερώτηση Δώσε όλα τα στοιχεία των φαρμάκων που κυκλοφορούσαν στη διετία Απαίτηση: Σχέσεις συμβατές ως προς την Ένωση.
18
Σχέσεις Συμβατές ως προς την ΕΝΩΣΗ
Οι σχέσεις έχουν τα ίδια γνωρίσματα. Το πεδίο ορισμού κάθε γνωρίσματος της μιας σχέσης ταυτίζεται με εκείνο του αντιστοίχου γνωρίσματος της άλλης σχέσης.
19
Πράξη ΔΙΑΦΟΡΑ Φάρμακα που έχουν βγει σε κυκλοφορία μέχρι σήμερα.
3 30/06/2009 401 Σκονη 3E 9 2 02/03/1998 310 Υγρο Selinon 1 15/04/2011 420 Κοκκωδης Nemacur 13/05/2010 523 Morestan KFB Hmer Adeia Morphi Onoma KF FAR Φάρμακα που έχουν βγει σε κυκλοφορία μέχρι σήμερα. FAR_2009 3 30/06/2009 401 Σκονη 3Ε 9 2 20/06/2009 400 Υγρο AAA 8 02/03/1998 310 Selinon KFB Hmer Adeia Morphi Onoma KF Φάρμακα που είχαν βγει σε κυκλοφορία μέχρι το 2009. FAR := FAR ΔΙΑΦΟΡΑ FAR_2009 Ερώτηση Δώσε όλα τα στοιχεία των φαρμάκων που κυκλοφόρησαν μετά το 2009. 1 15/04/2011 420 Κοκκώδης Nemacur 2 13/05/2010 523 Σκονη Morestan KFB Hmer Adeia Morphi Onoma KF FAR Απαίτηση: Σχέσεις συμβατές ως προς την Ένωση.
20
Πράξη ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ
KAL 3 Μαρουλι 6 Λαχανο 5 2 Μανταρινια 4 Πορτοκαλια 1 Αχλαδια Μηλια KK Onoma KL KAT Λαχανικα 3 Εσπεριδοειδη 2 Μηλοειδη 1 Lektiko KK G Λαχανικα 3 Μαρουλι 6 Εσπεριδοειδη 2 Μηλοειδη 1 Λαχανο 5 Μανταρινια 4 Πορτοκαλια Αχλαδια Μηλια Lektiko KAT.KK KAL.KK Onoma KL Ερώτηση: Δώσε όλους τους συνδυασμούς των πλειάδων της KAL με εκείνες της KAT. G := KAL ΓΙΝΟΜΕΝΟ KAT
21
Πράξη ΣΥΝΔΕΣΗ R := KAL ΣΥΝΔΕΣΗ [ ΚAL.KK = KAT.KK ] KAT
3 Μαρουλι 6 Λαχανο 5 2 Μανταρινια 4 Πορτοκαλια 1 Αχλαδια Μηλια KK Onoma KL KAT Λαχανικα 3 Εσπεριδοειδη 2 Μηλοειδη 1 Lektiko KK R := KAL ΣΥΝΔΕΣΗ [ ΚAL.KK = KAT.KK ] KAT R Λαχανικα 3 Μαρουλι 6 Λαχανο 5 Εσπεριδοειδη 2 Μανταρινια 4 Πορτοκαλια Μηλοειδη 1 Αχλαδια Μηλια Lektiko KAT.KK KAL.KK Onoma KL Ερώτηση: Για κάθε κατηγορία καλλιέργειας, δώσε όλα της τα στοιχεία καθώς και όλα τα στοιχεία κάθε καλλιέργειας που ανήκει σ’ αυτήν την κατηγορία.
22
Πράξη ΣΥΝΔΕΣΗ (Βήμα 1) KAL 3 Μαρουλι 6 Λαχανο 5 2 Μανταρινια 4 Πορτοκαλια 1 Αχλαδια Μηλια KK Onoma KL KAT Λαχανικα 3 Εσπεριδοειδη 2 Μηλοειδη 1 Lektiko KK G Λαχανικα 3 Μαρουλι 6 Εσπεριδοειδη 2 Μηλοειδη 1 Λαχανο 5 Μανταρινια 4 Πορτοκαλια Αχλαδια Μηλια Lektiko KAT.KK KAL.KK Onoma KL Ερώτηση: Δώσε όλους τους συνδυασμούς των πλειάδων της KAL με εκείνες της KAT. G := KAL ΓΙΝΟΜΕΝΟ KAT
23
Πράξη ΣΥΝΔΕΣΗ (Βήμα 2) G Λαχανικα 3 Μαρουλι 6 Εσπεριδοειδη 2 Μηλοειδη 1 Λαχανο 5 Μανταρινια 4 Πορτοκαλια Αχλαδια Μηλια Lektiko KAT.KK KAL.KK Onoma KL Ερώτηση: Δώσε τις πλειάδες της G στις οποίες η τιμή του γνωρίσματος KAL.KK συμπίπτει με εκείνη του KAT.KK. R := ΕΠΙΛΟΓΗ[ ΚAL.KK = KAT.KK ](G) R Λαχανικα 3 Μαρουλι 6 Λαχανο 5 Εσπεριδοειδη 2 Μανταρινια 4 Πορτοκαλια Μηλοειδη 1 Αχλαδια Μηλια Lektiko KAT.KK KAL.KK Onoma KL
24
Πράξη ΣΥΝΔΕΣΗ (Ορισμός)
KAL 3 Μαρουλι 6 Λαχανο 5 2 Μανταρινια 4 Πορτοκαλια 1 Αχλαδια Μηλια KK Onoma KL KAT Λαχανικα 3 Εσπεριδοειδη 2 Μηλοειδη 1 Lektiko KK R Λαχανικα 3 Μαρουλι 6 Λαχανο 5 Εσπεριδοειδη 2 Μανταρινια 4 Πορτοκαλια Μηλοειδη 1 Αχλαδια Μηλια Lektiko KAT.KK KAL.KK Onoma KL Ορισμός R1 ΣΥΝΔΕΣΗ[ σ ] R2 ≡ ΕΠΙΛΟΓΗ[ σ ](R1 ΓΙΝΟΜΕΝΟ R2)
25
Πράξη ΣΥΝΔΕΣΗ KAL 3 Μαρουλι 6 Λαχανο 5 2 Μανταρινια 4 Πορτοκαλια 1 Αχλαδια Μηλια KK Onoma KL KAT Λαχανικα 3 Εσπεριδοειδη 2 Μηλοειδη 1 Lektiko KK Ερώτηση: Δώσε κάθε στοιχείο για τα Μηλοειδή και για κάθε καλλιέργεια αυτής της κατηγορίας. R := KAL ΣΥΝΔΕΣΗ [ ΚAL.KK = KAT.KK AND Lektiko = 'Μηλοειδη' ] KAT R Μηλοειδη 1 Αχλαδια 2 Μηλια Lektiko KAT.KK KAL.KK Onoma KL
26
Γενικές Ερωτήσεις KAL 3 Μαρουλι 6 Λαχανο 5 2 Μανταρινια 4 Πορτοκαλια 1 Αχλαδια Μηλια KK Onoma KL KAT Λαχανικα 3 Εσπεριδοειδη 2 Μηλοειδη 1 Lektiko KK Ε1: Δώσε το όνομα κάθε καλλιέργειας και το όνομα της κατηγορίας καλλιεργειών στην οποία ανήκει. R1 := KAL ΣΥΝΔΕΣΗ[ ΚAL.KK = KAT.KK ] KAT R2 := ΠΡΟΒΟΛΗ[ Onoma, Lektiko ](R1) R1 Λαχανικα 3 Μαρουλι 6 Λαχανο 5 Εσπεριδοειδη 2 Μανταρινια 4 Πορτοκαλια Μηλοειδη 1 Αχλαδια Μηλια Lektiko KAT.KK KAL.KK Onoma KL R2 Λαχανικα Μαρουλι Λαχανο Εσπεριδοειδη Μανταρινια Πορτοκαλια Μηλοειδη Αχλαδια Μηλια Lektiko Onoma
27
Γενικές Ερωτήσεις BIOM Ιωαννου Αθηνα ΒΙΦΑΡ Ε.Π.Ε. 3 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Αντωνιου Φαρμακευτικη 1 Tel Ypef Edra Eponimia KFB FARMAKO 3 10/3 /1999 210 Σκονη Cupravit 7 2 20/6 /1998 435 Υγρο Folimat 5 2 /3 /1998 310 Selinon 1 15/4 /1998 420 Κοκκωδης Nemacur 13/5 /1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF Ε2: Δώσε τα ονόματα των φαρμάκων που παράγει η Φαρμακευτική. R1 := ΒΙΟΜ ΣΥΝΔΕΣΗ[ BIOM.KFB = FARMAKO.KFB AND Eponimia = 'Φαρμακευτική' ] FARMAKO R2 := ΠΡΟΒΟΛΗ[ Onoma ](R1)
28
Γενικές Ερωτήσεις BΙΟΜ Ιωαννου Αθηνα ΒΙΦΑΡ Ε.Π.Ε. 3 Κοντος ΒΙΟΦΑΡΜ 4 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Αντωνιου Φαρμακευτικη 1 T Ypef Edra Eponimia KFB Ε3: Δώσε τα ονόματα των φαρμακοβιομηχανιών που έχουν την ίδια έδρα με την Φαρμακευτική. R2 ΒΙOΦΑΡM ΒΙΦΑΡ Ε.Π.Ε. Φαρμακευτικη Eponimia
29
Γενικές Ερωτήσεις Εστω Β1 και Β2 δυο αντίγραφα της ΒΙΟΜ.
B1 Ιωαννου Αθηνα ΒΙΦΑΡ Ε.Π.Ε. 3 Κοντος ΒΙΟΦΑΡΜ 4 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Αντωνιου Φαρμακευτικη 1 T Ypef Edra Eponimia KFB B2 R1 := Β1 ΣΥΝΔΕΣΗ [ B1.Eponimia = 'Φαρμακευτική' AND B1.Edra = B2.Edra ] B2 R1 Αντωνιου Αθηνα Φαρμακευτικη 1 B1.T B1.Ypef B1.Edra B1.Eponimia B1.KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 Κοντος ΒΙOΦΑΡM 4 B2.T B2.Ypef B2.Edra B2.Eponimia B2.KFB R2 ΒΙOΦΑΡM ΒΙΦΑΡ Ε.Π.Ε. Φαρμακευτικη Eponimia R2 := ΠΡΟΒΟΛΗ[ B2.Eponimia ](R1)
30
Γενικές Ερωτήσεις Ε3: Δώσε τα ονόματα των φαρμακοβιομηχανιών που έχουν την ίδια έδρα με την Φαρμακευτική (2ο ενδεχόμενο). BΙΟΜ Ιωαννου Αθηνα ΒΙΦΑΡ Ε.Π.Ε. 3 Κοντος ΒΙΟΦΑΡΜ 4 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Αντωνιου Φαρμακευτικη 1 T Ypef Edra Eponimia KFB
31
Γενικές Ερωτήσεις B1 Ιωαννου Αθηνα ΒΙΦΑΡ Ε.Π.Ε. 3 Κοντος ΒΙΟΦΑΡΜ 4 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Αντωνιου Φαρμακευτικη 1 T Ypef Edra Eponimia KFB B2 R1 := Β1 ΣΥΝΔΕΣΗ [ B1.Eponimia = 'Φαρμακευτική' AND B1.Edra = B2.Edra ] B2 AND B2.Eponimia <> 'Φαρμακευτική’ Αντωνιου Αθηνα Φαρμακευτικη 1 B1.T B1.Ypef B1.Edra B1.Eponimia B1.KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 Κοντος ΒΙOΦΑΡM 4 B2.T B2.Ypef B2.Edra B2.Eponimia B2.KFB R1 R2 := ΠΡΟΒΟΛΗ [B2.Eponimia](R1) R2 ΒΙOΦΑΡM ΒΙΦΑΡ Ε.Π.Ε. Eponimia
32
Ενημέρωση Βάσης Δεδομένων
ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ) - Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων
33
Ενημέρωση Βάσης Δεδομένων
Εισαγωγή Δεδομένων Πράξη ΕΝΩΣΗ Διαγραφή Δεδομένων Πράξη ΔΙΑΦΟΡΑ Τροποποίηση Δεδομένων Πράξεις ΔΙΑΦΟΡΑ και ΕΝΩΣΗ
34
Εισαγωγή Δεδομένων Εισαγωγή
1 15/04/1998 420 Κοκκώδης Nemacur 2 13/05/1997 523 Σκονη Morestan KFB Hmer Adeia Morphi Onoma KF FAR Εισαγωγή Να εισαχθούν στην FAR οι πλειάδες της FAR_2010. FAR_2010 3 30/06/2010 401 Σκονη 3Ε 9 2 20/06/2010 400 Υγρο AAA 8 1 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF FAR := FAR ΕΝΩΣΗ FAR_2010 3 30/06/2010 401 Σκονη 3E 9 2 20/06/2010 400 Υγρο AAA 8 1 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF FAR Απαίτηση: Σχέσεις συμβατές ως προς την Ένωση.
35
Διαγραφή Δεδομένων Διαγραφή
3 30/06/2010 401 Σκονη 3E 9 2 02/03/1998 310 Υγρο Selinon 1 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan KFB Hmer Adeia Morphi Onoma KF FAR Διαγραφή Να διαγραφούν από την FAR οι πλειάδες της FAR_2009. FAR_2009 3 30/06/2009 401 Σκονη 3Ε 9 2 20/06/2009 400 Υγρο AAA 8 02/03/1998 310 Selinon KFB Hmer Adeia Morphi Onoma KF FAR := FAR ΔΙΑΦΟΡΑ FAR_2009 1 15/04/1998 420 Κοκκώδης Nemacur 2 13/05/1997 523 Σκονη Morestan KFB Hmer Adeia Morphi Onoma KF FAR Απαίτηση: Σχέσεις συμβατές ως προς την Ένωση.
36
Τροποποίηση Δεδομένων
FAR 3 30/06/2009 401 Σκονη 3Ε 9 2 20/06/2009 400 Υγρο AAA 8 02/03/1998 310 Selinon KFB Hmer Adeia Morphi Onoma KF Τροποποίηση Να γίνει η διόρθωση, ότι το Selinon κυκλοφορεί σε Σκόνη. R1 2 02/03/1998 310 Υγρο Selinon 3 KFB Hmer Adeia Morphi Onoma KF FAR := FAR ΔΙΑΦΟΡΑ R1 R2 2 02/03/1998 310 Σκονη Selinon 3 KFB Hmer Adeia Morphi Onoma KF FAR := FAR ΕΝΩΣΗ R2
37
Εργασία Να διατυπωθούν σε Σχεσιακή Άλγεβρα οι ερωτήσεις της αντίστοιχης άσκησης που βρίσκεται στο eClass στο φάκελο ΜΕΡΟΣ «ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ» / ΕΡΓΑΣΙΕΣ / ΕΡΓΑΣΙΕΣ ΘΕΩΡΙΑΣ
38
2.2 Σχεσιακός Λογισμός
39
Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός
Έχει υλοποιηθεί. Βοηθά στην κατανόηση του τρόπου διαχείρισης μιας ΒΔ. Όμως … - είναι έντονα αλγοριθμική. - δεν βοηθά ιδιαίτερα στη βελτιστοποίηση των ερωτήσεων. Σχεσιακός Λογισμός Χρησιμοποιεί εκφράσεις της μορφής { π | σ(π) } Είναι έντονα περιγραφικός. Συμβάλλει έντονα στη βελτιστοποίηση ερωτήσεων
40
Γλώσσες Βασισμένες στον Σχεσιακό Λογισμό
Γλώσσα SQL (Structured Query Language) Γλώσσα QBE (Query By Example) Γλώσσα QUEL (Query Language) … Διαθέτουν: Υπογλώσσα Ορισμού Δεδομένων Υπογλώσσα Χειρισμού Δεδομένων (Γλώσσα Ερωτήσεων)
41
2.2.1 Γλώσσα SQL (Structured Query Language)
42
Σχεσιακή Βάση Δεδομένων Φαρμάκων
BIOM Αντωνιου Αθηνα Φαρμακευτικη 1 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Tel Ypef Edra Eponimia KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 FARMAKO 10/03/1999 210 Σκονη Cupravit 7 20/06/1998 435 Υγρο Folimat 5 02/03/1998 310 Selinon 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan Hmer Adeia Morphi Onoma KF KAT Λαχανικα Εσπεριδοειδη Μηλοειδη Lektiko KK KAL Μαρουλι 6 Λαχανο Μανταρινια 4 Πορτοκαλια Αχλαδια Μηλια KL DOSOL 400gr/100lit 350gr/100lit 125cc/100lit 120cc/100lit 600cc/100lit 35gr/m2 40gr/100lit 50gr/100lit 30gr/100lit Dial
43
Πρόσθετοι Πίνακες BATHMOLOGIA AA Onoma Eponimo Bathmos 1 ΓΕΩΡΓΙΟΣ
ΠΑΠΑΔΟΠΟΥΛΟΣ 8 2 ΒΑΣΙΛΕΙΟΣ 3 ΔΗΜΗΤΡΙΟΣ 4 ΕΛΕΥΘΕΡΙΟΣ 7 5 ΣΩΚΡΑΤΗΣ ΑΛΕΒΙΖΑΤΟΣ 9 6 ΑΝΔΡΕΑΣ ΓΕΩΡΓΙΟΥ DIEFTHINSH AM Onoma KD ONOMA 1 ΠΡΟΣΩΠΙΚΟ 2 ΛΟΓΙΣΤΗΡΙΟ 3 ΠΩΛΗΣΕΙΣ FAR_2008 KF Onoma 1 Morestan 2 Nemacur 3 Selinon 5 Folimat ATHLITES AM Eponimo Onoma Athlima 1 ΠΑΠΑΔΟΠΟΥΛΟΣ ΓΕΩΡΓΙΟΣ 2 ΒΑΣΙΛΕΙΟΣ 5 ΑΛΕΒΙΖΑΤΟΣ ΣΩΚΡΑΤΗΣ FAR_2009 KF Onoma 5 Folimat 7 Cupravit 8 AAA 9 3Z PROSOPIKO (Θα δημιουργηθεί) KP Onoma Eponimo Diefthinsi YPALLHLOS (Θα δημιουργηθεί) KY Onoma Eponimo Proistamenos
44
Δημιουργία Πίνακα ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ)
- Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων
45
Υπογλώσσα Ορισμού Δεδομένων [R01]
Να δημιουργηθεί ο παρακάτω πίνακας Z_PROSOPIKO με - πρωτεύον κλειδί το KP και - ξένο κλειδί το Diefthinsi, που αναφέρεται στον πίνακα Z_DIEFTHINSI. Ζ_PROSOPIKO KP Onoma Eponimo Diefthinsi CREATE TABLE Ζ_PROSOPIKO ( KP Char(5), Onoma Char(15), Eponimo Char(18), Diefthinsi Char(5), PRIMARY KEY(KP), FOREIGN KEY(Diefthinsi) REFERENCES Ζ_DIEFTHINSH(KD) );
46
Υπογλώσσα Ορισμού Δεδομένων [R02]
Να δημιουργηθεί ο παρακάτω πίνακας Z_YPALLHLOS με - πρωτεύον κλειδί το KY και - ξένο κλειδί το Proistamenos, που αναφέρεται στον εαυτό του. Ζ_YPALLHLOS KY Onoma Eponimo Proistamenos CREATE TABLE Ζ_ΥPALLHLOS ( KY Char(5), Onoma Char(15), Eponimo Char(18), Proistamenos Char(5), PRIMARY KEY(KY), FOREIGN KEY(Proistamenos) REFERENCES Ζ_YPALLHLOS (KY) );
47
Ανάκτηση Δεδομένων ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ)
- Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων
48
Βασική Εντολή Ανάκτησης Δεδομενων
Εντολή SQL Αλγεβρικές Πράξεις & Σειρά Εκτέλεσης SELECT <Λίστα Στηλών> FROM <Λίστα Πινάκων> [WHERE <Συνθήκη>] [ORDER BY <Ταξινόμηση αποτελέσματος>]; (4) ΠΡΟΒΟΛΗ (1) ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ (2) ΕΠΙΛΟΓΗ (3) <Ταξινόμηση> (1) & (2) = ΣΥΝΔΕΣΗ
49
SELECT-FROM-WHERE [Q01, Q02]
Δώσε το περιερχόμενο του πίνακα BIOM. SELECT KFB, Eponimia, Edra, Ypef, Tel FROM BIOM; SELECT * FROM BIOM;
50
Επιλεγμένες Στήλες [Q03]
Δώσε τον κωδικό, επωνυμία και έδρα των βιομηχανιών. SELECT KFB, Eponimia, Edra FROM BIOM;
51
Επιλεγμένες Στήλες [Q04, Q05]
Δώσε τις έδρες των φαρμακοβιομηχανιών. SELECT Edra FROM BIOM; SELECT DISTINCT Edra FROM BIOM; Δώσε τις διακεκριμένες έδρες των φαρμακοβιομηχανιών.
52
Απλή Συνθήκη [Q06, Q07] Δώσε Κωδικό και Επωνυμία των Βιομηχανιών με κωδικό >1. SELECT KFB, Eponimia FROM BIOM WHERE KFB > 1; Δώσε Κωδικό και Επωνυμία των Βιομηχανιών με έδρα την Αθήνα. SELECT KFB, Eponimia FROM BIOM WHERE Edra = 'Αθηνα'; ACCESS SQL: Edra = "Αθηνα" ή Edra = 'Αθηνα'
53
Μερική Ταύτιση [Q08] Δώσε τη μορφή των φαρμάκων που το όνομά τους αρχίζει από Mor. SELECT Morphi FROM FARMAKO WHERE Onoma LIKE 'Mor*'; Σημείωση Το '*' (μπαλαντέρ) μπορεί να είναι σε οποιαδήποτε θέση.
54
Σύνθετη Συνθήκη [Q09, Q10] Δώσε κωδικό και επωνυμία βιομηχανιών με έδρα την Αθήνα και κωδικό μεγαλύτερο του 1. SELECT KFB, Eponimia FROM BIOM WHERE Edra = 'Αθηνα' AND KFB > 1; Δώσε κωδικό και επωνυμία βιομηχανιών με έδρα την Αθήνα ή κωδικό μεγαλύτερο του 1. SELECT KFB, Eponimia FROM BIOM WHERE Edra = 'Αθηνα' OR KFB > 1;
55
Καρτεσιανό Γινόμενο [Q11]
Να δοθούν όλοι οι συνδυασμοί των γραμμών του πίνακα BIOM με τον πίνακα FARMAKO. SELECT BIOM.*, FARMAKO.* FROM BIOM, FARMAKO;
56
Σύνδεση - Μετονομασία [Q12, Q13]
Για κάθε φαρμακοβιομηχανία, δώσε το όνομά της και τα ονόματα των φαρμάκων που παράγει, κάτω από στήλες με ονόματα Biomixania και Farmako, αντίστοιχα. SELECT Eponimia, Onoma FROM BIOM, FARMAKO WHERE BIOM.KFB = FARMAKO.KFB; SELECT Eponimia AS Biomixania, Onoma AS Farmako FROM BIOM AS B, FARMAKO AS F WHERE B.KFB = F.KFB;
57
Σύνθετη Συνθήκη [Q14] Για κάθε φαρμακοβιομηχανία, δώσε το όνομά της και τα ονόματα των φαρμάκων που παράγει και τα οποία κυκλοφορούν σε κοκκώδη ή υγρή μορφή. SELECT Eponimia, Onoma FROM BIOM AS B, FARMAKO AS F WHERE B.KFB = F.KFB AND (Morphi = 'Κοκκωδης' OR Morphi = 'Υγρο');
58
Σύνθετη Συνθήκη [Q15] Για κάθε φάρμακο που είτε κυκλοφορεί ως υγρό είτε πήρε άδεια κυκλοφορίας μετά την 1/1/1998, δώσε το όνομα της φαρμακοβιομηχανίας που το παράγει και το όνομά του φαρμάκου. SELECT B.Eponimia, F.Onoma FROM BIOM AS B, FARMAKO AS F WHERE B.KFB = F.KFB AND (F.Morphi = 'Υγρο' OR F.Hmer > #1/1/1998#);
59
Αυτοσύνδεση [Q16, Q17] Δώσε τα ονόματα των φαρμάκων που κυκλοφορούν στην ίδια μορφή με το Morestan. SELECT F2.Onoma FROM FARMAKO AS F1, FARMAKO AS F2 WHERE F1.Onoma = 'Morestan' AND F1.Morphi = F2.Morphi; SELECT F2.Onoma FROM FARMAKO AS F1, FARMAKO AS F2 WHERE F1.Onoma = 'Morestan' AND F1.Morphi = F2.Morphi AND F2.Onoma <> 'Morestan';
60
Ταξινόμηση Αποτελέσματος [Q18]
Δώσε τις βιομηχανίες με αλφαβητική ταξινόμηση και τις έδρες τους. SELECT Eponimia, Edra FROM BIOM ORDER BY Eponimia;
61
Ταξινόμηση Αποτελέσματος [Q19]
Για κάθε φαρμακοβιομηχανία, δώσε το όνομά της και τα ονόματα των φαρμάκων που παράγει. Το ονόματα των φαρμακοβιομηχανιών να εμφανίζονται κατά αύξουσα ταξινόμηση και τα ονόματα των φαρμάκων κατά φθίνουσα. SELECT Eponimia, Onoma FROM BIOM AS B, FARMAKO AS F WHERE B.KFB = F.KFB ORDER BY Eponimia ASC, Onoma DESC;
62
Βαθμωτές Συναρτήσεις Abs Απόλυτος Τιμή Cos Συνημίτονο Sin Ημίτονο
Tan Εφαπτομένη Log Λογάριθμος με βάση το e …
63
Βαθμωτή Συνάρτηση [Q20] SELECT *, Bathmos + 1 AS NeosBathmos
Δώσε το περιεχόμενο του πίνακα Z_BATHMOLOGIA και, στην περίπτωση που αυξηθούν οι βαθμοί κατά μια μονάδα, το νέο βαθμό του κάθε φοιτητή. SELECT *, Bathmos + 1 AS NeosBathmos FROM Ζ_BATHMOLOGIA; Πράξεις Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Βαθμωτές Συναρτήσεις Χρήση παρενθέσεων στις γραμμές SELECT, WHERE.
64
Προσθήκη Στήλης [Q21] SELECT *, 'ο βαθμός γίνεται' AS Me_Auxsisi,
Δώσε το περιεχόμενο του πίνακα Z_BATHMOLOGIA και, στην περίπτωση που αυξηθούν οι βαθμοί κατά μια μονάδα, το νέο βαθμό του κάθε φοιτητή. Μεταξύ του αρχικού και του νέου βαθμού, να παρεμβληθεί στήλη με περιεχόμενο ‘ο βαθμός γίνεται’. SELECT *, 'ο βαθμός γίνεται' AS Me_Auxsisi, Bathmos AS Neos_Bathmos FROM Ζ_BATHMOLOGIA;
65
Όψη (View) [Q39_1_VIEW] Να δημιουργηθεί όψη μέσω της οποίας να μπορεί κανείς να δει (κάτω από νέα, κατάλληλα ονόματα στηλών) την επωνυμία κάθε βιομηχανίας και, για κάθε φάρμακο που παράγει, μόνο τον κωδικό, το όνομα και τη μορφή του. SELECT B.Eponimia AS BIOMHXANIA, F.KF, F.Onoma AS FARMAKO, F.Morphi AS MORFH FROM BIOM AS B, FARMAKO AS F WHERE B.KFB = F.KFB;
66
Ανάκτηση από Όψη [Q40-1] Από την όψη Q39_1_VIEW να βρεθεί για κάθε βιομηχανία, το όνομα της και τα ονόματα των φαρμάκων που παράγει. SELECT BIOMHXANIA, FARMAKO FROM Q39_1_VIEW;
67
Ανάκτηση από Όψη & Πίνακες [Q41-1]
Από την όψη Q39_VIEW και όσους πίνακες είναι απαραίτητοι, να βρεθεί η επωνυμία κάθε βιομηχανίας και, για κάθε φάρμακο που παράγει και εφαρμόζεται στα Μηλοειδή, το όνομα και τη μορφή του. Να γίνει ταξινόμηση του αποτελέσματος κατά όνομα φαρμάκου, μορφή και όνομα φαρκακοβιομηχανίας SELECT BIOMHXANIA, FARMAKO, MORFH FROM Q39_1_VIEW AS Q, DOSOL AS D, KAT AS K WHERE Q.KF = D.KF AND D.KK = K.KK AND Lektiko = 'Μηλοειδη' ORDER BY FARMAKO, MORFHI, BIOMHXANIA;
68
Παραμετρική Ανάκτηση [Q22]
SELECT KFB, Eponimia FROM BIOM WHERE Edra = ‘Αθηνα’ AND KFB = 1; Δώσε κωδικό και επωνυμία των βιομηχανιών με έδρα αυτήν που θα σου δοθεί και KFB αυτόν που θα σου δοθεί. SELECT KFB, Eponimia FROM BIOM WHERE Edra = ΔΩΣΕ_ΕΔΡΑ AND KFB = ΔΩΣΕ_KFB;
69
INNER JOIN [Q23, Q24] Για κάθε φαρμακοβιομηχανία, δώσε
όλα τα στοιχεία από τον πίνακα ΒΙΟΜ και όλα τα στοιχεία από τα φάρμακα που παράγει. SELECT BIOM.*, FARMAKO.* FROM BIOM, FARMAKO WHERE BIOM.KFB = FARMAKO.KFB; TABLE BIOM INNER JOIN FARMAKO ON BIOM.KFB = FARMAKO.KFB; SELECT * FROM BIOM INNER JOIN FARMAKO ON BIOM.KFB = FARMAKO.KFB;
70
INNER JOIN [Q25] Για κάθε φαρμακοβιομηχανία, δώσε το όνομά της και
τα ονόματα των φαρμάκων που παράγει. SELECT FARMAKO.Onoma, BIOM.Eponimia FROM BIOM INNER JOIN FARMAKO ON BIOM.KFB = FARMAKO.KFB;
71
UNION [U01, U02] Να δοθούν τα φάρμακα που κυκλοφορούσαν
FAR_2008 KF Onoma 1 Morestan 2 Nemacur 3 Selinon 5 Folimat FAR_2009 KF Onoma 5 Folimat 7 Cupravit 8 AAA 9 3Z Να δοθούν τα φάρμακα που κυκλοφορούσαν είτε το 2008 είτε το 2009, ταξινομημένα κατά κωδικό. TABLE Ζ_FAR_2008 UNION TABLE Ζ_ FAR_2009 ORDER BY KF ; TABLE Ζ_ FAR_2008 UNION ALL TABLE Ζ_ FAR_2009 ORDER BY KF;
72
UNION [U03] Να δοθούν τα ονοματεπώνυμα εκείνων που είτε εξετάσθηκαν σε κάποιο μάθημα είτε είναι αθλητές. SELECT Onoma, Eponimo FROM Ζ_BATHMOLOGIA UNION [ALL] FROM Ζ_ATHLITES;
73
EXCEPT [NW] Να δοθούν τα ονοματεπώνυμα εκείνων που εξετάσθηκαν σε κάποιο μάθημα και δεν είναι αθλητές. SELECT Eponimo, Onoma FROM BATHMOLOGIA EXCEPT [ALL] FROM ATHLITES ORDER BY Eponimo, Onoma;
74
INTERSECT [NW] Να δοθούν τα ονοματεπώνυμα εκείνων που εξετάσθηκαν σε κάποιο μάθημα και είναι αθλητές. SELECT Eponimo, Onoma FROM BATHMOLOGIA INTERSECT [ALL] FROM ATHLITES ORDER BY Eponimo, Onoma;
75
Συγκεντρωτικές Συναρτήσεις [Q26]
Max Μέγιστο Min Ελάχιστο Sum Άθροισμα Avg Μέσος … Count(*) πλήθος γραμμών Count(all column_name) πλήθος τιμών σε στήλη [‘all’: NW] Count(unique column_name) πλήθος διακεκριμένων τιμών σε στήλη [‘unique’ NW] Δώσε τη μέγιστη και ελάχιστη βαθμολογία. SELECT Μax(Bathmos) AS Megistos, Min(Bathmos) AS Elaxistos FROM Ζ_BATHMOLOGIA;
76
Συγκεντρωτικές Συναρτήσεις [Q27]
Δώσε το πλήθος των ονομάτων του πίνακα Z_BATHMOLOGIA. SELECT Count(Onoma) AS Plithos FROM Ζ_ΒATHMOLOGIA;
77
Συγκεντρωτικές Συναρτήσεις - UNION [U04]
Βρες το μέγιστο κι ελάχιστο βαθμό από τον πίνακα Ζ_BATHMOLOGIA. Το αποτέλεσμα να μπει σε πίνακα με δυο στήλες: Στην πρώτη στήλη, να υπάρχει η ένδειξη ‘Ελάχιστός’ ή ‘Μέγιστος’. Στη δεύτερη στήλη να υπάρχει ο αντίστοιχος βαθμός. SELECT 'Ελάχιστος' AS Akrotatoi, Min(Bathmos) AS Bathm FROM Ζ_BATHMOLOGIA UNION SELECT 'Μέγιστος' AS Akrotatoi, Max(Bathmos) AS Bathm FROM Ζ_BATHMOLOGIA;
78
Ομαδοποίηση SELECT <Λίστα Στηλών> FROM <Λίστα Πινάκων>
[WHERE <Συνθήκη>] [GROUP BY <Λίστα Στηλών Ομαδοποίησης>] [ORDER BY <Ταξινόμηση αποτελέσματος>]; 78
79
Ομαδοποίηση [Q28] Count Πλήθος Max Μέγιστο Min Ελάχιστο Sum Άθροισμα
Avg Μέσος … Δώσε το πλήθος των φαρμάκων που παράγει κάθε φαρμακοβιομηχανία. SELECT KFB, Count(FARMAKO.Onoma) AS Plithos FROM FARMAKO GROUP BY KFB;
80
Ομαδοποίηση [Q29] Δώσε τη μέγιστη βαθμολογία ανά μάθημα. SELECT Mathima, Max(Bathmos) AS MegBathmos FROM Ζ_BATHMOLOGIA GROUP BY Mathima;
81
Ομαδοποίηση [Q30] Δώσε ταξινόμηση των επωνυμιών των βιομηχανιών, με τον αριθμό των φαρμάκων που παράγουν. SELECT Eponimia, Count(Onoma) AS ArithmosFarmakon FROM BIOM INNER JOIN FARMAKO ON BIOM.KFB = FARMAKO.KFB GROUP BY Eponimia;
82
Υποερωτήση IN [Q31] SELECT Onoma FROM FARMAKO WHERE KFB IN (1, 3);
Δώσε ονόματα φαρμάκων που παράγει κάποια από τις φαρμακοβιομηχανίες με κωδικό 1 ή 3. SELECT Onoma FROM FARMAKO WHERE KFB IN (1, 3);
83
Υποερωτήση IN [Q32] Δώσε ονόματα φαρμάκων που παράγει η Φαρμακευτική.
SELECT Onoma FROM FARMAKO WHERE KFB IN ( SELECT KFB FROM BIOM WHERE Eponimia = "Φαρμακευτικη" ); Σημείωση: Μετά το IN, στη γραμμή SELECT πρέπει να αναφέρεται μόνο μια στήλη.
84
Υποερώτηση NOT IN [Q33] Δώσε ονόματα φαρμάκων που δεν παράγει η Φαρμακευτική. SELECT Onoma FROM FARMAKO WHERE KFB NOT IN ( SELECT KFB FROM BIOM WHERE Eponimia = 'Φαρμακευτικη' ); Σημείωση: Μετά το IN, στη γραμμή SELECT πρέπει να αναφέρεται μόνο μια στήλη.
85
Υποερώτηση EXISTS [Q34] Δώσε τη μορφή των φαρμάκων που παράγουν οι φαρμακοβιομηχανίες. SELECT Morphi FROM FARMAKO AS F WHERE EXISTS ( SELECT * FROM BIOM AS B WHERE F.KFB = B.KFB );
86
Υποερώτηση NOT EXISTS [Q35]
Δώσε τη μορφή των φαρμάκων που δεν παράγονται από καμμία φαρμακοβιομηχανία. SELECT Morphi FROM FARMAKO AS F WHERE NOT EXISTS ( SELECT * FROM BIOM AS B WHERE F.KFB = B.KFB );
87
Υποερώτηση SOME/ANY [Q36]
Δώσε τα ονόματα φαρμάκων που παράγουν οι φαρμακοβιομηχανίες. SELECT Onoma FROM FARMAKO WHERE KFB = SOME ( SELECT KFB FROM BIOM ); Αντί του SOME μπορεί να χρησιμοποιηθεί το ANY. Γενικά, μπορούν να χρησιμοποιηθούν όλοι οι τελεστές σύγκρισης (<, <=, =, <>, >=, >).
88
Υποερώτηση ALL [Q37] Δώσε τα ονόματα φαρμάκων που παράγονται από τη φαρμακοβιομηχανία με το μικρότερο κωδικό. SELECT Onoma FROM FARMAKO WHERE KFB <= ALL ( SELECT KFB FROM BIOM ); Γενικά, μπορούν να χρησιμοποιηθούν όλοι οι τελεστές σύγκρισης (<, <=, =, <>, >=, >).
89
Υποερώτηση στη FROM [Q38]
SELECT DISTINC TABLE1.KFB FROM ( SELECT F.KFB, F.Onoma, K.Lektiko FROM FARMAKO AS F, DOSOL AS D, KAT AS K WHERE F.KF = D.KF AND D.KK = K.KK ) AS TABLE1, ( SELECT B.KFB, Eponimia FROM BIOM AS B ) AS TABLE2 WHERE TABLE1.KFB = TABLE2.KFB;
90
Ενημέρωση Βάσης Δεδομένων
ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ) - Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων
91
Προετοιμασία Πινάκων Πριν τις εντολές ενημέρωσης, να λάβουν χώρα οι παρακάτω προκαταρκτικές ενέργειες. X_FARMAKO_0: Να παραμείνουν οι εγγραφές με KF = 1, 2, 3, 5, 7 και να διαγραφούν όλες οι υπόλοιπες. X_FARMAKO_1: Να δημιουργηθεί ως αντίγραφο της δομής του X_FARMAKO_0. X_FARMAKO_2, X_FARMAKO_3, X_FARMAKO_4, X_FARMAKO_5, X_FARMAKO_6: Να δημιουργηθούν ως αντίγραφα της δομής και του περιεχόμενου του X_PARAGOGH: Να διαγραφεί το περιεχόμενό του.
92
Εισαγωγή Δεδομένων [S01, S02]
Να εισαχθεί στην Χ_FARMAKO_1 η εγγραφή (1, 'AAA', 'M1', 888, '18/10/2010', 1) (2, '3Z', 'M2', 999, ΚΕΝΟ, 1). INSERT INTO Χ_FARMAKO_1 VALUES (1, 'AAA', 'M1', 888, '18/10/2010', 1); VALUES (2, '3Z', 'M2', 999, NULL, 1); Σημείωση: Βλέπε όμως Φόρμα F01, για μια πιο πρακτική εισαγωγή δεδομένων, η οποία όμως χρησιμοποιεί εσωτερικά την εντολή INSERT INTO.
93
Εισαγωγή Δεδομένων [S03]
Στον προσωρινό πίνακα Χ_PARAGOGH να εισαχθεί - ο κωδικός και το όνομα κάθε φαρμακοβιομηχανίας καθώς και - ο κωδικός και το όνομα κάθε φαρμάκου που παράγει. INSERT INTO X_PARAGOGH SELECT B.KFB AS KBIOM, KF AS KFAR, Eponimia AS BIOMHXANIA, Onoma AS FARMAKO FROM BIOM AS B, FARMAKO AS F WHERE \ B.KFB = F.KFB ORDER BY B.KFB, KF; Σημείωση: Ο πίνακας X_PARAGOGH μπορεί στη συνέχεια να χρησιμοποιηθεί για την καταχώρηση ή την τροποποίηση της ποσότητας κάθε φαρμάκου, που πουλήθηκε στη διάρκεια του προηγούμενου έτους.
94
Διαγραφή Δεδομένων [D01]
Να διαγραφούν από την X_FARMAKO_2 όλα τα φάρμακα που κυκλοφορούν σε υγρή μορφή. DELETE FROM X_FARMAKO_2 WHERE Morphi = 'Υγρο'; Σημείωση: Στην ACCESS χρησιμοποιείται DELETE *.
95
Διαγραφή Δεδομένων [D02]
Να διαγραφεί όλο το περιεχόμενο του X_FARMAKO_3. DELETE FROM X_FARMAKO_3; Σημείωση: Στην ACCESS χρησιμοποιείται DELETE *.
96
Διαγραφή Δεδομένων [D03]
Να διαγραφούν από την Χ_FARMAKO_4 όλα τα φάρμακα που παράγονται από τη Φαρμακευτική. DELETE FROM X_FARMAKO_4 AS F WHERE F.KFB IN ( SELECT B.KFB FROM BIOM AS B WHERE F.KFB = B.KFB AND Eponimia = 'Φαρμακευτικη' ) ; Σημείωση: Στην ACCESS χρησιμοποιείται DELETE *.
97
Τροποποίηση Δεδομένων [M01]
Στον πίνακα X_FARMAKO_5 να γίνει η διόρθωση, ότι όλα τα φάρμακα της φαρμακοβιομηχανίας με κωδικό 2 παράγονται στην πραγματικότητα από τη φαρμακοβιομηχανία με κωδικό 1 και κυκλοφορούν σε σκόνη. UPDATE X_FARMAKO_5 SET KFB = 1, Morphi = 'Σκονη' WHERE KFB = 2;
98
Τροποποίηση Δεδομένων [M02]
Στον πίνακα X_FARMAKO_6 να γίνει η διόρθωση, ότι όλα τα φάρμακα της ΦΑΡΛΙΠ Α.Ε., κυκλοφορούν σε σκόνη. UPDATE X_FARMAKO_6 SET Morphi = 'Σκονη' WHERE X_FARMAKO_6.KFB IN (SELECT BIOM.KFB FROM BIOM WHERE X_FARMAKO_6.KFB = BIOM.KFB AND Eponimia = 'ΦΑΡΛΙΠ Α.Ε. ');
99
Δημιουργία Φόρμας [F01] Να δημιουργηθεί φόρμα για την - εισαγωγή ή
- τροποποίηση δεδομένων στον πίνακα X_FARMAKO_0.
100
Δημιουργία Φόρμας [F02] Να δημιουργηθεί φόρμα με την οποία να είναι εφικτή αποκλειστικά και μόνο - η καταχώρηση ή - η τροποποίηση της ποσότητας στον πίνακα X_PARAGOGH.
101
Δημιουργία Φόρμας [F03] Να δημιουργηθεί φόρμα επιλογών μέσω της οποίας να είναι εφικτή η αξιοποίηση των φορμών F01 και F02.
102
ΜΕΡΟΣ «ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ» / ΕΡΓΑΣΙΕΣ /. ΕΡΓΑΣΙΕΣ ΘΕΩΡΙΑΣ
Εργασία Να διατυπωθούν σε SQL οι ερωτήσεις της αντίστοιχης άσκησης που βρίσκεται στο eClass στο φάκελο ΜΕΡΟΣ «ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ» / ΕΡΓΑΣΙΕΣ /. ΕΡΓΑΣΙΕΣ ΘΕΩΡΙΑΣ
103
2.2.2 Γλώσσα QΒΕ (Query By Example)
104
Σχεσιακή Βάση Δεδομένων Φαρμάκων
BIOM Αντωνιου Αθηνα Φαρμακευτικη 1 Μακρης Πειραιας ΦΑΡΛΙΠ Α.Ε. 2 Tel Ypef Edra Eponimia KFB Ιωαννου ΒΙΦΑΡ Ε.Π.Ε. 3 FARMAKO 10/03/1999 210 Σκονη Cupravit 7 20/06/1998 435 Υγρο Folimat 5 02/03/1998 310 Selinon 15/04/1998 420 Κοκκωδης Nemacur 13/05/1997 523 Morestan Hmer Adeia Morphi Onoma KF KAT Λαχανικα Εσπεριδοειδη Μηλοειδη Lektiko KK KAL Μαρουλι 6 Λαχανο Μανταρινια 4 Πορτοκαλια Αχλαδια Μηλια KL DOSOL 400gr/100lit 350gr/100lit 125cc/100lit 120cc/100lit 600cc/100lit 35gr/m2 40gr/100lit 50gr/100lit 30gr/100lit Dial
105
Δημιουργία Πίνακα ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ)
- Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων Παραλείπεται
106
Ανάκτηση Δεδομένων ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ)
- Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων
107
Πλαίσια Ερωτήσεων της QBE
KAL >=3 KK Onoma KL KAT Lektiko DOSOL Dial KF ΒΙΟΜ Tel Ypef Edra Eponimia KFB FARMAKO Hmer Adeia Morphi
108
QBE: Υπογλώσσα Χειρισμού Δεδομένων
Σταθερά: x Μεταβλητή: x Σύμβολο :Δεν υπάρχει Τελεστές Σύγκρισης: <, <=, =, <>, >=, > Λογικοί Τελεστές: AND, OR, NOT Ανάκτηση Δεδομένων Εισαγωγή Δεδομένων Διαγραφή Δεδομένων Τροποποίηση Δεδομένων P. (Print) I. (Insert) D. (Delete) U. (Update) KΣ Κιβώτιο Συνθηκών (Conditions Box)
109
Ανάκτηση Δεδομένων Δώσε το περιεχόμενο του πίνακα FARMAKO. FARMAKO KFB
Hmer Adeia Morphi Onoma KF P.x1 P.x2 P.x3 P.x4 P.x5 P.x6 FARMAKO KFB Hmer Adeia Morphi Onoma KF P.
110
Ανάκτηση Δεδομένων Δώσε όλα τα στοιχεία για το Morestan. FARMAKO KFB
Hmer Adeia Morphi Onoma KF P.x1 P.Morestan P.x3 P.x4 P.x5 P.x6 FARMAKO KFB Hmer Adeia Morphi Onoma KF P. Morestan
111
Ανάκτηση Δεδομένων Δώσε τα ονόματα των φαρμάκων που κυκλοφόρησαν μετά την 01/01/1998. FARMAKO KFB Hmer Adeia Morphi Onoma KF P.x >01/01/1998
112
Ανάκτηση Δεδομένων Δώσε τα ονόματα των φαρμάκων της φαρμακοβιομηχανίας με κωδικό 1 που κυκλοφόρησαν μετά την 01/01/1998. FARMAKO KFB Hmer Adeia Morphi Onoma KF P.x >01/01/1998 1
113
Ανάκτηση Δεδομένων Δώσε τα ονόματα των φαρμάκων που κυκλοφορούν είτε σε σκόνη είτε σε κοκκώδη μορφή. FARMAKO KFB Hmer Adeia Morphi Onoma KF Σκονη P.x P.y Κοκκωδης
114
Ανάκτηση Δεδομένων Δώσε τα ονόματα των φαρμάκων της Φαρμακευτικής, που κυκλοφόρησαν μετά την 01/01/1998. FARMAKO KFB Hmer Adeia Morphi Onoma KF ΒΙΟΜ Tel Ypef Edra Eponimia Φαρμακευτική x P.v >01/01/1998 x
115
Ανάκτηση Δεδομένων Δώσε τα ονόματα των φαρμάκων της Φαρμακευτικής, που εφαρμόζονται στα Μηλοειδή. ΒΙΟΜ Tel Ypef Edra Eponimia KFB Φαρμακευτική x FARMAKO KFB Hmer Adeia Morphi Onoma KF P.y x v DOSOL Dial KK KF KAT Lektiko KK v w Μηλοειδη w
116
Ανάκτηση Δεδομένων Δώσε τα ονόματα των φαρμάκων που κυκλοφορούν στην ίδια μορφή με το Morestan. FARMAKO KFB Hmer Adeia Morphi Onoma KF Morestan x P.v x FARMAKO KFB Hmer Adeia Morphi Onoma KF Morestan x P.v<>Morestan x
117
Ανάκτηση Δεδομένων Για κάθε φαρμακοβιομηχανία, δώσε το όνομά της
και τα ονόματα των φαρμάκων που παράγει. ΒΙΟΜ Tel Ypef Edra Eponimia KFB P.v w FARMAKO KFB Hmer Adeia Morphi Onoma KF w P.z ΟΧΙ ΤΟ ΚΑΛΥΤΕΡΟ
118
Ανάκτηση Δεδομένων Για κάθε φαρμακοβιομηχανία, δώσε το όνομά της
και τα ονόματα των φαρμάκων που παράγει. ΒΙΟΜ Tel Ypef Edra Eponimia KFB v w FARMAKO KFB Hmer Adeia Morphi Onoma KF w z Farmako Biomixania PARAGOGH P.z P.v ΚΑΛΥΤΕΡΟ
119
Ανάκτηση Δεδομένων Δώσε τον κωδικό, το όνομα και τη μορφή των
φαρμάκων των πινάκων που έχουν τα παρακάτω δυο πλαίσια (ΕΝΩΣΗ). FARMAKO KFB Hmer Adeia Morphi Onoma KF v1 v2 v3 FAR_2009 Morphi Onoma KF w2 w1 w3 TOTAL Morphi Onoma KF v2 v1 v3 P. w2 w1 w3 P.
120
Ανάκτηση Δεδομένων Δώσε τον κωδικό, το όνομα και τη μορφή των
φαρμάκων του πίνακα FARMAKO που δεν περιέχονται στον FAR_2009 (ΔΙΑΦΟΡΑ). FARMAKO KFB Hmer Adeia Morphi Onoma KF v2 v1 v3 FAR_2009 Morphi Onoma KF v2 v1 v3 TOTAL Morphi Onoma KF v2 v1 v3 P.
121
Ανάκτηση Δεδομένων Για κάθε φαρμακοβιομηχανία, δώσε το όνομά της
και τα ονόματα των φαρμάκων που παράγει (ΚΣ). ΒΙΟΜ Tel Ypef Edra Eponimia KFB w1 v1 FARMAKO KFB Hmer Adeia Morphi Onoma KF z1 w2 ΚΣ Farmako Biomixania PARAGOGH w1=w2 AND v1=v2 AND z1=z2 P. v2 z2
122
Ενημέρωση Βάσης Δεδομένων
ΣΔΒΔ με: ΓΟΔ (Υπογλώσσα ΟΔ) ΓΧΔ (Υπογλώσσα ΧΔ) - Ανάκτηση (Άντληση) Δεδομένων, - Εισαγωγή Δεδομένων, - Διαγραφή Δεδομένων, - Τροποποίηση Δεδομένων
123
Εισαγωγή Δεδομένων Στον πίνακα FARMAKO να εισαχθεί η εγγραφή (8, ΑΑΑ, Σκόνη, 888, 18/10/2010, 1). FARMAKO KFB Hmer Adeia Morphi Onoma KF ΑΑΑ Σκόνη /10/ Ι.
124
Εισαγωγή Δεδομένων Στον πίνακα FARMAKO να εισαχθούν τα στοιχεία του φαρμάκου KF= 8, Onoma = ΑΑΑ, Morphi = Σκόνη, Adeia = 888, Hmer = 18/10/2010, που παρασκευάζεται από την Φαρμακευτική. ΒΙΟΜ Tel Ypef Edra Eponimia KFB x Φαρμακευτική FARMAKO KFB Hmer Adeia Morphi Onoma KF ΑΑΑ Σκόνη /10/ x Ι.
125
Εισαγωγή Δεδομένων Δημιούργησε πίνακα με το όνομα κάθε
φαρμακοβιομηχανίας και τα ονόματα των φαρμάκων που παράγει. ΒΙΟΜ Tel Ypef Edra Eponimia KFB v w FARMAKO KFB Hmer Adeia Morphi Onoma KF w z Farmako Biomixania PARAGOGH z v Ι.
126
Διαγραφή Δεδομένων Να διαγραφεί το περιεχόμενο του πίνακα DOSOL. DOSOL
Dial KK KF D.
127
Διαγραφή Δεδομένων Να διαγραφούν από τον πίνακα DOSOL όλες οι εγγραφές που αφορούν στην κατηγορία καλλιεργειών με κωδικό 1. DOSOL Dial KK KF D. 1
128
Διαγραφή Δεδομένων Να διαγραφούν από τον πίνακα DOSOL όλες οι εγγραφές που αφορούν σε φάρμακα που εφαρμόζονται στα Μηλοειδή. DOSOL Dial KK KF KAT Lektiko KK D. X X Μηλοειδη
129
Τροποποίηση Δεδομένων
Να γίνει η διόρθωση ότι, όλα τα φάρμακα που κυκλοφορούν σε σκόνη, παρασκευάζονται από τη φαρμακοβιομηχανία με κωδικό 2. FARMAKO KFB Hmer Adeia Morphi Onoma KF Σκονη x 2 Σκονη U.
130
Τροποποίηση Δεδομένων
Να γίνει η διόρθωση ότι, όλα τα φάρμακα που κυκλοφορούν σε σκόνη, παρασκευάζονται από τη ΦΑΡΛΙΠ Α.Ε. FARMAKO KFB Hmer Adeia Morphi Onoma KF Σκονη x v Σκονη U. ΒΙΟΜ Tel Ypef Edra Eponimia KFB v ΦΑΡΛΙΠ Α.Ε.
131
ΜΕΡΟΣ «ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ» / ΕΡΓΑΣΙΕΣ /. ΕΡΓΑΣΙΕΣ ΘΕΩΡΙΑΣ
Εργασία Να διατυπωθούν σε QΒΕ οι ερωτήσεις της αντίστοιχης άσκησης που βρίσκεται στο eClass στο φάκελο ΜΕΡΟΣ «ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ» / ΕΡΓΑΣΙΕΣ /. ΕΡΓΑΣΙΕΣ ΘΕΩΡΙΑΣ
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.