Πως μετατρέπουμε ένα
μοντέλο E-R σε σχεσιακό;
Μετατρέψτε το παρακάτω διάγραμμα E-R σε σχεσιακό σχήμα. Το διάγραμμα αναφέρεται σε Ιδιοκτήτες που κατέχουν ακίνητα σε διαφορετικό ποσοστό τα οποία ακίνητα τα διαχειρίζονται μεσίτες.
Ο παρακάτω πίνακας βρίσκεται σε 1ΚΜ;
ΣΠΟΥΔΑΣΤΕΣ (ΑΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΑΡ, ΤΚ, ΠΟΛΗ, ΚΩΔ_ΜΑΘ1,ΜΑΘΗΜΑ1, ΒΙΒΛΙΟ1, ΒΑΘΜΟΣ1…, ΚΩΔ_ΜΑΘν, ΜΑΘΗΜΑν, ΒΙΒΛΙΟν ΒΑΘΜΟΣν)
Τι θα κάνανε ώστε να επέλθει σε 1ΚΜ;
Ελέγξτε τους πίνακες που προέκυψαν από το Παράδειγμα 1. αν είναι σε 2ΚΜ.
ΣΠΟΥΔΑΣΤΕΣ (ΑΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΑΡ, ΤΚ, ΠΟΛΗ)
ΜΑΘΗΜΑΤΑ_ΒΑΘΜΟΙ (ΚΩΔ_ΜΑΘ, ΑΜ, ΜΑΘΗΜΑ, ΒΙΒΛΙΟ, ΒΑΘΜΟΣ)
Ο παρακάτω πίνακας είναι κανονικοποιημένος ως προς την 3ΚΜ; Εξηγήστε αν υπάρχουν μεταβατικές εξαρτήσεις και σε ποια πεδία. Δώστε λύση ώστε να εξαλειφτεί το πρόβλημα.
ΣΠΟΥΔΑΣΤΕΣ (ΑΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΕΠΙΘΕΤΟ_ΚΗΔΕΜΟΝΑ ΟΝ_ ΚΗΔΕΜΟΝΑ, ΕΠΑΓΓΕΛΜΑ_ ΚΗΔΕΜΟΝΑ, ΤΗΛ_ ΚΗΔΕΜΟΝΑ, ΟΔΟΣ, ΑΡ, ΤΚ, ΠΟΛΗ …..)
Στο παρακάτω παράδειγμα η σχέση βρίσκεται σε Τρίτη κανονική μορφή αλλά όχι σε κανονική μορφή Boyce-Codd. Θεωρείστε ότι ισχύουν οι εξής περιορισμούς.
1 Οι Χρηματιστηριακές Συναλλαγές γίνονται σε πολλούς Τύπους Μετοχών
2 Οι Συναλλαγές διαχειρίζονται από έναν ή περισσότερους Χρηματιστές
3 Οι Τύποι Μετοχών μπορούν έχουν έναν ή πολλούς Χρηματιστές
4 Οι Χρηματιστές μπορούν να συναλλάσσονται σε έναν Τύπο Μετοχών
ΠΙΝΑΚΑΣ_Α
:
Οι συναρτησιακές εξαρτήσεις που προκύπτουν σύμφωνα με τα παραπάνω είναι:
ΚωδΣυναλλαγής, ΤύποςΜετοχής à
Χρηματιστής
ΚωδΣυναλλαγής,
Χρηματιστής à ΤύποςΜετοχής
Χρηματιστής à ΤύποςΜετοχής
Τι θα συνέβαινε εάν διαγραφόταν η εγγραφή με ΚωδΣυναλλαγής 2-234.
Κανονικοποιήστε τον παραπάνω πίνακα ως προς ΚΜ-BC.
Στον παρακάτω πίνακα υπάρχουν εξαρτήσεις πολλαπλών τιμών. Ποιες είναι αυτές οι εξαρτήσεις και τι λύση θα δίνατε;
ΕΡΓΑΖΟΜΕΝΟΣ |
ΕΡΓΟ |
ΕΞΑΡΤΩΜΕΝΟΣ |
ΠΑΠΑΣ |
Α |
ΓΙΑΝΝΗΣ |
ΠΑΠΑΣ |
Β |
ΣΟΦΙΑ |
ΠΑΠΑΣ |
Α |
ΣΟΦΙΑ |
ΠΑΠΑΣ |
Β |
ΓΙΑΝΝΗΣ |
ΔΗΜΟΥ |
Β |
ΚΩΣΤΑΣ |
Στον παρακάτω πίνακα υπάρχουν εξαρτήσεις σύζευξης που ξεκινούν από το υποψήφια κλειδί Α . Ποιες είναι αυτές οι εξαρτήσεις και τι λύση θα δίνατε;
ΠΙΝΑΚΑΣ_A (Α,Β,Γ,Δ,Ε,Ζ,Η)
Δημιουργήστε με εντολές SQL τον πίνακα ΑΤΖΕΝΤΑ με τα παρακάτω
πεδία.
Εμφανίστε όλα τα στοιχεία του πίνακα ΑΤΖΕΝΤΑ που το
επίθετό αρχίζει από Κ.
ΑΤΖΕΝΤΑ(ΑΑ, ΕPΙΤΗΕΤΟ, ΟΝΟΜΑ, ΟΝ_PΑΤRΟΣ , ΗΜ_GΕΝΝΗSIS, ΟDΟΣ, AR, TK, POLH, THL)
Εμφανίστε Επίθετο, Όνομα και Τηλέφωνο των ατόμων
του πίνακα ΑΤΖΕΝΤΑ που γεννήθηκαν μετά το
1997 και είναι από την πόλη Σέρρες.
ΑΤΖΕΝΤΑ(ΑΑ, ΕPΙΤΗΕΤΟ, ΟΝΟΜΑ, ΟΝ_PΑΤRΟΣ , ΗΜ_GΕΝΝΗSIS, ΟDΟΣ, AR, TK, POLH, THL)
Ομαδοποιήστε τα άτομα του πίνακα ΑΤΖΕΝΤΑ ανά πόλη
και μετρήστε πόσοι είναι από κάθε πόλη.
ΑΤΖΕΝΤΑ(ΑΑ, ΕPΙΤΗΕΤΟ, ΟΝΟΜΑ, ΟΝ_PΑΤRΟΣ , ΗΜ_GΕΝΝΗSIS, ΟDΟΣ, AR, TK, POLH, THL)
Προβάλετε τις καταχωρήσεις του πίνακα ΑΤΖΕΝΤΑ που κατάγονται
από την ίδια πόλη που κατάγεται ο Γεωργίου (φωλιασμένο ερώτημα)
ΑΤΖΕΝΤΑ(ΑΑ, ΕPΙΤΗΕΤΟ, ΟΝΟΜΑ, ΟΝ_PΑΤRΟΣ , ΗΜ_GΕΝΝΗSIS, ΟDΟΣ, AR, TK, POLH, THL)
Προβάλετε σε ένα ερώτημα τις καταχωρήσεις του πίνακα
ΑΤΖΕΝΤΑ που κατάγονται από Αθήνα και αυτές από Θεσσαλονίκη.
ΑΤΖΕΝΤΑ(ΑΑ, ΕPΙΤΗΕΤΟ, ΟΝΟΜΑ, ΟΝ_PΑΤRΟΣ , ΗΜ_GΕΝΝΗSIS, ΟDΟΣ, AR, TK, POLH, THL)
Εισάγετε στον
πίνακα ΑΤΖΕΝΤΑ μια εγγραφή με τα παρακάτω στοιχεία
123, ΔΗΜΗΤΡΙΟΥ, ΙΩΑΝΝΗΣ, ΓΕΩΡΓΙΟΣ, 7-7-1974, ΕΡΜΟΥ,
12, 62122, ΣΕΡΡΕΣ.
ΑΤΖΕΝΤΑ(ΑΑ, ΕPΙΤΗΕΤΟ, ΟΝΟΜΑ, ΟΝ_PΑΤRΟΣ , ΗΜ_GΕΝΝΗSIS, ΟDΟΣ, AR, TK, POLH, THL)
Διορθώστε στον
πίνακα ΑΤΖΕΝΤΑ το τηλέφωνο της εγγραφής με ΑΑ ίσο με 1234 και δώστε στο
τηλέφωνο την τιμή 2321-55532
ΑΤΖΕΝΤΑ(ΑΑ, ΕPΙΤΗΕΤΟ, ΟΝΟΜΑ, ΟΝ_PΑΤRΟΣ , ΗΜ_GΕΝΝΗSIS, ΟDΟΣ, AR, TK, POLH, THL)
Διορθώστε την δομή του πίνακα ΑΤΖΕΝΤΑ και προσθέστε ακόμη ένα πεδίο
με όνομα EMAIL
που θα έχει τύπο δεδομένων VARCHAR(20).
Διορθώστε την δομή του πίνακα ΑΤΖΕΝΤΑ και τροποποιήστε τον τύπο
δεδομένων του πεδίου EMAIL
ώστε να έχει τύπο δεδομένων VARCHAR(50).
Διορθώστε την δομή του πίνακα ΑΤΖΕΝΤΑ και διαγράψτε το πεδίο EMAIL
Διαγράψτε όλες τις εγγραφές από τον πίνακα ΑΤΖΕΝΤΑ.
Διαγράψτε τον
πίνακα ΑΤΖΕΝΤΑ.
Α. Δημιουργήστε
με SQL τον
πίνακα KATEXOYN
από το παρακάτω σχήμα βάσης.
Β. Δημιουργήστε
με SQL ένα
ερώτημα που θα προβάλει αναλυτικά όλα τα απαραίτητα πεδία σχετικά με τα ακίνητα
που κατέχει ο κάθε ιδιοκτήτης, και την έκταση ακριβώς που κατέχει σε κάθε
ακίνητο.
Γ. Δημιουργήστε με SQL ένα ερώτημα που θα προβάλει τον
κωδικό του ιδιοκτήτη και την συνολική έκταση που κατέχει ο κάθε ιδιοκτήτης.
Δ. Δημιουργήστε
με SQL
ένα ερώτημα που θα προβάλει τον κωδικό του ιδιοκτήτη και την συνολική έκταση
που κατέχει ο κάθε ιδιοκτήτης για τους
ιδιοκτήτες που κατέχουν συνολικά πάνω από 10.000 τμ.
Ε. Δημιουργήστε με SQL ένα ερώτημα που θα προβάλει
κωδικό του μεσίτη και την συνολική αντικειμενική αξία που έχουν όλα τα ακίνητα
που διαχειρίζεται η οποία ξεπερνά το 1.000.000 ευρώ .
Στ. Δημιουργήστε
με SQL
ένα ερώτημα που θα προβάλει τις θέσεις των ακινήτων με τον μεγαλύτερο
συντελεστή δόμησης.
Ζ. Προβάλετε
με SQL τα
στοιχεία του μεσίτη που διαχειρίζεται τα περισσότερα ακίνητα.
Η. Προβάλετε
με SQL τα
στοιχεία του Ιδιοκτήτη που κατέχει τα περισσότερα ακίνητα.
Θ. Προβάλετε
με SQL τα
στοιχεία των Ιδιοκτητών με τον αριθμό των ακινήτων που κατέχουν ταξινομημένα
κατά φθίνουσα σειρά. Δηλ από τα περισσότερα ακίνητα προς τα λιγότερα.
Ι. Επαναλάβετε
το παραπάνω ερώτημα Θ χρησιμοποιώντας παραγόμενες σχέσεις και όχι όψεις.
Δημιουργήστε με SQL ένα ερώτημα που θα προβάλει
ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ από τους ΙΔΙΟΚΤΗΤΕΣ
και τους ΜΕΣΙΤΕΣ που είναι από την πόλη ΣΕΡΡΕΣ
Παράδειγμα 24
Στο παράδειγμα αυτό
γίνεται έλεγχος με την εντολή IF για το εάν το πλήθος των σπουδαστών που πέρασαν το μάθημα με κωδικό ‘403’
είναι πάνω από 100. Στην περίπτωση που ισχύει αυτή η συνθήκη εμφανίζεται ένα
μήνυμα, διαφορετικά εμφανίζονται τα στοιχεία των σπουδαστών που πέρασαν το
μάθημα αυτό.
Παράδειγμα 25
Το παράδειγμα αυτό ελέγχει διαρκώς σε έναν βρόγχο while το άθροισμα του προϋπολογισμού από τον πίνακα ΕΡΓΑ. Στην περίπτωση που το άθροισμα είναι μικρότερο από 100.000 ξεκινάει η διαδικασία αύξησης της τιμής του πεδίου ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ κατά 50%. Εάν η τιμή του πεδίου αυτού ξεπεράσει τις 50.000 η εκτέλεση του βρόγχου σταματά διαφορετικά συνεχίζει η αύξηση της τιμής του κάθε πεδίου.
Παράδειγμα 26
Στο παράδειγμα αυτό οι τιμές αγοράς των προϊόντων από τον πίνακα ΑΠΟΘΗΚΗ αυξάνονται κατά ένα ποσοστό μόνο στην περίπτωση που είναι μικρότερες από την μέση τιμή όλων των τιμών, διαφορετικά εμφανίζεται ένα μήνυμα.
Στην διαδικασία αυτή αυξάνεται η τιμή ενός πεδίου κατά ένα ποσοστό που λαμβάνεται ως είσοδος από την τοπική μεταβλητή @ΠΟΣΟΣΤΟ η οποία έχει κάποια προεπιλεγμένη τιμή.
Δημιουργήστε μία διαδικάσια η οποποία θα αυξάνει την τιμή του πεδίου ΒΑΘΜΟΣ κατά μια τιμή όταν ισχύει μια συνθήκη, ειδικά όταν το πεδίο ΒΑΘΜΟΣ θα είναι μεταξύ 4 και 5.
Εκτελέστε τις
διαδικασίες με όνομα ΑΥΞΗΣΗ_ΛΙΑΝ_ΤΙΜΗΣ και παράμετρο εισόδου την τιμή
15, και την διαδικασία ΑΥΞΗΣΗ_bathmon με παράμετρο εισόδου 3.
Αυτή η συνάρτηση υπολογίζει πρόσθετα συνολικά κόστη που προκύπτουν αν αυξηθούν οι προϋπολογισμοί των έργων.
Η συνάρτηση ΣΠΟΥΔΑΣΤΕΣ_ΜΑΘΗΜΑ χρησιμοποιείται για να εμφανίσει ονόματα όλων των σπουδαστών που έχουν βαθμολογηθεί σε ένα συγκεκριμένο μάθημα. Η παράμετρος εισόδου @ΚΩΔ_ΜΑΘ καθορίζει ένα κωδικό μαθήματος. Η συνάρτηση αυτή τελικά επιστρέφει ως έξοδο έναν πίνακα με πολλές γραμμές. Η φράση RETURNS περιέχει τον τύπο δεδομένων TABLE. Η συνάρτηση αυτή επιστρέφει μια μεταβλητή τύπου TABLE και τα αποτελέσματά της μπορούν στην συνέχεια να χρησιμοποιηθούν σα να ήταν πίνακας της βάσης.
Δημιουργήστε έναν πίνακα με όνομα LOG_AUTO στον οποίο με την ενεργοποίηση μιας σκανδάλης (TRIGGER) που θα εφαρμόζεται πάνω στον βασικό πίνακα ΑΥΤΟΚΙΝΗΤΑ, θα αποθηκεύονται οι τροποποιήσεις που θα γίνονται στο πεδίο ΤΙΜΗ_ΕΝΟΙΚΙΑSIS του πίνακα ΑΥΤΟΚΙΝΗΤΑ.
Υπάρχουν δύο συναλλαγές Τ1, και Τ2. Στην Τ1 γίνεται ανάγνωση μιας εγγραφής, από όπου αφαιρείται ένα ποσό Κ το οποίο στην συνέχεια προστίθεται σε μία άλλη εγγραφή που έχει αναγνωσθεί. Στην Τ2 γίνεται πρόσθεση ενός ποσού στην ίδια εγγραφή που διάβασε η συναλλαγή Τ1.
Αρχικό χρονοπρόγραμμα
S1: R1(X) R2(X) W1(X) R1(Y) W2(X) C2 W1(Y) C1
Ποια είναι Ισοδύναμα βάσει συγκρούσεων;
Ποίο είναι το πρόβλημα της χαμένης ενημέρωσης στον ταυτοχρονισμό;
Ποίο είναι το πρόβλημα της εξάρτησης από ανεπικύρωτη μεταβολή στον ταυτοχρονισμό;
Ποίο είναι το πρόβλημα της ασυνεπούς ανάλυσης στον ταυτοχρονισμό;
Τι ονομάζουμε μητρώο συμαβτότητας στον ταυτοχρονισμό;
Τι θα συμβεί στο πρόβλημα της χαμένης ενημέρωσης στον ταυτοχρονισμό όταν εφαρμοσθούν κλειδώματα απολειστικά και μεριζόμενα;
Τι θα συμβεί στο πρόβλημα της Εξάρτησης από Ανεπικύρωτη Μεταβολή στον ταυτοχρονισμό όταν εφαρμοσθούν κλειδώματα απολειστικά και μεριζόμενα;
Τι θα συμβεί στο πρόβλημα της ασυνεπούς ανάλυσης στον ταυτοχρονισμό όταν εφαρμοσθούν κλειδώματα απολειστικά και μεριζόμενα;
Αναφέρετε ένα Γενικό Παράδειγμα Αδιεξόδου.
Ποίο είναι το μητρώο συμβατότητας με προτιθέμενα κλειδώματα;
Δώστε εντολή SQL ώστε ο χρήστης Alex να μπορεί να κάνει ερωτήσεις και να εισάγει πλειάδες στη σχέση Student.
Δώστε εντολή SQL ώστε ο χρήστης Grammateia να μπορεί να διαγράφει πλειάδες από τη σχέση Student και μπορεί να εξουσιοδοτήσει και άλλους για αυτό.
Δώστε εντολή SQL
ώστε ο χρήστης User1 να μπορεί να τροποποιεί (μόνο) το γνώρισμα THL της σχέσης Student
Ποια είναι αντικείμενα ποια υποκείμενα και ποιες οι κλάσεις
ασφαλείας στον κανονιστικό έλεγχο;
Τι θα συμβεί σε ένα κανάλι διαρροής;
Κρυπτογραφήστε με τον απλό μηχανισμό κρυπογραφησης το κέιμενο TMHMA PLHROFORIKHS.
Κρυπτογραφήστε τον χαρακτήρα Μ του προηγούμενου κώδιακα των 27 χαρακτήρων με τον αλγόριθμο RSA για p=3 και q=5.
Πώς οι μηχανισμοί κρυπτογράφησης με δημόσιο κλειδί επιτρέπουν τα κρυπτογραφημένα μηνύματα να είναι "υπογεγραμμένα", ώστε ο παραλήπτης να μπορεί να είναι βέβαιος ότι το μήνυμα προέρχεται από το άτομο που υποτίθεται ότι προέρχεται (δηλαδή, οι "υπογραφές" δεν μπορούν να πλαστογραφηθούν).
Πως μπορεί να γραφεί σε XML τα στοιχεία της βάσης δεδομένων ΒΙΒΛΙΟΘΗΚΗ που έχει τους παρακάτω πίνακες.
ΒΙΒΛΙΑ
ΙSBN |
ΤΙΤΛΟΣ |
ΣΥΓΓΡΑΦΕΑΣ |
0-07-228363-7 |
Συστήματα Βάσεων Δεδομένων |
Korth,Silberschatz |
ΑΡΘΡΑ
ΚΩΔ |
ΤΙΤΛΟΣ |
ΣΥΓΓΡΑΦΕΑΣ |
ΕΚΔΟΣΗ |
15-15-1001 |
Storing and
Querying XML |
FLorescou,
Kossman |
IEE Data,
1999 |
Έστω ότι έχουμε την οντότητα client(πελάτης) με γνωρίσματα code(κωδικός), name(όνομα), thl(τηλέφωνο).
Ορίστε μια γενική εσωτερική αναλυόμενη οντότητα στο DTD που ακολουθεί με την ονομασία client.
Έστω ότι έχουμε μια βάση δεδομένων με όνομα School που περιέχει την οντότητα Students( μαθητές ), με τα εξής γνωρίσματα:
Μετατρέψτε τον παραπάνω πίνακα δεδομένων σε κώδικα xml και να εμφανίζεται με ένα συγκεκριμένο στυλ από το αρχείο school.css.
Ας δούμε ένα απλό παράδειγμα κατασκευής CSS και να αναλύσουμε τα συστατικά του μέρη.
/* File Name: όνομα_εγγράφου.css */
όνομα_στοιχείου
{
display:block;
margin-top:12pt;
font-size:10pt;
font-style:italic;
font-weight:bold;
}
Πως ορίζεται ένα XML έγγραφο μέσω σχήματος DTD;
Εξηγήστε την παρακάτω αντικειμενοστραφή χαρτογράφηση ενός XML εγγράφου.
DTD Σχήμα:
<!ELEMENT Order (OrderNum, Date, CustNum, Item*)>
<!ELEMENT OrderNum (#PCDATA)>
<!ELEMENT Date (#PCDATA)>
<!ELEMENT CustNum (#PCDATA)>
<!ELEMENT Item (ItemNum, Quantity, Part)>
<!ELEMENT ItemNum (#PCDATA)>
<!ELEMENT Quantity (#PCDATA)>
<!ELEMENT Part (PartNum, Price)>
<!ELEMENT PartNum (#PCDATA)>
<!ELEMENT Price (#PCDATA)>
Έστω ένα αρχείο με: rA = 10000 διατεταγμένες εγγραφές, σταθερού μεγέθους εγγραφής SA = 250 bytes, με μέγεθος block SB = 1024 bytes και με ολόκληρες πλειάδες σε κάθε block. Βρείτε τα block του αρχείου δεδομένων καθώς και του αρχείου ευρετηρίου.
Έστω ένα αρχείο με: rA = 10000 διατεταγμένες εγγραφές, σταθερού μεγέθους SA = 250 bytes, μέγεθος block SB = 1024 bytes με μη εκτεινόμενη καταχώρηση (ολόκληρες πλειάδες σε κάθε block) Και 500 διαφορετικές τιμές στο πεδίο ευρετηρίασης με ομοιόμορφη κατανομή των πλειάδων σε αυτές. Βρείτε τα block του αρχείου δεδομένων καθώς και του αρχείου ευρετηρίου.
Δευτερεύον κλειδί: Το πεδίο ευρετηρίασης είναι κλειδί αλλά όχι πεδίο διάταξης με μοναδικές τιμές. Το αρχείο περιέχει: rA = 10000 διατεταγμένες εγγραφές, σταθερού μεγέθους SA = 250 bytes, με μέγεθος block SB = 1024 bytes με μη εκτεινόμενη καταχώρηση (ολόκληρες πλειάδες σε κάθε block). Βρείτε τα block του αρχείου δεδομένων καθώς και του αρχείου ευρετηρίου.