# 1

Σπίγγος Δημήτρης
dmtrs32@gmail.com 2012
Τσιβίκης Βασίλης
undersec.tr3los@gmail.com 2010
Μαρία Θουκυδίδου
marablack3@gmail.com 2014

# Δηλωμένα ξένα κλειδιά

Όλοι οι περιορισμοί ξένου κλειδιού (όπου τα περιεχόμενα μιας ή περισσότερων στηλών σε ένα πίνακα περιορίζονται να είναι μεταξύ των τιμών μιας ή περισσοτέρων στηλών του άλλου πίνακα) αναλύονται και αναφέρονται στην προοπτική περιηγητή σχήματος. Οι περιορισμοί ξένου κλειδιού βοηθούν στην κατανόηση του σχήματος της βάσης δεδομένων και χρησιμοποιούνται αυτόματα όπου χρειάζονται από την εφαρμογή.

Όμως μερικές φορές ο σχεδιαστής μιας βάσης δεδομένων έχει ξεχάσει ή δεν επιθυμεί να χρησιμοποιήσει περιορισμούς ξένου κλειδιού και έτσι είναι δυνατό να "δηλώσει ξένα κλειδιά" που είναι δήλωση μόνο στο εργαλείο και δεν ορίζεται στην πραγματικότητα στη βάση δεδομένων.

# Δηλωμένα ξένα κλειδιά σε διαγράμματα

Όταν εμφανίζονται σε διαγράμματα, τα δηλωμένα ξένα κλειδιά εμφανίζονται χρησιμοποιώντας μια γραμμή με παύλα αντί για συμπαγή γραμμή για ενεργά ξένα κλειδιά

Σημειώσεις:

η τριάδα (όνομα ξένου κλειδιού, πίνακας, πίνακας αναφοράς) ταυτοποιεί μοναδικά ένα δηλωμένο ξένο κλειδί και έτσι η δήλωση ενός νέου ξένου κλειδιού με την ίδια τριάδα θα αφαιρέσει οποιοδήποτε προηγουμένως δηλωμένο.

Εάν ο ίδιος περιορισμός παρουσιάζεται στην πραγματικότητα από ένα πραγματικό ξένο κλειδί και επίσης από ένα δηλωμένο ξένο κλειδί, τότε ο ορισμός του πραγματικού ξένου κλειδιού θα κρύψει το δηλωμένο

Το δηλωμένο ξένο κλειδί δεν έχει καμιά πολιτική προσδιορισμού ποια ενέργεια θα εκτελεστεί σε καταστάσεις UPDATE ή DELETE, έτσι η αναφερόμενη πολιτική θα είναι πάντοτε "μη εξαναγκασμένη"

# Δήλωση ενός νέου ξένου κλειδιού

Ένα νέο ξένο κλειδί μπορεί να δηλωθεί από την προοπτική περιηγητή σχήματος, χρησιμοποιώντας το μενού πίνακαςδήλωση ξένου κλειδιού που παρουσιάζεται όταν οι ιδιότητες ενός πίνακα εμφανίζονται στην τρέχουσα καρτέλα.

Ένας άλλος τρόπος δήλωσης ξένου κλειδιού είναι με τη χρήση μενού συμφραζομένων σε πίνακα ενός διαγράμματος και η το διάλεγμα της επιλογής δήλωση ξένου κλειδιού για αυτόν τον πίνακα.

Σε κάθε περίπτωση, στη δήλωση ενός νέου ξένου κλειδιού, πρέπει να δοθούν οι επόμενες πληροφορίες:

Ένα όνομα ξένου κλειδιού

Ο πίνακας αναφοράς

Οι στήλες και οι στήλες αναφοράς για κάθε εμπλεκόμενη στήλη στο ξένο κλειδί

## Πληροφορίες για δήλωση ενός νέου ξένου κλειδιού

Ο διάλογος UI εμφανίζει τη δήλωση ενός νέου ξένου κλειδιού. Εδώ ο πίνακας αναφοράς είναι 'warehouses' και οι εμπλεκόμενες στήλες είναι 'country' και 'city'.

# Αφαίρεση δηλωμένου ξένου κλειδιού

Ένα δηλωμένο ξένο κλειδί μπορεί να αφαιρεθεί με κλικ στον σύνδεσμο (αφαίρεση) που εμφανίζεται κάτω από κάθε ιδιότητα δηλωμένου ξένου κλειδιού στις ιδιότητες του πίνακα (στην προοπτική περιηγητή σχήματος).

Ένας άλλος τρόπος αφαίρεσης δηλωμένου ξένου κλειδιού είναι μια σελίδα διαγράμματος μέσα από το μενού συμφραζομένων που συσχετίζεται με τη γραμμή με παύλα που αντιπροσωπεύει το δηλωμένο ξένο κλειδί, διαλέγοντας την επιλογή αφαίρεση αυτού του δηλωμένου ξένου κλειδιού.