Σχεδίαση Βάσεων Τεχνητά, Σύνθετα, και Δευτερεύοντα Μοναδικά Χαρακτηριστικά (UIDs, Unique IDentifiers) Artificial, Composite, and Secondary UIDs 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Στόχοι Αυτό το μάθημα καλύπτει τους ακολούθους στόχους: Να ορίσει τους διαφορετικούς τύπους των μοναδικών αναγνωριστικών (Unique Identifiers,UIDs) Να ορίσει ένα υποψήφιο Μοναδικό Αναγνωριστικό (UID) και να εξηγήσει γιατί μια οντότητα μπορεί μερικές φορές να έχειπερισσότερα από ένα υποψήφια Μοναδικά Αναγνωριστικά (UID) Να αναλύσει επιχειρησιακούς κανόνες και να διαλέξει το ποιο κατάλληλο πρωτεύον Μοναδικό Αναγνωριστικό από τα υποψήφια Να αναγνωρίσει και να συζητήσει τα θέματα της αναγνώρισης στον πραγματικό κόσμο 2 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Σκοπός Το μοναδικό αναγνωριστικό (Unique Identifier, UID) είναι πολύ σημαντικό στις σχεσιακές βάσεις δεδομένων. Είναι η τιμή ή ο συνδυασμός των τιμών που επιτρέπει στο χρήστη να βρει αυτό το ένα μοναδικό αντικείμενο ανάμεσα σε όλα τα άλλα. Η αναγνώριση ακριβώς του σωστού πεδίου, ή του συνδυασμού των πεδίων και των σχέσεων είναι μια ικανότητα που κάθε σχεδιαστής βάσεων δεδομένων πρέπει να κατέχει. Το μοναδικό αναγνωριστικό, σας επιτρέπει να βρείτε το αρχείο σας σε ένα φάκελο, μια συγκεκριμένη κάρτα σε μια τράπουλα καρτών, το κιβώτιό σας σε μια αποθήκη, ή ένα συγκεκριμένο κομμάτι δεδομένων σε μια βάση δεδομένων. 3 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Απλά UIDs vs. Σύνθετα UIDs Ένα UID που είναι μια μοναδική εγγραφή είναι ένα απλό UID. Όμως, μερικές φορές ένα μόνο πεδίο δεν είναι αρκετό για να αναγνωρίσει μοναδικά μια Εγγραφή μιας οντότητας. Εάν το UID είναι ένας συνδυασμός πεδίων, ονομάζεται σύνθετο UID. Εισιτήριο συναυλίας # Αριθμός εισιτηρίου * όνομα Εισιτήριο συναυλίας # ημερομηνία # αριθμός θέσης Απλό Μοναδικό Αναγνωριστικό Σύνθετο Μοναδικό Αναγνωριστικό 4 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Τεχνητά UIDs Τεχνητά UIDs είναι αυτά που δεν εμφανίζονται στον φυσικό κόσμο, αλλά είναι δημιουργημένα για τους σκοπούς αναγνώρισης σε ένα σύστημα. Οι άνθρωποι δεν είναι γεννημένοι με αριθμούς, αλλά πολλά συστήματα εκχωρούνε μοναδικούς αριθμούς για να αναγνωρίσουν ανθρώπους: Μαθητικούς αριθμούς, αριθμοί ταυτότητας πελατών, κ.α. Ένα παπούτσι έχει ένα χρώμα, ένα μέγεθος, ένα στυλ, αλλά δεν έχει έναν πραγματικά περιγραφικό αριθμό. Όμως, ένα κατάστημα παπουτσιών θα αντιστοιχήσει μοναδικούς αριθμούς σε κάθε ζευγάρι παπουτσιών έτσι ώστε να μπορούν να αναγνωριστούν μοναδικά. ΠΑΠΟΥΤΣΙ * χρώμα * μέγεθος * στυλ Δημιουργήστε ένα τεχνητό UID ΠΑΠΟΥΤΣΙ # αριθμός ταυτότητας παπουτσιού * χρώμα * μέγεθος * στυλ 5 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Παράδειγμα Τεχνητού UID Πώς μπορούμε να αναγνωρίσουμε μοναδικά έναν μαθητή? Θα μπορούσαμε να χρησιμοποιήσουμε έναν συνδυασμό ονόματος και επιθέτου? Μόνο εάν ήμαστε σίγουροί πως ο συνδυασμός είναι μοναδικός. Συχνά, είναι απλούστερο και πιο απλό να δημιουργήσουμε ένα τεχνητό χαρακτηριστικό και να το κάνουμε μοναδικό αναγνωριστικό. Ένα UID μπορεί να είναι και τεχνητό και σύνθετο ΠΑΠΟΥΤΣΙ * χρώμα * μέγεθος * στυλ Δημιουργήστε ένα τεχνητό UID ΠΑΠΟΥΤΣΙ # αριθμός ταυτότητας παπουτσιού * χρώμα * μέγεθος * στυλ 6 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
UIDs σχέσεων ασθενούς οντότητας Μερικές φορές το UID είναι ένας συνδυασμός ενός πεδίου και μιας σχέσης. Τι είναι το UID του Λογαριασμού? Είναι τεχνητό? Είναι σύνθετο? Δυο άνθρωποι μπορούν να έχουν τον ίδιο αριθμό λογαριασμού Τραπέζης, αλλά σε διαφορετικές Τράπεζες. Μεταφορές από Τράπεζα σε Τράπεζα χρειάζονται τον αριθμό δρομολόγησης Τραπέζης επιπρόσθετα του τραπεζικού αριθμού λογαριασμού. ΛΟΓΑΡΙΑΣΜΟΣ # αριθμός * υπόλοιπο λογαριασμού * ημερομηνία δημιουργίας at have ΤΡΑΠΕΖΑ # αριθμός * όνομα * τοποθεσία 7 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
UID από ασθενή σχέση ενδιάμεσης οντότητας Όπως έχουμε δει προηγούμενως, το αποτέλεσμα μιας σχέσης πολλά προς πολλά συχνά καταλήγει σε σχέσεις ασθενούς οντότητας από την ενδιάμεση οντότητα στην πρωτότυπη. PLAY LIST ITEM Σε αυτό το παράδειγμα, το UID του αντικειμένου της PLAY LIST παράγεται από το ΓΕΓΟΝΟΣ (Event) και το ΤΡΑΓΟΥΔΙ (Song). Οι μπάρες στις σχέσεις σας δείχνουν το γεγονός αυτό. o comments for for have on EVENT # id * cost * name * date o description SONG # id * title o artist o duration 8 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Τεχνητό UID Ενδιάμεσης Οντότητας Είναι δυνατόν για μια ενδιάμεση οντότητα να χρησιμοποιήσει ένα τεχνητό πεδίο ως το UID, αντί των ασθενών σχέσεων στην καταγωγή της οντότητας. ΑΝΤΙΚΕΙΜΕΝΟ ΚΑΤΑΛΟΓΟΥ # αριθμός * τιμή ΚΑΤΑΣΚΕΥΑΣΤΗΣ # αριθμός * όνομα ΠΡΟΙΟΝ # κωδικος * περιγραφή 9 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Τεχνητό UID Ενδιάμεσης Οντότητας (συνέχεια) Κάθε ΚΑΤΑΣΚΕΥΑΣΤΗΣ μπορεί να παράγει ένα ή περισσότερα ΠΡΟΙΟΝΤΑ (παπούτσια, μπλούζες, Τζιν, κ.α.). Κάθε ΠΡΟΙΟΝ μπορεί να παράγεται από έναν ή περισσότερους ΚΑΤΑΣΚΕΥΑΣΤΕΣ (Nike shoes, Adidas shoes, Levi s jeans, etc.). CATALOG ITEM # number * price MANUFACTURER # number * name PRODUCT # code * description 10 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Τεχνητό UID Ενδιάμεσης Οντότητας (συνέχεια) Το ΑΝΤΙΚΕΙΜΕΝΟ ΚΑΤΑΛΟΓΟΥ υπόκειται στη σχέση πολλά προς πολλά. Ένα αντικείμενο σε έναν κατάλογο μπορεί να αναγνωριστεί μοναδικά από τον κωδικό του Κατασκευαστή και τον κωδικό προϊόντος. Οι σχέσεις δεν είναι ασθενής γιατί ένα τεχνητό UID όπως ο αριθμός καταλόγου έχει δημιουργηθεί αντί αυτού. ΑΝΤΙΚΕΙΜΕΝΟ ΚΑΤΑΛΟΓΟΥ # αριθμός * τιμή ΚΑΤΑΣΚΕΥΑΣΤΗΣ # αριθμός * όνομα ΠΡΟΙΟΝ # κωδικός * περιγραφή 11 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Υποψήφια Μοναδικά Αναγνωριστικά (UIDs) Μερικές φορές δυο ή περισσότερα UIDs υπάρχουν. Για παράδειγμα, όταν παραγγέλνετε ένα προϊόν από μια εμπορική ιστοσελίδα, θα σας δοθεί ένας μοναδικός κωδικός πελάτη και θα σας ζητηθεί να καταχωρίσετε την διεύθυνση του ηλεκτρονικού σας ταχυδρομείου. Καθένας από αυτούς σας αναγνωρίζει μοναδικά, και καθένα από αυτά μπορεί να επιλεχτεί ως το UID. Και τα δυο είναι υποψήφια UIDs. Μόνο ένα από τα υποψήφια UIDs έχει επιλογή ως το πραγματικό UID. Αυτό είναι ονομάζεται το πρωτεύων UID. Τα άλλα υποψήφια ονομάζονται δευτερεύοντα UIDs. 12 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Υποψήφια Μοναδικά Αναγνωριστικά (UIDs) (συνέχεια) Το ID του μαθητή έχει επιλεγεί ως το πρωτεύον Μοναδικό Αναγνωριστικό (UID, Unique IDentifier) και στις δύο οντότητες ΜΑΘΗΤΗΣ (STUDENT). Η πρώτη οντότητα έχει ένα δευτερεύον Μοναδικό Αναγνωριστικό (UID), ενώ η δεύτερη έχει δύο δευτερεύοντα Μοναδικά Αναγνωριστικά (UIDs) (ένα από τα οποία είναι σύνθετο) ΜΑΘΗΤΗΣ # ID μαθητή (#) αριθμ. σήματος * όνομα * επίθετο * διεύθυνση ΜΑΘΗΤΗΣ # ID μαθητή (#1) αριθμ. σήματος (#2-1) όνομα (#2-2) επίθετο * διεύθυνση 13 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Αναγνώριση: Βάση δεδομένων vs. Πραγματικός κόσμος Τα μοναδικά αναγνωριστικά καθιστούν εφικτό για εμάς να ξεχωρίζουμε μια εγγραφή μιας οντότητας από μια άλλη. Όπως θα δείτε αργότερα, αυτά γίνονται πρωτεύοντα κλειδιά στη βάση δεδομένων. Ένα πρωτεύον κλειδί σας επιτρέπει την είσοδο σε ένα συγκεκριμένο αρχείο μιας βάσης δεδομένων. Στον πραγματικό κόσμο, ωστόσο, μερικές φορές δεν είναι τόσο εύκολο να ξεχωριστεί το ένα από το άλλο. 14 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ορολογία Λέξεις κλειδιά που χρησιμοποιήθηκαν στο μάθημα αυτό: Τεχνητό Μοναδικό Αναγνωριστικό (Artificial UID) Υποψήφιο Μοναδικό Αναγνωριστικό (Candidate UID) Σύνθετο Μοναδικό Αναγνωριστικό (Composite UID) Πρωτεύον Μοναδικό Αναγνωριστικό (Primary UID) Δευτερεύον Μοναδικό Αναγνωριστικό (Secondary UID) Απλό Μοναδικό Αναγνωριστικό (Simple UID) Μοναδικό Αναγνωριστικό (Unique IDentifier, UID) 15 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Περίληψη Σε αυτό το μάθημα, θα πρέπει να έχετε μάθει πώς να: Ορίζετε τους διαφορετικούς τύπους μοναδικών αναγνωριστικών (UIDs) Ορίζετε ένα υποψήφιο UID και να εξηγείτε γιατί μια οντότητα μπορεί μερικές φορές να έχει παραπάνω από ένα υποψήφια UID Αναλύσετε τους επιχειρησιακούς κανόνες και να διαλέξετέ τον ποιο κατάλληλο πρωτεύον UID από τα υποψήφια Αναγνωρίσετε και να συζητήσετε τα θέματα της αναγνώρισης στον πραγματικό κόσμο 16 Copyright 2013, Oracle and/or its affiliates. All rights reserved.