Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Διάγραμμα Παρουσίασης 1.Τι είναι οι Βάσεις Δεδομένων; Γιατί Παρουσιάζουν τόσο Ενδιαφέρον; 2.Ποια είναι τα Πλεονεκτήματα των Βάσεων Δεδομένων; 3.Προκλήσεις.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Διάγραμμα Παρουσίασης 1.Τι είναι οι Βάσεις Δεδομένων; Γιατί Παρουσιάζουν τόσο Ενδιαφέρον; 2.Ποια είναι τα Πλεονεκτήματα των Βάσεων Δεδομένων; 3.Προκλήσεις."— Μεταγράφημα παρουσίασης:

1 Διάγραμμα Παρουσίασης 1.Τι είναι οι Βάσεις Δεδομένων; Γιατί Παρουσιάζουν τόσο Ενδιαφέρον; 2.Ποια είναι τα Πλεονεκτήματα των Βάσεων Δεδομένων; 3.Προκλήσεις του Μέλλοντος;

2 Τι είναι οι Βάσεις Δεδομένων; •Βάση Δεδομένων (Database - DB): –Μια συλλογή από συσχετιζόμενα δεδομένα. •Π.χ., Τα δεδομένα ενός Πανεπιστήμιου (Φοιτητές, Μαθήματα, Αίθουσες, Εγγραφες, κτλ.) •Τυχαία συλλογή δεδομένων δεν αποτελούν ΒΔ –π.χ., όλες οι λέξεις ενός βιβλίου παρόλο που είναι συσχετιζόμενα δεδομένα δεν αποτελούν βάση δεδομένων. •Δεδομένα (Data): –Γνωστά γεγονότα τα οποία μπορούν να καταγραφούν και τα οποία έχουν συγκεκριμένη σημασία. •π.χ., Ο Κώστας είναι 32 ετών με ταυτότητα

3 Τι είναι οι Βάσεις Δεδομένων; Γνωρίσματα Εγγραφές Επικεφαλίδα •Σχεσιακό Μοντέλο (Codd’70, ΙΒΜ): –To επικρατέστερο μοντέλο αναπαράστασης Δεδομένων σε Σύγχρονες Βάσεις Δεδομένων. –Μια Σχέση r είναι ένα σύνολο πλειάδων (tuples) r={t 1,t 2, …t Μ }, όπου κάθε πλειάδα είναι μια διατεταγμένη ακολουθία γνωρισμάτων (attributes) t=. Όνομα Σχέσης

4 Τι είναι οι Βάσεις Δεδομένων; Παράδειγμα (Σχεσιακής) Βάσης Πανεπιστημίου

5 Τι είναι οι Βάσεις Δεδομένων; •Database Management System (DBMS): –Λογισμικό/α για τη δημιουργία, τη διατήρηση, και επεξεργασία μιας DB. •π.χ., Oracle, IBM DB2, SQL-Server, PostgreSQL, MySQL, MS Access, Interbase, Sybase, … •Κύριος σκοπός των DBMS: αποθήκευση & διαχείριση –Εύκολα και βολικά (conveniently) –Γρήγορα και αποδοτικά (efficiently) –Αξιόπιστα και με συνέπεια (reliably and consistently) •Σύστημα Βάσης (Database System): –DBS = DBMS + DATA –Κάποτε περιλαμβάνονται στην πιο πάνω εξίσωση και οι εφαρμογές.

6 Τι είναι οι Βάσεις Δεδομένων; (DB)

7 Τι είναι οι Βάσεις Δεδομένων; Ανατομία του MySQL Server

8 Γιατί παρουσιάζουν τόσο ενδιαφέρουν οι ΒΔ; •Ερώτηση: Γιατί παρουσιάζουν τόσο ενδιαφέρουν οι Σχεσιακές Βάσεις Δεδομένων; •Απάντηση –Γιατί είναι το τεχνικό θεμέλιο (υπόβαθρο) κάθε σύγχρονου Πληροφοριακού Συστήματος. •Τραπεζικές Εφαρμογές & Χρηματιστήριο, •(Διαδικτυακά) Συστήματα Κρατήσεων •Ε-Διακυβέρνηση (Ανανέωση Αδειών, Φορολογία, κτλ.) •Αρχεία Προσωπικού, Πελατών, κτλ (Οργανισμοί, Εταιρείες, κτλ.) •Λιανική Πώληση και Διαδικτυακά Καταστήματα •Τηλεπικοινωνίες, και άπειρες άλλες εφαρμογές…. –Γιατί ένα από τα μεγαλύτερα ποσοστά απασχόλησης αποφοίτων της Πληροφορικής είναι στο χώρο των Πληροφοριακών Συστημάτων (Βάσεων Δεδομένων)

9 Διάγραμμα Παρουσίασης 1.Τι είναι οι Βάσεις Δεδομένων; Γιατί Παρουσιάζουν τόσο Ενδιαφέρον; 2.Ποια είναι τα Πλεονεκτήματα των Βάσεων Δεδομένων; 3.Προκλήσεις Μέλλοντος;

10 Ποια τα Πλεονεκτήματα των ΒΔ; 1) Ανεξαρτησία Προγράμματος-Δεδομένων (Program-data independence) –δηλ., Δυνατότητα αλλαγής της Φυσικής Δομής δεδομένων χωρίς να επηρεαστούν τα Προγράμματα (DBMS Application Programs / Queries) DB DBMS Database System Program

11 Ποια τα Πλεονεκτήματα των ΒΔ; 2) Δυνατότητα Εκτέλεσης Δηλωτικών Επερωτήσεων μέσω Γενικής Διεπαφής –Ο Χρήστης διατυπώνει τι επιθυμεί να ανακτήσει χωρίς να ορίζει πως (δηλ., αλγόριθμο) θέλει να γίνει η ανάκτηση δεδομένων. DB Database System SELECT Course_number FROM COURSE WHERE Credit_hours<4 AND Department=‘CS’

12 Ποια τα Πλεονεκτήματα των ΒΔ; 3) Δυνατότητα Επιβολής Κανόνων Ακεραιότητας –Π.χ., Επιβολή κανόνα: «Κανένα μάθημα δεν μπορεί να λαμβάνει πάνω από 10 Διδακτικές Μονάδες» –Παράδειγμα σε SQL-DDL: CREATE TABLE COURSE ( CourseID INT PRIMARY KEY, Units INT NOT NULL CHECK (Units<11)….) 4) Δυνατότητα Εκτέλεσης Σκανδαλών (Triggers) –Π.χ., «Σε κάθε νέα εισαγωγή δεδομένων στον πίνακα COURSE στείλε ένα στη Γραμματεία» 5) Ταυτόχρονη Επεξεργασία Πολλαπλών Δοσοληψιών –Διασφαλίζει ότι τα δεδομένα θα παραμένουν σε συνεπή (consistent) κατάσταση (δηλαδή είτε όλα αποθηκεύονται ή τίποτα!) … Μέσω Υποσυστήματος Ταυτοχρονίας.

13 Ποια τα Πλεονεκτήματα των ΒΔ; (Έλεγχος Ταυτοχρονίας) Ψευδοκώδικας Δοσοληψίας Deposit (amount, account#) { x = read(ARRAY[account#]); write(ARRAY[account#], amount + x); } Θεωρήστε: ARRAY[7] = €100 T1: Deposit1(100, 7) T2: Deposit2(50, 7) T1 Read1 Write1 T2 Read2 Write2 T1 Read1 Write1 T2 Read2 Write2 Εκτέλεση 1 Εκτέλεση 2 250€ (Correct) 150€  ! WRONG

14 Ποια τα Πλεονεκτήματα των ΒΔ; 6.Μέτρα Προστασίας και Ασφάλειας –Δυνατότητα περιορισμού μη-εξουδιοτημένων (unauthorized) προσβάσεων στα δεδομένα. –Μέσω Υποσυστήματος Ασφάλειας (Security) 7.Διασφάλιση Μόνιμης Αποθήκευσης Δεδομένων –Κάθε ολοκληρωμένη δοσοληψία (πρόγραμμα βάσης) θα καταγράψει μόνιμα τα αποτελέσματα στη βάση. –Μέσω Υποσυστήματος Ανάκαμψης (Recovery) 8.Προχωρημένες Δυνατότητες: –Διασύνδεση με Διαδίκτυο, Εξόρυξη Δεδομένων (Data Mining), Ανάκτηση Δεδομένων (Information Retrieval), Γεωγραφικά Δεδομένα, Αναφορές (Reports), κτλ.

15 Ποια τα Πλεονεκτήματα των ΒΔ; 9.Επιτρέπει σε ένα οργανισμό να ανακαλύψει / ορίσει τα δεδομένα του: –Π.χ., Σχεδιάζοντας και Υλοποιώντας τη βάση UNIVERSITY προτυποποιείται ότι το STUDENT.Name είναι Αλφαριθμητική Ακολουθία 30 χαρακτήρων. 10.Μειωμένος χρόνος ανάπτυξης εφαρμογών –Υπολογίζεται ότι ο χρόνος ανάπτυξης εφαρμογών με βάσεις μειώνεται κατά 75-84%. 11.Ευελιξία –Εύκολη μετάβαση σε άλλο προμηθευτή βάσης δεδομενων (με εργαλεία EXPORT).

16 Διάγραμμα Παρουσίασης 1.Τι είναι οι Βάσεις Δεδομένων; Γιατί Παρουσιάζουν τόσο Ενδιαφέρον; 2.Ποια είναι τα Πλεονεκτήματα των Βάσεων Δεδομένων; 3.Προκλήσεις Μέλλοντος;

17 Αναζήτηση Εικόνων SELECT * FROM IMAGES WHERE most_similar_to(A) Προκλήσεις Μέλλοντος στις ΒΔ; •#1) Μετατόπιση Απαιτήσεων Λειτουργιών •Από ΒΔ Αλφαριθμητικών Δεδομένων σε ΒΔ εικόνων, ήχου, γεωγραφικών δεδομένων, δικτυακών δεδομένων, κτλ. O1O2O3 O4O5

18 Προκλήσεις Μέλλοντος στις ΒΔ; •#2) Μετατόπιση Πλατφόρμας •Από Συμβατικούς Διαθέτες σε Κέντρα Δεδομένων και Μικροσυσκευές Sun’s Container-based Data Center

19 Προκλήσεις Μέλλοντος στις ΒΔ; Google Cloud Datacenter in Oregon, USA, ,000 Servers

20 Προκλήσεις Μέλλοντος στις ΒΔ; Συλλογή Ροών Δεδομένων Από Αισθητήρες

21 Προκλήσεις Μέλλοντος στις ΒΔ; Συλλογή Ροών Δεδομένων Από Αισθητήρες

22 Προκλήσεις Μέλλοντος στις ΒΔ; •#3) Μετατόπιση Μεγέθους ΒΔ –Παράδειγμα Sprint Telecom (Αμερική): 5ή Μεγαλύτερη ΒΔ στον Κοσμο* •Καταγραφή δεδομένων συνδιάλεξης (π.χ., ο X τηλεφώνησε του Υ για 10 λεπτά και 20 δευτερόλεπτα) •2,85 τρισεκατομμύρια (x10 12 ) εγγραφές! •385 εκατομμύρια (x10 6 ) νέες εγγραφές την ημέρα! •Σε εξαιρετικές περιπτώσεις μέχρι και 70,000 νέες εγγραφές το Δευτερόλεπτο! •* 1 η μεγαλύτερη: World Data Centre for Climate, MPI, Γερμανία, 220 Terabytes δεδομένων.

23 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; •Για την ανάπτυξη μιας Σχεσιακής Βάσης δεδομένων ακολουθούνται τα ακόλουθα βήματα A.Ανάλυση Απαιτήσεων (Requirement Analysis): Ο Αναλυτής του συστήματος προετοιμάζει ένα έγγραφο απαιτήσεων με την βοήθεια του πελάτη. •Τι δεδομένα να αποθηκεύονται και που; •Τι εφαρμογές θα αναπτυχθούν πάνω από τα δεδομένα; •Ποιες πράξεις/διαδικασίες πρέπει να υποστηριχθούν και με τι απαιτήσεις επίδοσης; B.Εννοιολογική Σχεδίαση Βάσης (Conceptual Database Design): O DB Designer ετοιμάζει ένα ER διάγραμμα το οποίο μπορεί να γίνει αντιληπτό στο πελάτη (για επικύρωση) •Το διάγραμμα αυτό πρέπει να ορθό, πλήρες και αποδοτικό για να είναι εύκολη η μετατροπή στο επόμενο στάδιο.

24 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; Αποτέλεσμα: Διάγραμμα ER

25 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; C.Λογική Σχεδίαση Βάσης (Logical Database Design): Μετατροπή του ER διαγράμματος σε ένα (Σχεσιακό) Σχήμα Βάσης. Στιγμιότυπο Διαγράμματος Δομής Δεδομένων (Data Structure Diagram) στον SQL Server Management Studio (ουσιαστικά αναπαράσταση του σχεσιακού σχήματος)

26 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; Database System CatalogTables DBMS Συστατικά της Βάσης Δεδομένων που έχουν δημιουργηθεί μέχρι στιγμή

27 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; D. Εκλέπτυνση Σχήματος (Schema Refinement): Ανάλυση σχήματος για εντοπισμό τυχαίων προβλημάτων –π.χ., Student(ssn, vehicleID, motorID). •Αποφυγή πολλών κενών τιμών π.χ., Εάν ο Κώστας ΔΕΝ έχει vehicle και motor τότε δημιουργείται η μη επιθυμητή εγγραφή –(111, NULL, NULL);  BAD –(112, NULL, KLT15);  BAD –(113, XKJDL, NULL);  BAD –(113, HJDDL, KST139);  OK

28 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; D. Δημιουργία Εσωτερικών Προγραμμάτων (Sprocs, UDFs, Triggers): DBMS CatalogTables SProcsUDFs Triggers Views

29 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; E.Φυσικός Σχεδιασμός Βάσης Έλεγχος ότι η βάση θα ικανοποιεί τις απαιτήσεις επίδοσης/φόρτου κτλ. τα οποία επιβάλλουν οι απαιτήσεις του εγγράφου ανάλυσης. F.Υλοποίηση Εφαρμογής και Μηχανισμών Ασφάλειας (Application & Security Design)

30 Ποια είναι η Διαδικασία Ανάπτυξης ΒΔ; DBMS Programming Language (π.χ., JAVA, C, C#,…) Catalog/ IndexesTables SProcsUDFs Interfaces: JDBC, ODBC, κτλ. Triggers Views Web Languages (PHP, Python, ASP, Ruby, Perl) Προγραμματισμός Εφαρμογών

31 Παράδειγμα: Βάση Δεδομένων μίας Εταιρίας •Περιγραφή των απαιτήσεων 1.Η εταιρία είναι οργανωμένη σε τμήματα(departments). Κάθε τμήμα έχει μοναδικό όνομα(name), αριθμό (number), και συγκεκριμένο προσωπικό (employee). Απαιτείται η αποθήκευση της ημερομηνίας έναρξης (start date) της δουλειάς κάποιου εργαζομένου. Επίσης κάθε τμήμα έχει διαφορετικές τοποθεσίες (locations). 2.Κάθε τμήμα έχει υπό την ευθύνη του κάποια έργα(projects), κάθε ένα από τα οποία έχουν μοναδικό όνομα (name), μοναδικό αριθμό (unique number), και τοποθεσία εκτέλεσης (single location).

32 Παράδειγμα: Βάση Δεδομένων μίας Εταιρίας 3.Αποθηκεύουμε κάθε ενός εργαζομένου τα στοιχεία name, SSN, address, salary, sex, και birth date. Ένας εργαζόμενος βρίσκεται σε ένα τμήμα αλλά μπορεί να απασχολείται σε παραπάνω του ενός έργα. Απαιτούμε την καταγραφή των αριθμών των ορών (number of hours) ανά εβδομάδα που κάθε ένας υπάλληλος δουλεύει για κάποιο έργο. Επίσης είναι ιδιαίτερα σημαντικό να κρατιούνται οι σχέσεις ανωτερότητας μεταξύ των υπαλλήλων.

33 E-R Μοντέλο •Στο E-R μοντέλο διακρίνουμε •Οντότητες - entities •Χαρακτηριστικά - attributes •Σχέσεις – relationships •Οντότητα •Ένα αντικείμενο ή γεγονός του πραγματικού κόσμου •Φυσική οντότητα / Εννοιολογική Οντότητα:Αυτοκίνητο-Εργασία

34 E-R Μοντέλο  Χαρακτηριστικά(Attributes) • Μια σειρά ιδιοτήτων που περιγράφουν μια οντότητα (entity) • Μια οντότητα έχει ΤΙΜΕΣ για κάθε ένα από τα χαρακτηριστικά

35 Τύποι Χαρακτηριστικών •Απλά-Σύνθετα (Simple vs. Composite) •Απλά ΑΤΟΜΙΚΑ χαρακτηριστικά-Σύνθετα χαρακτηριστικά π.χ. Ηλικία-διεύθυνση(street, city, state, zip) •Μια ιεραρχία σύνθετου χαρακτηριστικού:

36 Τύποι Χαρακτηριστικών •Μονότιμα – Πολυότιμα •Μονότιμα: Επιδέχονται μιας τιμής •Πολυότιμα: Επιδέχονται πολλών τιμών π.χ. τα χρώματα ενός αυτοκινήτου •Απευθείας-Εξαγώμενα(Stored vs. Derived Attributes) •birth date vs. age (calculated from birth date) •Σύνθετα Χαρακτηριστικά •Τα σύνθετα και τα πολυότιμα μπορούν να είναι εμφωλευμένα

37 Τύποι Οντοτήτων •Τύπος Οντότητας •Περιγράφει την ΣΥΛΛΟΓΗ αντικειμένων με το ίδια ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ π.χ. ΕΤΑΙΡΕΙΑ, ΥΠΑΛΛΗΛΟΣ •Μια οντότητα είναι ένα ΣΤΥΓΜΙΟΤΥΠΟ(instance) ενός τύπου οντότητας •Συνεπώς όλες οι οντότητες που έχουν ίδια χαρακτηριστικά εμπίπτουν στον ίδιο ΤΥΠΟ

38 Χαρακτηριστικά Κλειδιά(Key Attributes) •Χαρακτηριστικό κλειδί •Attribute(s) of an entity type for which each entity must have a unique value •Βασικός Περιορισμός: Κάθε οντότητα θα πρέπει να έχει ΤΟΥΛΑΧΙΣΤΟΝ ΕΝΑ χαρακτηριστικό κλειδί •Σύνθετο κλειδί: Registration(State, RegistrationNumber)

39 Αρχικό E-R Διάγραμμα •Πρωταρχική Εννοιολογική Σχεδίαση •Καθορισμός των Τύπων των Οντοτήτων και των Χαρακτηριστικών •Δεν περιλαμβάνονται οι σχέσεις •Όσο αφορά την βάση δεδομένων της Εταιρίας: 1.Η Οντότητα ΤΜΗΜΑ με χαρακτηριστικά Name, Number, Location, Manager, και ManagerStartDate. Η τοποθεσία είναι το μοναδικό πολυότιμο χαρακτηριστικό. Το όνομα και ο αριθμός είναι ΜΟΝΑΔΙΚΑ.

40 Αρχικό E-R Διάγραμμα 2.Η Οντότητα PROJECT με χαρακτηριστικά Name, Number, Location, ControllingDepartment. 3.Η Οντότητα εργαζόμενος EMPLOYEE με χαρακτηριστικά Name, SSN, Sex, Address, Salary, BirthDate, Department, και Supervisor. 4.An entity type DEPENDENT with attributes Employee, DependentName, Sex, BirthDate, and Relationship (to the employee).

41 Σχέσεις-Relationships •Σχέση •Είναι η συσχέτιση δύο ή περισσοτέρων ΔΙΑΚΡΙΤΩΝ ΟΝΤΟΤΗΤΩΝ •Στιγμιότυπο σχέσης •Μια συσχέτιση μεταξύ δύο οντοτήτων που ανήκουν σε διαφορετικούς τύπους οντοτήτων •Ο Γιάννης δουλεύει στο τμήμα ΛΟΓΙΣΤΗΡΙΟ

42 Σχέσεις-Relationships •Τύπος Σχέσης-Relationship Type •WORKS_IN (EMPLOYEE:DEPARTMENT) •Μπορεί να έχει ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ •Σύνολο Σχέσεων-Relationship Set •Ένα σύνολο Στιγμιότυπων Σχέσεων ιδίου τύπου

43 Σχέσεις-Relationships •Βαθμός Σχέσης-Degree of Relationship •Καθορίζει τον αριθμό των αντικειμένων που συμμετέχουν •Δυαδική σχέση: βαθμός 2 •Ternary relationship: βαθμός 3 •Ρόλοι σχέσεων-Relationship Roles •The roles of participating entity types in a relationship type (e.g., WORKS_IN) •EMPLOYEE as worker, DEPT. as employer

44 Τύποι Σχέσεων(Types) •Πολλαπλές σχέσεις-Multiple Relationships •Παραπάνω από ένας τύπος σχέσης μπορεί να υπάρχει για δύο ίδιες οντότητες •Οι συμμετέχουσες οντότητες μπορούν να παίζουν διαφορετικούς ρόλους σε διαφορετικούς τύπους σχέσεων •MANAGES (EMPLOYEE:DEPARTMENT) •WORKS_IN (EMPLOYEE:DEPARTMENT)

45 Τύποι Σχέσεων(Types) •Αναδρομικός Τύπος Σχέσης(Recursive) •Μια σχέση μπορεί να συσχετίζει δύο οντότητες του ιδίου τύπου •π.χ. SUPERVISION (EMPLOYEE:EMPLOYEE) •Η σχέση SUPERVISION συσχετίζει τον EMPLOYEE την μια φορά με ρόλο superviseeκαι την άλλη με ρόλο supervisor.

46 Περιορισμοί Σχέσεων(Constraints) •Περιορισμοί Σχέσεων –Προέρχονται από τον εξωτερικό κόσμο •Κάθε εργαζόμενος δουλεύει σε ένα μόνο τμήμα •Κάθε εργαζόμενος δουλεύει σε πολλά project •Κάθε τμήμα έχει manager •Κάθε project ελέγχεται από ένα τμήμα •Δομικοί περιορισμοί ως προς •Το Cardinality •Και τους Συμμετέχοντες

47 Cardinality Σχέσης(πλήθος σχέσης) •Cardinality Ratio •ΚΑΘΟΡΙΖΕΙ ΤΩΝ ΑΡΙΘΜΟ ΤΩΝ ΣΤΙΓΜΙΟΤΥΠΩΝ ΤΩΝ ΣΧΕΣΕΩΝ ΣΤΗΝ ΟΠΟΙΑ ΜΕΤΕΧΕΙ ΜΙΑ ΟΝΤΟΤΗΤΑ •1:1 (κάθε οντότητα μπορεί να συμμετέχει μια μόνο φορά) •1:N (Η μια οντότητα μπορεί να συμμετάσχει μια φορά και η άλλη πολλές) •M:N (Κάθε οντότητα μπορεί να συμμετάσχει πολλές φορές) •WORKS_ON (EMPLOYEE:PROJECT) = M:N •WORKS_FOR (EMPLOYEE:DEPT) = N:1

48 Περιορισμοί Συμμετοχής-Participation Constraints •Περιορισμοί Συμμετοχής •Καθορίζουν αν κάθε οντότητα πρέπει να συμμετέχει σε μια σχέση για να υπάρχει •Ολική Συμμετοχή(Total) •ΕΞΑΡΤΗΣΗ ΥΠΑΡΞΗΣ (existence dependency) •Κάθε οντότητα αναγκαστικά συμμετέχει σε μια σχέση •DEPARTMENT with respect to MANAGES •DEPENDENT to DEPENDENTS_OF

49 Περιορισμοί Συμμετοχής-Participation Constraints •Μερική Συμμετοχή(Partial) •Κάποιες οντότητες μπορούν να μην συμμετέχουν σε μια σχέση •EMPLOYEE to MANAGES, EMPLOYEE to DEPENDENTS_OF

50 Χαρακτηριστικά των σχέσεων(Attributes) •Οι τύποι των σχέσεων μπορεί να έχουν χαρακτηριστικά –NumberOfHours for WORKS_ON –StartDate for MANAGES

51 Ασθενείς Τύποι Οντοτήτων- Weak Entity Types •Ασθενής Τύπος Οντότητας •Μια Οντότητα χωρίς μοναδικό κλειδί (παραβιάζει το key constraint) •Συμμετέχει σε μια σχέση με ένα identifying (owner) τύπο οντότητας •Διαθέτει ένα μερικό κλειδί (ένα σύνολο χαρακτηριστικών που μπορούν να προσδιορίσουν μερικώς την οντότητα) •Έχει ολική συμμετοχή σε μια σχέση

52 Βελτιστοποιώντας το E-R •Καθορισμός Σχέσεων •Αλλάζουμε όλα τα χαρακτηριστικά που υποδηλώνουν σχέση σε τύπο σχέσης: Manager from DEPT., Supervisor from EMPLOYEE •Προσδιορίζουμε cardinality,συμμετοχή και περιορισμούς •Παράδειγμα της Εταιρείας •MANAGES (EMPOYEE:DEPARTMENT) = 1:1 (partial:total), has ‘StartDate’ attribute

53 Βελτιστοποιώντας το E-R •Παράδειγμα της Εταιρείας •WORKS_FOR (EMPLOYEE:DEPT) = N:1 (t:t) •CONTROLS (DEPT:PROJECT) = 1:N (p:t) •SUPERVISION (EMPLOYEE_supervisor: EMPLOYEE_supervisee) = 1:N (p:p) •WORKS_ON(EMPOYEE:PROJECT) = M:N (t:t), has ‘Hours’ attribute •DEPENDENTS_OF (EMPOYEE:DEPENDENT) = 1:N (p:t), DEPENDENT as a weak entity type

54 Συμβάσεις στα διαγράμματα E- R •Τύποι Οντοτήτων •Ισχυρός τύπος οντότητας •Ασθενής Τύπος DEPENDENT EMPLOYEE

55 Συμβάσεις στα διαγράμματα E- R •Τύποι Σχέσεων •Τύπος σχέσης •Ολική συμμετοχή : διπλή γραμμή •Μερική συμμετοχή: μονή γραμμή HAS DEPENDENTS_OF

56 Συμβάσεις στα διαγράμματα E- R •Χαρακτηριστικά(Attributes) •Oval σχήματα •Τα σύνθετα χαρακτηριστικά έχουν δενδρική δομή •Τα πολιότιμα σε διπλά oval •Τα εξαγόμενα χαρακτηριστικά με διακεκομένες •Τα χαρακτηριστικά κλειδιά: υπογραμμισμένα

57 Συμβάσεις στα διαγράμματα E-R

58 Άλλες Συμβάσεις στα διαγράμματα E-R •Επιλογή χαρακτηριστικών ονομάτων •Οντότητες και σχέσεις με κεφαλαία •Τα χαρακτηριστικά με κεφαλαίο το πρώτο γράμμα •ΟΙ ΣΧΕΣΕΙΣΑΠΟ ΑΡΙΣΤΕΡΑ ΠΡΟΣ ΤΑ ΔΕΞΙΑ

59 Σχεδιαστικές Αρχές E-R Διαγραμμάτων •Σχεδιασμός Σχήματος •Μια διαδικασία επαναληπτικής βελτιστοποίησης •αρχικό σχέδιο  βελτιώσεις  τελικό σχέδιο •Σχεδιαστικές Επιλογές •Κάποια αφηρημένη έννοια αρχικά μοντελοποιείται ως ένα χαρακτηριστικό και στην συνέχεια αν χρειαστεί σαν σχέση •Κάποιο χαρακτηριστικό το οποίο υπάρχει σε πάρα πολλές οντότητες μπορεί να αποτελέσει την δική του οντότητα

60 Δομή παρουσίασης •Εισαγωγή στις Βάσεις Δεδομένων •Έννοιες και Αρχιτεκτονική ενός DBMS •Μοντελοποίηση Δεδομένων (entity- relationship model) •Σχεσιακό Μοντέλο (relational model)

61 Κατηγοριοποίηση Μοντελοποίησης Δεδομένων  Εννοιολογικό-Conceptual (high-level)  Αντιπροσωπευτικό-Representational (implementation-level)  Φυσικό-Physical (low-level) Θα ασχοληθούμε με την μετατροπή ενός E-R σε ΣΧΕΣΙΑΚΟ σχήμα βάσης δεδομένων

62 Relational Model Concepts •Η βάση δεδομένων είναι συλλογή πινάκων που αντιπροσωπεύουν ΟΝΤΟΤΗΤΕΣ ΚΑΙ ΣΧΕΣΕΙΣ •Το όνομα του πίνακα είναι ο τίτλος της σχέσης •Οι στήλες(Columns) αντιπροσωπεύουν τα χαρακτηριστικά •Οι γραμμές(rows ή tuples) στα στιγμιότυπα

63 Entity-Relation attribute tuple

64 Χαρακτηριστικά σχεσιακής αναπαράστασης  Η σειρά των tupples ΔΕΝ ΠΑΙΖΕΙ ΑΠΟΛΥΤΩΣ ΚΑΝΕΝΑ ΡΟΛΟ

65

66 Σχεσιακοί Περιορισμοί-Relational Constraints  Domain Constraints •Η τιμή κάθε χαρακτηριστικού A i θα πρέπει να είναι αδιαίρετη  Key Constraints: Superkey •Για οποιαδήποτε διακριτά tuples t 1 and t 2 in r(R) •t 1  SK   t 2  SK  (SK είναι υποσύνολο των attributes)

67 Σχεσιακοί Περιορισμοί-Relational Constraints  Key Constraints: Candidate key •Είναι το ελάχιστο superkey •Είναι το superkey στο οποίο η αφαίρεση ενός attribute (SK – {A i }) οδηγεί στο να πάψει να είναι SK •Ένας πίνακας μπορεί να έχει πολλά υποψήφια κλειδιά •το primary key (PK) επιλέγεται από τα υποψήφια κλειδιά

68 Σχεσιακοί Περιορισμοί- Relational Constraints •Superkey –{LicenseNumber, Make} –{LicenseNumber, EngineSerialNumber, make, model} –{LicenseNumber, make, model} •Key (Candidate Key) –{LicenseNumber}, {EngineSerialNumber} •Primary Key –Select one candidate key: {LicenseNumber}

69 Σχεσιακοί Περιορισμοί-Relational Constraints  Entity Integrity Constraints •Constraints on null: Κάποια χαρακτηριστικά δεν μπορεί να είναι null •Κανένα πρωτεύων κλειδί δεν μπορεί να είναι null γιατί χρησιμοποιείται για τον προσδιορισμό του tuple

70 Σχεσιακοί Περιορισμοί-Relational Constraints  Referential Integrity Constraints •Καθορίζονται σχέσεις μεταξύ των πινάκων έτσι ώστε να εξασφαλιστεί η συνοχή ανάμεσα στα tuples •To κάθε tuple σε ένα πίνακα (R 1 ) που αναφέρετε σε άλλον (R 2 ) πρέπει να εξασφαλίζει την ύπαρξη του •R 1 :referencing relation, R 2 :referenced relation

71 Σχεσιακοί Περιορισμοί-Relational Constraints  Referential Integrity Constraints •Τα tuples στην referencing relation R 1 έχουν foreign key (FK) που ΣΥΣΧΕΤΙΖΕΙ το primary key της referenced relation R 2 •Το tuple t 1 in R 1 λέμε οτι αναφέρεται στο tuple t 2 in R 2 if t 1 [FK] = t 2 [PK] •ΟΙ ΤΙΜΕΣ ΤΩΝ του foreign key στην R 1 ΠΡΕΠΕΙ ΝΑ ΤΑΙΡΙΑΖΟΥΝ με τις τιμές του primary key στην R 2

72

73 Λειτουργίες-Operations  Update Operations •Insert, Delete, Modify •Αλλάζουν την κατάσταση της Βάσης Δεδομένων •Δεν πρέπει να παραβιάζουν τους περιορισμούς (domain, key, entity integrity, referential integrity)  Retrieval Operations •Select, Project, Join, Union, Intersect, … •ΚΑΜΙΑ ΑΛΛΑΓΗ ΣΤΟ ΣΤΗΝ ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΒΑΣΗΣ •ΠΩΣ? Με την χρήση SQL Language

74 SQL Background  SQL •Structured Query Language •Standard query γλώσσα για εμπορικά relational DBMSs •Κάθε DBMS έχει και τα δικά του extensions  Ιστορική εξέλιξη •SEQUEL at IBM (1974) on System R •IMB DB2 SQL (1983) •SQL (SQL1 or SQL-86): first standard version by ANSI and ISO •SQL2 (SQL-92): more DDL/DML features •SQL3 (SQL-99): object-oriented concepts

75 Βασικά Queries στην SQL  Query Syntax (SELECT Statement) •SELECT FROM WHERE ;  Definition •SELECT: specifies attributes to be selected •FROM : specifies tables to be accessed •WHERE: specifies conditions for choosing a subset of tuples • : a list of attribute names whose values are to be retrieved. • : a list of the relations names required to process the query. • : conditional expression to identify the tuples to be retrieved. • Case insensitive

76 Βασικά Queries στην SQL  SQL Query Example •Retrieve the names of all employees who work for the department number 4 •SELECT FNAME, LNAME FROM EMPLOYEE WHERE DNO = 4;

77  SQL Query Characteristics •SQL query result is not a mathematical set (may have duplicate tuples) •SELECT SALARY FROM EMPLOYEE WHERE DNO = 4; •Resulting relation: (25000, 43000, 25000) Βασικά Queries στην SQL

78  Implicit vs. Explicit Join Q1) retrieve the name and address of all employees who work for the ‘ Research ’ Dept. •SELECT FNAME,LNAME,ADDRESS FROM DEPARTMENT,EMPLOYEE WHERE DNAME=‘Research’ AND DNUMBER=DNO; •SELECT FNAME,LNAME,ADDRESS FROM DEPARTMENT JOIN EMPLOYEE ON DNUMBER=DNO WHERE DNAME=‘Research’; Βασικά Queries στην SQL

79  Another Join Example •Q2) for every project located in ‘ Houston ’, list the project #, the controlling department #, and the department manager ’ s last name •SELECT PNUMBER,DNUM,LNAME FROM PROJECT,DEPARTMENT,EMPLOYEE WHERE PLOCATION=‘Houston’ AND DNUM=DNUMBER AND MGRSSN=SSN; Βασικά Queries στην SQL

80  Qualifying Attributes •Qualify attributes by dot notation •Prevent ambiguity •Format: table.attribute •Q1) retrieve the name and address of all employees who work for the ‘ Research ’ Dept. •SELECT FNAME,LNAME,ADDRESS FROM DEPARTMENT,EMPLOYEE WHERE DNAME=‘Research’ AND DEPARTMENT.DNUMBER=EMPLOYEE.DNO;

81 Βασικά Queries στην SQL  Tables as Sets in SQL •To eliminate duplicate tuples SELECT DISTINCT SALARY FROM EMPLOYEE WHERE DNO=5; •Default is ALL (duplicates are allowed) SELECT ALL SALARY FROM EMPLOYEE WHERE DNO=5;

82 Βασικά Queries στην SQL  Substring Comparison •comparison condition on only parts of a character string •comparison operator: LIKE •%: arbitrary number of characters • _ : a single character •SELECT FNAME, LNAME FROM EMPLOYEE WHERE FNAME LIKE ‘%Wo%’ AND BDATE LIKE ’195 _ _ _ _ _ _ _’ ;

83 Άσκηση •Έστω ότι στη ΒΔ ενός βιβλιοπωλείου υπάρχουν οι ακόλουθες σχέσεις: •BOOK (BID, TITLE, AID, SUBJECT, QUANTITY-IN-STOCK) •AUTHOR (AID, FIRST-NAME, LAST-NAME) •CUSTOMER (CID, FIRST-NAME, LAST-NAME) •ORDER-DETAILS (OID, BID, QUANTITY) •ORDER (OID, CID, ORDER-YEAR) •ASSUMPTIONS: 1.Τα πρωτεύοντα κλειδιά είναι υπογραμμισμένα ενώ τα ξένα κλειδιά είναι σε πλάγια γραφή. 2.Κάθε συγγραφέας έχει συγγράψει τουλάχιστον ένα βιβλίο του βιβλιοπωλείου. 3.Κάθε βιβλίο έχει έναν μόνο συγγραφέα. 4.Κάθε παραγγελία γίνεται από έναν μόνο πελάτη και σχετίζεται με μία ή περισσότερες εγγραφές της σχέσης ORDER-DETAILS (π.χ., μία παραγγελία μπορεί να περιλαμβάνει διαφορετικά βιβλία). •Σχεδιάστε το Διάγραμμα Οντοτήτων-Συσχετίσεων.

84 Λύση


Κατέβασμα ppt "Διάγραμμα Παρουσίασης 1.Τι είναι οι Βάσεις Δεδομένων; Γιατί Παρουσιάζουν τόσο Ενδιαφέρον; 2.Ποια είναι τα Πλεονεκτήματα των Βάσεων Δεδομένων; 3.Προκλήσεις."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google