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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 7.2: Structured Query Language - 2 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

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

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

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

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 12: SQL DDL. SQL Data Definition Language

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3

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

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

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

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

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

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

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

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

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

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

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

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

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

Κεφ 4: Προχωρημένες Εντολές SQL

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


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

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

Κεφάλαιο 3 Δημιουργία Πινάκων Data Definition Language (DDL)

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

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

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

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ

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

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python

DELETE, UPDATE, INSERT

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

DELETE, UPDATE, INSERT.

Transcript:

Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109)

Δημιουργία Πεδίων Ορισμού Πεδίο Ορισμού είναι συστατικό του σχήματος για τον ορισμό των μακροεντολών (macros) των τύπων δεδομένων (datatype) Βασικοί τύποι δεδομένων DEFAULT (προκαθορισμένη τιμή) CHECK (συνθήκες εγκυρότητας) Παραδείγματα: CREATE DOMAIN name_dom AS CHAR(20); CREATE DOMAIN sectno_dom AS SMALLINT; CREATE DOMAIN section_dom VARCHAR(20) DEFAULT 'none'; CREATE DOMAIN address_dom CHAR(50) DEFAULT NULL; CREATE DOMAIN qpa_dom DECIMAL (3,2) DEFAULT 0.00;

Δημιουργία Πεδίων Ορισμού CREATE DOMAIN gender_dom AS CHAR(1) CHECK (VALUE IN ( 'F', 'f', 'M', 'm' )); CREATE DOMAIN gender_dom AS CHAR(1) CHECK (VALUE IN ( 'F', 'f', 'M', 'm' ) OR (VALUE IS NULL)); CREATE DOMAIN ssn_dom CHAR(11) CHECK ((VALUE BETWEEN '000-00-0000' AND '999-99-9999')); CREATE DOMAIN hour_dom AS INTEGER DEFAULT 0 CHECK (VALUE >= 0);

Συναλλαγές (TRANSACTIONS) Μια συναλλαγή είναι μια σειρά από εντολές αναζήτησης και ενημερώσεων που χρειάζεται να εκτελεστούν σαν σύνολο (ατομικότητα) για την διατήρηση της συνέπειας της βάσης Βασικές εντολές συναλλαγών: SET TRANSACTION READ WRITE; (SQL1: DECLARE TRANSACTION READ WRITE;) SET TRANSACTION READ ONLY; (SQL1: DECLARE TRANSACTION READ ONLY;) COMMIT ; ROLLBACK; ROLLBACK εξ ορισμού λειτουργία

Περιορισμοί στα χαρακτηριστικά Περιορισμοί: NOT NULL DEFAULT (προκαθορισμένη τιμή) Χωρίς το DEFAULT-clause, η εξ ορισμού τιμή είναι η NULL PRIMARY KEY (λίστα χαρακτηριστικών) UNIQUE (λίστα χαρακτηριστικών) επιτρέπει τον ορισμό εναλλακτικών κλειδιών FOREIGN KEY (κλειδί) REFERENCES table (κλειδί) Χρόνος των περιορισμών επιβολής (Constraints Enforcement): Μη αναβαλλόμενο (Άμεσο) [εξ ορισμού] Αναβαλλόμενο μέχρι την ώρα του commit (DEFERRABLE) Ονοματολογία των περιορισμών στους πίνακες [Δεσμευμένη λέξη CONSTRAINT]: Διευκόλυνση στην σύνταξη Χρησιμοποιείτε για αναφορά λαθών (error reporting)

CREATE TABLE SECTION(SNO, Sname, Head) CREATE TABLE SECTION /* or Micro_db.SECTION */ ( SNO INTEGER, Sname sect_dom CONSTRAINT Sname_Not_Null NOT NULL NOT DEFERRABLE, Head ssn_dom, CONSTRAINT Section_PK PRIMARY KEY (SNO) DEFERRABLE, CONSTRAINT Section_FK1 FOREIGN KEY (Head) REFERENCES LIBRARIAN (SSN) DEFERRABLE, CONSTRAINT Section_UN UNIQUE ( Sname ) DEFERRABLE );

Εντολές Ενεργοποίησης Αναφοράς Ενεργοποιούνται (triggered) αν παραβιαστεί ένας αναφορικός περιορισμός Λειτουργίες SET NULL CASCADE (propagate λειτουργία) SET DEFAULT Ενέργειες που καλούν την triggering συνθήκη: ON DELETE ON UPDATE

CREATE TABLE CREATE TABLE LIBRARIAN /* or Micro_db.LIBRARIAN */ ( Name name_dom NOT NULL, SSN ssn_dom NOT NULL, Section INTEGER, Address address_dom, Gender gender_dom, Birthday DATE, Salary DEC(8,2) DEFAULT 0.0 CHECK(Salary >= 0), PRIMARY KEY (SSN) DEFERRABLE, FOREIGN KEY (Section) REFERENCES SECTION (SNO) On Delete SET DEFAULT On Update CASCADE DEFERRABLE );

Διαγραφή ενός Πίνακα DROP TABLE <db-name> [RESTRICT CASCADE]; Restrict: Διαγράφει τον πίνακα να δεν αναφέρετε πουθενά Cascade: Διαγράφει τον πίνακα και όλες τις αναφορές του Παραδείγματα: DROP TABLE LIBRARIAN CASCADE; DROP TABLE LIBRARIAN RESTRICT;

Διαγραφή Πεδίων Ορισμού DROP DOMAIN <dname> [RESTRICT CASCADE]; Restrict: αφαιρεί πεδία ορισμού που δεν χρησιμοποιούνται Cascade: αφαιρεί πεδία ορισμού και αντικαθιστά όλες τις εμφανίσεις τους με υποκείμενα datatype Παραδείγματα: CREATE DOMAIN gender_dom AS CHAR(1) CHECK (VALUE IN ( 'F', 'f', 'M', 'm' ) OR (VALUE IS NULL)); DROP DOMAIN gender_dom CASCADE; gender gender_dom gender char(1)

Εξέλιξη Σχήματος Πινάκων Η ALTER εντολή επιτρέπει την αλλαγή του πεδίου ορισμού ενός χαρακτηριστικού, προσθέτει και αφαιρεί ένα χαρακτηριστικό ή περιορισμό ALTER TABLE table-name ALTER [COLUMN] Αλλαγή πεδίου ορισμού ενός χαρακτηριστικού Π.χ., ALTER TABLE Student ALTER QPA DECIMAL(4,2); Προσοχή: Είναι πιθανοί περιορισμοί τύπωσης όπως στην C/C++ Ορίζει ή αφαιρεί την εξ ορισμού τιμής ενός χαρακτηριστικού Π.χ.1, ALTER TABLE DEPENDENT ALTER COLUMN kinship DROP DEFAULT; Π.χ.2, ALTER TABLE SECTION ALTER Head SET DEFAULT NULL;

Τροποποίηση Σχήματος Πινάκων ALTER TABLE table-name ADD [COLUMN] ALTER TABLE DEPENDENT ADD Gender gender_dom; ALTER TABLE tbl-name DROP [COLUMN] [Option] CASCADE επιλογή ALTER TABLE SECTION DROP COLUMN Head CASCADE; RESTRICT επιλογή (εξ ορισμού) ALTER TABLE SECTION DROP Head RESTRICT; Παράδειγμα μιας προσθήκης/διαγραφής Περιορισμού?

Προσθήκη και Αφαίρεση Περιορισμού CREATE TABLE DEPENDENT ( LSSN ssn_dom, Name name_dom CONSTRAINT Name_Not_Null NOT NULL, Birthday DATE, Kinship CHAR(5) CONSTRAINT Kin_None DEFAULT 'none', CONSTRAINT DEPENDENT_PK PRIMARY KEY (LSSN, Name) DEFERRABLE ); ALTER TABLE DEPENDENT DROP CONSTRAINT Name_Not_Null ; ALTER TABLE DEPENDENT ADD CONSTRAINT DEP_FK FOREIGN KEY (LSSN) REFERENCES LIBRARIAN (SSN) DEFERRABLE;