Ημερομηνία Κ. Εισαγωγή στα συστήματα βάσεων δεδομένων - αρχείο n1.doc. Συστήματα Διαχείρισης Βάσεων Δεδομένων

  • Connolly T., Begg K., Strachan A. Databases: Design, Implementation and Maintenance. Θεωρία και πράξη (Έγγραφο)
  • Garcia-Molina Hector, Ullman J., Widom J. Database systems. Ολοκληρωμένο μάθημα (Έγγραφο)
  • Tokmakov G.P. Βάση δεδομένων. Έννοια βάσης δεδομένων, μοντέλο σχεσιακών δεδομένων, γλώσσες SQL και XML (έγγραφο)
  • n1.doc

    Ημερομηνία Κ. Εισαγωγή στα συστήματα βάσεων δεδομένων. ΠΡΟΣ ΤΗΝ.; Μ.; Αγία Πετρούπολη; Εκδοτικό οίκο Οίκος Williams. 2000.
    Σχεσιακό μοντέλο (σελ. 81-100)
    ΜέροςII

    Σχεσιακό μοντέλο

    βάση μοντέρνα τεχνολογίαΟι βάσεις δεδομένων είναι, χωρίς αμφιβολία, ένα σχεσιακό μοντέλο. Είναι αυτό το θεμέλιο που κάνει τον τομέα της τεχνολογίας βάσεων δεδομένων επιστήμη. Επομένως, οποιαδήποτε περιγραφή αυτής της περιοχής που δεν περιλαμβάνει περιγραφή του μοντέλου δεν μπορεί παρά να είναι επιφανειακή. Ομοίως, η ικανότητα ή η εμπειρία σε αυτόν τον τομέα δεν μπορεί να θεωρηθεί ικανοποιητική εκτός εάν κάποιος έχει βαθιά κατανόηση του σχεσιακό μοντέλο. Ας σπεύσουμε να προσθέσουμε ότι δεν εννοούμε να πούμε ότι αυτό το υλικό είναι δυσνόητο, είναι απλά είναιβάση.

    Όπως σημειώθηκε στο Κεφάλαιο 3, το σχεσιακό μοντέλο εξετάζει τρεις πτυχές των δεδομένων - δομήδεδομένα (αντικείμεναδεδομένα), ακεραιότηταδεδομένα και θεραπείαδεδομένα (χειριστές).Αυτό το μέρος του βιβλίου καλύπτει καθεμία από τις τρεις πτυχές: Το Κεφάλαιο 4 συζητά αντικείμενα, το Κεφάλαιο 5 εξετάζει την ακεραιότητα και τα Κεφάλαια 6 και 7 συζητούν τους τελεστές. (Αφιερώσαμε τελευταίο θέμαδύο κεφάλαια, αφού το λειτουργικό μέρος του μοντέλου μπορεί να υλοποιηθεί με δύο διαφορετικούς αλλά ισοδύναμους τρόπους, γνωστούς αντίστοιχα ως σχεσιακή άλγεβρα και σχεσιακός λογισμός)Ο σκοπός του Κεφαλαίου 8 θα περιγραφεί παρακάτω.

    Σχόλιο.Είναι σημαντικό να καταλάβουμε ότι το μοντέλο δεν είναι στατικό, έχει αλλάξει με τα χρόνια και, φυσικά, συνεχίζει να αλλάζει. Οι ορισμοί, οι περιγραφές και οι επεξηγήσεις σε αυτό το βιβλίο αντικατοπτρίζουν τις τρέχουσες απόψεις του συγγραφέα και άλλων στο πεδίο. Ωστόσο, θα πρέπει να σημειωθεί ότι ενώ μεγάλο μέρος του υλικού που συζητήθηκε είναι πράγματι «στερεό ροκ» (οι αλλαγές που αναφέρονται παραπάνω είναι εξελικτικές και όχι επαναστατικές), εξακολουθούν να υπάρχουν σημεία διαφωνίας. Τέτοια θέματα σημειώνονται ανάλογα στο κείμενο.

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

    Κεφάλαιο 4

    Σχεσιακά αντικείμενα δεδομένων: τομείς και σχέσεις


      1. 4.1. Εισαγωγικό παράδειγμα
    Όπως σημειώθηκε στο Κεφάλαιο 3, το σχεσιακό μοντέλο χωρίζεται σε τρία μέρη, τα οποία ασχολούνται με αντικείμενα, ακεραιότηταΚαι χειριστές.Και τα τρία μέρη έχουν τους δικούς τους ειδικούς όρους. Οι πιο σημαντικοί όροι που χρησιμοποιούνται στο μέρος «αντικείμενα» (το θέμα αυτού του κεφαλαίου) φαίνονται στην Εικ. 4.1. Ενδεικτικά, ο πίνακας S λαμβάνεται από τη βάση δεδομένων προμηθευτών και ανταλλακτικών. Πρόκειται για όρους σχέση, πλειάδα, βασικός αριθμός, χαρακτηριστικό, βαθμός, τομέαςΚαι πρωτεύων κλειδί(θα πρέπει να είστε ήδη εξοικειωμένοι με τουλάχιστονμε όρους στάσηΚαι πρωτεύων κλειδί).Τώρα θα δώσουμε άτυπη εξήγησηκάθε όρος, και σε επόμενες ενότητες παρουσιάζουμε επίσημους ορισμούς.

    Εν ολίγοις λοιπόν:


    • Στάσηαντιστοιχεί σε αυτό που ονομάζαμε μέχρι τώρα πίνακα.

    • Πομπήαντιστοιχεί σε μια σειρά αυτού του πίνακα και Χαρακτηριστικό- στήλη. Ο αριθμός των πλειάδων ονομάζεται Απόλυτος αριθμόςκαι ο αριθμός των χαρακτηριστικών είναι βαθμός.

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

    • ■ Και τέλος, τομέαείναι ο γενικός πληθυσμός τιμών από τον οποίο λαμβάνονται οι πραγματικές τιμές για ορισμένα χαρακτηριστικά μιας συγκεκριμένης σχέσης. Για παράδειγμα, ο τομέας που ορίζεται S# στο Σχ. Το 4.1 είναι το σύνολο όλων αποδεκτές τιμέςαριθμοί προμηθευτή και το σύνολο τιμών S# σε σχέση S ανά πάσα στιγμή είναι ένα υποσύνολο αυτού του συνόλου. Ομοίως, το σύνολο τιμών του S# σε σχέση με το SP σε οποιαδήποτε δεδομένη στιγμή είναι ένα υποσύνολο αυτού του συνόλου.
    Στο Σχ. Το 4.2 παρέχει μια επισκόπηση αυτών των όρων. Αυτό το σχήμα απαιτεί κάποια εξήγηση.

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

    1. 2. Η έννοια ενός τομέα επεξηγεί ένα σημαντικό σημείο που συζητήθηκε στο Κεφάλαιο 3 - Δεν υποστηρίζουν όλα τα σχεσιακά συστήματα πλήρως όλες τις πτυχές του σχεσιακού μοντέλου.Μάλιστα στο Κεφάλαιο 3 δώσαμε γενική περιγραφήσχεσιακά συστήματα, χωρίς να αναφέρονται καθόλου τομείς.

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

    Τώρα ας περάσουμε στην επίσημη παρουσίαση.


      1. 4.2. Τομείς
    Ας πάρουμε ως σημείο εκκίνησης η μικρότερη σημασιολογική μονάδα δεδομένων,η οποία θεωρείται ως ξεχωριστή τιμή δεδομένων (όπως π.χ ιδιωτικό δωμάτιοπρομηθευτή, μεμονωμένο ανταλλακτικό βάρος ή μεμονωμένη ποσότητα παρεχόμενων ανταλλακτικών). Τέτοιες αξίες θα τις ονομάσουμε σκαλοπάτια(αν και αυτός ο όρος χρησιμοποιείται σπάνια στη σχεσιακή βιβλιογραφία). Οι βαθμωτές τιμές είναι η "μικρότερη σημασιολογική μονάδα δεδομένων" με την έννοια ότι ατομική: yδεν έχουν εσωτερική δομή (δηλαδή είναι αδιάσπαστα) στο σχεσιακό μοντέλο, και επομένως, όταν εξετάζονται σε ένα σχεσιακό DBMS. Δώστε ιδιαίτερη προσοχή στο γεγονός ότι το να μην έχετε εσωτερική δομή όταν το βλέπετε στο σχεσιακό μοντέλο δεν σημαίνει ότι δεν έχετε καθόλου εσωτερική δομή. Για παράδειγμα, το όνομα μιας πόλης, φυσικά, έχει μια εσωτερική δομή (αποτελείται από μια ακολουθία γραμμάτων). ωστόσο, συλλαβίζοντας το όνομα, θα χάσουμε το νόημα.Το νόημα θα γίνει σαφές μόνο εάν τα γράμματα συνδυάζονται και με τη σωστή σειρά.

    Σχόλιο.Σημειώσαμε παρεμπιπτόντως ότι η έννοια της «ατομικότητας κλιμακωτών τιμών» είναι αρκετά ασαφής. Ωστόσο, περαιτέρω συζήτηση αυτού του ζητήματος επιφυλάσσεται για τα επόμενα κεφάλαια του βιβλίου. Προς το παρόν θα υποθέσουμε ότι αυτή η έννοια είναι διαισθητική.

    Τώρα μπορείτε να ορίσετε έναν τομέα ως ένα ονομασμένο σύνολο βαθμωτών τιμών του ίδιου τύπου. Για παράδειγμα, ο τομέας των αριθμών προμηθευτή είναι το σύνολο όλων πιθανούς αριθμούςπρομηθευτές; Ο τομέας ποσότητας εξαρτημάτων προσφοράς είναι το σύνολο όλων των ακεραίων αριθμών που είναι μεγαλύτεροι από το μηδέν και μικρότεροι, ας πούμε, από 10.000 γενικά σύνολα αξιών,από το οποίο λαμβάνονται οι πραγματικές τιμές χαρακτηριστικών. Πιο συγκεκριμένα, κάθε χαρακτηριστικό πρέπει να ορίζεται σε έναν μόνο τομέα (ή ανά τομέα). Αυτό σημαίνει ότι οι τιμές του χαρακτηριστικού πρέπει να λαμβάνονται από αυτόν τον τομέα. Για παράδειγμα, το χαρακτηριστικό part number για τη σχέση P και το χαρακτηριστικό part number για τη σχέση SP ορίζονται στον τομέα αριθμού εξαρτήματος (επειδή αυτά τα δύο χαρακτηριστικά αντιπροσωπεύουν ξεκάθαρα αριθμούς ανταλλακτικών). Με άλλα λόγια, ανά πάσα στιγμή, κάθε τιμή P# σε σχέση με το P πρέπει να είναι μια τιμή από τον τομέα αριθμού εξαρτήματος, και το ίδιο ισχύει για μια τιμή P# σε σχέση με το SP. Δηλαδή, ανά πάσα στιγμή, το σύνολο τιμών P# σε σχέση με το P είναι κάποιο υποσύνολο του συνόλου τιμών στον τομέα του αριθμού εξαρτήματος και το ίδιο ισχύει για την τιμή P# σε σχέση με το SP .

    Σημειώστε, παρεμπιπτόντως, ότι συνήθως ανά πάσα στιγμή θα υπάρχουν τιμές σε έναν τομέα που δεν είναι η τιμή κανενός από τα χαρακτηριστικά που αντιστοιχούν σε αυτόν τον τομέα. Για παράδειγμα, εάν η τιμή P8 είναι μια έγκυρη ανταλλακτική τιμή, τότε περιλαμβάνεται στον τομέα αριθμού ανταλλακτικού, ακόμα κι αν δεν υπάρχει μέρος P8 στη σχέση μας P από το παράδειγμα βάσης δεδομένων προμηθευτή και ανταλλακτικών, π.χ. V οΠρος το παρόν δεν υπάρχει τέτοια λεπτομέρεια.

    Συγκρίσεις με περιορισμούς τομέα

    Ποια είναι η σημασία των τομέων; Μία από τις πιο σημαντικές απαντήσεις σε αυτό το ερώτημα είναι η εξής: οι τομείς περιορίζουν τις συγκρίσεις. Ας εξηγήσουμε τι ειπώθηκε. Εξετάστε δύο ερωτήματα SQL σε σχέση με τη βάση δεδομένων προμηθευτών και ανταλλακτικών (σημειώστε ότι και τα δύο ερωτήματα χρησιμοποιούν σύνδεσμο):

    Ένα από αυτά τα ερωτήματα, το αριστερό, μάλλον έχει νόημα, ενώ το δεξί μάλλον όχι. Πώς είναι αυτό γνωστό; Από τυπική άποψη, η απάντηση είναι ότι το ερώτημα στα αριστερά χρησιμοποιεί μια σύγκριση μεταξύ των χαρακτηριστικών P.P# και SP.P#, τα οποία (όπως ήδη αναφέρθηκε) ορίζονται στο έναςκαι τον ίδιο τομέα, ενώ το ερώτημα στα δεξιά χρησιμοποιεί μια σύγκριση μεταξύ των χαρακτηριστικών P.WEIGHT και SP.QTY, τα οποία πιθανώς ορίζονται σε διαφορετικάτομείς. (Εδώ λέμε "μάλλον" γιατί, αν και το βάρος και η ποσότητα είναι αριθμοί, είναι διαφορετικοί αριθμοί «ποικιλίες».Δεν έχει νόημα να συγκρίνουμε βάρος και ποσότητα. Επομένως, οι τομείς βάρους και ποσότητας πρέπει να είναι διαφορετικοί.)

    Επομένως, σύμφωνα με τον προηγούμενο συλλογισμό, εάν οι τιμές δύο χαρακτηριστικών ληφθούν από τον ίδιο τομέα, τότε οι συγκρίσεις, και επομένως οι ενώσεις, οι ενώσεις και πολλές άλλες πράξεις που χρησιμοποιούν τέτοιες δύο ιδιότητες, είναι επίσης πιθανό να έχουν νόημα, καθώς στο Συγκρίνουν το «όμοιο χαρακτηριστικό» με το «όμοιο χαρακτηριστικό». Αντίθετα, εάν οι τιμές δύο χαρακτηριστικών προέρχονται από διαφορετικούς τομείς, τότε οι συγκρίσεις και άλλες λειτουργίες πιθανότατα δεν θα έχουν νόημα. Επομένως, το πλεονέκτημα ενός συστήματος υποστήριξης τομέα είναι ότι ένα τέτοιο σύστημα μπορεί να αποτρέψει λάθη. Σημειώστε ότι είναι εύκολο να το υποθέσουμε εδώ μηχανικό σφάλμα, για παράδειγμα πληκτρολογώντας S# αντί για P#. Εάν ο χρήστης προσπαθήσει να εκτελέσει μια λειτουργία που χρησιμοποιεί σύγκριση τιμών διαφορετικούς τομείς, το σύστημα θα διακόψει τη λειτουργία του και θα ειδοποιήσει τον χρήστη για ένα πιθανό σφάλμα. (Λέμε "πιθανώς" επειδή μπορεί να υπάρχουν περιπτώσεις στις οποίες μια τέτοια σύγκριση δεν είναι λάθος. Αλλά περισσότερα γι' αυτό σε επόμενα μέρη του βιβλίου.)

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

    Ορισμός Δεδομένων

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

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

    ΔΗΜΙΟΥΡΓΙΑ ΤΟΜΕΑ τομέα Τύπος δεδομένων ;

    Εδώ τομέας είναι το όνομα του νέου τομέα, α δεδομένα- τύπος ταιριάζει με έναν τύπο δεδομένων όπως CHAR( n) ή NUMERIC( n). Σχόλιο.Αργότερα στο βιβλίο θα συζητήσουμε μερικά πρόσθετα εξαρτήματαΔΗΜΙΟΥΡΓΗΣΤΕ δηλώσεις DOMAIN που δεν εμφανίζονται παραπάνω.

    Στο Σχ. Το Σχήμα 4.3 (το ίδιο σχήμα φαίνεται στο Κεφάλαιο 3) δείχνει πώς αυτή η γλώσσα μπορεί να χρησιμοποιηθεί για τον ορισμό μιας βάσης δεδομένων προμηθευτών και ανταλλακτικών. Σημειώστε ότι αυτό το παράδειγμα χρησιμοποιεί δηλώσεις CREATE BASE RELATION εκτός από τις δηλώσεις CREATE DOMAIN. Για να περιγράψουμε πλήρως τη δήλωση εδώ, θα σημειώσουμε μόνο ότι κάθε ορισμός χαρακτηριστικού στη δήλωση CREATE BASE RELATION περιλαμβάνει μια αναφορά στον αντίστοιχο τομέα.

    Όταν δημιουργείτε έναν νέο τομέα χρησιμοποιώντας τη δήλωση CREATE DOMAIN, το DBMS δημιουργεί μια καταχώρηση καταλόγου που περιγράφει τον νέο τομέα. (Για να θυμάστε τι είναι ένας κατάλογος, ανατρέξτε στο Κεφάλαιο 3.) Ομοίως, όταν δημιουργείτε μια νέα σχέση χρησιμοποιώντας τη δήλωση CREATE BASE RELATION, το DBMS δημιουργεί μια καταχώρηση καταλόγου που περιγράφει τη νέα σχέση.

    Μια σημείωση για τα ονόματα.Για να είμαστε συγκεκριμένοι, θα υποθέσουμε τους ακόλουθους περιορισμούς στα ονόματα:


    • ■ Οι τομείς έχουν μοναδικά ονόματα στη βάση δεδομένων.

    • ■ Οι επώνυμες σχέσεις έχουν μοναδικά ονόματα στη βάση δεδομένων.

    • ■ Τα χαρακτηριστικά έχουν μοναδικά ονόματα στη σχέση που περιέχει (ακόμα και αν η σχέση περιέχει Δενπου ονομάζεται!).
    Σε γενικές γραμμές, ένα χαρακτηριστικό μπορεί να έχει είτε ένα όνομα που ταιριάζει με το όνομα του αντίστοιχου τομέα είτε ένα όνομα που είναι διαφορετικό από αυτόν. Προφανώς, για να αποφύγετε την ασάφεια, θα πρέπει να χρησιμοποιείτε διαφορετικά ονόματα (ιδιαίτερα εάν δύο χαρακτηριστικά στην ίδια σχέση βασίζονται στον ίδιο τομέα). Ωστόσο, γενικά είναι επιθυμητό να ονομάζουμε χαρακτηριστικά με το ίδιο όνομα με τον υποκείμενο τομέα ή τουλάχιστον να τα ονομάζουμε έτσι ώστε, για παράδειγμα, το όνομα χαρακτηριστικού να περιέχει το βασικό τμήμα του ονόματος τομέα. Ακολουθούμε αυτήν την οδηγία στο παράδειγμα στο Σχ. 4.3.

    Μπορείτε προαιρετικά να ακολουθήσετε μια άλλη γενική σύμβαση και να παραλείψετε εντελώς την αναφορά στον υποκείμενο τομέα από τον ορισμό οποιουδήποτε χαρακτηριστικού που έχει το ίδιο όνομα με τον τομέα. Για παράδειγμα, η δήλωση CREATE BASE RELATION για μια σχέση βάσης S μπορεί να απλοποιηθεί:

    Κατάργηση τομέων.Γνωρίζουμε ήδη πώς να δημιουργήσουμε ένα νέο domain. Θα πρέπει επίσης να είναι δυνατή η διαγραφή υπάρχον τομέααν δεν το χρειαζόμαστε πια:

    DESTROY DOMAIN τομέα ;

    Εδώ τομέα- αυτό είναι το όνομα του τομέα που θα διαγραφεί. Αυτή η λειτουργία καταργεί την καταχώρηση καταλόγου που περιγράφει τον τομέα, καθιστώντας τον τομέα άγνωστο στο σύστημα. (Μέχρι νεωτέρας, θα υποθέτουμε ότι η λειτουργία DESTROY DOMAIN απλά δεν θα εκτελεστεί εάν οποιαδήποτε υποκείμενη σχέση εκείνη τη στιγμή εξακολουθεί να περιλαμβάνει ένα χαρακτηριστικό που ορίζεται στον καθορισμένο τομέα.)

    Ερωτήματα βάσει τομέα.Εδώ είναι ένα άλλο παράδειγμα πρακτική σημασίατομείς. Εξετάστε ένα ερώτημα που έχει διατυπωθεί ως εξής:

    "Ποιες σχέσεις στη βάση δεδομένων περιέχουν πληροφορίες σχετικές με τους προμηθευτές;"

    Αυτή η ερώτηση μπορεί να διατυπωθεί με μεγαλύτερη ακρίβεια:

    "Ποιες σχέσεις στη βάση δεδομένων περιλαμβάνουν ένα χαρακτηριστικό που ορίζεται στον τομέα παροχής;"

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

    Τομείς και τύποι δεδομένων

    Η συμπερίληψη αυτής της ενότητας οφείλεται στο ότι πολλοί αναγνώστες είναι ήδη έτοιμοι να κατανοήσουν τα ακόλουθα: ένας τομέας δεν είναι στην πραγματικότητα τίποτα περισσότερο ή λιγότερο από Τύπος δεδομένων(όπως κατανοείται στο μοντέρνες γλώσσεςπρογραμματισμός). Για παράδειγμα, στη γλώσσα Προγραμματισμός PascalΕπιτρέπονται οι ακόλουθες εκφράσεις:

    Εδώ έχουμε τύπος που ορίζεται από το χρήστηονομάζεται "Ημέρα" (με επτά ακριβώς έγκυρες τιμές) και μια μεταβλητή που ονομάζεται "Σήμερα" που ανήκει σε αυτόν τον τύπο δεδομένων (και επομένως περιορίζεται σε αυτές τις επτά τιμές). Προφανώς, αυτή η κατάσταση είναι εντελώς ανάλογη με την κατάσταση σε μια σχεσιακή βάση δεδομένων, όταν έχουμε τομέα,που ονομάζεται "Ημέρα", και Χαρακτηριστικό,που ονομάζεται "Σήμερα". Επιπλέον, υπάρχουν γλώσσες προγραμματισμού, όπως η SIMULA 67, η MODULA-2 ή η Ada (ωστόσο, η Pascal δεν είναι μία από αυτές), που υποστηρίζουν ορισμένες ή και όλες τις λειτουργίες που συνήθως αποδίδονται σε τομείς στο σχεσιακό μοντέλο. .

    Δεδομένου ότι ένας τομέας είναι ουσιαστικά απλώς ένας τύπος δεδομένων, θα ήταν λάθος να πούμε ότι τα DBMS δεν υποστηρίζουν καθόλου τομείς. Στην πραγματικότητα, τα συστήματα υποστηρίζουν τομείς με μια πολύ πρωτόγονη έννοια, όπως ακριβώς παρέχουν ορισμένες ενσωματωμένες (δηλαδή καθορισμένες από το σύστημα) πρωτόγονους τύπουςδεδομένα, όπως ένας ακέραιος τύπος ή ένας τύπος κινητής υποδιαστολής. Αλλά, αν μιλάμε για υποστήριξη τομέα στο πλαίσιο σχεσιακών συστημάτων, εννοούμε κάτι περισσότερο από μια τέτοια πρωτόγονη υποστήριξη, δηλαδή ότι το σύστημα πρέπει να παρέχει τη δυνατότητα στον χρήστη να δημιουργήσει το δικό του, περισσότερο σύνθετους τύπουςδεδομένα όπως "αριθμοί προμηθευτή", "αριθμοί ανταλλακτικών", "ονόματα πόλεων", "χρώματα" κ.λπ., και παρέχουν όλες τις δυνατότητες για εργασία με αυτούς τους τύπους.

    Τι περιλαμβάνωΈχετε τη δυνατότητα να εργαστείτε με αυτούς τους τύπους; Φυσικά, αυτές δεν είναι μόνο οι συγκρίσεις περιορισμένου τομέα που περιγράφονται παραπάνω. Στην πραγματικότητα, η έννοια ενός domain είναι πολύ πιο περίπλοκη από ό, τι μπορεί να φαίνεται με την πρώτη ματιά (γι' αυτό και πολλά σύγχρονα συστήματακαι δεν το υποστηρίζετε). Ωστόσο, λόγω του μεγάλου όγκου υλικού, δεν θα θίξουμε περαιτέρω συνέπειες για κάποιο χρονικό διάστημα. Επομένως, προς το παρόν θα υποθέσουμε ότι η υποστήριξη τομέα σημαίνει μόνο ένα πράγμα: εάν μπορούν να συγκριθούν δύο βαθμωτές τιμές, τότε ανήκουν στον ίδιο τομέα. Πρέπει να γίνει κατανοητό ότι πρόκειται για μια πολύ σημαντική απλοποίηση, και καταφύγαμε σε αυτήν για να απλοποιήσουμε τη γενική παρουσίαση. Αυτό το θέμα συζητείται περαιτέρω σε επόμενα μέρη του βιβλίου.


      1. 4.3. Σχέση
    Τώρα ας προσπαθήσουμε να μάθουμε τι ακριβώς είναι η «στάση». Αρχικά, πρέπει να σημειωθεί ότι ιστορικά υπήρξε κάποια ασάφεια γύρω από αυτή τη σχετικά απλή έννοια (αυτό ισχύει και για προηγούμενες εκδόσεις του βιβλίου). Ο λόγος έγκειται στην έλλειψη σαφούς διάκρισης μεταξύ μεταβλητέςσχέσεις και αξίεςσχέσεις. Μεταβλητή σχέσης- αυτή είναι μια συνηθισμένη μεταβλητή, η ίδια όπως στις γλώσσες προγραμματισμού, π.χ. ένα αντικείμενο με όνομα του οποίου η τιμή μπορεί να αλλάξει με την πάροδο του χρόνου. Και η τιμή αυτής της μεταβλητής ανά πάσα στιγμή θα είναι το νόημα της σχέσης.Για παράδειγμα, χρησιμοποιώντας την έκφραση

    Δημιουργείται μια μεταβλητή σχέσης με το όνομα s της οποίας η τιμή σε οποιαδήποτε χρονική στιγμή θα είναι η συγκεκριμένη τιμή της σχέσης. 1

    Σημειώστε το λοιπόν βασική σχέση(ή "πίνακας βάσης") δεν είναι απολύτως ακριβής όρος. θα ήταν ένας πιο ακριβής, αν και πιο δυσκίνητος, όρος μεταβλητή σχέσης βάσης.Εξάλλου, αν δηλώσουμε μια μεταβλητή QTY σε κάποια γλώσσα προγραμματισμού όπως αυτή:

    Τότε δεν θα καλέσουμε αυτή τη μεταβλητή ακέραιος αριθμός,ΕΝΑ μεταβλητή ακέραιου τύπου.Στην πραγματικότητα, οι ακέραιοι είναι αξίεςαυτή η μεταβλητή? Με άλλα λόγια, ο ακατάλληλος όρος «ολόκληρο» χρησιμοποιείται για να δηλώσει το σύνολο νοήματα.Επομένως, σε όλο το υπόλοιπο βιβλίο, θα χρησιμοποιήσουμε τον όρο «μεταβλητή σχέσης» όταν καταστεί απαραίτητο να τονίσουμε αυτό που εννοούμε. πράγματιμεταβλητός; και ο ατυχής όρος «σχέση» θα χρησιμοποιηθεί ειδικά για να δηλώσει την έννοια της σχέσης. Ειδικότερα, για λόγους συντομίας και απλότητας, θα συνεχίσουμε να χρησιμοποιούμε τον όρο «σχέση βάσης» πιο συχνά από τον όρο «μεταβλητή σχέσης βάσης» (όταν θα ήταν δύσκολο να συγχέουμε τα δύο).

    Αξίες σχέσης

    Εδώ είναι ο ορισμός του όρου «στάση» (συγκεκριμένη έννοια έννοιασχέση):


    • ΣτάσηR, ορίζεται σε πολλούς τομείς ρε1, ρε2,..., Dn (όχι απαραίτητα διαφορετικό), περιέχει δύο μέρη: τίτλοςΚαι σώμα.(Εάν σκεφτείτε μια σχέση με όρους πίνακα, η κεφαλίδα είναι η γραμμή των επικεφαλίδων στηλών και το σώμα είναι το σύνολο των σειρών δεδομένων.)

    1. 1. Επικεφαλίδαπεριέχει ένα σταθερό σύνολο χαρακτηριστικών ή, πιο συγκεκριμένα, ζευγών:
    {ΕΝΑ1: ρε1>, ΕΝΑ2: ρε2>, ..., ΕΝΑ1: Dn> },

    Επιπλέον, κάθε χαρακτηριστικό Aj αντιστοιχεί σε έναν και μόνο από τους υποκείμενους τομείς DJ (ι= 1,2,..., n). Όλα τα ονόματα χαρακτηριστικών Α1, Α2,...,Εναδιαφορετικός.


    1. 2. Σώμαπεριέχει πολλά πλειάδες. Κάθε πλειάδα, με τη σειρά της, περιέχει πολλά ζεύγη:
    { , vi2>, ..., ΕΝΑn: vin>}

    (Εγώ = 1,2, ..., Τ,Οπου T -τον αριθμό των πλειάδων σε αυτό το σετ). Κάθε τέτοια πλειάδα περιέχει ένα τέτοιο ζεύγος, δηλ. Aj: vij>, Για κάθε χαρακτηριστικό Aj στον τίτλο. Για οποιοδήποτε τέτοιο ζευγάρι Aj: vij> vij είναι μια τιμή από έναν μοναδικό τομέα DJ, που σχετίζεται με το χαρακτηριστικό Aj.

    Αξίες ΤΚαι Πκαλούνται αναλόγως Απόλυτος αριθμόςΚαι βαθμόςσχέση R.

    Για παράδειγμα, ας δούμε τον πίνακα S από το Σχ. 4.1 (εσκεμμένα δεν το ονομάζουμε σχέση προς το παρόν) για να ελέγξουμε πώς ταιριάζει με αυτόν τον ορισμό.


    • ■ Πρώτον, υπάρχουν τέσσερις κύριοι τομείς σε αυτόν τον πίνακα, δηλαδή ο τομέας αριθμού προμηθευτή (S#), ο τομέας ονόματος (NAME), ο τομέας τιμής κατάστασης (STATUS) και ο τομέας ονόματος πόλης (CITY). (Όταν απεικονίζουμε μια σχέση ως πίνακα σε ένα κομμάτι χαρτί, συνήθως δεν μας ενδιαφέρει να δείξουμε τους υποκείμενους τομείς, αλλά πρέπει να καταλάβουμε ότι, τουλάχιστον εννοιολογικά, είναι πάντα εκεί.)

    • ■ Στη συνέχεια, ένας πίνακας έχει απαραίτητα δύο μέρη: μια σειρά επικεφαλίδων στηλών, καθώς και πολλές σειρές δεδομένων. Ας δούμε πρώτα τη σειρά της κεφαλίδας της στήλης:
    (S#, SNAME, STATUS, CITY)

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

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


    • ■ Όσο για τον υπόλοιπο πίνακα, αυτό είναι? φυσικά, ένα σύνολο χορδών. Ας εστιάσουμε σε μια γραμμή, ας πούμε τη γραμμή

    Αυτή η γραμμή στην πραγματικότητα αντιπροσωπεύει ένα σύνολο διατεταγμένων ζευγών:

    Το πρώτο στοιχείο κάθε ζεύγους είναι το όνομα του χαρακτηριστικού, το δεύτερο στοιχείο είναι η αντίστοιχη τιμή χαρακτηριστικού. Συχνά τα ονόματα χαρακτηριστικών παραλείπονται από τις ανεπίσημες περιγραφές επειδή είναι γνωστό ότι κάθε μεμονωμένη τιμή σε έναν πίνακα είναι στην πραγματικότητα η τιμή του χαρακτηριστικού του οποίου το όνομα εμφανίζεται στην κορυφή της αντίστοιχης στήλης. Επιπλέον, γνωρίζουμε ότι η τιμή ανήκει στον υποκείμενο τομέα του χαρακτηριστικού. Για παράδειγμα, η τιμή "S1" είναι η τιμή του χαρακτηριστικού S# και λαμβάνεται από τον αντίστοιχο υποκείμενο τομέα, δηλαδή τον τομέα αριθμού προμηθευτή (ονομάζεται επίσης S#). Έτσι, μπορούμε να συμφωνήσουμε ότι κάθε γραμμή αντιπροσωπεύει παράλαση αυτοκινήτωνσύμφωνα με τον ορισμό.

    Με βάση τα παραπάνω, μπορούμε να συμφωνήσουμε ότι ο πίνακας S στο Σχ. 4.1 μπορεί να θεωρηθεί ως αναπαράσταση μιας σχέσης με την έννοια του ορισμού, Ανσυμφωνήσαμε πώς να «διαβαστεί» μια τέτοια εικόνα (δηλ. ανυπάρχουν ορισμένοι από εμάς κανόνες ερμηνείαςτέτοιες εικόνες). Με άλλα λόγια, πρέπει να συμφωνήσουμε ότι υπάρχουν ορισμένοι υποκείμενοι τομείς. κάθε στήλη αντιστοιχεί μόνο σε έναν από αυτούς τους τομείς. Κάθε γραμμή αντιπροσωπεύει μια πλειάδα. κάθε τιμή χαρακτηριστικού ανήκει στον αντίστοιχο τομέα κ.λπ. Αν έχουμε αποδεχθεί όλους αυτούς τους «κανόνες ερμηνείας», τότε και μόνο τότεμπορούμε να πούμε ότι ο πίνακας είναι μια αποδεκτή αναπαράσταση της σχέσης.

    Τώρα μπορούμε να πούμε ότι μια σχέση και ένας πίνακας δεν είναι πράγματι το ίδιο πράγμα (παρόλο που τα προηγούμενα κεφάλαια πρότειναν το αντίθετο). Στάση- αυτό, σύμφωνα με τον ορισμό που δόθηκε προηγουμένως, είναι ένας μάλλον αφηρημένος τύπος αντικειμένου και τραπέζιείναι μια συγκεκριμένη εικόνα (συνήθως σε χαρτί) αυτού του αφηρημένου αντικειμένου. Είναι βέβαια πολύ δεμένοι... και τουλάχιστον σε άτυπα πλαίσια συνήθως ταυτίζονται. Αλλά όταν θέλουμε να μιλήσουμε πιο επίσημα και με μεγαλύτερη ακρίβεια (και τώρα, φυσικά, θέλουμε να είμαστε πιο ακριβείς), πρέπει να αναγνωρίσουμε ότι οι δύο έννοιες δεν είναι ακριβώς πανομοιότυπες.

    (Σε τελική ανάλυση, το ίδιο σύνολο τιμών σχέσεων μπορεί να παρουσιαστεί όχι με τη μορφή πίνακα, αλλά, για παράδειγμα, με τη μορφή μιας απαριθμημένης λίστας. Για παράδειγμα, οι Ivanov, Petrov και Sergeev εργάζονται στο τμήμα Α, και Ο Γκριγκόριεφ και ο Νικολάεφ εργάζονται στο τμήμα Β. Μια τέτοια απαρίθμηση δεν είναι πίνακας (τουλάχιστον σε αυτό το πλαίσιο), αν και αυτές οι έννοιες αποτελούν μια ορισμένη σχέση μεταξύ υπαλλήλων και τμημάτων. Σημείωση εκδ.)

    Σχόλιο.Εάν δυσκολεύεστε να κατανοήσετε ορισμένες από τις διαφορές μεταξύ μιας σχέσης και ενός πίνακα, τα παρακάτω μπορεί να σας βοηθήσουν. Πρώτον, ένα από τα αναμφισβήτητα πλεονεκτήματα του σχεσιακού μοντέλου είναι ότι το βασικό του αφηρημένο αντικείμενο, (δηλαδή, μια σχέση) έχει μια απλή αναπαράσταση σε χαρτί (δηλ. μια αναπαράσταση πίνακα). Αυτή η άποψη είναι που κάνει τα σχεσιακά συστήματα εύχρηστα και κατανοητά και καθιστά τη συμπεριφορά τους πιο κατανοητή. Ωστόσο, δυστυχώς, η προβολή πίνακα προτείνει κάποια λανθασμένα γεγονότα.Για παράδειγμα, υποθέτει ρητά ότι οι σειρές του πίνακα (δηλαδή οι πλειάδες μιας σχέσης) βρίσκονται σε μια συγκεκριμένη σειρά από πάνω προς τα κάτω, αν και αυτό δεν είναι αλήθεια. Υπάρχει περαιτέρω συζήτηση για αυτό το θέμα αργότερα σε αυτό το κεφάλαιο.

    Μεταβλητές Σχέσεων

    Στο πρώτο του άρθρο, ο Codd μίλησε για τις σχέσεις που «αλλάζουν με την πάροδο του χρόνου». Με αυτόν τον όρο εννοούσε αυτό που ονομάσαμε νωρίτερα σε αυτό το κεφάλαιο μεταβλητέςσχέσεις, δηλ. μεταβλητές των οποίων οι τιμές είναι σχέσεις (γενικά, διαφορετικές σχέσεις σε διαφορετικούς χρόνους). Για παράδειγμα, όπως ήδη σημειώθηκε, η έκφραση

    ΔΗΜΙΟΥΡΓΗΣΤΕ ΣΧΕΣΗ ΒΑΣΗΣ μικρό ... ;

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

    Ωστόσο, το «αλλαγή με την πάροδο του χρόνου» δεν είναι πολύ καλός όρος. Άλλωστε, αν κάποια γλώσσα προγραμματισμού χρησιμοποιεί την παραπάνω δήλωση

    ΔΗΛΩΣΤΕ ΑΚΕΡΑΙΟ ΠΟΣΟΤΗΤΑ ...;

    Τότε θα ονομάσουμε τη μεταβλητή QTY όχι ακέραιο "μεταβλητό χρόνο", αλλά μεταβλητή ακέραιου τύπου.Επομένως, αυτό το βιβλίο θα χρησιμοποιεί τον όρο "μεταβλητή σχέσης". Ωστόσο, ο αναγνώστης θα πρέπει να γνωρίζει την ύπαρξη άλλου όρου.

    Τώρα ας R - μεταβλητή σχέσης; μεταβλητός R θα έχει διαφορετική σημασία σε διαφορετικές χρονικές στιγμές. Ωστόσο, όλες οι πιθανές τιμές της μεταβλητής R θα έχει τις ίδιες κεφαλίδες. Για παράδειγμα, όλες οι πιθανές τιμές της σχέσης βάσης S θα έχουν κεφαλίδα (S#,SNAME,STATUS,CITY). 2

    Και περισσότερα για την ορολογία

    Όπως έχουμε ήδη εξηγήσει, ο αριθμός των χαρακτηριστικών σε μια δεδομένη σχέση ονομάζεται βαθμός(μερικές φορές καλείται αριότητα) σχέση. Η σχέση πρώτου βαθμού ονομάζεται ενιαία,μια σχέση βαθμού 2 είναι δυαδική, μια σχέση βαθμού 3 είναι τριμερής... και μια σχέση βαθμού p - p-ary.(Γενικά, το σχεσιακό μοντέλο εξετάζει n-αρικές σχέσεις, όπου Πείναι ένας αυθαίρετος μη αρνητικός ακέραιος.) Στη βάση δεδομένων προμηθευτή και ανταλλακτικών, οι σχέσεις S, P και SP έχουν βαθμούς 4, 5 και 3, αντίστοιχα.

    Μερικές φορές η ασάφεια προκύπτει λόγω της ομοιότητας των εννοιών τομέαΚαι ενιαία σχέση(εξάλλου, ο τομέας μοιάζει ακριβώς με έναν πίνακα με μία στήλη). Ωστόσο, σημειώστε ότι υπάρχει μια αρκετά σημαντική διαφορά μεταξύ αυτών των δύο εννοιών: οι τομείς είναι στατικοί,ΕΝΑ οι σχέσεις είναι δυναμικές(εδώ ως σχέση εννοούμε μεταβλητόςσχέση). Με άλλα λόγια, τα περιεχόμενα μιας σχέσης (μεταβλητής) αλλάζουν με την πάροδο του χρόνου, αλλά τα περιεχόμενα ενός τομέα δεν αλλάζουν (υπενθυμίζουμε ότι ένας τομέας περιέχει όλα πιθανάαξίες κατάλληλος τύπος). Για μια πιο λεπτομερή συζήτηση αυτού του ζητήματος, βλ.

    "Όχι διαφορετικοί τομείς"

    Ας επιστρέψουμε ξανά στον ορισμό σχέση;Σημειώστε ότι οι υποκείμενοι τομείς μιας σχέσης δεν είναι απαραίτητα όλοι διακριτοί. Αυτό σημαίνει ότι πολλά χαρακτηριστικά σε μια σχέση μπορούν να βασίζονται στον ίδιο τομέα. Ένα παράδειγμα μιας τέτοιας σχέσης φαίνεται στο Σχ. 4.4. (Αυτή η σχέση ονομάζεται PART_STRUCTURE.)

    Εάν ο ίδιος τομέας χρησιμοποιείται περισσότερες από μία φορές στην ίδια σχέση, τότε, όπως αναφέρθηκε προηγουμένως, δεν μπορείτε να δώσετε σε όλα τα χαρακτηριστικά το ίδιο όνομα με τους υποκείμενους τομείς. Στο Σχ. Το Σχήμα 4.4 δείχνει τη συνιστώμενη προσέγγιση σε μια τέτοια περίπτωση: ονομάστε τα χαρακτηριστικά διαφορετικά, έτσι ώστε αυτά τα ονόματα να έχουν ως πρόθεμα τον «ρόλο». Ονομαχαρακτηριστικό, και ως επίθημα - το όνομα τομέα. Πράγματι, εάν συμφωνούμε να ακολουθούμε πάντα αυτόν τον κανόνα και επίσης χρησιμοποιούμε πάντα τους ίδιους χαρακτήρες οριοθέτησης (για παράδειγμα, τον χαρακτήρα υπογράμμισης) για να διαχωρίσουμε το όνομα ρόλου (αν υπάρχει) από το όνομα τομέα, τότε δεν θα χρειαστούμε ποτέ μια ρητή προδιαγραφή κατά τον ορισμό ενός χαρακτηριστικού "DOMAIN (τομέα)" (περισσότερα για αυτό στην επόμενη ενότητα).

    Ορισμός Δεδομένων

    Εδώ είναι η σύνταξη της δήλωσης δημιουργίας σχέσης βάσης:

    Όταν εκτελείται αυτή η πρόταση, δημιουργείται μια νέα βασική σχέσηΜε όνομα βάση- σχέση, καθώς και καθορισμένα χαρακτηριστικά, πιθανά και ξένα κλειδιά. Η σχέση δημιουργείται κενή (δηλαδή δεν περιέχει πλειάδες). Θα βρείτε πολλά παραδείγματα χρήσης αυτού του τελεστή στο Σχ. 4.3. Παρακάτω είναι μερικές εξηγήσεις του χειριστή.


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

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

    • Αν xyz- συντακτική ενότητα, λοιπόν xyz- κομμαλίστας - είναι μια συντακτική ενότητα που xyz, ο αριθμός των οποίων είναι μεγαλύτερος ή ίσος με μηδέν, και κάθε δύο μονάδες xyzχωρίζονται με κόμμα (και πιθανώς ένα ή περισσότερα κενά).
    Έτσι, για παράδειγμα, η λίστα ορισμού χαρακτηριστικών Χαρακτηριστικό- υπεράσπιση- κομμαλίσταςαποτελείται από μια ακολουθία μονάδων Χαρακτηριστικό- υπεράσπιση(δηλαδή ορισμοί χαρακτηριστικών), καθένας από τους οποίους, εκτός από τον τελευταίο, διαχωρίζεται από το επόμενο κόμμα και μια λίστα με πιθανούς ορισμούς κλειδιών υποψήφιοςμάτι- ορισμός- λίστααποτελείται από μια ακολουθία μονάδων υποψήφιος- κλειδί- ορισμός(δηλαδή, ορισμοί υποψηφίων κλειδιών), καθένας από τους οποίους, εκτός από τον τελευταίο, χωρίζεται από τον επόμενο με τουλάχιστον ένα διάστημα. Το ίδιο μπορεί να ειπωθεί για τη λίστα ορισμών ξένα κλειδιά ξένο- κλειδί- ορισμός- λίστα.

    1. 2. Ο ορισμός του χαρακτηριστικού έχει την ακόλουθη μορφή:
    χαρακτηριστικό DOMAIN ( τομέα)

    Εάν η προδιαγραφή "DOMAIN (domain)" παραλειφθεί, το χαρακτηριστικό θεωρείται ότι βασίζεται σε έναν τομέα με το ίδιο όνομα.


    1. 3. Ο ορισμός των υποψηφίων κλειδιών επεξηγείται λεπτομερώς στο επόμενο κεφάλαιο. Προς το παρόν, ας υποθέσουμε ότι κάθε δήλωση σχέσης βάσης δημιουργίας έχει μόνο έναν ορισμό στην ακόλουθη μορφή:
    ΚΥΡΙΟ ΚΛΕΙΔΙ (χαρακτηριστικό-κομμαλιστικό)

    1. 4. Οι ορισμοί ξένων κλειδιών επεξηγούνται επίσης στο επόμενο κεφάλαιο.
    Διαγραφή σχέσεων βάσης.Ακολουθεί η σύνταξη για τον τελεστή διαγραφής της υποκείμενης σχέσης:

    ΚΑΤΑΣΤΡΕΨΤΕ ΣΧΕΣΗ ΒΑΣΗΣ σχέση βάσης ;

    Αυτή η λειτουργία έχει σχεδιαστεί για να διαγράφει όλες τις πλειάδες μιας καθορισμένης σχέσης βάσης και στη συνέχεια να διαγράφει όλες τις εγγραφές καταλόγου για αυτήν τη σχέση. Μετά από αυτό, η σχέση δεν είναι πλέον γνωστή στο σύστημα (Εκτός και αν ορίζεται, υποθέτουμε ότι η λειτουργία DESTROY BASE RELATION απλά δεν θα εκτελεστεί εάν υπάρχει ορισμός προβολής που αναφέρεται στη σχέση βάσης που διαγράφεται. Περαιτέρω συζήτηση αυτού του ζητήματος. παρέχονται σε μεταγενέστερα μέρη του βιβλίου )

    Ιδιότητες των σχέσεων

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


    • ■ δεν υπάρχουν πανομοιότυπες πλειάδες.

    • ■ οι πλειάδες δεν παραγγέλνονται από πάνω προς τα κάτω.

    • ■ τα χαρακτηριστικά δεν ταξινομούνται από αριστερά προς τα δεξιά.

    • ■ όλες οι τιμές χαρακτηριστικών είναι ατομικές.

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

    Παρεμπιπτόντως, η πρώτη ιδιότητα χρησιμεύει ως καλή απεικόνιση του γεγονότος ότι μια σχέση και ένας πίνακας δεν είναι το ίδιο πράγμα, καθώς ένας πίνακας (γενικά) μπορεί να περιέχει τις ίδιες σειρές ελλείψει κανόνων που το απαγορεύουν, ενώ μια σχέση δεν μπορώπεριέχουν πανομοιότυπες πλειάδες. (Ως εκ τούτου, μια «σχέση» που περιέχει πανομοιότυπες πλειάδες δεν θα υπάρξει στάσηεξ ορισμού) Δυστυχώς, το πρότυπο SQL επιτρέπει στους πίνακες να περιέχουν πανομοιότυπες σειρές. Δεν θα ήταν σκόπιμο εδώ να συζητήσουμε όλους τους λόγους για τους οποίους οι ίδιες συμβολοσειρές είναι σφάλμα (δείτε μια εκτεταμένη συζήτηση αυτού του ζητήματος). Για τους σκοπούς μας, αρκεί να σταθούμε στο γεγονός ότι το σχεσιακό μοντέλο δεν το επιτρέπει πανομοιότυπες γραμμές; Εδώ και σε όλο αυτό το βιβλίο υποθέτουμε επίσης ότι δεν επιτρέπονται πανομοιότυπες χορδές. (Αυτή η παρατήρηση ισχύει κυρίως για τη συζήτηση της SQL στο Κεφάλαιο 8. Κατά την εξέταση του ίδιου του σχεσιακού μοντέλου, φυσικά, δεν χρειάζεται να γίνουν υποθέσεις.)

    Μια σημαντική συνέπεια του γεγονότος ότι δεν υπάρχουν δύο χορδές πανομοιότυπες είναι ότι ότι υπάρχει πάντα ένα πρωτεύον κλειδί 3 . Αφού οι πλειάδες είναι μοναδικές, τουλάχιστον ο συνδυασμός ΟλοιΤα χαρακτηριστικά θα έχουν την ιδιότητα της μοναδικότητας, πράγμα που σημαίνει ότι, εάν είναι απαραίτητο, μπορεί να χρησιμεύσει ως πρωτεύον κλειδί. Στην πράξη, φυσικά, συνήθως δεν είναι απαραίτητο να χρησιμοποιηθούν όλα τα χαρακτηριστικά - ένας συνδυασμός πολλών χαρακτηριστικών είναι κατάλληλος. Το Κεφάλαιο 5 θα ορίσει ως πρωτεύον κλειδί αυτό που δεν περιλαμβάνει χαρακτηριστικά που δεν είναι απαραίτητα από την άποψη της μοναδικότητας. Επομένως, για παράδειγμα, ο συνδυασμός (S#,CITY) αν και «μοναδικός», δεν είναι πρωτεύον κλειδί, αφού μπορούμε να αφαιρέσουμε το χαρακτηριστικό CITY χωρίς να παραβιάσουμε τη μοναδικότητα. (Σημειώστε, ωστόσο, ότι τα πρωτεύοντα κλειδιά μπορεί να είναι σύνθετα. Ένα παράδειγμα αυτού είναι η σχέση SP.)


    1. 2. Οι πλειάδες δεν έχουν παραγγελθεί (από πάνω προς τα κάτω).
    Αυτή η ιδιότητα προκύπτει επίσης από το γεγονός ότι το σώμα μιας σχέσης είναι ένα μαθηματικό σύνολο και τα απλά σύνολα στα μαθηματικά δεν ταξινομούνται. Για παράδειγμα, στο Σχ. 4.1, οι πλειάδες της σχέσης S θα μπορούσαν να διευθετηθούν με την αντίθετη σειρά - θα ήταν η ίδια σχέση. Επομένως, σε μια σχέση δεν υπάρχει η έννοια της «πέμπτης πλειάδας», «97ης πλειάδας» ή της «πρώτης πλειάδας», δηλαδή δεν υπάρχει η έννοια της «ακολουθίας». που αναφέρεται σε σχέση με την ιδιότητα "δεν υπάρχουν πανομοιότυπες πλειάδες", δείχνει γιατί η ιδιότητα "δεν παραγγέλλονται οι πλειάδες" είναι επίσης σημαντική (στην πραγματικότητα, αυτές οι ιδιότητες είναι αλληλένδετες).

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


    1. 3. Τα χαρακτηριστικά δεν είναι ταξινομημένα (από αριστερά προς τα δεξιά).
    Αυτή η ιδιότητα προκύπτει από το γεγονός ότι η κεφαλή της σχέσης ορίζεται επίσης ως ένα σύνολο (χαρακτηριστικών). Για παράδειγμα, στο Σχ. 4.1, τα χαρακτηριστικά της σχέσης S θα μπορούσαν να αναπαρασταθούν, ας πούμε, με αυτή τη σειρά: SNAME, CITY, STATUS, S# - αυτή θα ήταν η ίδια σχέση, τουλάχιστον από την άποψη του σχεσιακού μοντέλου. Επομένως, δεν υπάρχει η έννοια του "πρώτου χαρακτηριστικού" ή "τελευταίο χαρακτηριστικό" (κ.λπ.), δεν υπάρχει "επόμενο χαρακτηριστικό" (και πάλι, δεν υπάρχει η έννοια της "ακολουθίας"). Με άλλα λόγια, ένα χαρακτηριστικό προσδιορίζεται πάντα με το όνομα, όχι με την τοποθεσία. Αυτό σας επιτρέπει να αποφύγετε ορισμένα σφάλματα και ασάφειες κατά τη σύνταξη προγραμμάτων. Για παράδειγμα, δεν υπάρχει (ή δεν θα έπρεπε να υπάρχει) πιθανότητα αποτυχίας του συστήματος λόγω της «αναρρίχησης» ενός χαρακτηριστικού σε ένα άλλο. Αυτή η κατάσταση διαφέρει από την κατάσταση σε πολλά συστήματα προγραμματισμού, όπου η φυσική γειτνίαση λογικά διακριτών στοιχείων μπορεί να εκμεταλλευτεί (σκόπιμα ή τυχαία) με διάφορους τρόπους που ενδέχεται να βλάψουν το σύστημα.

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


    1. 4. Όλες οι τιμές χαρακτηριστικών είναι ατομικές.
    Η τελευταία ιδιότητα είναι συνέπεια του γεγονότος ότι όλοι οι υποκείμενοι τομείς περιέχουν μόνο ατομικές τιμές. Αυτή η ιδιότητα μπορεί να εκφραστεί με άλλο τρόπο (μάλλον ανεπίσημα): σε κάθε θέση τομής μιας στήλης και μιας γραμμής σε έναν πίνακα, υπάρχει ακριβώς μια τιμή και όχι ένα σύνολο τιμών. Μπορείτε επίσης να πείτε αυτό: Οι σχέσεις δεν περιέχουν ομάδες επανάληψης.Μια σχέση που ικανοποιεί αυτή τη συνθήκη ονομάζεται κανονικοποιημένη ή αναπαρίσταται στην πρώτη κανονική μορφή (άλλες κανονικές μορφές - η δεύτερη, η τρίτη - συζητούνται στα ακόλουθα μέρη του βιβλίου).

    Αυτό σημαίνει ότι από τη σκοπιά του σχεσιακού μοντέλου, όλες οι σχέσεις κανονικοποιούνται. Αυτό σημαίνει ότι ο όρος «σχέση» σημαίνει πάντα μια «κανονικοποιημένη σχέση» στο πλαίσιο του σχεσιακού μοντέλου. Το θέμα όμως είναι τι είναι μαθηματικόη σχέση δεν χρειάζεται να ομαλοποιηθεί καθόλου. Εξετάστε τη σχέση ΠΡΙΝ που φαίνεται στο Σχ. 4.5. Από μαθηματική άποψη, ΠΡΙΝ είναισχέση βαθμού δύο, σε ένα από τα πεδία αυτής της σχέσης οι αξίες είναι σχέσεις.

    Επομένως, τα στοιχεία αυτού του τομέα είναι τα ίδια οι σχέσεις και όχι οι απλοί βαθμωτοί. Σε αυτό το παράδειγμα, το χαρακτηριστικό PQ ορίζεται με βάση έναν τομέα σχεσιακής τιμής του οποίου τα στοιχεία είναι δυαδικές σχέσεις. Αυτές οι δυαδικές σχέσεις ορίζονται με τη σειρά τους με βάση δύο τομείς βαθμωτών τιμών, δηλαδή τους τομείς P# και QTY. Το σχεσιακό μοντέλο δεν επιτρέπει τομείς σχεσιακών τιμών (αυτό θα συζητηθεί αργότερα σε αυτό το βιβλίο).

    Μια σχέση όπως η σχέση ΠΡΙΝ δεν επιτρέπεται σε μια σχεσιακή βάση δεδομένων. Πρέπει να αντικατασταθεί από μια κανονικοποιημένη σχέση που περιέχει τις ίδιες πληροφορίες. Μια τέτοια σχέση είναι η σχέση ΜΕΤΑ στο σχήμα (στην πραγματικότητα, αυτή είναι η ήδη γνωστή σχέση SP). Η σχέση AFTER έχει βαθμό τριών και βασίζεται σε τρεις τομείς με βαθμωτές τιμές. Όπως έχει ήδη εξηγηθεί, μια σχέση όπως η σχέση ΜΕΤΑ ονομάζεται κανονικοποιημένη. Μια σχέση παρόμοια με τη σχέση ΠΡΙΝ ονομάζεται μη κανονικοποιημένη. και ονομάζεται η διαδικασία μετατροπής μιας σχέσης ΠΡΙΝ σε σχέση ΜΕΤΑ ομαλοποίηση.Όπως δείχνει αυτό το παράδειγμα, είναι αρκετά εύκολο να αποκτήσετε μια κανονικοποιημένη μορφή από μια μη κανονικοποιημένη φόρμα, αλλά υπάρχουν πολλά περισσότερα που πρέπει να ειπωθούν για τη διαδικασία κανονικοποίησης και θα συζητηθούν αργότερα στο βιβλίο.

    Ο λόγος για τον οποίο απαιτείται κανονικοποίηση όλων των πινάκων είναι ο εξής. Από μαθηματική άποψη, η κανονικοποιημένη αναλογία έχει περισσότερα απλή δομή.Ως αποτέλεσμα, απαιτούνται λιγότεροι χειριστές για να εργαστούν με κανονικοποιημένες σχέσεις και είναι απλούστερες. Για παράδειγμα, εξετάστε δύο προβλήματα.


    1. 1. Καταγραφή ΝΕΑ ΠΛΗΡΟΦΟΡΙΑσχετικά με την προμήθεια 500 ανταλλακτικών P5 στον προμηθευτή S5.

    2. 2. Καταγράψτε νέες πληροφορίες παράδοσης για τον προμηθευτή S4 των εξαρτημάτων P5 στο ποσό των 500.
    Για τη σχέση AFTER, δεν υπάρχει σημαντική διαφορά στην εκτέλεση αυτών των δύο πράξεων, η καθεμία απαιτεί την εισαγωγή μιας πλειάδας στη σχέση. Και για τη σχέση ΠΡΙΝ, η πρώτη εργασία απαιτεί την ίδια εισαγωγή μιας πλειάδας στη σχέση, αλλά η δεύτερη εργασία απαιτεί σημαντικά διαφορετική λειτουργία,ήτοι: ένθετο νέα καταχώρησησε ένα σύνολο εγγραφών (δηλαδή, ομάδα επανάληψης) μέσα σε μια υπάρχουσα πλειάδα. Επομένως, για την υποστήριξη μη κανονικοποιημένων λειτουργιών, δύο εντελώς διαφορετικούς χειριστές"ΕΙΣΑΓΕΤΕ". Για παρόμοιους λόγους, θα χρειαστείτε επίσης δύο διαφορετικές δηλώσεις "UPDATE", δύο διαφορετικές δηλώσεις "DELETE" κ.λπ. Λάβετε υπόψη ότι αυτές οι σημειώσεις ισχύουν όχι μόνο για τους υπεύθυνους επεξεργασίας δεδομένων, αλλά και Ολοιδιαχειριστές συστημάτων· για παράδειγμα, χρειαζόμαστε πρόσθετους χειριστέςδιασφαλίζοντας την ασφάλεια των δεδομένων, απαιτούνται πρόσθετοι χειριστές για τη διασφάλιση της ακεραιότητας των δεδομένων κ.λπ. (Και γενικά, μπορεί να θεωρηθεί αξίωμα ότι αν έχουμε Πτρόπους παρουσίασης δεδομένων, τότε χρειαζόμαστε Πσύνολα πράξεων.) Λοιπόν, η μονολεκτική απάντηση στην ερώτηση "Γιατί επιμένουμε στην κανονικοποίηση;" - Αυτό απλότητα:απλότητα των αντικειμένων με τα οποία εργαζόμαστε, η οποία οδηγεί σε απλοποίηση ολόκληρου του συστήματος.

      1. 4.4. Τύποι σχέσεων
    Σε αυτή την ενότητα, θα ορίσουμε μερικούς από τους τύπους σχέσεων που βρίσκονται σε σχεσιακά συστήματα (ωστόσο, σημειώστε ότι δεν υποστηρίζουν όλα τα συστήματα καθέναν από αυτούς τους τύπους).

    1. 1. Καταρχήν, επώνυμαμια σχέση είναι μια μεταβλητή σχέσης που ορίζεται στο DBMS μέσω των δηλώσεων CREATE BASE RELATION, CREATE VIEW και CREATE SNAPSHOT (στη σύνταξη που χρησιμοποιούμε). Η δήλωση CREATE VIEW παρουσιάστηκε στο Κεφάλαιο 3 και η δήλωση CREATE SNAPSHOT συζητείται αργότερα σε αυτό το κεφάλαιο.

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

    3. 3. ΠαράγωγοΜια σχέση είναι μια σχέση που ορίζεται (από μια σχεσιακή έκφραση) ως προς άλλες επώνυμες σχέσεις και, τελικά, με όρους βασικών σχέσεων.
    Προειδοποίηση.Θυμηθείτε ότι ορισμένοι συγγραφείς με τον όρο «παράγωγο» σημαίνουν «εκφρασμένο» (βλ. επόμενη παράγραφο).

    1. 4. ΕκφραστόςΜια σχέση είναι μια σχέση που μπορεί να ληφθεί από ένα σύνολο ονομασμένων σχέσεων μέσω κάποιας σχεσιακής έκφρασης. Φυσικά, κάθε επώνυμη σχέση είναι μια εκφρασμένη σχέση, αλλά όχι το αντίστροφο. Οι βασικές σχέσεις, οι προβολές, τα στιγμιότυπα (περισσότερα για αυτά παρακάτω), τα ενδιάμεσα και τα τελικά αποτελέσματα της αναφοράς είναι όλες εκφράσιμες σχέσεις. Με άλλα λόγια, το σύνολο όλων των εκφράσιμων σχέσεων είναι ακριβώς το σύνολο όλων των βασικών σχέσεων και όλων των παραγόμενων σχέσεων.

    2. 5. Υποβολήονομάζεται ονομαζόμενη παράγωγη σχέση. (Οι αναπαραστάσεις, όπως και οι βασικές σχέσεις, είναι μεταβλητέςσχέσεις.) Αναπαραστάσεις εικονικός -αντιπροσωπεύονται στο σύστημα αποκλειστικά μέσω του ορισμού σε σχέση με άλλες επώνυμες σχέσεις.

    3. 6. εικόνες (στιγμιότυπο) - ονομάζονται παράγωγες σχέσεις, ακριβώς όπως οι απόψεις (και σαν απόψεις είναι μεταβλητέςσχέσεις). Ωστόσο, σε αντίθεση με τις αναπαραστάσεις, οι εικόνες είναι πραγματικές και όχι εικονικές, δηλ. αντιπροσωπεύονται όχι μόνο εξ ορισμού ως προς άλλες επώνυμες σχέσεις, αλλά και (τουλάχιστον εννοιολογικά) από τα μεμονωμένα δεδομένα τους. Εδώ είναι ένα παράδειγμα:

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


    1. 7. Ένα αποτέλεσμα ερωτήματος είναι μια παράγωγη σχέση χωρίς όνομα που χρησιμεύει ως αποτέλεσμα κάποιου συγκεκριμένου ερωτήματος Η βάση δεδομένων δεν παρέχει μόνιμη ύπαρξη για αποτελέσματα ερωτήματος (για την αποθήκευση του αποτελέσματος ενός ερωτήματος, μπορεί να εκχωρηθεί σε κάποια επώνυμη σχέση).

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

    Η σχέση που προκύπτει από την έκφραση S JOIN SP θα είναι ένα ενδιάμεσο αποτέλεσμα. Ας το ονομάσουμε TEMP1. Τότε η σχέση που προκύπτει από την έκφραση TEMP1 WHERE P# = "P2" θα είναι επίσης ένα ενδιάμεσο αποτέλεσμα. Ας το ονομάσουμε TEMP2. Και η σχέση που προκύπτει από την έκφραση TEMP2 θα είναι το τελικό αποτέλεσμα. Η βάση δεδομένων δεν παρέχει διαρκή ύπαρξη για ενδιάμεσα αποτελέσματα, ούτε για τελικά αποτελέσματα (πράγματι, όπως αναφέρεται στο Κεφάλαιο 3, μπορεί να μην υπάρχουν ως πλήρης υλοποιημένος πίνακας από μόνος τους).


    1. 9. Και τέλος, αποθηκευμένοη σχέση είναι μια σχέση που διατηρείται σε φυσική μνήμη«άμεσα» (φυσικά, με κατάλληλο ορισμό της «αμεσότητας»· μια λεπτομερέστερη συζήτηση αυτού του ζητήματος ξεφεύγει από το πεδίο εφαρμογής αυτού του κεφαλαίου).
    Συμπερασματικά, ας προσθέσουμε ότι η αποθηκευμένη σχέση Δενσυμπίπτει πάντα με τη βασική σχέση. Το σύνολο των αποθηκευμένων σχέσεων πρέπει να είναι τέτοιο ώστε όλες οι βασικές σχέσεις, και επομένως όλες οι εκφρασμένες σχέσεις, να μπορούν να προέρχονται από αυτό. αλλά δεν απαιτεί όλες οι αποθηκευμένες σχέσεις να είναι σχέσεις βάσης και δεν απαιτεί να αποθηκεύονται όλες οι σχέσεις βάσης. Μια πιο λεπτομερής συζήτηση αυτού του ζητήματος δόθηκε στο Κεφάλαιο 3.

      1. 4.5. Σχέσεις και κατηγορήματα
    Αν και δεν σταθήκαμε σε αυτό το θέμα, ο αναγνώστης μάλλον κατανοεί διαισθητικά ότι κάθε σχέση έχει κάποια ερμηνεία,και οι χρήστες πρέπει να το γνωρίζουν για να χρησιμοποιούν αποτελεσματικά τη βάση δεδομένων. Για παράδειγμα, η ερμηνεία της σχέσης S μπορεί να είναι η εξής:

    Προμηθευτής με συγκεκριμένο αριθμό (μικρό#) έχει ένα συγκεκριμένο όνομα (SNAME) και μια ορισμένη τιμή κατάστασης (ΚΑΤΑΣΤΑΣΗ) και βρίσκεται σε μια συγκεκριμένη πόλη (ΠΟΛΗ) Επιπλέον, κανένας προμηθευτής δεν έχει τους ίδιους αριθμούς.

    Αυτή η δήλωση δεν είναι πολύ ακριβής, αλλά ταιριάζει στους σκοπούς μας.

    Τυπικά, η προηγούμενη δήλωση είναι ένα παράδειγμα αυτού που ονομάζεται κατηγορούμενο, ή συνάρτηση τιμής αλήθειας. στη συγκεκριμένη περίπτωσή μας - συνάρτηση τεσσάρων ορισμάτων. Η αντικατάσταση των τιμών αυτών των ορισμάτων είναι ισοδύναμη θα τηλεφωνήσωσυνάρτηση (ή "επιβεβαίωση" του κατηγόρημα), και επομένως απόκτηση μιας έκφρασης που ονομάζεται δήλωση, που μπορεί να είναι είτε αλήθειαή ψέματα.Για παράδειγμα, κατά την αντικατάσταση

    S#= "SI" SNAME ="Smith1 STATUS = 20 CITY = "London"

    η αλήθεια.Και κατά την αντικατάσταση

    S#= "SI" SNAME = "Abbey" STATUS = 45 CITY = "Tucson"

    Λαμβάνουμε μια δήλωση δηλαδή ψέματα(επειδή ο αριθμός προμηθευτή S1 δεν ονομάζεται Abbey, δεν είναι status 45 και δεν βρίσκεται στο Tucson). Και ανά πάσα στιγμή η σχέση περιέχει ακριβώς εκείνες τις πλειάδες για τις οποίες είναι το κατηγόρημα η αλήθεια.

    Από τα παραπάνω προκύπτει ότι (για παράδειγμα) μια πλειάδα που παρουσιάζεται ως υποψήφια για εισαγωγή σε κάποια σχέση θα γίνει αποδεκτή από το ΣΔΒΔ μόνο εάν δεν έρχεται σε αντίθεση με το αντίστοιχο κατηγόρημα (δηλ. η αντίστοιχη δήλωση δεν θα ψέματα).Γενικά, το κατηγόρημα αυτής της σχέσης είναι κριτήριο δυνατότητας ενημερώσειςγια αυτή τη σχέση? εκείνοι. ένα κριτήριο για να αποφασιστεί εάν κάποια ενημέρωση είναι έγκυρη (ή τουλάχιστον «εύλογη») για μια δεδομένη σχέση.

    Προκειμένου το σύστημα να καθορίσει εάν μια δεδομένη σχέση μπορεί να ενημερωθεί, πρέπει να γνωρίζει το κατηγόρημα αυτής της σχέσης. Φυσικά, τώρα το ΣΔΒΔ δεν μπορεί να γνωρίζει ακριβώς το κατηγόρημα για μια δεδομένη σχέση. Για παράδειγμα, στην περίπτωση της σχέσης S, το DBMS δεν μπορεί να γνωρίζει με βεβαιότητα ότι το κατηγόρημα για την πλειάδα (S1,Smith,20,London) θα είναι αλήθεια,αλλά για την πλειάδα (S1,Abbey,45,Tucson) - όχι. 5 Ωστόσο, το ΣΔΒΔ θεωρεί μια πλειάδα αποδεκτή εάν πληρούνται οι ακόλουθες προϋποθέσεις:


    • Η τιμή S# ανήκει στον τομέα αριθμού προμηθευτή.

    • Η τιμή SNAME ανήκει σε έναν τομέα ονόματος.

    • Η τιμή STATUS ανήκει στον τομέα της τιμής κατάστασης.

    • Η τιμή CITY ανήκει στον τομέα ονόματος πόλης.

    • Η τιμή S# πρέπει να είναι μοναδική μεταξύ όλων των τιμών των σχέσεων.
    Με άλλα λόγια, για μια σχέση βάσης όπως η S, το DBMS χρησιμοποιεί συγκεκριμένες σχέσεις που δηλώνονται για αυτό κανόνες ακεραιότητας,όπως ο κανόνας ότι η τιμή S# είναι μοναδική και ανήκει στον τομέα αριθμού προμηθευτή. Επομένως, τυπικά μπορούμε καθορίζω"τιμή" (γνωστή στο DBMS) μιας δεδομένης βασικής σχέσης ως λογικός πολλαπλασιασμός (λογική ΚΑΙ λειτουργία) όλων των κανόνων που είναι γνωστοί στο DBMS που εφαρμόζονται σε αυτήν τη σχέση. Και με αυτή την έννοια το ΣΔΒΔ θα ελέγξει το παραδεκτό της ενημέρωσης αυτής της σχέσης.

    Θα επανέλθουμε στην έννοια της αναλογίας αρκετές φορές σε επόμενα κεφάλαια.


      1. 4.6. Σχεσιακές βάσεις δεδομένων
    Με βάση τις συζητήσεις και τις επεξηγήσεις σε αυτό το κεφάλαιο, μπορεί να δοθεί ένας πιο επίσημος ορισμός (πιο επίσημος από αυτόν που δόθηκε νωρίτερα σε αυτό το κεφάλαιο) του όρου "σχεσιακή βάση δεδομένων". Παραφράζοντας τον ορισμό που δόθηκε από τον Codd, παίρνουμε τα εξής:

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

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

    Η διάκριση μεταξύ τομέων και (ονομασμένων) σχέσεων μπορεί επίσης να διευκρινιστεί κάπως. Ονομάζουμε μεταβλητές επώνυμων σχέσεων επειδή οι τιμές τους αλλάζουν με την πάροδο του χρόνου. Όπως αναφέρθηκε προηγουμένως σε αυτό το κεφάλαιο, τομείς Δενείναι μεταβλητές με αυτή την έννοια. Για παράδειγμα, πολλοί όλα πιθανάΟι αριθμοί προμηθευτών, φυσικά, δεν αλλάζουν με την πάροδο του χρόνου, ή αν αλλάζει, τότε η αλλαγή είναι περιγραφικόςχαρακτήρας, δηλ. εμφανίζεται σε επίπεδο τύπου, όχι σε επίπεδο παρουσίας. Αυτό μοιάζει λίγο με την αλλαγή του υποκείμενου τύπου δεδομένων για τον αριθμό προμηθευτή από CHAR(5) σε CHAR(7). Λάβετε υπόψη ότι μια τέτοια αλλαγή ενδέχεται να απαιτεί αναδιοργάνωση της βάσης δεδομένων.

    Έτσι, μπορούμε να πούμε ότι με παραδοσιακούς όρους μια σχέση αντιστοιχεί σε ένα αρχείο (λογικό, όχι φυσικό), μια πλειάδα είναι εγγραφές(παράδειγμα, όχι τύπος), χαρακτηριστικό πεδίο(τύπος, όχι παράδειγμα). Ωστόσο, αυτή η αλληλογραφία σε το καλύτερο σενάριοκατά προσέγγιση. Μια σχέση δεν πρέπει να αντιμετωπίζεται ως "απλώς ένα αρχείο" αλλά ως αρχείο υπόκεινται σε ορισμένους κανόνεςΑυτό αντικατοπτρίζεται σε μια σημαντική απλοποίηση της δομής των αντικειμένων δεδομένων που συναντά ο χρήστης και, κατά συνέπεια, στην απλοποίηση των χειριστών που απαιτούνται για να εργαστούν με αυτά τα αντικείμενα. Πιο συγκεκριμένα, όλα τα δεδομένα σε σχεσιακό σύστημασυστήνονται ένα και μοναδικότρόπο, δηλαδή ρητές τιμές (αυτή η ιδιότητα μερικές φορές ονομάζεται "βασική αρχή του σχεσιακού μοντέλου", καθώς και " αρχή της πληροφόρησης"). Συγκεκριμένα, αυτές οι ρητές τιμές αντιπροσωπεύουν λογικές σχέσεις εντός και μεταξύ των σχέσεων· δεν υπάρχουν δείκτες αρχείου ή εγγραφής ορατό από τον χρήστη, καμία σειρά εγγραφής ορατή από τον χρήστη, ομάδες επανάληψης ορατές από τον χρήστη κ.λπ.

    6 Αν σκεφτούμε τις σχέσεις ως πίνακες, θα μπορούσαμε να πούμε ότι, για παράδειγμα, η μεταβλητή σχέσης S αντιπροσωπεύει διαφορετικούς πίνακες σε διαφορετικούς χρόνους. Ωστόσο, σημειώστε ότι αυτοί οι διαφορετικοί πίνακες θα έχουν διαφορετικές σειρές, αλλά οι στήλες θα είναι ίδιες.

    7 Για αναγνώστες που είναι εξοικειωμένοι με τη γλώσσα SQL, σημειώστε ότι στην SQL είναι δυνατή η προσθήκη νέα στήληή αφαιρέστε μια υπάρχουσα στήλη από τον βασικό πίνακα χρησιμοποιώντας την πρόταση ALTER TABLE. Ωστόσο, αυτή η λειτουργία δεν θεωρείται καλύτερα ως τροποποίηση ενός υπάρχοντος πίνακα, αλλά ως καταστροφή του υπάρχοντος πίνακα και δημιουργία ενός νέου με το ίδιο όνομα και νέα κεφαλίδα.

    8 Πιο συγκεκριμένα, υπάρχει πάντα τουλάχιστον ένα δυνητικόςκλειδί. Υποθέτουμε ότι ένα από τα υποψήφια κλειδιά επιλέγεται ως πρωτεύον κλειδί. Υπάρχει περαιτέρω συζήτηση για αυτό το θέμα στο Κεφάλαιο 5.

    9 Η έννοια της «ακολουθίας» απαιτείται για τη διεπαφή μεταξύ μιας σχεσιακής βάσης δεδομένων και μιας γλώσσας υποδοχής όπως η C ή η COBOL. Αλλά αυτό είναι μια απαίτηση για τις βασικές γλώσσες, όχι για το σχεσιακό μοντέλο. Ουσιαστικά, αυτές οι γλώσσες το απαιτούν διαταραγμένοςτα σύνολα έχουν μετατραπεί σε διέταξεέτσι ώστε να μπορούν να εκτελεστούν λειτουργίες όπως "call next tuple". Σημειώστε επίσης ότι τέτοιες δυνατότητες αποτελούν μέρος της διεπαφής προγραμματισμού της εφαρμογής—δεν είναι ορατές στον τελικό χρήστη.

    10 Εδώ χρησιμοποιούμε την προφανή συντομογραφία ότι η έκφραση (S1,Smith,20,London) αντιστοιχεί στην πλειάδα ( , ).

    Σχεσιακή ακεραιότητα δεδομένων (σελ. 113-130)

    Το βιβλίο " Εισαγωγή στα Συστήματα Βάσεων Δεδομένων », Κρις Τζ. Ραντεβού , 8 -μιέκδοση, χαρτί αντισταθμίζεται-άσπρο, στερεόςδεσμευτικός, 1328 σελ., ISBN 978-5-8459-0788-2, “WILLIAMS”, 2016 - παραγγελία-αγορά Βιβλίο " » στο ηλεκτρονικό κατάστημα ComBook.ru

    Ογδοο δημοσίευση του θεμελιώδους έργου» Εισαγωγή στα Συστήματα Βάσεων Δεδομένων » Chris Date παρέχει μια ολοκληρωμένη εισαγωγή στην πολύ εκτεταμένη πλέον θεωρία των συστημάτων βάσεων δεδομένων

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

    Βιβλίο " Εισαγωγή στα Συστήματα Βάσεων Δεδομένων » προορίζεται να χρησιμοποιηθεί κυρίως ως εγχειρίδιο και όχι ως βιβλίο αναφοράς, επομένως αναμφίβολα θα ενδιαφέρει επαγγελματίες προγραμματιστές, ερευνητές και φοιτητές που σπουδάζουν σχετικά μαθήματα σε ιδρύματα τριτοβάθμιας εκπαίδευσης

    Στο βιβλίο Chris Date η έμφαση δίνεται στην κατανόηση της ουσίας και στη βαθιά κατανόηση του υλικού που παρουσιάζεται και όχι μόνο στην επίσημη παρουσίασή του

    Βιβλίο " Εισαγωγή στα Συστήματα Βάσεων Δεδομένων «Σίγουρα θα είναι χρήσιμο σε όλους όσους πρέπει να εργαστούν με βάσεις δεδομένων ή απλώς να τις χρησιμοποιήσουν

    ( )
    (παραγγελία-αγορά Βιβλίο " Εισαγωγή στα Συστήματα Βάσεων Δεδομένων» στο ηλεκτρονικό κατάστημα ComBook.ru )

    ( )
    (παραγγελία-αγορά βιβλίο για " Εισαγωγή στα Συστήματα Βάσεων Δεδομένων» στο διαδικτυακό megamarket Ozon.ru )

    ( )
    (παραγγελία-αγορά Βιβλίο " Εισαγωγή στα Συστήματα Βάσεων Δεδομένων» στο ηλεκτρονικό κατάστημα diamail.com.ua )

    Επί ρωσική γλώσσατο βιβλίο εκδόθηκε στο Ιούλιος 2016 της χρονιάς στον εκδοτικό οίκο» ΓΟΥΙΛΙΑΜΣ "και ανατυπώθηκε περιορισμένη έκδοση

    ΠΕΡΙΕΧΟΜΕΝΑ ΤΟΥ ΒΙΒΛΙΟΥ « Εισαγωγή στα Συστήματα Βάσεων Δεδομένων » ( 8 1η έκδοση)
    ____________________________________
    Εισαγωγή

    Μέρος Ι. Βασικές Έννοιες
    Κεφάλαιο 1. Βάσεις δεδομένων και διαχείρισή τους
    Κεφάλαιο 2. Αρχιτεκτονική συστήματος βάσης δεδομένων
    Κεφάλαιο 3. Εισαγωγή στο σχεσιακές βάσεις δεδομένωνδεδομένα
    Κεφάλαιο 4. Εισαγωγή στη γλώσσα SQL

    Μέρος II. Σχεσιακό μοντέλο
    Κεφάλαιο 5. Τύποι
    Κεφάλαιο 6. Σχέσεις
    Κεφάλαιο 7. Σχεσιακή άλγεβρα
    Κεφάλαιο 8. Σχεσιακός Λογισμός
    Κεφάλαιο 9. Ακεραιότητα δεδομένων
    Κεφάλαιο 10. Απόψεις

    Μέρος III. Σχεδιασμός Βάσεων Δεδομένων
    Κεφάλαιο 11. Λειτουργικές εξαρτήσεις
    Κεφάλαιο 12. Περαιτέρω κανονικοποίηση: μορφές 1nf, 2nf, 3nf και nfbk
    Κεφάλαιο 13: Περαιτέρω κανονικοποίηση: Κανονικές φόρμες ανώτερης τάξης
    Κεφάλαιο 14. Σημασιολογική Μοντελοποίηση

    Μέρος IV. Διαχείριση συναλλαγών
    Κεφάλαιο 15. Ανάκτηση
    Κεφάλαιο 16. Παραλληλισμός

    Μέρος V: Πρόσθετα θέματα
    Κεφάλαιο 17. Προστασία δεδομένων
    Κεφάλαιο 18. Βελτιστοποίηση
    Κεφάλαιο 19. Λείπουν πληροφορίες
    Κεφάλαιο 20. Κληρονομικότητα τύπου
    Κεφάλαιο 21. Κατανεμημένες βάσεις δεδομένωνδεδομένα
    Κεφάλαιο 22. Υποστήριξη αποφάσεων
    Κεφάλαιο 23. Ιστορικές βάσεις δεδομένων
    Κεφάλαιο 24. Λογικά συστήματαδιαχείρηση βάσης δεδομένων

    Μέρος VI. Αντικείμενα, Σχέσεις και XML
    Κεφάλαιο 25. Βάσεις δεδομένων αντικειμένωνδεδομένα
    Κεφάλαιο 26. Αντικειμενοσχεσιακές βάσεις δεδομένων
    Κεφάλαιο 27. World Wide Web και XML

    Μέρος VII. Εφαρμογές
    Παράρτημα Α: Διασχεσιακό μοντέλο
    Παράρτημα Β: Εκφράσεις SQL
    Παράρτημα Β: Συντομογραφίες και ειδικοί χαρακτήρες
    Παράρτημα Δ. Δομές αποθήκευσης και μέθοδοι πρόσβασης
    Ευρετήριο θεμάτων


    Βάση δεδομένων.
    Σχέδιο,
    υλοποίηση και
    συνοδεία

    Θεωρία και πράξη

    Τόμας Κόνολι
    Καρολάιν Μπεγκ
    Το βιβλίο " Βάση δεδομένων. Σχεδιασμός, υλοποίηση και υποστήριξη. Θεωρία και πράξη », Τόμας Κόνολι , Καρολάιν Μπεγκ , χαρτί αντισταθμίζεται-άσπρο, στερεόςδεσμευτικός, 1440 σελ., ISBN 978-5-8459-2020-1, «ΔΙΑΛΕΚΤΙΚΗ», 2017 - παραγγελία-αγορά Βιβλίο " Βάση δεδομένων» στο ηλεκτρονικό κατάστημα ComBook.ru

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

    Βιβλίο " Βάση δεδομένων. Σχεδιασμός, υλοποίηση και υποστήριξη. Θεωρία και πράξη » περιέχει Λεπτομερής περιγραφήχαρακτηριστικά ανάπτυξης εφαρμογών βάσεων δεδομένων για το Διαδίκτυο και πολυάριθμα παραδείγματα κώδικα για πρόσβαση σε βάσεις δεδομένων από το Διαδίκτυο, συμπεριλαμβανομένης της χρήσης εργαλείων JDBC, SQLJ, ASP, JSP και PSP Oracle

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

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

    Πρωτότυπο βιβλίο: « Συστήματα Βάσεων Δεδομένων: Μια Πρακτική Προσέγγιση Σχεδιασμού, Υλοποίησης και Διαχείρισης " με Τόμας Κόνολι και Κάρολιν Μπεγκ

    (Το βιβλίο μπορείτε να το παραγγείλετε και να το αγοράσετε στο Biblio-Globus )
    (παραγγελία-αγορά Βιβλίο " Βάση δεδομένων» στο ηλεκτρονικό κατάστημα biblio-globus.ru )

    (το βιβλίο μπορείτε να το παραγγείλετε από το KOMBUK e - τα περισσότερα χαμηλή τιμήστην Ρωσία! )
    (παραγγελία-αγορά Βιβλίο " Βάση δεδομένων» στο ηλεκτρονικό κατάστημα ComBook.ru )

    (Μπορείτε να παραγγείλετε το βιβλίο στο Ozon.ru )
    (παραγγελία-αγορά βιβλίο για " Εισαγωγή στα Συστήματα Βάσεων Δεδομένων» στο διαδικτυακό megamarket Ozon.ru )

    (Το βιβλίο μπορείτε να το παραγγείλετε από την DiaMail Ukraine )
    (παραγγελία-αγορά Βιβλίο " Βάση δεδομένων» στο ηλεκτρονικό κατάστημα diamail.com.ua )

    Στο βιβλίο " » δίνονται απλές και πρακτικές απαντήσεις σε ερωτήσεις που απαιτούν γρήγορες λύσεις. Έχοντας εργαστεί 30 μαθήματα, διάρκειας περίπου 10 λεπτάκαθένα, θα μάθετε όλα όσα χρειάζεστε για να χρησιμοποιήσετε τη γλώσσα με κερδοφόρα χρήση T-SQL για να δουλέψω με RDBMS Microsoft SQLΥπηρέτης

    Αυτός ο εύχρηστος οδηγός τσέπης ξεκινά με απλά παραδείγματα ανάκτησης δεδομένων και προχωρά σε πιο σύνθετα θέματα, όπως συνδέσεις, υποερωτήματα, κανονικές εκφράσειςκαι αναζήτηση πλήρους κειμένου, αποθηκευμένες διαδικασίες, δρομείς, ενεργοποιητές, περιορισμοί πίνακα, επεξεργασία δεδομένων σε μορφές XML Και JSON και πολλα ΑΚΟΜΑ

    Για τη διευκόλυνση της μελέτης της ύλης του μαθήματος, το βιβλίο « Γλώσσα T-SQLγια Microsoft SQL Server σε 10 λεπτά » εξοπλισμένο με τα ακόλουθα ένθετα :

    - Συμβουλή . Υποδεικνύει συντομεύσεις και λύσεις σε πρακτικά προβλήματα
    - Προειδοποίηση . Βοηθά στην αποφυγή κοινών κρυφών εμποδίων
    - Σημείωση . Εξηγεί σχετικές έννοιες και παρέχει πρόσθετες πληροφορίες

    Έχοντας ξοδέψει 10 λεπτάγια κάθε μάθημα , θα μάθετε τα εξής :

    απολαμβάνω T-SQL SQL Server
    - Συνθέτω πολύπλοκα ερωτήματαχρησιμοποιώντας τελεστές, ρήτρες και πράξεις σε T-SQL
    - Εξαγωγή, ταξινόμηση και διαμόρφωση περιεχομένων της βάσης δεδομένων


    - Εφαρμογή της παγκοσμιοποίησης και της τοπικής προσαρμογής SQL Server
    - Δημιουργήστε υποερωτήματα για αποσαφήνιση δεδομένων
    - Αυτοματοποιήστε το φόρτο εργασίας σας χρησιμοποιώντας εναύσματα

    - Χειριστείτε προβολές, αποθηκευμένες διαδικασίες, δρομείς και άλλα εργαλεία SQL Server

    (Μπορείτε να παραγγείλετε και να αγοράσετε το βιβλίο στο KOMBOOK e - η χαμηλότερη τιμή στη Ρωσία! )
    (παραγγελία-αγορά Βιβλίο " Γλώσσα T-SQL για Microsoft SQL Server σε 10 λεπτά» στο ηλεκτρονικό κατάστημα ComBook.ru )

    (Μπορείτε να παραγγείλετε και να αγοράσετε το βιβλίο στο Ozon.ru )
    (παραγγελία-αγορά βιβλίο για " Γλώσσα T-SQL για Microsoft SQL Server σε 10 λεπτά» στο διαδικτυακό megamarket Ozon.ru )

    (Το βιβλίο μπορεί να παραγγελθεί και να αγοραστεί στη DiaMail Ukraine )
    (παραγγελία-αγορά Βιβλίο " Γλώσσα T-SQL για Microsoft SQL Server σε 10 λεπτά» στο ηλεκτρονικό κατάστημα diamail.com.ua )

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

    Στο βιβλίο " Μεγάλα δεδομένα » εξετάζεται αρχιτεκτονική λάμδα , που προορίζονται για την κατασκευή τέτοιων συστημάτων και χρησιμοποιώντας το παράδειγμα μιας συγκεκριμένης διαδικτυακής εφαρμογής, τα χαρακτηριστικά της υλοποίησης όλων των επιπέδων αυτής της αρχιτεκτονικής εξηγούνται χρησιμοποιώντας εργαλεία όπως Hadoop , Κασσάνδρα Και Καταιγίδα

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

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

    Βιβλίο " Big data: αρχές και πρακτική δημιουργίας επεκτάσιμων συστημάτων επεξεργασίας δεδομένων σε πραγματικό χρόνο » θα σας διδάξει πώς να δημιουργείτε μεγάλα συστήματα μετάδοσης και επεξεργασίας δεδομένων χρησιμοποιώντας μια αρχιτεκτονική ειδικά σχεδιασμένη για συλλογή και ανάλυση δεδομένων σε κλίμακα web. Το βιβλίο περιγράφει ένα επεκτάσιμο, εύκολο στην κατανόηση μια προσέγγιση Αρχιτεκτονική Λάμδα , το οποίο μπορεί να υλοποιήσει μια μικρή ομάδα. Εξετάζει τη θεωρία των μεγάλων συστημάτων μετάδοσης και επεξεργασίας δεδομένων και δείχνει πώς να τα εφαρμόσει στην πράξη. Εκτός γενικές αρχέςεπεξεργασία μεγάλων δεδομένων, θα μελετήσετε συγκεκριμένες τεχνολογίες όπως π.χ Hadoop , Καταιγίδα και βάσεις δεδομένων NoSQL

    Εισαγωγή στα συστήματα μεγάλων δεδομένων
    Επεξεργασία δεδομένων σε πραγματικό χρόνο σε κλίμακα Ιστού
    Εργαλεία Hadoop , Κασσάνδρα Και Καταιγίδα
    Διεύρυνση της εμπειρίας χρήσης παραδοσιακών βάσεων δεδομένων

    Από τους αναγνώστες του βιβλίου " Big data: αρχές και πρακτική δημιουργίας επεκτάσιμων συστημάτων επεξεργασίας δεδομένων σε πραγματικό χρόνο » δεν απαιτείται γνώση μεθόδων ανάλυσης μεγάλων δεδομένων ή επάρκεια εργαλείων NoSQL . Επιθυμητή είναι η γνώση των βασικών στοιχείων των παραδοσιακών βάσεων δεδομένων ( DBMS )

    Βιβλίο " Μεγάλα δεδομένα » έχει σχεδιαστεί για αναγνώστες που επιδιώκουν να κατακτήσουν τις αρχές της κατασκευής συστημάτων μεγάλων δεδομένων και να τις εφαρμόσουν στην πράξη

    (Μπορείτε να παραγγείλετε το βιβλίο από το KOMBUK e - η χαμηλότερη τιμή στη Ρωσία! )
    (παραγγελία-αγορά Βιβλίο " Μεγάλα δεδομένα» στο ηλεκτρονικό κατάστημα ComBook.ru )

    (Μπορείτε να παραγγείλετε το βιβλίο στο Ozon.ru )
    (παραγγελία-αγορά βιβλίο για " Μεγάλα δεδομένα» στο διαδικτυακό megamarket Ozon.ru )

    (Το βιβλίο μπορείτε να το παραγγείλετε από την DiaMail Ukraine )
    (παραγγελία-αγορά Βιβλίο " Μεγάλα δεδομένα» στο ηλεκτρονικό κατάστημα diamail.com.ua )

    Τρίτος έκδοση μπεστ σέλερ Thomas Kite « », ένας επαγγελματίας παγκοσμίου φήμης Ρωτήστε τον Τομ , αφιερωμένο βέλτιστες πρακτικέςεφαρμογές Oracle DBMS για την κατασκευή επεκτάσιμων εφαρμογών που έχουν καλή απόδοση και αξιοπιστία

    Η φιλοσοφία του Τομ είναι απλή: Oracle DBMS Μπορείτε να το αντιληφθείτε ως ένα «μαύρο κουτί» με δεδομένα μέσα ή μπορείτε να καταλάβετε πώς λειτουργεί και να λειτουργήσετε το DBMS ως ένα ισχυρό υπολογιστικό περιβάλλον. Εάν ακολουθήσετε τη δεύτερη προσέγγιση, θα διαπιστώσετε ότι δεν υπάρχουν πολλά προβλήματα διαχείρισης πληροφοριών που δεν μπορούν να λυθούν γρήγορα και κομψά

    Πλήρως αναθεωρημένο τρίτος έκδοση του βιβλίου" Oracle για επαγγελματίες: αρχιτεκτονική, τεχνικές προγραμματισμού και κύρια χαρακτηριστικά των εκδόσεων 9i, 10g, 11g και 12c » καλύπτει νέες τεχνικές ανάπτυξης που εισήχθησαν στην πιο πρόσφατη έκδοση Βάση δεδομένων Oracle . Κάθε εργαλείο διδάσκεται μέσω παραδειγμάτων, εξηγώντας όχι μόνο τι είναι, αλλά και πώς λειτουργεί το εργαλείο και πώς να το αναπτύξετε. λογισμικόμε τη χρήση του, και τα οποία είναι γνωστά " υποβρύχιους βράχους«συνδέθηκε μαζί του

    (Μπορείτε να παραγγείλετε το βιβλίο στο Ozon.ru )
    (παραγγελία-αγορά Βιβλίο " Oracle για επαγγελματίες» στο διαδικτυακό megamarket Ozon.ru )

    (Το βιβλίο μπορείτε να το παραγγείλετε από την DiaMail Ukraine )
    (παραγγελία-αγορά Βιβλίο " Oracle για επαγγελματίες» στο ηλεκτρονικό κατάστημα diamail.com.ua )

    (Το βιβλίο μπορείτε να το παραγγείλετε στο bizbook.ua Ουκρανία )
    (παραγγελία-αγορά Βιβλίο " Oracle για επαγγελματίες» στο ηλεκτρονικό κατάστημα bizbook.ua )

    Στο βιβλίο " SQL: Ο πλήρης οδηγός » περιέχει περιεκτικό, βαθύ και Λεπτομερής περιγραφήΓλώσσα SQL . Προορίζεται για χρήστες, προγραμματιστές και επιστήμονες δεδομένων, καθώς και για διαχειριστές που θέλουν να μάθουν τον αντίκτυπο SQL στην αγορά υπολογιστών

    Βιβλίο " SQL: Ο πλήρης οδηγός » Τζέιμς Ρ. Γκροφ κ.λπ. θα σας πει πώς να εργαστείτε με εντολές και οδηγίες SQL , δημιουργία και διαμόρφωση σχεσιακών βάσεων δεδομένων, φόρτωση και τροποποίηση αντικειμένων βάσης δεδομένων, εκτέλεση ισχυρών ερωτημάτων, βελτίωση της απόδοσης και δημιουργία ασφάλειας. Θα μάθετε πώς να χρησιμοποιείτε τις οδηγίες DDL και εφαρμόστε API , ενσωματώνουν XML και σενάρια Ιάβα , χρησιμοποιήστε αντικείμενα SQL , δημιουργήστε διακομιστές ιστού, εργαστείτε με απομακρυσμένη πρόσβασηκαι πραγματοποιούν κατανεμημένες συναλλαγές

    Σε αυτό το βιβλίο θα βρείτε πληροφορίες όπως περιγραφές εργασίας με βάσεις δεδομένων στη μνήμη, ροή και ενσωματωμένες βάσεις δεδομένων, βάσεις δεδομένων για κινητές συσκευές, και πολλα ΑΚΟΜΑ. Βιβλίο " SQL: Ο πλήρης οδηγός » περιλαμβάνει Πλήρης περιγραφήσύνταξη σύνδεσης SQL και αφού διαβάσετε αυτό το βιβλίο θα μάθετε:

    Δημιουργία σχεσιακών βάσεων δεδομένων SQL και εφαρμογώνn Δημιουργία, φόρτωση και τροποποίηση αντικειμένων βάσης δεδομένων χρησιμοποιώντας SQL
    - Κατασκευή και εκτέλεση απλών, πολλαπλών πινάκων και συνοπτικών ερωτημάτων
    - Εφαρμόστε ασφάλεια χρησιμοποιώντας έλεγχο ταυτότητας, προνόμια, ρόλους και προβολές
    - Βελτιστοποίηση, αντιγράφων ασφαλείας, ανάκτηση και αναπαραγωγή βάσης δεδομένων
    - Εργασία με αποθηκευμένες διαδικασίες, συναρτήσεις, επεκτάσεις, ενεργοποιητές και αντικείμενα
    - Προηγμένη λειτουργικότητα με χρήση API, δυναμικής και ενσωματωμένης SQL
    - Περιγράφει ζητήματα όπως συναλλαγές, μηχανισμούς κλειδώματος, υλοποιημένες προβολές και το πρωτόκολλο ολοκλήρωσης συναλλαγών δύο φάσεων
    - Τελευταίες τάσεις της αγοράς και μέλλον της SQL

    Βιβλίο " SQL: Ο πλήρης οδηγός Περιλαμβάνει μια πλήρη περιγραφή των δυνατοτήτων SQL, του προτύπου ANSI, της εφαρμογής και του προγραμματισμού. Περιλαμβάνει ιστορία, τάσεις της αγοράς και σύγκριση των δυνατοτήτων κορυφαίων DBMS. Ενημερωμένες πληροφορίες για XML, εταιρικές και προσαρμοσμένες βάσεις δεδομένων (in-memory, streaming και ενσωματωμένες βάσεις δεδομένων). Από τρεις κορυφαίους ειδικούς - James R. Groff, Paul N. Weinberg, Andrew J. Oppel - που καλύπτουν όλες τις πτυχές της SQL. Αναθεωρήθηκε για να λάβει υπόψη τις πιο πρόσφατες εκδόσεις των σχεσιακών DBMS, το βιβλίο " SQL: Ο πλήρης οδηγός » εξηγεί πώς να δημιουργήσετε, να συμπληρώσετε και να διαχειριστείτε βάσεις δεδομένων υψηλής απόδοσης και να αναπτύξετε ισχυρές και αξιόπιστες εφαρμογές χρησιμοποιώντας SQL

    (το βιβλίο είναι διαθέσιμο στο KOMBUK e - η χαμηλότερη τιμή στη Ρωσία )
    (παραγγελία-αγορά βιβλίο για " SQL: Ο πλήρης οδηγός» στο ηλεκτρονικό κατάστημα ComBook.ru )

    ( )
    (παραγγελία-αγορά βιβλίο για " SQL: Ο πλήρης οδηγός» στο ηλεκτρονικό κατάστημα ozon.ru )

    (το βιβλίο είναι διαθέσιμο στη DiaMail Ukraine )
    (παραγγελία-αγορά βιβλίο για " SQL: Ο πλήρης οδηγός» στο ηλεκτρονικό κατάστημα diamail.com.ua )

    Βιβλίο " SQL σε 10 λεπτά » θα σας βοηθήσει να κυριαρχήσετε στο συντομότερο δυνατό χρόνο SQL είναι η πιο δημοφιλής γλώσσα ερωτημάτων βάσης δεδομένων. Ξεκινώντας με απλά ερωτήματα για την επιλογή δεδομένων, ο συγγραφέας προχωρά βήμα-βήμα σε όλο και πιο περίπλοκα θέματα όπως η χρήση τελεστών σύνδεσης, υποερωτήματα, αποθηκευμένες διαδικασίες, ευρετήρια, ενεργοποιήσεις και περιορισμοί

    Έχοντας δουλέψει τα πάντα 22 μαθήματα από το βιβλίο, καθένα από τα οποία δεν θα κοστίζει περισσότερο από 10 λεπτά , θα μάθετε για όλα όσα χρειάζεστε Πρακτική εφαρμογη SQL

    Χάρη στο βιβλίο SQL σε 10 λεπτά » θα μάθετε γρήγορα πώς να συντάσσετε ανεξάρτητα ερωτήματα σε βάσεις δεδομένων στη γλώσσα SQL χωρίς τη βοήθεια κανενός

    Παραδείγματα που δίνονται στο βιβλίο " SQL σε 10 λεπτά ", θα λειτουργήσει σε όλες τις πιο δημοφιλείς τελευταίες εκδόσεις DBMS - IBM DB2 , Microsoft Access , Microsoft SQL Server , MySQL , Μαντείο , PostgreSQL , SQLite , MariaDB Και Apache Open Office Base

    (Το βιβλίο είναι διαθέσιμο στο OZON e )
    (παραγγελία-αγορά βιβλίο για " SQL σε 10 λεπτά» στο ηλεκτρονικό κατάστημα ozon.ru )

    Το βιβλίο " Oracle PL/SQL σε 10 λεπτά» στο διαδικτυακό megamarket Ozon.ru

    Στο βιβλίο " Oracle PL/SQL σε 10 λεπτά » δίνονται απλές και πρακτικές απαντήσεις σε ερωτήσεις που απαιτούν γρήγορες λύσεις. Αυτός ο γρήγορος οδηγός αναφοράς αποτελείται από 26 μαθήματα. Δεν ξοδεύετε περισσότερα από 10 λεπτά για το καθένα ( ή ακόμα λιγότερο!), θα μάθετε όλα όσα χρειάζεται να ξέρετε για να χρησιμοποιήσετε τη γλώσσα με κερδοφόρο τρόπο PL/SQL όταν εργάζεστε με Oracle DBMS

    « Oracle PL/SQL σε 10 λεπτά " είναι μια πολύ συμπαγής και εύχρηστη αναφορά τσέπης που ξεκινά με απλά παραδείγματα ανάκτησης δεδομένων και εξελίσσεται σε πιο σύνθετα θέματα, όπως συνδέσεις, υποερωτήματα, κανονικές εκφράσεις και αναζήτηση πλήρους κειμένου, αποθηκευμένες διαδικασίες, δρομείς, ενεργοποιητές, περιορισμοί πίνακα και πολλά άλλα

    Χαρακτηριστικά του βιβλίου " Oracle PL/SQL σε 10 λεπτά »:

    * Ένας απλός και εύκολος στην εκμάθηση τρόπος παρουσίασης του υλικού, υποδεικνύοντας μια σύντομη διαδρομή και επίλυση πρακτικών προβλημάτων με επίδειξη χρησιμοποιώντας συγκεκριμένα παραδείγματα χρήσης της γλώσσας PL/SQL και εργαλεία Μαντείο

    * Βήμα προς βήμα οδηγίες που θα σας βοηθήσουν να αποφύγετε κοινά κρυφά εμπόδια, εξηγώντας απλά και ξεκάθαρα πώς η γλώσσα PL/SQL εργαστείτε με προβολές, αποθηκευμένες διαδικασίες, δρομείς, ενεργοποιητές και άλλα εργαλεία

    *Απλή και λογική επεξήγηση σχετικών εννοιών και παρουσίαση πρόσθετου υλικού

    Έχοντας μελετήσει το βιβλίο " Oracle PL/SQL σε 10 λεπτά ", Θα μάθεις:

    απολαμβάνω PL/SQL σε περιβάλλοντα και εργαλεία Μαντείο
    - Κατασκευάστε σύνθετα ερωτήματα χρησιμοποιώντας τελεστές, ρήτρες και πράξεις PL/SQL
    - Εξαγωγή, ταξινόμηση και διαμόρφωση περιεχομένων της βάσης δεδομένων
    - Επιλέξτε τα απαραίτητα δεδομένα χρησιμοποιώντας διάφορους τρόπουςφιλτράροντάς τα
    - Χρησιμοποιήστε συμβολοσειρά χαρακτήρων, ημερομηνία και ώρα και μαθηματικές συναρτήσεις για να χειριστείτε δεδομένα
    - Ενώστε δύο ή περισσότερα τραπέζια μαζί
    - Εισαγωγή, ενημέρωση και διαγραφή δεδομένων
    - Δημιουργία και τροποποίηση πινάκων βάσεων δεδομένων
    - Χειριστείτε προβολές, αποθηκευμένες διαδικασίες, δρομείς, σκανδαλισμούς και άλλα εργαλεία

    Πρωτότυπο βιβλίο: « », Μπεν Φόρτα , 288 σελίδες, ISBN 9780672328664, 2015

    Βιβλίο " SQL για ανδρείκελα » ( 8 -ε έκδοση) προορίζεται για όσους θέλουν να βελτιώσουν το επίπεδο εργασίας τους με βάσεις δεδομένων χρησιμοποιώντας Γλώσσα δομημένα ερωτήματα SQL . Θα μάθετε τα βασικά των σχεσιακών βάσεων δεδομένων και της γλώσσας SQL , μάθετε να σχεδιάζετε βάσεις δεδομένων, να τις συμπληρώνετε με πληροφορίες και να τις ανακτάτε χρησιμοποιώντας προηγμένες γλωσσικές δυνατότητες

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

    Χρήση της πιο πρόσφατης έκδοσης της γλώσσας SQL: 2011 , θα μπορείτε να δομήσετε ένα σύστημα διαχείρισης βάσεων δεδομένων, να υλοποιήσετε έργα, να προστατέψετε τα δεδομένα σας, να οργανώσετε την πρόσβαση και να εργαστείτε με αυτό, να διατηρήσετε τη βάση δεδομένων και πολλά άλλα
    ), Π o l n Ο ts V e t όχι e έκδοση , σκληρό εξώφυλλο, ~800 σελ., ISBN, “DIALECTICS”, 2019

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

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

    Πρωτότυπο βιβλίο: « Computer Science: An Overview », Γκλεν Μπρουκσίρ , Ντένις Μπράιλοου , 13 ουΈκδοση, 736 σελίδες, ISBN 9780134875460, Μάρτιος 2018

    Το βιβλίο συζητείται στο το blog μου

    ΑΚΟΛΟΥΘΗΣΤΕ ΑΥΤΟ ΤΟ ΜΗΝΥΜΑ ΓΙΑ ΑΛΛΑΓΕΣ -
    Τελευταία ενημέρωση - 30 Ιουλίου 2018 της χρονιάς
    _______________________________________
    ΕΡΩΤΗΣΗ - Ποια άλλα βιβλία σχετικά με αυτό το θέμα μπορείτε να προσφέρετε για άμεση δημοσίευση στα ρωσικά; ?

    Π .μικρό . Μόνο η ενεργή σας θέση σε μια τόσο δύσκολη στιγμή θα συμβάλει στην ανάδειξη νέων βιβλίων που χρειάζεστε. Και επίσης, βοηθήστε στη βελτίωση της ποιότητας των βιβλίων που εκδίδονται εκδοτική ομάδα « ΔΙΑΛΕΚΤΙΚΗ -ΓΟΥΙΛΙΑΜΣ»

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

    Λειτουργίες DBMS Deyt, K. J. Εισαγωγή στα συστήματα βάσεων δεδομένων [κείμενο] / K. J. Deyt. - M.: Williams Publishing House, 2006. - 1328 p. - ISBN 5-5489-0788-8.

    Πιο συγκεκριμένα, οι συναρτήσεις DBMS συνήθως περιλαμβάνουν τα εξής:

    ¦ Ορισμός δεδομένων

    Το ΣΔΒΔ πρέπει να παρέχει ένα μέσο ορισμού δεδομένων στην αρχική τους μορφή και μετατροπής αυτών των ορισμών στην κατάλληλη μορφή αντικειμένου. Με άλλα λόγια, το DBMS πρέπει να περιλαμβάνει στοιχεία ενός επεξεργαστή DDL (γλώσσα ορισμού δεδομένων) ή ενός μεταγλωττιστή DDL για καθεμία από τις γλώσσες ορισμού δεδομένων που υποστηρίζει. Το ΣΔΒΔ πρέπει επίσης να ερμηνεύει σωστά τη σύνταξη της γλώσσας ορισμού δεδομένων, ώστε να μπορεί, για παράδειγμα, να ενημερωθεί ότι οι εξωτερικές εγγραφές ΕΡΓΑΖΟΜΕΝΟΥ περιλαμβάνουν ένα πεδίο ΜΙΣΘΟΣ. Το DBMS πρέπει να χρησιμοποιεί αυτές τις πληροφορίες κατά την ανάλυση και την εκτέλεση ερωτημάτων επεξεργασίας δεδομένων.

    ¦ Χειρισμός δεδομένων

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

    Γενικά, τα αιτήματα NMD χωρίζονται σε προγραμματισμένα και μη προγραμματισμένα.

    • α) Προγραμματισμένο αίτημα είναι ένα αίτημα του οποίου η ανάγκη εκτέλεσης είχε προβλεφθεί εκ των προτέρων. Ο διαχειριστής της βάσης δεδομένων μπορεί να χρειαστεί να σχεδιάσει τη φυσική σχεδίαση της βάσης δεδομένων για να διασφαλίσει ότι τέτοια ερωτήματα μπορούν να εκτελούνται αρκετά γρήγορα.
    • β) Ένα απρογραμμάτιστο αίτημα είναι, αντίθετα, κάποιο αυθαίρετο αίτημα επιλογής ή (λιγότερο πιθανό) ενημέρωσης, η ανάγκη του οποίου δεν είχε προβλεφθεί εκ των προτέρων και προέκυψε για κάποιο ειδικό λόγο.

    ¦ Βελτιστοποίηση και εκτέλεση

    Τα ερωτήματα NMD, προγραμματισμένα ή μη, πρέπει να υποβάλλονται σε επεξεργασία από ένα στοιχείο όπως ένα εργαλείο βελτιστοποίησης, σκοπός του οποίου είναι να βρει επαρκή αποτελεσματικός τρόποςεκτέλεση καθενός από τα αιτήματα. Στη συνέχεια, τα βελτιστοποιημένα ερωτήματα εκτελούνται υπό τον έλεγχο του διαχειριστή χρόνου εκτέλεσης.

    ¦ Προστασία και διατήρηση της ακεραιότητας των δεδομένων

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

    ¦ Υποστήριξη ανάκτησης δεδομένων και παραλληλισμού

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

    ¦ Λεξικό Δεδομένων

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

    ΕΝΑΕΙΣΑΓΩΓΗΠΡΟΣ ΤΗΝ

    Συστήματα Βάσεων Δεδομένων

    ΕΒΔΟΜΗ ΕΚΔΟΣΗ

    ΕΙΣΑΓΩΓΗ ΣΕ

    συστήματα

    βάσεις δεδομένων

    ΕΒΔΟΜΗ ΕΚΔΟΣΗ


    Μόσχα Αγία Πετρούπολη Κίεβο 2001


    K. J. Ημερομηνία

    ΒΒΚ 32.973.26-018.2.75 Δ27

    Εκδοτικός οίκος "William"

    Μετάφραση από τα Αγγλικά Candidate of Physical and Mathematical Sciences Yu G Gordienko, V V Repetsky, A.V. ΣλέπτσοβαΕπεξεργάστηκε από A.V. Σλέπτσοβα

    Για γενικές ερωτήσεις, επικοινωνήστε με τον εκδοτικό οίκο William στη διεύθυνση: πληροφορίες@ williamspublishing. com, http:// www. williamspublishing com

    Ημερομηνία, Κ., Τζ.

    Δ27 Εισαγωγή στα συστήματα βάσεων δεδομένων, 7η έκδοση: Μετάφρ. από τα Αγγλικά - Μ.: Εκδοτικός οίκος "William", 2001. - 1072 p. : Εγώ θα. - Παράλ. χτύπημα. Αγγλικά

    ISBN 5-8459-0138-3 (Ρωσικά)

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

    ΒΒΚ 32.973.26-018.2.75

    Όλοι οι τίτλοι προϊόντα λογισμικούείναι σήματα κατατεθέντα των αντίστοιχων εταιρειών τους

    Κανένα μέρος αυτής της έκδοσης δεν επιτρέπεται να αναπαραχθεί σε οποιαδήποτε μορφή ή με οποιοδήποτε μέσο, ​​ηλεκτρονικό ή μηχανικό, συμπεριλαμβανομένης της φωτοτυπίας ή της ηχογράφησης, για οποιονδήποτε σκοπό, χωρίς γραπτή άδεια από τον εκδότη. Ο Άντισον- Ο ΓουέσλιΕκδόσειςΕταιρία, Inc

    Εξουσιοδοτημένη μετάφραση από την αγγλική έκδοση που εκδόθηκε από την Addison-Wesley Publishing Company, Inc. Πνευματικά δικαιώματα © 2000

    Με την επιφύλαξη παντός δικαιώματος Κανένα μέρος αυτού του βιβλίου δεν μπορεί να αναπαραχθεί ή να μεταδοθεί σε οποιαδήποτε μορφή ή με οποιοδήποτε μέσο, ​​ηλεκτρονικό ή μηχανικό, συμπεριλαμβανομένης της φωτοτυπίας, ηχογράφησης ή με οποιοδήποτε σύστημα ανάκτησης αποθήκευσης πληροφοριών, χωρίς την άδεια του Εκδότη

    Έκδοση στη ρωσική γλώσσα που εκδόθηκε από τον Εκδοτικό Οίκο Williams σύμφωνα με τη Συμφωνία με την R&I Enterprises International, Copyright © 2001

    Isbn 5-8459-0138-3 (rus) isbn 0-201-38590-2 (eng)

    © Εκδόσειςσπίτι " Γουλιέλμος", 2001 © Addison-Wesley Longman, lnc, 2000

    Αυτό το βιβλίο είναι αφιερωμένο στη γυναίκα μου Lindy και στη μνήμη της μητέρας μου Rima

    ΜΕΡΟΣ Ι. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 31

    Κεφάλαιο 2. Αρχιτεκτονική συστήματος βάσης δεδομένων 65

    ΜΕΡΟΣ Ι!. ΜΟΝΤΕΛΟ ΣΧΕΣΗΣ 149

    Κεφάλαιο 6. Σχεσιακή άλγεβρα 192

    Κεφάλαιο 7. Σχεσιακός λογισμός 243

    Κεφάλαιο 8: Ακεραιότητα δεδομένων 301

    Κεφάλαιο 9. Προβολές 350

    ΜΕΡΟΣIII. ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ 397

    Κεφάλαιο 10. Λειτουργικές εξαρτήσεις 400

    Κεφάλαιο 11. Περαιτέρω κανονικοποίηση: μορφές 1NF, 2NF, ZNF και NFBC 422 Κεφάλαιο 12. Περαιτέρω κανονικοποίηση: υψηλότερες κανονικές μορφές 469

    Κεφάλαιο 13. Σημασιολογική Μοντελοποίηση 505

    ΜΕΡΟΣ IV. ΔΙΑΧΕΙΡΙΣΗ ΣΥΝΑΛΛΑΓΩΝ 543

    Κεφάλαιο 14. Ανάκτηση 544

    Κεφάλαιο 15. Παραλληλισμός 566

    ΜΕΡΟΣ V. ΠΡΟΣΘΕΤΕΣ ΠΤΥΧΕΣ 601

    Κεφάλαιο 16. Προστασία δεδομένων 602

    Κεφάλαιο 17. Βελτιστοποίηση 639

    Κεφάλαιο 18. Λείπουν πληροφορίες 693

    Κεφάλαιο 19. Κληρονομιά τύπου 725

    Κεφάλαιο 20. Κατανεμημένες βάσεις δεδομένων 767

    Κεφάλαιο 21. Υποστήριξη αποφάσεων 813

    Κεφάλαιο 22. Χρονολογικές βάσεις δεδομένων 853

    Κεφάλαιο 23. Συστήματα Διαχείρισης Λογικών Βάσεων Δεδομένων 899

    ΜΕΡΟΣ VI. ΑΝΤΙΚΕΙΜΕΝΟ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΟ-ΣΧΕΣΗ

    ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 943

    Κεφάλαιο 24. Βάσεις δεδομένων αντικειμένων 944

    Κεφάλαιο 25. Αντικειμενικές σχεσιακές βάσεις δεδομένων 999

    ΑΙΤΗΣΕΙΣ 1027

    Παράρτημα Α: Εκφράσεις SQL 1028

    Παράρτημα Β: Επισκόπηση γλώσσας SQL3 1041

    Παράρτημα Β: Συντομογραφίες και ειδικοί χαρακτήρες 1058

    Πρόλογος στην έβδομη έκδοση 24

    ΜΕΡΟΣ Ι

    Βασικές έννοιες 31

    Κεφάλαιο 1. Βάσεις δεδομένων και διαχείρισή τους 32

      Εισαγωγικό Παράδειγμα 32

      Τι είναι ένα σύστημα βάσης δεδομένων 35

    Υλικό 37

    Λογισμικό 38

    Χρήστες 39

    1.3. Τι είναι μια βάση δεδομένων 40

    Μόνιμα δεδομένα 40

    Οντότητες και σχέσεις 41

    Ιδιότητες 43

    Δεδομένα και μοντέλα δεδομένων 44

    1.4. Σκοπός των βάσεων δεδομένων 45

    Διαχείριση δεδομένων και διαχείριση βάσεων δεδομένων 46

    Οφέλη μιας κεντρικής προσέγγισης στη διαχείριση δεδομένων 47

      Ανεξαρτησία δεδομένων 50

      Σχεσιακά και άλλα συστήματα 56

      Περίληψη 59 Ασκήσεις 59 Αναφορές 61 Απαντήσεις σε μερικές ασκήσεις 62

    Κεφάλαιο 2. Αρχιτεκτονική συστήματος βάσης δεδομένων 65

      Εισαγωγή 65

      Τρία επίπεδα αρχιτεκτονικής 65

      Εξωτερικό επίπεδο 68

      Εννοιολογικό επίπεδο 72

      Εσωτερικό επίπεδο 73

      Εμφανίζει 74

      Διαχειριστής βάσης δεδομένων 74

      Σύστημα διαχείρισης βάσεων δεδομένων 77

      Σύστημα Ελέγχου Επικοινωνίας 81

      Αρχιτεκτονική πελάτη/διακομιστή 81

      Βοηθητικά προγράμματα 83

      Κατανεμημένη Επεξεργασία 84

    Ασκήσεις 88

    Αναφορές 90

    Κεφάλαιο 3: Εισαγωγή στις σχεσιακές βάσεις δεδομένων 92

      Εισαγωγή 92

      Σχεσιακό μοντέλο 92

      Σχέσεις και σχεσιακές μεταβλητές 97

      Η έννοια των σχέσεων 99

      Βελτιστοποίηση 101

      Κατάλογος 104

      Βασικές σχεσιακές μεταβλητές και προβολές 105

      Συναλλαγές 109

      Βάση δεδομένων προμηθευτών και ανταλλακτικών 110

    3.10. Περίληψη 113 Ασκήσεις 115 Αναφορές 116 Απαντήσεις σε μερικές ασκήσεις 117

    Κεφάλαιο 4: Εισαγωγή στην SQL 119

      Εισαγωγή 119

      Επισκόπηση γλώσσας SQL 120

      Κατάλογος 124

      Προβολές 125

      Συναλλαγές 126

      Εισαγωγή δηλώσεων SQL 126

    Λειτουργίες που δεν χρησιμοποιούν δρομείς 130

    Λειτουργίες με χρήση δρομέων 131

    Dynamic SQL 134

      Ατέλειες της γλώσσας SQL 136

      Περίληψη 136 Ασκήσεις 137 Αναφορές 140 Απαντήσεις σε κάποιες ασκήσεις 145

    ΜΕΡΟΣ II

    Σχεσιακό μοντέλο 149

    Κεφάλαιο 5. Τομείς, σχέσεις και βασικές σχεσιακές μεταβλητές 151

      Εισαγωγή 151

      Τομείς 152

    Κάθε τιμή είναι τύπου 154

    Ορισμός τύπου 155

    Έγκυρες παραστάσεις 156

    Καθορισμός τελεστών 159

    Μετατροπή τύπου 161

    Τελικές παρατηρήσεις 162

    5.3. Τιμές αναλογίας 163

    Ιδιότητες των σχέσεων 166

    Χαρακτηριστικά των οποίων οι τιμές είναι σχέσεις 168

    Σχέσεις και ερμηνεία τους 169

    5.4. Σχεσιακές μεταβλητές 169

    Ορισμός βασικών σχεσιακών μεταβλητών 169

    Ενημέρωση μεταβλητών σχέσης 171

    5.5. SQL Tools 174

    Τομείς 174

    Βασικοί πίνακες 177

    5.6. Περίληψη 178 Ασκήσεις 180 Αναφορές 181 Απαντήσεις σε μερικές ασκήσεις 185

    • Τίτλος: Microsoft Word - bdc.doc

    Προεπισκόπηση εγγράφου

    Εισαγωγή στα Συστήματα
    βάσεις δεδομένων

    Μια εισαγωγή στο
    Συστήματα Βάσεων Δεδομένων
    Ημερομηνία C.J

    Βοστώνη. Σαν Φρανσίσκο. Νέα Υόρκη
    Λονδίνο. Τορόντο. Σίδνεϊ. Τόκιο. Σιγκαπούρη. Μαδρίτη
    Πόλη του Μεξικό. Μόναχο. Παρίσι. Κέιπ Τάουν. Χονγκ Κονγκ. Μόντρεαλ

    Εισαγωγή στα Συστήματα

    Βάσεις δεδομένων
    K. J. Ημερομηνία

    Μόσχα. Αγία Πετρούπολη. Κίεβο
    2005

    №.
    ΒΒΚ 32.973.26-018.2.75
    D27
    UDC 681.3.07

    Εκδοτικό οίκο"Γουλιέλμος"
    Κεφάλι επιμέλεια Σ.Ν. Trigub Μετάφραση από
    Αγγλικά και επιμέλεια Κ.Α. Πτίτσιν
    Για γενικές ερωτήσεις, επικοινωνήστε με τον εκδοτικό οίκο William στη διεύθυνση:
    [email προστατευμένο], http://www.williamspublishing.com
    115419, Μόσχα, Τ.Θ. 783; 03150, Κίεβο, Τ.Θ. 152

    Ημερομηνία, K.J.
    D27

    Εισαγωγή στα Συστήματα Βάσεων Δεδομένων, 8η έκδοση: Μετάφρ. από τα Αγγλικά — Μ.: Εκδοτικός Οίκος
    σπίτι "William", 2005. - 1328 σελ.: ill. — Παράλ. χτύπημα. Αγγλικά
    ISBN 5-8459-0788-8 (Ρωσικά)

    Η νέα έκδοση του θεμελιώδους έργου του Chris Date είναι μια περιεκτική
    μια εισαγωγή στην πολύ εκτεταμένη πλέον θεωρία των συστημάτων βάσεων δεδομένων. Με αυτό
    Ο αναγνώστης θα μπορεί να αποκτήσει θεμελιώδεις γνώσεις στον τομέα της τεχνολογίας βάσεων δεδομένων
    δεδομένα, καθώς και να εξοικειωθούν με τις περιοχές στις οποίες η υπό εξέταση περιοχή
    δραστηριότητες είναι πιθανό να αναπτυχθούν στο μέλλον. Το βιβλίο προορίζεται για χρήση
    κυρίως ως σχολικό βιβλίο παρά ως βιβλίο αναφοράς, και ως εκ τούτου αναμφίβολα θα ενδιαφέρει
    επαγγελματίες προγραμματιστές,
    επιστημονικός
    εργάτες
    Και
    Φοιτητές,
    μελετώντας
    σχετικά μαθήματα σε ιδρύματα τριτοβάθμιας εκπαίδευσης. Επικεντρώνεται στην κατανόηση της ουσίας και
    βαθιά κατανόηση του υλικού που παρουσιάζεται και όχι μόνο της επίσημης παρουσίασής του.
    Το βιβλίο θα είναι σίγουρα χρήσιμο σε όποιον έχει να εργαστεί με βάσεις δεδομένων ή
    απλά χρησιμοποιήστε τα.
    ΒΒΚ 32.973.26-018.2.75
    Όλα τα ονόματα προϊόντων λογισμικού είναι καταχωρημένα εμπορικά σήματασχετικές εταιρείες.
    Κανένα μέρος αυτής της δημοσίευσης δεν μπορεί να αναπαραχθεί για οποιονδήποτε σκοπό.
    ήταν σε οποιαδήποτε μορφή ή με οποιοδήποτε μέσο, ​​ηλεκτρονικό ή μηχανικό, συμπεριλαμβανομένης της φωτοτυπίας και εγγραφής σε μαγνητικό μέσο, ​​εκτός εάν υπάρχει γραπτή άδεια από τον εκδότη
    Addison-Wesley Publishing Company, Inc.
    Εξουσιοδοτημένη μετάφραση από την αγγλική έκδοση που εκδόθηκε από την Addison-Wesley, Copyright 2004
    Ολα τα δικαιώματα διατηρούνται. Κανένα μέρος αυτού του βιβλίου δεν επιτρέπεται να αναπαραχθεί ή να μεταδοθεί σε οποιαδήποτε μορφή ή με οποιοδήποτε μέσο,
    ηλεκτρονικά ή μηχανικά, συμπεριλαμβανομένης της φωτοτυπίας, εγγραφής ή με οποιοδήποτε σύστημα ανάκτησης αποθήκευσης πληροφοριών,
    χωρίς άδεια από τον Εκδότη.
    Έκδοση στη ρωσική γλώσσα που εκδόθηκε από τον Εκδοτικό Οίκο Williams σύμφωνα με τη Συμφωνία με την Ε&Κ
    Enterprises International, Copyright 2005
    ISBN 5-8459-0788-8 (Ρωσικά)
    ISBN 0-321-19784-4 (Αγγλικά)

    Εκδοτικός οίκος "William", 2005
    από την Pearson Education, Inc., 2004

    Πρόλογος στην Όγδοη Έκδοση

    ΜΕΡΟΣ Ι. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

    Κεφάλαιο 4: Εισαγωγή στην SQL

    ΜΕΡΟΣ II. ΣΧΕΣΙΚΟ ΜΟΝΤΕΛΟ

    Κεφάλαιο 5. Τύποι

    Κεφάλαιο 6. Σχέσεις

    Κεφάλαιο 7. Σχεσιακή άλγεβρα

    Κεφάλαιο 9. Ακεραιότητα δεδομένων

    Κεφάλαιο 10. Απόψεις

    ΜΕΡΟΣ III. ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ

    Κεφάλαιο 11. Λειτουργικές εξαρτήσεις

    Κεφάλαιο 12. Περαιτέρω κανονικοποίηση: μορφές 1NF, 2NF, ZNF και NFBK

    Κεφάλαιο 13. Περαιτέρω κανονικοποίηση: οι κανονικές μορφές είναι περισσότερες
    υψηλή τάξη

    Κεφάλαιο 14. Σημασιολογική Μοντελοποίηση

    ΜΕΡΟΣ IV. ΔΙΑΧΕΙΡΙΣΗ ΣΥΝΑΛΛΑΓΩΝ

    Κεφάλαιο 15. Ανάκτηση

    Κεφάλαιο 16. Παραλληλισμός

    ΜΕΡΟΣ V. ΕΠΙΠΛΕΟΝ ΘΕΜΑΤΑ

    Κεφάλαιο 17. Προστασία δεδομένων

    Κεφάλαιο 18. Βελτιστοποίηση

    Κεφάλαιο 19. Λείπουν πληροφορίες

    Κεφάλαιο 20. Κληρονομικότητα τύπου

    Κεφάλαιο 21. Κατανεμημένες βάσεις δεδομένων

    Κεφάλαιο 22. Υποστήριξη αποφάσεων

    Κεφάλαιο 23. Ιστορικές βάσεις δεδομένων

    Κεφάλαιο 24. Συστήματα Διαχείρισης Λογικών Βάσεων Δεδομένων

    ΜΕΡΟΣ VI. ΑΝΤΙΚΕΙΜΕΝΑ, ΣΧΕΣΕΙΣ ΚΑΙ ΓΛΩΣΣΑ XML

    Κεφάλαιο 25. Βάσεις δεδομένων αντικειμένων

    Κεφάλαιο 26. Αντικειμενοσχεσιακές βάσεις δεδομένων

    Κεφάλαιο 27. World Wide Web και XML

    ΜΕΡΟΣ VII. ΕΦΑΡΜΟΓΕΣ

    Παράρτημα Α: Μοντέλο TransRelational™

    Παράρτημα Β: Εκφράσεις SQL

    Παράρτημα Β: Συντομογραφίες και ειδικοί χαρακτήρες

    Παράρτημα Δ. Δομές αποθήκευσης και μέθοδοι πρόσβασης

    Παράρτημα Ε. Απαντήσεις σε ατομικές ασκήσεις

    Ευρετήριο θεμάτων

    29
    31
    31
    31
    32
    33
    34
    35
    37
    37
    39

    ΜΕΡΟΣ Ι. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

    Κεφάλαιο 1. Βάσεις δεδομένων και διαχείρισή τους
    1.1 Εισαγωγικό παράδειγμα
    1.2 Γενικός ορισμός συστήματος βάσης δεδομένων
    Δεδομένα
    Σκεύη, εξαρτήματα
    Λογισμικό
    Χρήστες
    1.3.Γενικός ορισμός βάσης δεδομένων
    Μόνιμα δεδομένα
    Οντότητες και Σχέσεις
    Ιδιότητες
    Δεδομένα και Μοντέλα Δεδομένων

    43
    43
    46
    47
    49
    49
    50
    51
    51
    52
    55
    56

    1.4.Σκοπός βάσεων δεδομένων
    Διαχείριση δεδομένων και διαχείριση βάσεων δεδομένων
    Οφέλη από την προσέγγιση της βάσης δεδομένων
    1.5 Ανεξαρτησία δεδομένων
    1.6 Σχεσιακά και άλλα συστήματα
    1.7 Περίληψη
    Γυμνάσια

    58
    59
    59
    62
    68
    71
    72

    Βιβλιογραφία

    Κεφάλαιο 2. Αρχιτεκτονική συστήματος βάσης δεδομένων

    2.1 Εισαγωγή
    2.2 Τρία στρώματα αρχιτεκτονικής
    2.3 Εξωτερικό επίπεδο
    2.4 Εννοιολογικό επίπεδο
    2.5 Εσωτερικό επίπεδο
    2.6 Οθόνες
    2.7 Διαχειριστής βάσης δεδομένων
    2.8 Σύστημα διαχείρισης βάσεων δεδομένων
    2.9 Σύστημα ελέγχου μετάδοσης δεδομένων
    2.10 Αρχιτεκτονική πελάτη/διακομιστή
    2.11 Βοηθητικά προγράμματα
    2.12 Κατανεμημένη επεξεργασία
    2.13 Περίληψη
    Γυμνάσια
    Βιβλιογραφία

    75
    76
    79
    82
    83
    84
    85
    87
    91
    92
    94
    95
    99
    100
    101

    Κεφάλαιο 3: Εισαγωγή στις Σχεσιακές Βάσεις Δεδομένων
    3.1 Εισαγωγή
    3.2 Σχεσιακό μοντέλο
    Πιο επίσημος ορισμός
    3.3 Σχέσεις και μεταβλητές σχέσεις
    3.4 Η έννοια των σχέσεων
    3.5 Βελτιστοποίηση
    3.6 Κατάλογος
    3.7 Βασικές σχεσιακές και αναπαραστατικές μεταβλητές
    3.8 Συναλλαγές
    3.9 Βάση δεδομένων προμηθευτών και ανταλλακτικών
    3.10 Περίληψη
    Γυμνάσια
    Βιβλιογραφία

    103
    103
    103
    108
    109
    111
    114
    116
    117
    122
    123
    125
    127
    128

    Κεφάλαιο 4: Εισαγωγή στην SQL
    4.1.εισαγωγή
    4.2.Επισκόπηση της γλώσσας SQL
    4.3.Κατάλογος
    4.4.Προβολές
    4.5.Συναλλαγές
    4.6.Εισαγωγή εντολών SQL
    Λειτουργίες που δεν χρησιμοποιούν δρομείς
    Λειτουργίες που χρησιμοποιούν δρομείς
    Δυναμική γλώσσα SQL και διεπαφή SQL/CLI
    4.7.Ατέλειες της γλώσσας SQL
    4.8.Περίληψη
    Γυμνάσια
    Βιβλιογραφία

    133
    133
    135
    138
    139
    140
    140
    144
    145
    148
    152
    152
    153
    155

    Περιεχόμενο
    ΜΕΡΟΣ II. ΣΧΕΣΙΚΟ ΜΟΝΤΕΛΟ
    Κεφάλαιο 5. Τύποι
    5.1 Εισαγωγή
    5.2 Καθορισμός τιμών και μεταβλητών
    Πληκτρολογώντας τιμές και μεταβλητές
    5.3 Ορισμοί τύπων και μορφών παρουσίασης
    Ορισμοί βαθμωτών και μη κλιμακωτών τύπων
    Πιθανές μορφές αναπαράστασης, επιλογείς και τελεστές THE_
    5.4 Ορισμός τύπου
    5.5 Χειριστές
    Μετατροπές τύπων
    Τελικές παρατηρήσεις
    5.6 Γεννήτριες τύπου
    5.7 Εργαλεία SQL
    Ενσωματωμένοι τύποι
    ΔΙΑΚΡΙΤΙΚΟΙ τύποι
    Δομημένοι τύποι
    Γεννήτριες τύπου
    5.8. Περίληψη
    Γυμνάσια
    Βιβλιογραφία
    Κεφάλαιο 6. Σχέσεις
    6.1 Εισαγωγή
    6.2 Πλειάδες
    Ιδιότητες των πλειάδων
    Γεννήτρια τύπου TUPLE
    Λειτουργίες με Tuples
    Σύγκριση τύπων πλειάδας και πιθανές αναπαραστάσεις
    6.3.Τύποι σχέσεων
    Τύπος γεννήτριας RELATION
    6.4.Έννοιες των σχέσεων
    Σύγκριση σχέσεων και πινάκων
    Ιδιότητες με σχεσιακές τιμές
    Σχέσεις χωρίς ιδιότητες
    Λειτουργίες με σχέσεις
    6.5 Μεταβλητές σχέσεις
    Ορισμός μεταβλητής βασικής σχέσης
    Ενημέρωση μεταβλητών σχέσεων
    Μεταβλητές αναλογίας και η ερμηνεία τους
    6.6.Εργαλεία SQL
    Χορδές
    Τύποι τραπεζιών
    Τιμές και μεταβλητές πίνακα
    Δομημένοι τύποι
    6.7.Περίληψη
    Γυμνάσια
    Βιβλιογραφία

    163
    165
    165
    167
    168
    169
    170
    170
    175
    178
    181
    183
    184
    186
    186
    188
    191
    194
    196
    198
    200
    201
    201
    201
    203
    203
    204
    206
    207
    209
    209
    212
    214
    216
    217
    219
    219
    221
    224
    225
    225
    226
    227
    229
    232
    234
    236

    Περιεχόμενα

    Κεφάλαιο 7. Σχεσιακή άλγεβρα
    7.1. Εισαγωγή
    7.2. Περισσότερες πληροφορίες σχετικά με την ιδιότητα σχεσιακού κλεισίματος
    7.3. Πρωτότυπη άλγεβρα - σύνταξη
    7.4. Πρωτότυπη άλγεβρα - σημασιολογία
    Ένας σύλλογος
    Σημείο τομής
    Διαφορά
    Δουλειά
    Μείωση
    .
    Προβολή
    Χημική ένωση
    Διαίρεση
    7.5. Παραδείγματα
    7.5.1 Προσδιορίστε τα ονόματα των προμηθευτών που προμηθεύουν το μέρος P2
    7.5.2 Προσδιορίστε τα ονόματα των προμηθευτών που προμηθεύουν λιγότερο.
    τουλάχιστον μια κόκκινη λεπτομέρεια
    7.5.3 Προσδιορίστε τα ονόματα των προμηθευτών που προμηθεύουν όλα τα εξαρτήματα
    7.5.4 Προσδιορίστε τον αριθμό των προμηθευτών που προμηθεύουν τουλάχιστον
    όλα τα ανταλλακτικά που παρέχονται από τον προμηθευτή S2
    7.5.5 Προσδιορίστε όλα τα ζεύγη αριθμών προμηθευτών έτσι ώστε οι εν λόγω προμηθευτές να βρίσκονται στην ίδια πόλη
    7.5.6 Προσδιορίστε τα ονόματα των προμηθευτών που δεν προμηθεύουν το μέρος P2
    7.6 Γενικού σκοπούάλγεβρα
    7.7 Μερικές πρόσθετες σημειώσεις
    Συνειρμικότητα και ανταλλαγή
    Κάποιες ισοδυναμίες
    Μερικές γενικεύσεις
    7.8.Πρόσθετες λειτουργίες
    Ημι-σύνδεση
    Μισή διαφορά
    Επέκταση
    Συσσωμάτωση
    Μεταβατικό κλείσιμο
    7.9 Ομαδοποίηση και κατάργηση ομαδοποίησης
    7.10.Περίληψη
    Γυμνάσια
    Ασκήσεις γραφής ερωτήματος
    Βιβλιογραφία
    Κεφάλαιο 8. Σχεσιακός Λογισμός
    8.1. Εισαγωγή
    8.2. Διπλός λογισμός
    Σύνταξη
    Μεταβλητές εύρους
    Ελεύθερο και δεσμευμένο μεταβλητό εύροςέννοια
    Ποσοτικοί δείκτες

    241
    241
    244
    246
    249
    249
    250
    251
    251
    252
    254
    255
    258
    260
    260
    261
    261
    261
    261
    262
    263
    265
    265
    266
    266
    267
    268
    268
    268
    272
    275
    276
    279
    281
    282
    285
    289
    289
    291
    291
    293
    294
    295

    Περιεχόμενο
    Περισσότερες πληροφορίες σχετικά με ελεύθερες και δεσμευμένες μεταβλητές
    297
    Σχεσιακές πράξεις
    298
    8.3. Παραδείγματα
    300
    8.3.1 Προσδιορίστε τον αριθμό των προμηθευτών από το Παρίσι με καθεστώς μεγαλύτερο από 20.300
    8.3.2 Βρείτε όλα τα ζεύγη αριθμών τέτοιων προμηθευτών που βρίσκονται
    σε μια πόλη (επανάληψη του παραδείγματος 7.5.5)
    300
    8.3.3 Λάβετε πλήρεις πληροφορίες σχετικά με τους προμηθευτές του αριθμού ανταλλακτικού P2
    (τροποποιημένη έκδοση του παραδείγματος 7.5.1)
    301
    8.3.4 Καθορίστε ονόματα προμηθευτών για τουλάχιστον ένα μέρος
    κόκκινο (επαναλάβετε το παράδειγμα 7.5.2)
    301
    8.3.5. Βρείτε τα ονόματα των προμηθευτών τουλάχιστον ενός μέρους,
    που παρέχεται από τον προμηθευτή με αριθμό S2
    302
    8.3.6.Λάβετε ονόματα προμηθευτών όλων των τύπων ανταλλακτικών
    (επανάληψη του παραδείγματος 7.5.3)
    302
    8.3.7 Προσδιορίστε τα ονόματα των προμηθευτών που δεν προμηθεύουν το ανταλλακτικό.
    με αριθμό P2 (επανάληψη του παραδείγματος 7.5.6)
    302
    8.3.8. Προσδιορίστε τους αριθμούς προμηθευτών για τουλάχιστον εκείνα τα μέρη που
    παρέχεται από τον προμηθευτή με αριθμό S2 (επανάληψη του παραδείγματος 7.5.4)
    302
    8.3.9. Παρέχονται αριθμοί ανταλλακτικών που ζυγίζουν περισσότερο από 16 κιλά
    αριθμός προμηθευτή S2 ή πληροί και τις δύο προϋποθέσεις 303
    8.4 Συγκριτική ανάλυση σχεσιακού λογισμού και σχεσιακής άλγεβρας
    303
    8.5 Υπολογιστικές δυνατότητες
    308
    8.5.1. Προσδιορίστε τους αριθμούς και το βάρος σε γραμμάρια όλων των τύπων εξαρτημάτων,
    του οποίου το βάρος ξεπερνά τα 10.000 g
    309
    8.5.2. Επιλέξτε πληροφορίες για όλους τους προμηθευτές και ορίστε τον καθένα από αυτούς
    κυριολεκτική τιμή "Προμηθευτής"
    309
    8.5.3. Λάβετε πλήρεις πληροφορίες για κάθε παράδοση, συμπεριλαμβανομένων των γενικών
    βάρος παράδοσης
    309
    8.5.4. Για κάθε εξάρτημα, λάβετε τον αριθμό εξαρτήματος και το συνολικό εύρος παράδοσης.
    σε κομμάτια
    309
    8.5.5. Προσδιορίστε τον συνολικό αριθμό των παρεχόμενων ανταλλακτικών
    309
    8.5.6. Για κάθε προμηθευτή, λάβετε τον αριθμό προμηθευτή και τον συνολικό όγκο
    παραδόσεις σε κομμάτια
    309
    8.5.7. Αναφέρετε τα ονόματα των πόλεων στις οποίες είναι αποθηκευμένα τα μέρη, τι υπάρχει σε αυτά
    υπάρχουν περισσότερα από πέντε κόκκινα μέρη
    309
    8.6.
    SQL Language Tools
    309
    8.6.1. Καθορίστε τα χρώματα των τμημάτων και τα ονόματα των πόλεων για μέρη που έχουν
    πάνω από 10 λίβρες και αποθηκεύεται σε πόλεις εκτός του Παρισιού
    310
    8.6.2. Για όλα τα εξαρτήματα, αναφέρετε τον αριθμό εξαρτήματος και το βάρος σε γραμμάρια (απλοποιημένα
    παράδειγμα έκδοσης 8.5.1)
    312
    8.6.3. Λάβετε όλους τους συνδυασμούς δεδομένων προμηθευτή και ανταλλακτικών,
    βρίσκεται στην ίδια πόλη
    313
    8.6.4. Βρείτε όλα τα ζεύγη ονομάτων πόλεων έτσι ώστε να εντοπίσει ο προμηθευτής
    στην πρώτη πόλη, προμηθεύει ένα ανταλλακτικό που είναι αποθηκευμένο στη δεύτερη πόλη 313
    8.6.5. Λάβετε όλα τα ζεύγη αριθμών προμηθευτών έτσι ώστε και οι δύο προμηθευτές
    κάθε ζευγάρι περιέχει μια υδάτινη πόλη (βλ. παράδειγμα 8.3.2)
    314
    8.6.6. Προσδιορίστε τον συνολικό αριθμό των προμηθευτών
    314

    8.6.7. Προσδιορίστε τον μέγιστο και τον ελάχιστο αριθμό εξαρτημάτων
    με αριθμό P2
    315
    8.6.8. Για κάθε παρεχόμενο ανταλλακτικό, αναφέρετε τον αριθμό εξαρτήματος και τον συνολικό όγκο.
    παραδόσεις σε τεμάχια (τροποποιημένη έκδοση του παραδείγματος 8.5.4)
    315
    8.6.9. Προσδιορίστε τους αριθμούς ανταλλακτικών όλων των εξαρτημάτων που παρέχονται από περισσότερα από ένα
    προμηθευτής
    316
    8.6.10. Προσδιορίστε τα ονόματα των προμηθευτών ανταλλακτικών με αριθμό P2
    (βλ. παράδειγμα 7.5.1)
    316
    8.6.11. Καθορίστε ονόματα προμηθευτών για τουλάχιστον ένα μέρος

    317
    8.6.12. Προσδιορίστε τον αριθμό των προμηθευτών με καθεστώς μικρότερο από αυτό
    που είναι αυτή τη στιγμή το μέγιστο στον πίνακα S
    317
    8.6.13. Προσδιορίστε τα ονόματα των προμηθευτών ανταλλακτικών με αριθμό P2
    317
    8.6.14. Προσδιορίστε τα ονόματα των προμηθευτών που δεν προμηθεύουν το ανταλλακτικό
    με αριθμό P2 (παράδειγμα 8.3.7)
    318
    8.6.15. Προσδιορίστε τα ονόματα των προμηθευτών που προμηθεύουν ανταλλακτικά

    318
    8.6.16. Προσδιορίστε τους αριθμούς ανταλλακτικών που είτε ζυγίζουν περισσότερο από 16 κιλά είτε
    παρέχονται από τον προμηθευτή με αριθμό S2 ή αντιστοιχούν σε αυτόν
    και μια άλλη συνθήκη (βλ. παράδειγμα 8.3.9)
    319
    8.6.17. Προσδιορίστε τον αριθμό εξαρτήματος και το βάρος σε γραμμάρια για κάθε εξάρτημα
    με βάρος > 10.000 g (βλ. παράδειγμα 8.5.1)
    320
    8.7. Λογισμός τομέα
    321
    8.7.1. Προσδιορίστε τον αριθμό των προμηθευτών από το Παρίσι με καθεστώς μεγαλύτερο από 20
    (απλοποιημένη έκδοση του παραδείγματος 8.3.1)
    322
    8.7.2. Βρείτε όλα τα ζεύγη αριθμών προμηθευτών στα οποία υπάρχουν δύο προμηθευτές
    βρίσκονται στην ίδια πόλη (βλ. παράδειγμα 8.3.2)
    322
    8.7.3. Καθορίστε ονόματα προμηθευτών για τουλάχιστον ένα μέρος
    κόκκινο (βλ. παράδειγμα 8.3.4)
    322
    8.7.4 Προσδιορίστε τα ονόματα των προμηθευτών που προμηθεύουν τουλάχιστον έναν τύπο
    ανταλλακτικά που παρέχονται από τον προμηθευτή με αριθμό S2 (βλ. παράδειγμα 8.3.5) 323
    8.7.5. Προσδιορίστε τα ονόματα των προμηθευτών που προμηθεύουν ανταλλακτικά
    όλοι οι τύποι (βλ. παράδειγμα 8.3.6)
    323
    8.7.6. Προσδιορίστε τα ονόματα των προμηθευτών που δεν προμηθεύουν το ανταλλακτικό
    με αριθμό P2 (βλ. παράδειγμα 8.3.7)
    323
    8.7.7. Προσδιορίστε τον αριθμό των προμηθευτών που προμηθεύουν,
    τουλάχιστον παρεχόμενα μέρη όλων των τύπων
    προμηθευτής με αριθμό S2 (βλ. παράδειγμα 8.3.8)
    323
    8.7.8. Αποκτήστε αριθμούς ανταλλακτικών που είτε ζυγίζουν περισσότερο από 16 κιλά είτε
    παρέχονται από τον προμηθευτή με αριθμό S2 ή συμμορφώνονται
    και οι δύο συνθήκες (βλ. παράδειγμα 8.3.9)
    323
    8.8. Δείγμα γλώσσας ερωτήματος
    323
    8.8.1. Προσδιορίστε τον αριθμό των προμηθευτών που βρίσκονται στο Παρίσι
    έχουν κατάσταση > 20 (παράδειγμα 8.7.1)
    324
    8.8.2. Προσδιορίστε τον αριθμό όλων των παρεχόμενων εξαρτημάτων, αφαιρώντας τα περιττά
    διπλότυπα
    325

    Περιεχόμενο
    13
    8.8.3. Λάβετε αριθμούς και πληροφορίες σχετικά με την κατάσταση των προμηθευτών που βρίσκονται
    στο Παρίσι με πρώτη ταξινόμηση κατά φθίνουσα σειρά
    κατάσταση και, στη συνέχεια, με αύξουσα σειρά αριθμών
    325
    8.8.4. Λάβετε αριθμούς και δεδομένα κατάστασης προμηθευτών που είτε
    βρίσκονται στο Παρίσι, ή έχουν κατάσταση > 20, ή συναντιούνται
    και οι δύο συνθήκες (τροποποιημένη έκδοση του παραδείγματος 8.8.1)
    326
    8.8.5. Προσδιορίστε μέρη των οποίων το βάρος είναι μεταξύ 16
    έως 19 συμπεριλαμβανομένων
    326
    8.8.6. Για όλα τα εξαρτήματα, προσδιορίστε τον αριθμό εξαρτήματος και το βάρος του εξαρτήματος σε γραμμάρια
    (παράδειγμα 8.6.2)
    326
    8.8.7. Προσδιορίστε τον αριθμό των προμηθευτών που προμηθεύουν το ανταλλακτικό