Σχεδίαση Βάσεων Δεδομένων

Σχετικά έγγραφα
Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων. Τεχνητά, Σύνθετα, και Δευτερεύοντα Μοναδικά Χαρακτηριστικά (UIDs, Unique IDentifiers) Artificial, Composite, and Secondary UIDs

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Βάσεις Δεδομένων (Databases)

Σχεδίαση Βάσεων Δεδομένων

Database Design. Τύποι Σχέσεων Relationship Types. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Database Design. Documenting Business Rules Τεκμηρίωση Επιχειρησιακών κανόνων. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Ηλεκτρονικοί Υπολογιστές II

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση

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

Database Design. Entity Relationship Modeling and ERDs Μοντελοποίηση Σχέσεων Οντοτήτων και ERDs

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Σχεδίαση Βάσεων Δεδομένων

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

ΕΠΛ 342 Βάσεις εδοµένων


ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

Τμήμα Διοίκησης Επιχειρήσεων

Database Design. Entities, Instances, Attributes, and Identifiers Οντότητες, Εγγραφές, Πεδία, και Αναγνωριστικά

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

Φυσική Σχεδίαση Υλοποίηση βάσης

Θεωρία Κανονικοποίησης

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

Ηλεκτρονικοί Υπολογιστές II

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων


1 / 97

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Σχεδίαση Βάσεων Δεδομένων

Το Σχεσιακό μοντέλο και η γλώσσα SQL

1 / 87

Ηλεκτρονικοί Υπολογιστές II

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

«Εισαγωγή στις ΒΔ - SQL»


Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

Ανάκτηση Δεδομένων (Information Retrieval)

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

Εισαγωγή στις Βάσεις Δεδομζνων II

Αρχεία και Βάσεις Δεδομένων

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Το Σχεσιακό Μοντέλο Βάσεων Δεδομένων

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Σχεδιασμός Βάσεων Δεδομένων

Εισαγωγή. Σχεδιασµός µιας Β

Εργαστήριο #10 (Ε10) 1

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων


Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

Πληροφοριακά Συστήματα Διοίκησης

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο


Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

Ηλεκτρονικοί Υπολογιστές II

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Transcript:

Σχεδίαση Βάσεων Δεδομένων Εισαγωγή στις Έννοιες των Σχεσιακών Βάσεων Δεδομένων Introduction to Relational Database Concepts 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.

Απεικόνιση Σχεσιακής Βάσης Δεδομένων Μία σχεσιακή βάση δεδομένων είναι μία βάση δεδομένων την οποία ο χρήστης βλέπει ως μία συλλογή από πίνακες δυο διαστάσεων, οι οποίοι περιέχουν στήλες και γραμμές. Ο παρακάτω πίνακας περιέχει δεδομένα υπαλλήλων. EMPLOYEES (table name) EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID Σειρά 100 Steven King 90 101 Neena Kochhar 90 102 Lex De Haan 90 200 Jennifer Whalen 10 205 Shelley Higgins 110 Στήλη 4 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Γλώσσα για Πρόσβαση στα Δεδομένα Η δομημένη γλώσσα ερωτημάτων (SQL) μας δίνει τη δυνατότητα να έχουμε πρόσβαση στα δεδομένα σε μία σχεσιακή βάση δεδομένων με έναν αποτελεσματικό τρόπο. Αντί για να ψάχνουμε χειροκίνητα σε κάθε σειρά για να βρούμε τη εγγραφή για τον εργαζόμενο νούμερο 200, μπορούμε να χρησιμοποιήσουμε την ακόλουθη SQL δήλωση: SELECT last_name, department_id FROM employees WHERE employee_id = 200; Μπορείτε να δείτε το αποτέλεσμα αυτής της δήλωσης στην επόμενη διαφάνεια. 5 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Απεικόνιση του SQL Ερωτήματος EMPLOYEES (table name) EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID 100 Steven King 90 101 Neena Kochhar 90 102 Lex De Haan 90 200 Jennifer Whalen 10 205 Shelley Higgins 110 SELECT last_name, department_id FROM employees WHERE employee_id = 200; LAST_NAME Whalen DEPARTMENT_ID 10 6 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Ειδικό SQL Ερώτημα Για να βρούμε όλους τους εργαζομένους στο τμήμα νούμερο 90, γράφουμε μία διαφορετική SQL δήλωση: SELECT * FROM employees WHERE department_id = 90; Ξανά, μπορείτε να δείτε το αποτέλεσμα στην επόμενη διαφάνεια. 7 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Ειδικό SQL Ερώτημα (συνέχεια) 8 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Πρωτεύον Κλειδί Ένα πρωτεύον κλειδί (Primary Key, PK) είναι μία στήλη ή σύνολο από στήλες, που προσδιορίζουν με μοναδικό τρόπο κάθε σειρά σε έναν πίνακα. 9 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Πρωτεύον Κλειδί Πολλαπλών EMPLOYEES EMPLOYEE ID FIRST NAME LAST NAME... 100 Steven King... 101 Neena Kochhar... 102 Lex De Haan... 200 Jennifer Whalen... 205 Shelley Higgins... Single Column Primary Key DEPARTMENT ID 90 90 90 10 110 Κάθε πίνακας πρέπει να έχει ένα πρωτεύον κλειδί, και ένα πρωτεύον κλειδί πρέπει να είναι μοναδικό. Κανόνες Πρωτεύοντος Κλειδιού 10 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Υποψήφιοι Πρωτεύοντος Κλειδιού Ένας πίνακας μπορεί να έχει περισσότερες από μία στήλες, ή συνδυασμούς από στήλες, που θα μπορούσαν να χρησιμοποιηθούν ως το πρωτεύον κλειδί του πίνακα. Κάθε στήλη, ή συνδυασμός από στήλες, ονομάζεται «υποψήφιο» κλειδί διότι θα μπορούσε να επιλεγεί για να χρησιμοποιηθεί ως το πρωτεύον κλειδί. MEMBERS MEMBER_ID LAST_NAME FIRST_NAME PAYROLL_ID 100 SMITH DANA 21215 310 ADAMS TYLER 59877 210 CHEN LAWRENCE 1101 405 GOMEZ CARLOS 52 378 LOUNGANI NEIL 90386 Υποψήφιο Κλειδί Υποψήφιο Κλειδί 11 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Επιλογή ενός Υποψήφιου Κλειδιού Διαλέξτε ένα υποψήφιο κλειδί για να γίνει το πρωτεύον κλειδί για τον πίνακα. Οι άλλοι υποψήφιοι γίνονται εναλλακτικά κλειδιά (ή μοναδικά κλειδιά) Πρωτεύον Kλειδί 12 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Ξένο Κλειδί Ένα ξένο κλειδί (Foreign Key,FK) είναι μία στήλη, ή συνδυασμός από στήλες, σε έναν πίνακα ο οποίος περιέχει τιμές που ταιριάζουν με τις τιμές του πρωτεύοντος κλειδιού σε έναν άλλον πίνακα. ΕΡΓΑΖΟΜΕΝΟΙ (EMPLOYEES) Ξένο Κλειδί ΤΜΗΜΑΤΑ (DEPARTMENTS) Αναφέρεται σε Πρωτεύον Κλειδί 13 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Κανόνες Ξένου Κλειδιού Εάν ένα πρωτεύον κλειδί αποτελείται από ένα ή περισσότερα ξένα κλειδιά, τότε η τιμή του ξένου κλειδιού δεν μπορεί να είναι NULL. Πρωτεύον Κλειδί Το Πρωτεύον Κλειδί (PK, Primary Key) συνδέεται στο Ξένο του Κλειδί (FK, Foreign Key) 14 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Ακεραιότητα Στήλης Μία στήλη πρέπει να περιέχει μόνο τιμές που συνάδουν με τη μορφή των καθορισμένων δεδομένων της στήλης. ΛΟΓΑΡΙΑΣΜΟΙ (ACCOUNTS) ΟΡΙΣΜΟΣ ΠΙΝΑΚΑ ΛΟΓΑΡΙΑΣΜΟΙ (ACCOUNTS Table Definition) 15 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Περίληψη των Κανόνων Ακεραιότητας Δεδομένων Οι κανόνες ακεραιότητας δεδομένων (επίσης γνωστοί ως περιορισμοί) καθορίζουν τη σωστή κατάσταση σχέσεων μιας βάσης δεδομένων. Οι κανόνες ακεραιότητας δεδομένων εξασφαλίζουν ότι οι χρήστες μπορούν να πραγματοποιήσουν μόνο αυτές τις λειτουργίες που αφήνουν τη βάση δεδομένων σε μία σωστή και συνεπή κατάσταση. 16 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Περίληψη των Κανόνων Ακεραιότητας Δεδομένων (συνέχεια) Τύπος Περιορισμού Επεξήγηση Παράδειγμα Ακεραιότητα Οντότητας Ένα πρωτεύον κλειδί πρέπει να είναι μοναδικό, και κανένα μέρος του πρωτεύοντος κλειδιού δεν μπορεί να είναι null Η στήλη emp_no στον πίνακα EMPLOYEES (ΕΡΓΑΖΟΜΕΝΟΙ) δεν μπορεί να είναι null Ακεραιότητα Αναφοράς Ένα ξένο κλειδί πρέπει να ταιριάζει με μία τιμή ενός ήδη υπάρχοντος πρωτεύοντος κλειδιού (ή αλλιώς θα είναι null εφόσον επιτρέπονται) Η τιμή στη στήλη dept_no του πίνακα EMPLOYEES (ΕΡΓΑΖΟΜΕΝΟΙ) πρέπει να ταιριάζει με μία τιμή στη στήλη dept_no του πίνακα DEPARTMENTS (ΤΜΗΜΑΤΑ) Ακεραιότητα Στήλης Μία στήλη πρέπει να περιέχει μόνο τιμές που συνάδουν με τις καθορισμένες μορφές δεδομένων της στήλης Η τιμή στη στήλη ισορροπίας του πίνακα ACCOUNTS (ΛΟΓΑΡΙΑΣΜΟΙ) πρέπει να είναι αριθμητική Ακεραιότητα Οριζόμενη από το Χρήστη Τα δεδομένα που είναι αποθηκευμένα σε μία βάση δεδομένων πρέπει να συμμορφώνονται με τους κανόνες της επιχείρησης Εάν η τιμή στη στήλη ισορροπίας του πίνακα ACCOUNTS (ΛΟΓΑΡΙΑΣΜΟΙ) είναι κάτω από 1,00 πρέπει να στείλουμε ένα γράμμα στο ιδιοκτήτη του λογαριασμού (αυτό θα χρειαστεί επιπρόσθετο προγραμματισμό για την επιβολή) 17 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Ορολογία Λέξεις κλειδιά που χρησιμοποιήθηκαν στο μάθημα αυτό: Υποψήφιο κλειδί Στήλη Ξένο κλειδί Πρωτεύον κλειδί Σχεσιακή βάση δεδομένων Σειρά Μοναδικό κλειδί 18 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Περίληψη Στο μάθημα αυτό, θα πρέπει να έχετε μάθει πώς να: Ορίζετε ένα πρωτεύον κλειδί Ορίζετε ένα ξένο κλειδί Ορίζετε ένα κανόνα ακεραιότητας στήλης Προσδιορίζετε τη σειρά, τη στήλη, το πρωτεύον κλειδί, το μοναδικό κλειδί, και τα στοιχεία του ξένου κλειδιού σε ένα διάγραμμα ενός πίνακα που περιέχει τα στοιχεία αυτά Αναγνωρίζετε παραβιάσεις των κανόνων ακεραιότητας δεδομένων 19 Copyright 2013, Oracle and/or its affiliates. All rights reserved.