next up previous
Next: Περιγραφή Φόρτου Εξυπηρέτησης Up: Γλώσσα Προδιαγραφής Previous: Δήλωση Κόστους Επικοινωνίας

Περιγραφή Βάσης Δεδομένων

Η γλώσσα προδιαγραφής επιτρέπει την περιγραφή της βάσης δεδομένων με τον ορισμό του σχήματος της βάσης δεδομένων ( database schema) κατά το σχεσιακό μοντέλο, του σχήματος τμηματοποίησης (fragmentation schema) και του σχήματος ανάθεσης (allocation scheme). Το σχήμα της βάσης δεδομένων ορίζεται καθορίζοντας το σχήμα κάθε σχέσης. Παράδειγμα ορισμού σχήματος σχέσης δίδεται παρακάτω. Απαριθμούνται τα πεδία (attributes) κάθε σχέσης, καθορίζεται ο τύπος για το καθένα από αυτά, και ορίζεται το πρωτεύον κλειδί της σχέσης. Είναι ακόμα δυνατός ο προσδιορισμός πεδίων βάσει των οποίων το σύστημα διαχείρισης δεδομένων μπορεί να κατασκευάσει δομή δεικτοδότησης (index)
DEFINE RELATION R WITH {
ATTRIBUTES {
rA : SYMBOLIC;
rB : NUMERIC;
tuplesPerPage : 20.0;
KEY = rA;
INDEX ON = rA;
}

Για κάθε σχέση επιτρέπεται ο καθορισμός τμηματοποίησης που μπορεί να είναι είτε οριζόντια, είτε κατακόρυφος. Με τον ορισμό τμηματοποίησης μια σχέση αντιστοιχεί σε ένα ή περισσότερα τμήματα. Για ένα τμήμα μιας σχέσης αλλά και για μια σχέση είναι δυνατόν να οριστούν πολλαπλά αντίγραφα (replicas). Κάθε τμήμα σχέσης και κάθε σχέση υλοποιείται ως ένα αρχείο δεδομένων και προσδιορίζονται οι κόμβοι στους οποίους αποθηκεύονται τα αντίστοιχα αρχεία δεδομένων. Το παρακάτω παράδειγμα ορίζει το σχήμα ανάθεσης για δύο σχέσεις R, S όπου για την R ορίζεται οριζόντια τμηματοποίηση και ένα αντίγραφο για κάθε τμήμα, ενώ για την S ορίζονται δύο αντίγραφα χωρίς να έχει οριστεί τμηματοποίηση. Καθορίζεται επίσης και η τιμή κάθε αντιγράφου. Η δυνατότητα ορισμού πολλαπλών αντιγράφων καθώς και η κοστολόγηση κάθε αντικειμένου δεδομένου αποτελούν καινούργια συντακτικά στοιχεία της γλώσσας προδιαγραφής.
DEFINE HORIZONTAL FRAGMENATION OF R AS {
TblH1 WITH ((rB >= 128) OR (rB < 512)),
tuplesPerPage : 20.0;
TblH2 WITH ((rB >= 128) OR (rB >= 512)),
tuplesPerPage : 20.0;
}

Allocation of fragments of R
DEFINE INSTANCE OF TblH1 AT {Node1 WITH VALUE : value1}
DEFINE INSTANCE OF TblH2 AT {Node2 WITH VALUE : value2}

Allocation of S
DEFINE INSTANCE OF S AT {Node1 WITH VALUE : value1, Node2 WITH VALUE : value2}
WITH numItems : 1000;



Anastasiadi Anastasia
Tue Nov 12 16:13:18 EET 1996