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

Σχετικά έγγραφα
Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 3 ο SQL - DML Ιωάννα Συρίµη syrimi@ucy.ac.cy

Data Manipulation Language Εισαγωγή νέων Εγγραφών Insert Into ιαγραφή Εγγραφών Delete Αλλαγή υφιστάµενων Εγγραφών Update Table Οριστικοποίηση / Ακύρωση Αλλαγών Commit Rollback ΕΠΛ342-Βάσεις εδοµένων 2

INSERT INTO INSERT INTO [schema.]table (ColumnA, ColumnB, ) VALUES (ColumnA_value, ColumnB_value, ) Προσοχή! 1. Πρέπει να δηλωθούν τιµές για όλα τα απαραίτητα (not null) πεδία 2. Οι τιµές πρέπει να ικανοποιούν όλους τους περιορισµούς (constraints) ΕΠΛ342-Βάσεις εδοµένων 3

INSERT INTO CREATE TABLE student (student_id number(10) not null, name varchar2(60) not null, date_of_birth date, CONSTRAINT student_pk PRIMARY KEY (Student_id)) ΕΠΛ342-Βάσεις εδοµένων 4

INSERT INTO INSERT INTO student (student_id, name, date_of_birth) VALUES (1001, Αντρέας Αντρέου, to_date( 2/2/1982, dd/mm/yyyy ) ) ή INSERT INTO student VALUES (1001, Αντρέας Αντρέου, to_date( 2/2/1982, dd/mm/yyyy )) ΕΠΛ342-Βάσεις εδοµένων 5

INSERT INTO INSERT INTO student (student_id, name) VALUES (1001, Αντρέας Αντρέου ) INSERT INTO student VALUES (1001, Αντρέας Αντρέου ) INSERT INTO student VALUES (1001, Αντρέας Αντρέου, null) ΕΠΛ342-Βάσεις εδοµένων 6

INSERT INTO CREATE TABLE employees ( employee_id NUMBER(6) NOT NULL, first_name VARCHAR2(20), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25) NOT NULL, hire_date DATE DEFAULT SYSDATE NOT NULL, salary NUMBER(8,2) NOT NULL, department_id NUMBER(4), CONSTRAINT emp_salary_min CHECK (salary > 0), CONSTRAINT emp_email_uk UNIQUE (email), CONSTRAINT employee_pk PRIMARY KEY (employee_id), CONSTRAINT employee_department_fk FOREIGN KEY (department_id) REFERENCES departments(department_id) ) ΕΠΛ342-Βάσεις εδοµένων 7

INSERT INTO INSERT INTO employees ( employee_id, department_id, first_name, last_name, email, salary) VALUES (123, 1, null, Γεωργίου, georgiou@utopia.com, 100) Εφόσον : 1. εν υπάρχει άλλος υπάλληλος µε employee_id = 123 2. Στον πίνακα Departments υπάρχει τµήµα µεκωδικό1 3. εν υπάρχει άλλος υπάλληλος µε email = georgiou@utopia.com ΕΠΛ342-Βάσεις εδοµένων 8

DELETE ιαγραφή όλων των εγγραφών στον πίνακα DELETE [schema.]table ιαγραφή των εγγραφών του πίνακα που ικανοποιούν την συνθήκη / τις συνθήκες DELETE [schema.]table WHERE <CONDITIONS LIST> Προσοχή! Οι εγγραφές θα διαγραφούν εφόσον δεν υπάρχουν εγγραφές σε οποιοδήποτε άλλο πίνακα της Β που να αναφέρονται σε αυτές. ΕΠΛ342-Βάσεις εδοµένων 9

DELETE DELETE Students DELETE Students WHERE student_id = 1001 DELETE Students WHERE date_of_birth is null ΕΠΛ342-Βάσεις εδοµένων 10

DELETE DELETE Students WHERE UPPER(name) like ANDR% OR UPPER(name) like IOANNOU DELETE Departments WHERE location = BOSTON Εφόσον : 1. Στον πίνακα Employees δεν υπάρχει υπάλληλος που να είναι τοποθετηµένος σε κάποιο τµήµα στη Βοστώνη ΕΠΛ342-Βάσεις εδοµένων 11

UPDATE Αλλαγήόλωντωνεγγραφώνστονπίνακα UPDATE [schema.]table SET column_a = new_value_for_column_a, column_b = new_value_for_column_b Αλλαγή των εγγραφών του πίνακα που ικανοποιούν την συνθήκη / τις συνθήκες UPDATE [schema.]table SET column_a = new_value_for_column_a, column_b = new_value_for_column_b WHERE <CONDITIONS LIST> Προσοχή! Οι εγγραφές θα αλλαχθούν εφόσον οι νέες τιµές ικανοποιούν όλους τους περιορισµούς (constraints) που ισχύουν για τον συγκεκριµένο πίνακα ΕΠΛ342-Βάσεις εδοµένων 12

UPDATE UPDATE Employees SET salary = salary + 100 UPDATE Employees SET salary = salary / 2 WHERE department_id = 11 UPDATE Employees SET department_id = 12 WHERE department_id = 2 Εφόσον : 1. Στον πίνακα Departments υπάρχει τµήµα µεκωδικό12 ΕΠΛ342-Βάσεις εδοµένων 13

WHERE =, <, >, <>,!=, >=, <= SALARY > 1000 NAME = ANNA DATE_OF_BIRTH >= TO_DATE ( 1/1/1980, DD/MM/YYYY ) IS NULL, IS NOT NULL DATE_OF_BIRTH IS NULL LIKE, NOT LIKE NAME LIKE %A% NAME NOT LIKE MARIA_ NAME LIKE MARIA IN, NOT IN DEPARTMENT_ID IN (1, 3, 6) NAME IN ( ANNA, MARIA ) BETWEEN AND, NOT BETWEEN AND SALARY NOT BETWEEN 1000 AND 1500 DATE_OF_BIRTH BETWEEN TO_DATE ( 1/1/1980, DD/MM/YYYY ) AND SYSDATE ΕΠΛ342-Βάσεις εδοµένων 14

WHERE AND SALARY > 1000 AND NAME = ANNA OR DATE_OF_BIRTH IS NULL OR DATE_OF_BIRTH > SYSDATE NOT NOT (SALARY > 1000 AND NAME = ANNA ) ΕΠΛ342-Βάσεις εδοµένων 15

COMMIT & ROLLBACK Για να οριστικοποιήσετε (µονιµοποιήσετε) τις αλλαγές (εισαγωγή, διαγραφή, αλλαγή εγγραφών) στη Β COMMIT Για να ακυρώσετε τις αλλαγές (εισαγωγή, διαγραφή, αλλαγή εγγραφών) στη Β ROLLBACK ΕΠΛ342-Βάσεις εδοµένων 16