ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Βάσεις Δεδομένων
Υπολογιστικά συστήματα: Στρώματα 1 επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα
Βάσεις Δεδομένων 2 Αναμφισβήτητα, ένας Ηλεκτρονικός Υπολογιστής (Η/Υ) αριστεύει στην εκτέλεση αριθμητικών και λογικών πράξεων. Μια εξίσου δημοφιλής χρήση του Η/Υ όμως είναι η δυνατότητα αποθήκευσης, προσπέλασης και επεξεργασίας παντός είδους πληροφοριών. Μια Βάση Δεδομένων επιτρέπει τη δομημένη αποθήκευση των δεδομένων Ενώ ένα Σύστημα Βάσης Δεδομένων καθορίζει τις μεθόδους αποθήκευσης. προσπέλασης και επεξεργασίας των δεδομένων μέσο ενός μοντέλου δομής και τη χρήση συγκεκριμένου λογισμικού. Το μοντέλο συσχετισμού χρησιμοποιείται σήμερα στην πλειοψηφία των περιπτώσεων χρήσης Συστημάτων Βάσης Δεδομένων.
Συσχετισμός Πεδίων 3 Συσχετισμός Πεδίων μιας εγγραφής Πεδία Ε γ γ ρ α φ ή CompanyName ContactName Address City Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin Berglunds snabbköp Centro comercial Moctezuma Christina Berglund Francisco Chang Berguvsvägen 8 Sierras de Granada 9993 Luleå México D.F. Ernst Handel Roland Mendel Kirchgasse 6 Graz Συσχετισμός Εγγραφής
Συσχετισμός Πεδίων 4 Τα Πεδία καθορίζουν το Σχήμα του συσχετισμού Προσοχή πρέπει να δίνεται όταν παίρνονται αποφάσεις για τον τύπο των διάφορων πεδίων (π.χ. αλφαριθμητικό, αριθμητικό) καθώς επίσης και για το μέγεθος του πεδίου (π.χ. πεδίο 10 χαρακτήρων, αριθμητικό πεδίο 0 100). Πεδία Ε γ γ ρ α φ ή CompanyName ContactName Address City Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin Berglunds snabbköp Centro comercial Moctezuma Christina Berglund Francisco Chang Berguvsvägen 8 Sierras de Granada 9993 Luleå México D.F. Ernst Handel Roland Mendel Kirchgasse 6 Graz Συσχετισμός Εγγραφής
Πίνακες 5 Προσέξτε ότι η σειρά με την οποία εμφανίζονται οι εγγραφές δε χρήζει καμίας ερμηνείας και γι αυτό είναι ασήμαντη! Μπορούμε κάλλιστα να ανακατατάξουμε τις εγγραφές. Η σειρά που εμφανίζονται τα πεδία σε μια εγγραφή όμως είναι σημαντική!! Πεδία Ε γ γ ρ α φ ή CompanyName ContactName Address City Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin Berglunds snabbköp Centro comercial Moctezuma Christina Berglund Francisco Chang Berguvsvägen 8 Sierras de Granada 9993 Luleå México D.F. Ernst Handel Roland Mendel Kirchgasse 6 Graz Συσχετισμός Εγγραφής
Πίνακες 6 Κάθε εγγραφή αντιπροσωπεύει μια πλειάδα δεδομένων που καθορίζει ένα στοιχείο! Το σύνολο αυτών το στοιχείων δημιουργεί ένα Πίνακα. Δημιουργείτε, δηλαδή ένα σύνολο εγγραφών που συσχετίζουν τα προκαθορισμένα πεδία Πεδία Ε γ γ ρ α φ ή CompanyName ContactName Address City Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin Berglunds snabbköp Centro comercial Moctezuma Christina Berglund Francisco Chang Berguvsvägen 8 Sierras de Granada 9993 Luleå México D.F. Ernst Handel Roland Mendel Kirchgasse 6 Graz Συσχετισμός Εγγραφής
Πίνακες 7 Suppliers Supplier ID CompanyName ContactName Address City 00 Alfreds Futterkiste 01 Berglunds snabbköp 10 Centro comercial Moctezuma Maria Anders Obere Str. 57 Berlin Christina Berglund Francisco Chang Berguvsvägen 8 Sierras de Granada 9993 Luleå Méxic o D.F. 11 Ernst Handel Roland Mendel Kirchgasse 6 Graz Products ProductID ProductName Product Type Supplier Code 01 Mal Milk Chocolate 00 02 Tar Dark Chocolate 00 Stock ProductID Stock 01 1000 02 2000 03 20 04 500 03 Yian Milk Walnut Chocolate 01 04 San Dark Walnut Chocolate 11
Συσχετισμός Πινάκων 8 Μια συλλογή από Πίνακες δημιουργεί μια Βάση Δεδομένων Ο συσχετισμός μεταξύ των πινάκων αναδεικνύει το Σχήμα της Suppliers Βάσης Δεδομένων! Υπάρχουν δηλαδή δύο επίπεδα συσχετισμού: Συσχετισμός πεδίων στις εγγραφές Συσχετισμός πινάκων στη βάση δεδομένων Supplier ID CompanyName ContactName Address City 00 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 01 Berglunds snabbköp 10 Centro comercial Moctezuma Christina Berglund Francisco Chang Berguvsvägen 8 Sierras de Granada 9993 Luleå México D.F. 11 Ernst Handel Roland Mendel Kirchgasse 6 Graz Products ProductI D ProductNa me Product Type Supplier Code 01 Mal Milk Chocolate 00 02 Tar Dark Chocolate 00 03 Yian Milk Walnut Chocolate 04 San Dark Walnut Chocolate 01 11 Stock Produc tid Stock 01 1000 02 2000 03 20 04 500
Συσχετισμός Πινάκων 9 Ο σωστός σχεδιασμός του Σχήματος μιας ΒΔ είναι απαραίτητος και επιβάλλετε για: Την αποφυγή επαναλαμβανόμενων πληροφοριών Μείωση του όγκου της Βάσης Δεδομένων Σωστή και ευκολονόητη ανάληψη στοιχείων μέσο επερωτημάτων Suppliers Supplier ID CompanyName ContactName Address City 00 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 01 Berglunds snabbköp 10 Centro comercial Moctezuma Christina Berglund Francisco Chang Berguvsvägen 8 Sierras de Granada 9993 Luleå México D.F. 11 Ernst Handel Roland Mendel Kirchgasse 6 Graz Products ProductI D ProductNa me Product Type Supplier Code 01 Mal Milk Chocolate 00 02 Tar Dark Chocolate 00 03 Yian Milk Walnut Chocolate 04 San Dark Walnut Chocolate 01 11 Stock Produc tid Stock 01 1000 02 2000 03 20 04 500
10 Χρήση της SQL Εκτέλεση επερωτήματα σε μια Βάση Δεδομένων Ανάληψη εγγράφων από μια ΒΔ Αποθήκευση πληροφοριών σε μια ΒΔ Ενημέρωση εγγράφων Διαγραφή εγγράφων Δημιουργία μιας ΒΔ Δημιουργία πινάκων σε μια ΒΔ Δημιουργία χρηστών καθώς και των δυνατοτήτων τους στην χρήση μιας ΒΔ
11 Το Συσχετιζόμενο Σύστημα Διαχείρισης Βάσεων Δεδομένων (που χρησιμοποιείται ευρέως στις μέρες μας) ενεργεί ως η βάση της SQL. Τέτοια παραδείγματα ΣΣΔΒΔ είναι: MS SQL Server, IBM DB2, Oracle, MySQL, και η Microsoft Access. Οι εντολές που υποστηρίζονται ως επί το πλείστων είναι: SELECT, UPDATE, DELETE, INSERT, WHERE Η SQL χαρακτηρίζεται από δύο μέρη: Τις Εντολές Επεξεργασίας Δεδομένων π.χ. SELECT, UPDATE, DELETE, INSERT, WHERE Τις Εντολές Ορισμού του Σχήματος της ΒΔ π.χ. CREATE database, ALTER database, CREATE table, ALTER table, Drop table Πεζά ή κεφαλαία γράμματα στις εντολές
12 Σύνταξη Επερωτημάτων SELECT column_name(s) FROM table_name π.χ. Persons SELECT LastName,FirstName FROM Persons LastName Hansen Svendson Pettersen FirstName Ola Tove Kari
13 Σύνταξη Επερωτημάτων SELECT column_name(s) FROM table_name π.χ. Persons SELECT * FROM Persons
14 Σύνταξη Επερωτημάτων SELECT DISTINCT column_name(s) FROM table_name π.χ. Persons SELECT DISTINCT City FROM Persons City Sandnes Stavanger
15 Σύνταξη Επερωτημάτων SELECT column_name(s) FROM table_name WHERE column_name operator value π.χ. Persons SELECT * FROM Persons WHERE City='Sandnes'
16 Σύνταξη Επερωτημάτων SELECT * FROM Persons WHERE FirstName='Tove' SELECT * FROM Persons WHERE Year=1965 Οι τελεστές που συνοδεύουν την Εντολή WHERE είναι: = Equal <> Not equal > Greater than < Less than >= Greater than or equal <= Less than or equal BETWEEN LIKE IN Between an inclusive range Search for a pattern To specify multiple possible values for a column
17 Σύνταξη Επερωτημάτων π.χ. Persons SELECT * FROM Persons WHERE FirstName='Tove' AND LastName='Svendson'
18 Σύνταξη Επερωτημάτων π.χ. Persons SELECT * FROM Persons WHERE FirstName='Tove OR FirstName='Ola'
19 Σύνταξη Επερωτημάτων INSERT INTO table_name VALUES (value1, value2, value3,...) Persons INSERT INTO Persons VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger') 4 Nilsen Johan Bakken 2 Stavanger
20 Σύνταξη Επερωτημάτων UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value UPDATE Persons SET Address='Nissestien 67', City='Sandnes WHERE LastName='Nilsen' AND FirstName='Johan' 4 Nilsen Johan Nissestien 67 Sandnes Persons 4 Nilsen Johan Bakken 2 Stavanger
21 Σύνταξη Επερωτημάτων DELETE FROM table_name WHERE some_column=some_value Persons 4 Nilsen Johan Nissestien 67 Sandnes DELETE FROM Persons WHERE LastName='Nilsen' AND FirstName='Johan'