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

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

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

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

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

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

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

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

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

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

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

Η SQL ως γλώσσα τροποποίησης Δεδομένων

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

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

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

Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

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

Οι εντολές 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 )

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Εισαγωγή στην πληροφορική

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

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

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Διαχείριση Πολιτισμικών Δεδομένων


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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL

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

Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Η Γλώσσα SQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Βάσεις Περιβαλλοντικών Δεδομένων

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

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

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

Η Γλώσσα SQL. SQL αποτελείται από: DDL (Data Definition Language) - ορισμός, δημιουργία, τροποποίηση και διαγραφή σχήματος.

SQL. Πριν μια σύντομη επανάληψη της σχεσιακής άλγεβρας. H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού εδομένων (ΓΟ ) Γλώσσα Χειρισμού εδομένων (ΓΧ )

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

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

Τμήμα Πληροφορικής ΑΠΘ

Τεχνολογία Πολιτισμικού Λογισμικού

SQL: Συναρτήσεις Συνάθροισης

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

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

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

Κεφάλαιο 2. Δημιουργία Βάσης Δεδομένων και Πινάκων

Τεχνολογία Πολιτισμικού Λογισμικού

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

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

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

Ανοικτά Ακαδημαϊκά Μαθήματα

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Κεφάλαιο 6. Περιορισμοί Ακεραιότητας Βάσεων Δεδομένων

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3


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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης

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

Transcript:

Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη Γλώσσα Χειρισμού Δεδομένων Ορισμό Όψεων Εξουσιοδότηση (authentication) Ακεραιότητα Έλεγχο Συναλλαγών 1

Βήματα Δημιουργίας και Χρήσης μιας (Σχεσιακής) Βάσης Δεδομένων 1. Υλοποίηση Διαγράμματος Οντοτήτων Συσχετίσεων 2. Σχεδιασμός Σχήματος 3. Δημιουργία Σχήματος χρησιμοποιώντας τη ΓΟΔ (DDL = Data Definition Language) 4. Μαζική Φόρτωση των αρχικών δεδομένων Η βάση δεδομένων έχει δεδομένα 5. Eκτέλεση ερωτήσεων (select-from-where) και τροποποιήσεων (insert-delete-update) στη BΔ 2

Γλώσσα Ορισμού Δεδομένων Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Σχετικά με το λογικό σχήμα, η ΓΟΔ SQL υποστηρίζει τους ορισμούς: του σχήματος κάθε σχέσης του πεδίου τιμών κάθε γνωρίσματος των περιορισμών ακεραιότητας 3

Δημιουργία πίνακα: create table R(A 1 D 1, A 2 D 2,..., A n D n, <περιορισμός-ακεραιότητας 1 >,, <περιορισμός-ακεραιότητας k > Γλώσσα Ορισμού Δεδομένων όπου R είναι το όνομα της σχέσης, A i τα ονόματα των γνωρισμάτων, και D i οι τύποι των αντίστοιχων πεδίων τιμών. Βασικότεροι τύποι: integer, bigint, real ή float, char(<πλήθος χαρακτήρων>), varchar(<πλήθος χαρακτήρων>), 4 decimal ή numeric(<συνολικά ψηφία>,<δεκαδικά ψηφία>), date, time.

Επιτρεπτοί περιορισμοί ακεραιότητας είναι της μορφής: Ορισμός Σχήματος primary key A j1, A j2,..., A jn, (δεν επιτρέπονται επαναλαμβανόμενες τιμές και NULL τιμές) για τον ορισμό του πρωτεύοντος κλειδιού unique A j1, A,..., A j 2 jn, (δεν επιτρέπονται επαναλαμβανόμενες τιμές; NULL τιμές επιτρέπονται (μόνο μία)) για τον ορισμό υποψηφίων κλειδιών check P για τον ορισμό σημασιολογικών περιορισμών foreign key (A i ) references A j για τον ορισμό ξένου κλειδιού 5

Παράδειγμα Τράπεζα: Ορισμός Σχήματος Τα επόμενα παραδείγματα αναφέρονται σε μια βάση δεδομένων για τράπεζες: Παραδείγματα (1) create table Πελάτης (ΌνομαΠελάτη char(20), Οδός varchar(30), Πόλη char(30), primary key (ΌνομαΠελάτη)) 6

Παράδειγμα Τράπεζα: Ορισμός Σχήματος (2) create table Λογαριασμός (ΑριθμόςΛογαριασμού char(10), ΌνομαΥποκαταστήματος char(15), Ποσό int default 0, primary key (ΑριθμόςΛογαριασμού) check (Ποσό >= 0, check (ΌνομαΥποκαταστήματος in select ΌνομαΥποκαταστήματος from Υποκατάστημα) ) 7

Παράδειγμα Τράπεζα: Ορισμός Σχήματος Ενώ στην check (ΌνομαΥποκαταστήματος in select ΌνομαΥποκαταστήματος from Υποκατάστημα) η select ΌνομαΥποκαταστήματος from Υποκατάστημα επιστρέφει ένα σύνολο από ονόματα (βλ. την εντολή Select) και ο περιορισμός έγκειται στο ότι το ΌνομαΥποκαταστήματος του πίνακα Λογαριασμός θα πρέπει να ανήκει (in) σε αυτό το σύνολο. Αλλιώς δεν γίνεται δεκτή η καταχώριση. 8

Περιορισμοί Ακεραιότητας Περισσότερα για τους Περιορισμούς Αναφοράς Σύνταξη: foreign key (A i ) references πίνακας (A j ) Όταν μια πράξη παραβιάζει έναν περιορισμό αναφοράς απορρίπτεται εκτός αν έχει οριστεί: cascade, set null, set default on delete on update 9

Παράδειγμα Τράπεζα: Ορισμός Σχήματος Παράδειγμα: create table Λογαριασμός.. foreign key (ΌνομαΥποκαταστήματος) references Υποκατάστημα (ΌνομαΥποκαταστήματος) on delete cascade on update cascade Λόγω του όρου on delete cascade, αν η διαγραφή μιας πλειάδας της σχέσης Υποκατάστημα οδηγήσει σε παραβίαση του περιορισμού αναφορικής ακεραιότητας, τότε η διαγραφή αυτή θα μεταφερθεί διαδοχικά και στη σχέση Λογαριασμός, διαγράφοντας τις πλειάδες που αναφέρονται στο υποκατάστημα που διαγράφηκε από τη σχέση Λογαριασμός. Παρομοίως εκτελούνται οι αλυσιδωτές ενημερώσεις (on update cascade). Αν αντί για cascade υπήρχε «set null» ή «set default», θα έπαιρνε αντίστοιχα το ξένο κλειδί τιμή Null ή την προκαθορισμένη (default) τιμή. 10

Διαγραφή Σχήματος Διαγραφή Σχήματος Μια καινούργια σχέση είναι αρχικά άδεια. Για να διαγραφεί ένας ολόκληρος πίνακας: drop table R Προσοχή: Διαφορά από delete from R where P (Η οποία διαγράφει τις εγγραφές του R οι οποίες ικανοποιούν τη συνθήκη P) 11

Τροποποίηση Σχήματος Τροποποίηση Σχήματος ALTER TABLE όνομα πίνακα ADD - προσθέτει καινούργια στήλη Ή περιορισμό: add constraint primary key add constraint foreign key DROP - διαγράφει μια στήλη Ή περιορισμό: drop primary key MODIFY - τροποποιεί μια στήλη 12

Τροποποίηση Σχήματος Προσθήκη νέου γνωρίσματος: alter table R add A D Γίνεται προσθήκη σε ένα πίνακα R που ήδη υπάρχει του γνωρίσματος A με τύπο D (π.χ. integer). Η τιμή των πλειάδων της R στο καινούργιο γνώρισμα είναι null. Διαγραφή του γνωρίσματος Α από τον πίνακα R: alter table R drop A 13

Τροποποίηση Σχήματος alter table R modify (όνομα_στήλης new_datatype) modify μπορεί να τροποποιήσει μόνο τον τύπο δεδομένων, όχι το όνομα της στήλης 14