Σχεδίαση Βάσεων Δεδομένων Η ιστορία των Βάσεων Δεδομένων History of the Database 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους: Να περιγράψει την εξέλιξη των βάσεων δεδομένων και να δώσει ένα παράδειγμα του ρόλου τους στον επιχειρηματικό κόσμο Να ονομάσει σημαντικές ιστορικές συνεισφορές στην ανάπτυξη και το σχεδιασμό των βάσεων δεδομένων Να καταγράψει και να εξηγήσει τα τρία σημαντικότερα βήματα της διαδικασίας ανάπτυξης των βάσεων δεδομένων 2 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Σκοπός Η ιστορία παρέχει μια άποψη για το που βρισκόμαστε σήμερα στη πληροφορική. Την επόμενη φορά που θα χρησιμοποιήσετε τον υπολογιστή σας, το σύστημα βιντεοπαιχνιδιών σας, ή το έξυπνο κινητό σας, θα συνειδητοποιήσετε πόσο μακρυά έχουμε έρθει για να φτάσουμε στο σημείο αυτό και τι γεγονότα μας έφεραν εδώ. Η Μοντελοποίηση των Δεδομένων είναι το πρώτο βήμα στην ανάπτυξη των βάσεων δεδομένων. Το μάθημα αυτό περιλαμβάνει μια γενική επισκόπηση του περιεχομένου που καλύπτεται στο υπόλοιπο του μαθήματος. 3 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ιστορική Πορεία των Βάσεων Δεδομένων 1960s: Οι υπολογιστές γίνονται οικονομικά αποδοτικοί για ιδιωτικές εταιρείες, και η αποθηκευτική ικανότητά τους αυξάνεται. 1970-72: Ο E. F. Codd προτείνει το σχεσιακό μοντέλο για τις βάσεις δεδομένων, αποσυνδέοντας τη λογική οργάνωση από τη φυσική αποθήκευση. 1976: Ο P. Chen προτείνει το μοντέλο οντότητας σχέσης (entity relationship model, ERM) για τη σχεδίαση των βάσεων δεδομένων. 4 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ιστορική Πορεία των Βάσεων Δεδομένων (συνέχεια) Αρχές 1980s: Τα πρώτα εμπορικά διαθέσιμα σχεσιακά συστήματα βάσεων δεδομένων αρχίζουν να εμφανίζονται στις αρχές του 1980 με το Oracle Version 2. Μέσα-1980s: H SQL (structured query language, δομημένη γλώσσα ερωτημάτων) γίνεται «διαγαλαξιακό πρότυπο». 5 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ιστορική Πορεία των Βάσεων Δεδομένων (συνέχεια) Μέσα-1990s: Μπουμ! Το Internet/ World Wide Web (WWW) εμφανίζεται. Ένας τρελός αγώνας ακολουθεί για να δοθεί η δυνατότητα απομακρυσμένης πρόσβασης σε υπολογιστικά συστήματα με δεδομένα κληρονομικότητας. Αρχές 21ου αιώνα: Οι εφαρμογές του DB συνεχίζονται αυξάνονται με σταθερό ρυθμό. Παραδείγματα: εμπορικά websites (yahoo.com, amazon.com, google.com), κυβερνητικά συστήματα (υπηρεσιών Ιθαγένειας και Μετανάστευσης, απογραφής πληθυσμού), μουσεία τέχνης, νοσοκομεία, σχολεία, κλπ. 6 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ερώτηση: Τι Σχέση έχει η Μοντελοποίηση των Δεδομένων με μια Βάση Δεδομένων; Η μοντελοποίηση των δεδομένων είναι το πρώτο βήμα της διαδικασίας ανάπτυξης των βάσεων δεδομένων. Περιλαμβάνει τη συλλογή και την ανάλυση των δεδομένων που χρειάζεται μία επιχείρηση να παρακολουθεί, καθώς και τη δημιουργία διαγράμματος της οργάνωσης των δεδομένων σε ένα Διάγραμμα Συσχετίσεων Οντοτήτων (ERD). 7 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων Η μοντελοποίηση των Δεδομένων ξεκινά με την έρευνα των πληροφοριακών απαιτήσεων μίας επιχείρησης. Παράδειγμα: Εδώ δίνεται ένα σύνολο πληροφοριακών απαιτήσεων. Διαχειρίζομαι το τμήμα των Ανθρωπίνων Πόρων για μια μεγάλη επιχείρηση. Πρέπει να αποθηκεύουμε δεδομένα για κάθε έναν από τους εργαζομένους μας. Πρέπει να παρακολουθούμε το όνομα, το επίθετο, τη δουλειά ή θέση, την ημερομηνία πρόσληψης και το μισθό του κάθε υπαλλήλου και την προμήθεια του, εφόσον λαμβάνει. 8 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων (συνέχεια) Σε κάθε εργαζόμενο έχει ανατεθεί ένας μοναδικός αριθμός εργαζομένου. Η επιχείρησή μας χωρίζεται σε τμήματα. Κάθε εργαζόμενος έχει ανατεθεί σε κάποιο τμήμα για παράδειγμα, τμήμα λογιστηρίου, τμήμα πωλήσεων, ή τμήμα ανάπτυξης. Χρειάζεται να γνωρίζουμε το τμήμα το οποίο είναι υπεύθυνο για τον κάθε εργαζόμενο καθώς και τη τοποθεσία του τμήματος. Κάθε τμήμα έχει ένα μοναδικό αριθμό. Μερικοί από τους εργαζόμενους είναι managers. Χρειάζεται να ξέρουμε τον manager του κάθε εργαζόμενου όπως και όλους του εργαζόμενους οι οποίοι αξιοποιούνται από τον κάθε manager. 9 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων (συνέχεια) Ένα διάγραμμα οντότητας σχέσης θα πρέπει να συλλαμβάνει πλήρως και να μοντελοποιεί με ακρίβεια τις πληροφοριακές ανάγκες του οργανισμού καθώς και να υποστηρίζει τις λειτουργίες της επιχείρησης. ΠΑΡΑΔΕΙΓΜΑ Το παρακάτω διάγραμμα οντότητας σχέσης παρουσιάζει τις πληροφοριακές απαιτήσεις του Τμήματος Ανθρωπίνων Πόρων. ΕΡΓΑΖΟΜΕΝΟΣ # αριθμός * όνομα * επίθετο Έχει ανατεθεί στο ΤΜΗΜΑ # αριθμός * ημερομηνία πρόσληψης o δουλειά Υπεύθυνος για o μισθός Ο μάνατζερ του Αξιοποιείται από 10 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων (συνέχεια) Βήμα δεύτερο, η φάση σχεδιασμού των βάσεων δεδομένων της διαδικασίας ανάπτυξης, μεταφράζει τις πληροφορίες που έχουν μοντελοποιηθεί στο διάγραμμα οντότητας σχέσης σε ένα συγκεντρωτικό γράφημα πίνακα. 11 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων (συνέχεια) Το συγκεντρωτικό γράφημα πίνακα παραθέτει τις προδιαγραφές σχεδίασης των πληροφοριών και αποτελείται από τα ακόλουθα μέρη: Όνομα πίνακα Ονόματα στηλών Κλειδιά: ένα πρωτεύον κλειδί (Primary Key, PK) είναι το μοναδικό αναγνωριστικό για κάθε σειρά δεδομένωνˑ ένα ξένο κλειδί (Foreign Key, FK) συνδέει τα δεδομένα ενός πίνακα με τα δεδομένα ενός δεύτερο πίνακα με αναφορά στη στήλη PK (πρωτεύων κλειδιού) στο δεύτερο πίνακα Μηδενικές Τιμές (Nulls): υποδεικνύει εάν μια στήλη πρέπει να περιέχει μία τιμή (υποχρεωτική) 12 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων (συνέχεια) Μοναδικό: υποδεικνύει εάν η τιμή η οποία εμπεριέχεται μέσα σε μία στήλη είναι μοναδική μέσα στο πίνακα Τύπος Δεδομένων: προσδιορίζει τον ορισμό και τη μορφή των δεδομένων τα οποία είναι αποθηκευμένα σε κάθε στήλη 13 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Διαδικασία Ανάπτυξης Βάσεων Δεδομένων (συνέχεια) Για τη δημιουργία της φυσικής δομής της βάσης δεδομένων χρησιμοποιούνται εντολές Δομημένης Γλώσσας Ερωτημάτων (Structured Query Language, SQL). Η SQL χρησιμοποιείται επίσης για τη συμπλήρωση, πρόσβαση, και διαχείριση των δεδομένων στα πλαίσια της σχεσιακής βάσης δεδομένων. Δημιουργία Βάσης Δεδομένων Βήμα Τρίτο SQL>CREATE TABLE department 2 (deptno NUMBER(5) NOT NULL PRIMARY KEY, 3 name VARCHAR2(25) NOT NULL, 4 loc VARCHAR2(30) NOT NULL); SQL>CREATE TABLE employees 2 (empno NUMBER(9) NOT NULL PRIMARY KEY, 3 fname VARCHAR2(15) NOT NULL, 4 lname VARCHAR2(20) NOT NULL, 5 job VARCHAR2(15), 6 hiredt DATE NOT NULL, 7 sal NUMBER(9,2), 8 comm NUMBER(9,2), 9 mgr NUMBER(2) REFERENCES EMPLOYEES 10 deptno NUMBER(5) REFERENCES DEPARTMENT); 14 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Ορολογία Όροι κλειδιά που χρησιμοποιήθηκαν στο μάθημα αυτό: Τύπος Δεδομένων Ξένο κλειδί (Foreign Key, FK) Nulls Πρωτεύον Κλειδί (Primary Key, PK) Συγκεντρωτικό γράφημα πίνακα Μοναδικό 15 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Περίληψη Στο μάθημα αυτό, θα πρέπει να έχετε μάθει πως να: Περιγράφετε την εξέλιξη των βάσεων δεδομένων και να δίνετε παραδείγματα του ρόλου τους στον επιχειρηματικό κόσμο Ονομάζετε σημαντικές ιστορικές συνεισφορές στην ανάπτυξη και σχεδιασμό των βάσεων δεδομένων Καταγράφετε και εξηγείτε τα τρία σημαντικότερα βήματα της διαδικασίας ανάπτυξης δεδομένων 16 Copyright 2013, Oracle and/or its affiliates. All rights reserved.