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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

2 Είναι τμήματα προγράμματος Βάσης Δεδομένων (διαδικασίες\procedures ή συναρτήσεις\functions) που αποθηκεύονται μόνιμα και εκτελούνται στον διακομιστή της Βάσης Δεδομένων. Δρ. Κεραμόπουλος Ευκλείδης 2

3 Οι αποθηκευμένες διαδικασίες είναι προγράμματα τα οποία έχουν τα παρακάτω χαρακτηριστικά: Αποθηκεύονται και τρέχουν στον διακομιστή της Βάσης. Καλούνται με το όνομα τους από οποιαδήποτε εφαρμογή συνδεθεί με τη Βάση. Η εφαρμογή μπορεί να χωριστεί σε δύο μέρη: Η εφαρμογή τρέχει στον πελάτη Η αποθηκευμένη διαδικασία στον διακομιστή. Περιέχει προγραμματιστικές εντολές (if, loops) αλλά ταυτόχρονα μπορεί να χειριστεί SQL κώδικα. Δρ. Κεραμόπουλος Ευκλείδης 3

4 Οι αποθηκευμένες διαδικασίες μπορούν να έχουν την παρακάτω χρήση: Για έλεγχο πολύπλοκων περιορισμών. Για απόκρυψη του κώδικα της διαδικασίας. Για δημιουργία βιβλιοθήκης έτοιμων συναρτήσεων στον διακομιστή. Για δημιουργία Data Web Services με βάση τις αποθηκευμένες διαδικασίες. Δρ. Κεραμόπουλος Ευκλείδης 4

5 Βελτιώνουν την ασφάλεια του DBMS. Υποστηρίζουν το «κρύψιμο» (encapsulation) του κώδικα τους, και με σωστό σχεδιασμό και συστηματική χρήση τους είναι δυνατόν να εξαφανιστεί η δομή της βάσης από τους χρήστες. Δρ. Κεραμόπουλος Ευκλείδης 5

6 Βελτιώνει την ταχύτητα απόκρισης του εξυπηρετητή της Βάσης. Αυτό οφείλεται στο ότι είναι προμεταγλωττισμένες (precompiled) και έτσι εκτελούνται γρηγορότερα. Δρ. Κεραμόπουλος Ευκλείδης 6

7 Επίσης, αντικαθιστώντας ένα σύνολο SQL εντολών με την κλήση μιας συνάρτησης που περιέχει όλες αυτές τις SQL εντολές, «ελαφρύνει» την κίνηση στο δίκτυο μεταξύ πελάτη και διακομιστή. Για παράδειγμα, αν η συνάρτηση περιέχει 10 SQL εντολές τότε αν εκτελέσουμε ξεχωριστά κάθε SQL εντολή στον πελάτη θα έχουμε 10 κλήσεις της βάσης στον εξυπηρετητή ενώ αν όλες οι SQL εντολές έχουν οργανωθεί σε μία καταχωρημένη διεργασία τότε θα απαιτείται μία κλήση της βάσης στον εξυπηρετητή. Δρ. Κεραμόπουλος Ευκλείδης 7

8 Ο τρόπος υλοποίησης μιας αποθηκευμένης διαδικασίας μπορεί να διαφέρει από ΣΔΒΔ σε ΣΔΒΔ. Μία αποθηκευμένη διαδικασία μπορεί να υλοποιηθεί εσωτερικά στο ΣΔΒΔ με χρήση SQL εντολών και ονομάζεται SQL Stored procedure εξωτερικά σε μία γλώσσα προγραμματισμού. Δρ. Κεραμόπουλος Ευκλείδης 8

9 Οι SQL συναρτήσεις εκτελούν μία λίστα από SQL εντολές. Στην απλή περίπτωση επιστρέφουν την πρώτη γραμμή (εγγραφή) του αποτελέσματος της τελευταίας εντολής. Υπάρχει η δυνατότητα να επιστρέψουν και μία συλλογή από γραμμές του αποτελέσματος. Αν η τελευταία εντολή δεν επιστρέφει καθόλου εγγραφές επιστρέφεται η τιμή void. Το σώμα μιας SQL συνάρτησης πρέπει να είναι μια λίστα μιας ή περισσότερων εντολών SQL, χωρισμένων με ερωτηματικό (;). Δρ. Κεραμόπουλος Ευκλείδης 9

10

11 create function createdb() returns void AS $$ create table Sailors (sid integer not null, sname varchar(15), rating integer, age real, primary key(sid)); create table Boats (bid integer not null, bname char(20), color char(20), primary key(bid), constraint b_color check (color in ( 'red', 'green', 'blue', 'yellow')) ); create table Reserves (sid integer not null, bid integer not null, day1 date not null, primary key (sid, bid, day1), constraint r_sid foreign key(sid) references Sailors on delete cascade on update cascade, constraint r_bid foreign key(bid) references boats on delete cascade on update cascade); $$ LANGUAGE SQL; Δρ. Κεραμόπουλος Ευκλείδης 11

12 Η κλήση μίας συνάρτησης γίνεται ως SELECT αίτημα με κλήση της συνάρτησης. Παράδειγμα SELECT CREATEDB(); Δρ. Κεραμόπουλος Ευκλείδης 12

13 create function dropdb() returns void AS $$ drop table Reserves; drop table Sailors; drop table Boats; $$ LANGUAGE SQL; SELECT dropdb(); Δρ. Κεραμόπουλος Ευκλείδης 13

14 create function insertdb() returns void AS $$ insert into Sailors (sid, sname, rating, age) values (22, 'Dustin', 7, 45.0); insert into Sailors (sid, sname, rating, age) values (29, 'Brutus', 1, 33.0); insert into Sailors (sid, sname, rating, age) values (31, 'Lubber', 8, 55.5); insert into Sailors (sid, sname, rating, age) values (32, 'Andy', 8, 25.5); insert into Sailors (sid, sname, rating, age) values (58, 'Rusty', 10, 35.0); insert into Sailors (sid, sname, rating, age) values (64, 'Horatio', 7, 35.0); insert into Sailors (sid, sname, rating, age) values (71, 'Zorba', 10, 16.0); insert into Sailors (sid, sname, rating, age) values (74, 'Horatio', 9, 40.0); insert into Sailors (sid, sname, rating, age) values (85, 'Art', 3, 25.5); insert into Sailors (sid, sname, rating, age) values (95, 'Bob', 3, 63.5); insert into Boats (bid, bname, color) values (101, 'Interlake', 'blue'); insert into Boats (bid, bname, color) values (102, 'Interlake', 'red'); insert into Boats (bid, bname, color) values (103, 'Clipper', 'green'); insert into Boats (bid, bname, color) values (104, 'Marine', 'red ); Δρ. Κεραμόπουλος Ευκλείδης 14

15 insert into Reserves (sid, bid, day1) values (22, 101, date ' '); insert into Reserves (sid, bid, day1) values (22, 102, date ' '); insert into Reserves (sid, bid, day1) values (22, 103, ' '); insert into Reserves (sid, bid, day1) values (22, 104, date ' '); insert into Reserves (sid, bid, day1) values (31, 102, date ' '); insert into Reserves (sid, bid, day1) values (31, 103, date ' '); insert into Reserves (sid, bid, day1) values (31, 104, date ' '); insert into Reserves (sid, bid, day1) values (64, 101, date ' '); insert into Reserves (sid, bid, day1) values (64, 102, date ' '); insert into Reserves (sid, bid, day1) values (74, 103, date ' '); $$ LANGUAGE SQL; SELECT insertdb(); Δρ. Κεραμόπουλος Ευκλείδης 15

16 Επιστρέφουν ένα απλό βασικό τύπο. π.χ. ακέραιο, αλφαριθμητικό, κτλ. CREATE FUNCTION add_em(integer, integer) RETURNS integer AS $$ SELECT $1 + $2; $$ LANGUAGE SQL; SELECT add_em(1, 2) AS answer; Η στήλη του αποτελέσματος θα έχει όνομα answer. Αν παραληφθεί το AS answer τότε το όνομα του αποτελέσματος θα είναι το όνομα της συνάρτησης. Δρ. Κεραμόπουλος Ευκλείδης 16

17 Ένα σύνολο διαφορετικών τύπων SQL εντολών μπορεί να ομαδοποιηθεί σε μία συνάρτηση. Εκτός από SELECT εντολές μπορούν να συμπεριληφθούν και οι INSERT, UPDATE και DELETE. Η τελευταία εντολή, όμως, θα πρέπει να είναι μία SELECT της οποίας το αποτέλεσμά της θα είναι και η επιστρεφόμενη τιμή της συνάρτηση. Αν πάλι, δε θέλουμε να μας επιστραφεί καμία τιμή τότε θα βάλουμε σαν επιστρεφόμενο τύπο της συνάρτηση το void. Σε αυτή την περίπτωση η τελευταία εντολή δε θα πρέπει να είναι SELECT. Δρ. Κεραμόπουλος Ευκλείδης 17

18 2 ο Παράδειγμα CREATE FUNCTION tf1 (integer, numeric) RETURNS numeric AS $$ UPDATE bank SET balance = balance - $2 WHERE accountno = $1; SELECT balance FROM bank WHERE accountno = $1; $$ LANGUAGE SQL; SELECT tf1(17, 100.0); Δρ. Κεραμόπουλος Ευκλείδης 18

19 CREATE FUNCTION clean_emp() RETURNS void AS $$ DELETE FROM emp WHERE salary <= 0; $$ LANGUAGE SQL; Αφού καλέσουμε την συνάρτηση clean_emp() δεν θα επιστραφεί αποτέλεσμα. Δρ. Κεραμόπουλος Ευκλείδης 19

20 Όταν ορίζουμε συναρτήσεις με παραμέτρους σύνθετων τύπων, πρέπει να προσδιορίσουμε όχι μόνο ποια παράμετρο θέλουμε (όπως κάναμε με τα $1 και $2) αλλά και τα πεδία αυτής της παραμέτρου. Δρ. Κεραμόπουλος Ευκλείδης 20

21 Στο ακόλουθο παράδειγμα ο emp είναι ένας πίνακας υπαλλήλων. Ως εκ τούτου, είναι και το όνομα του σύνθετου τύπου κάθε γραμμής του πίνακα. Η συνάρτηση double_salary υπολογίζει το διπλάσιο του μισθού κάποιου υπαλλήλου: Δρ. Κεραμόπουλος Ευκλείδης 21

22 CREATE TABLE emp ( name varchar(20) primary key, salary integer, age integer ); CREATE FUNCTION double_salary(emp) RETURNS integer AS $$ SELECT $1.salary * 2 AS salary; $$ LANGUAGE SQL; Δρ. Κεραμόπουλος Ευκλείδης 22

23 SELECT name, double_salary(emp) AS dream FROM emp WHERE emp.name = 'Maria'; ή SELECT name, double_salary(emp.*) AS dream FROM emp WHERE emp.name = 'Maria'; Δρ. Κεραμόπουλος Ευκλείδης 23

24 Όλες οι SQL συναρτήσεις μπορούν να χρησιμοποιηθούν στο τμήμα FROM ενός query. Αυτό είναι ιδιαίτερα χρήσιμο για συναρτήσεις που επιστρέφουν σύνθετους τύπους. Εάν η συνάρτηση έχει οριστεί να επιστρέφει ένα βασικό τύπο, τότε η χρήση της στη θέση πίνακα παράγει ένα μονόστηλο πίνακα. Εάν η συνάρτηση έχει οριστεί να επιστρέφει ένα σύνθετο τύπο, τότε η χρήση της στη θέση πίνακα παράγει μια στήλη για κάθε χαρακτηριστικό του σύνθετου τύπου. Δρ. Κεραμόπουλος Ευκλείδης 24

25 Π.χ. Δημιουργούμε τον πίνακα Atable και εισάγουμε τρεις εγγραφές: CREATE TABLE Atable (id int, subid int, name varchar(10)); INSERT INTO Atable VALUES (1, 1, 'Joe'); INSERT INTO Atable VALUES (1, 2, 'Ed'); INSERT INTO Atable VALUES (2, 1, 'Mary'); Δημιουργούμε την συνάρτηση: CREATE OR REPLACE FUNCTION geta(int) RETURNS Atable AS $$ SELECT * FROM Atable WHERE id = $1; $$ LANGUAGE SQL; Δρ. Κεραμόπουλος Ευκλείδης 25

26 και την καλούμε με παράμετρο την τιμή 1: SELECT * FROM geta(1) AS t1; Δρ. Κεραμόπουλος Ευκλείδης 26

27 Όταν μια SQL συνάρτηση έχει δηλωθεί να επιστρέφει SETOF κάποιου τύπου, η τελική εντολή SELECT της συνάρτησης εκτελείται μέχρι τέλους, και κάθε γραμμή που παράγει επιστρέφεται ως ένα στοιχείο του συνόλου αποτελεσμάτων. Αυτό το χαρακτηριστικό χρησιμοποιείται κανονικά όταν η συνάρτηση καλείται στο τμήμα FROM Δρ. Κεραμόπουλος Ευκλείδης 27

28 CREATE OR REPLACE FUNCTION getb(int) RETURNS SETOF Atable AS $$ SELECT * FROM Atable WHERE id = $1; $$ LANGUAGE SQL; SELECT * FROM getb(1) AS t1; Δρ. Κεραμόπουλος Ευκλείδης 28

29

30 Η δήλωση της περιέχει κώδικα SQL και αποτελείται από τα παρακάτω: Το όνομα της αποθηκευμένης διαδικασίας Τις παραμέτρους που θα πάρει Τον τύπο κάθε παραμέτρου Το είδος της παραμέτρου (IN, OUT, INOUT) Τη γλώσσα στην οποία είναι γραμμένη, π.χ. SQL Δρ. Κεραμόπουλος Ευκλείδης 30

31 CREATE PROCEDURE ΟΝΟΜΑ ( IN ΠΑΡΑΜΕΤΡΟΣ ΤΥΠΟΣ, OUT ΠΑΡΑΜΕΤΡΟΣ ΤΥΠΟΣ, INOUT ΠΑΡΑΜΕΤΡΟΣ ΤΥΠΟΣ ) LANGUAGE SQL BEGIN -- END (ΣΥΜΒΟΛΟ ΤΕΛΟΥΣ) Δρ. Κεραμόπουλος Ευκλείδης 31

32 Δρ. Κεραμόπουλος Ευκλείδης 32

33 Μέσα στο σώμα μίας διαδικασίας μπορούν να περιέχονται τα παρακάτω: Δηλώσεις DECLARE <variable> DECLARE <condition> DECLARE <condition handler> DECLARE CURSOR SET Υποθετικές φράσεις CASE IF Βρόγχοι FOR REPEAT WHILE Εντολές Μεταφοράς CALL GOTO LEAVE RETURN Χειρισμός Λαθών SIGNAL Δρ. Κεραμόπουλος Ευκλείδης 33

34 Με αυτήν την εντολή δηλώνουμε μεταβλητές. Σύνταξη: DECLARE <variable-name> <datatype> [DEFAULT <value>]; Η δήλωση των μεταβλητών είναι τοπική. Οι μεταβλητές δεν είναι case sensitive γιατί μετατρέπονται σε κεφαλαία τα γράμματα τους Πρέπει να δηλωθούν πριν χρησιμοποιηθούν. Μπορεί να δηλωθεί μία default τιμή. Για να μεταβληθεί η τιμή μια μεταβλητής μετά τη δήλωση πρέπει να χρησιμοποιηθεί η εντολή SET. Δρ. Κεραμόπουλος Ευκλείδης 34

35 Με αυτήν την εντολή δηλώνουμε handlers τα οποία χρησιμοποιούμε για να χειριζόμαστε ειδικά μπλοκ εντολών. Δήλωση: DECLARE CONTINUE EXIT UNDO HANDLER FOR <condition> <SQL PL statement or block>; Τρεις τύποι handler υποστηρίζονται: EXIT, συνεχίζει την εκτέλεση των εντολών από την επόμενη εντολή από το σημείο που δηλώθηκε το handler CONTINUE, συνεχίζει την εκτέλεση των εντολών από την επόμενη εντολή από το σημείο που βρέθηκε το exception UNDO, συνεχίζει την εκτέλεση των εντολών από την επόμενη εντολή από το σημείο που δηλώθηκε το handler και ακυρώνει τις εντολές που εκτελέστηκαν μέσα στο handler. Δρ. Κεραμόπουλος Ευκλείδης 35

36 Με την declare condition προγραμματίζουμε τι θα γίνει όταν συμβεί μία συνθήκη. π.χ Δήλωση: 1) a condition handler: DECLARE CONTINUE EXIT UNDO HANDLER FOR SQLSTATE '<state>'... 2) a named condition: DECLARE <condition-name> CONDITION FOR SQLSTATE [VALUE] '<sqlstate>'; DECLARE CONTINUE HANDLER FOR NOT FOUND set cursor_end = 1; Τρεις τύποι condition handler υποστηρίζονται: 1. SQLEXCEPTION 2. SQLWARNING 3. NOT FOUND Δρ. Κεραμόπουλος Ευκλείδης 36

37 Χρησιμοποιείται για τη δήλωση ενός cursor. Δήλωση: DECLARE <cursorname> CURSOR [WITH HOLD] [WITH RETURN TO CALLER CLIENT] FOR <sql-statement>; WITH HOLD: O cursor κλείνει μετά από ένα commit. WITHOUT HOLD: O cursor δεν κλείνει μετά από ένα commit. Είναι το default. TO CALLER: Ο cursor επιστρέφει ένα result set στην procedure ή στο πρόγραμμα που κάλεσε τη διαδικασία. Είναι το default. TO CLIENT: Ο cursor επιστρέφει ένα result set μόνο σε πρόγραμμα client που κάλεσε τη διαδικασία. Δρ. Κεραμόπουλος Ευκλείδης 37

38 Με τη χρήση του SET παίρνουν τιμές οι μεταβλητές. Παραδείγματα: set v_string = NULL; set v_string = 'ABCDEF'; set v_date = current date; set v_var01 = v_var01 + 1; set v_var02 = v_var ; set (v_col1, v_col2) = (select col1, col2 from mytab fetch first 1 rows only); Αν δεν ζητήσουμε μόνο μία γραμμή να επιστρέψει θα δώσει λάθος. set v_var02 = (select count(*) from mytab); Δρ. Κεραμόπουλος Ευκλείδης 38

39 Η εντολή CASE χρησιμοποιείται ως μία υποθετική φράση όπου όταν ικανοποιηθεί εκτελείται η αντίστοιχη εντολή. Υπάρχουν δύο τύποι CASE: O απλός, ο οποίος στηρίζεται σε μία απλή τιμή (literal) O σύνθετος, ο οποίος στηρίζεται σε μία έκφραση (expression) Μετά το WHEN που ικανοποιεί την CASE ακολουθεί η εκτελέσιμη φράση Δρ. Κεραμόπουλος Ευκλείδης 39

40 1. CREATE PROCEDURE UPDATE_DEPT (IN p_workdept) 2. LANGUAGE SQL 3. BEGIN 4. DECLARE v_workdept CHAR(3); 5. SET v_workdept = p_workdept; 6. CASE v_workdept 7. WHEN 'A00' THEN 8. UPDATE department SET deptname = 'D1'; 9. WHEN 'B01' THEN 10. UPDATE department SET deptname = 'D2'; 11. ELSE 12. UPDATE department SET deptname = 'D3'; 13. END CASE 14. END Δρ. Κεραμόπουλος Ευκλείδης 40

41 1. CREATE PROCEDURE UPDATE_DEPT (IN p_workdept) 2. LANGUAGE SQL 3. BEGIN 4. DECLARE v_workdept CHAR(3); 5. SET v_workdept = p_workdept; 6. CASE 7. WHEN v_workdept = 'A00' THEN 8. UPDATE department SET deptname = 'D1'; 9. WHEN v_workdept = 'B01' THEN 10. UPDATE department SET deptname = 'D2'; 11. ELSE 12. UPDATE department SET deptname = 'D3'; 13. END CASE 14. END Δρ. Κεραμόπουλος Ευκλείδης 41

42 1. CREATE PROCEDURE UPDATE_SAL (IN empnum CHAR(6), IN rating SMALLINT) 2. LANGUAGE SQL 3. BEGIN 4. IF rating = 1 THEN 5. UPDATE employee SET salary = salary * 1.10, bonus = 1000 WHERE empno = empnum; 6. ELSEIF rating = 2 THEN 7. UPDATE employee SET salary = salary * 1.05, bonus = 500 WHERE empno = empnum; 8. ELSE 9. UPDATE employee SET salary = salary * 1.03, bonus = 0 WHERE empno = empnum; 10. END IF; 11. END Δρ. Κεραμόπουλος Ευκλείδης 42

43 O FOR βρόγχος χρησιμοποιείται ως ένας read-only cursor. O cursor που δηλώνεται εντός ενός FOR βρόγχου δεν μπορεί να χρησιμοποιηθεί εκτός του βρόγχου. Επίσης, χρησιμοποιούνται οι εκφράσεις OPEN, FETCH, ή CLOSE μ αυτό το είδος του cursor. Δήλωση: for <loop-name> as [<cursor-name>] cursor for <select-statement> do <inside-loop-logic> end for; Παράδειγμα: create procedure myproc begin FOR each_record AS cursor1 CURSOR FOR SELECT name, rating FROM customer DO UPDATE customer SET rating = rating * 1.1 WHERE CURRENT OF cursor1; END FOR; end! Με την φράση CURRENT OF cursor έχουμε πρόσβαση στην τρέχουσα εγγραφή Δρ. Κεραμόπουλος Ευκλείδης 43

44 REPEAT εντολες UNTIL (συνθήκη) END REPEAT Δήλωση Μεταβλητών CREATE PROCEDURE DEL_DEPT (IN deldept VARCHAR(3)) LANGUAGE SQL BEGIN DECLARE cursor_end integer default 0; DECLARE currentdept CHAR(3); Δήλωση CURSOR DECLARE mycur CURSOR FOR select DEPTNO as v_dept from DEPARTMENT where deptno = deldept; DECLARE CONTINUE HANDLER FOR NOT FOUND set cursor_end = 1; OPEN mycur; REPEAT FETCH FROM mycur INTO currentdept; delete from EMPLOYEE where workdept = currentdept; UNTIL cursor_end = 1 END REPEAT; CLOSE mycur; delete from DEPARTMENT where deptno = deldept; END! Δρ. Κεραμόπουλος Ευκλείδης 44

45 WHILE (συνθήκη) D0 εντολες END WHILE CREATE PROCEDURE DEL_DEPT (IN deldept VARCHAR(3)) LANGUAGE SQL BEGIN DECLARE currentdept CHAR(3); DECLARE SQLCODE INTEGER DEFAULT 0; DECLARE mycur CURSOR FOR select DEPTNO as v_dept from DEPARTMENT where deptno = deldept; OPEN mycur; FETCH FROM mycur INTO currentdept; WHILE (SQLCODE = 0) DO delete from EMPLOYEE where workdept = currentdept; fetch from mycur into currentdept; END WHILE; CLOSE mycur; delete from DEPARTMENT where deptno = deldept; END! Δρ. Κεραμόπουλος Ευκλείδης 45

46 Για να καλέσουμε μία διαδικασία χρησιμοποιούμε την εντολή CALL Υποστηρίζεται η αναδρομή στη κλήση διαδικασιών. Θα πρέπει όμως να είμαστε προσεκτικοί στο κλείσιμο των δρομέων. Κατά την κλήση όλες οι παράμετροι θα πρέπει να πάρουν τιμές. Οι OUT παράμετροι παίρνουν?. Παράδειγμα: CALL myproc ( <inputvalue1>, <inputvalue2>,?,? ); Δρ. Κεραμόπουλος Ευκλείδης 46

47 GOTO: Με αυτήν την εντολή μετακινούμαστε σε συγκεκριμένη ετικέτα. LEAVE: Με αυτήν την εντολή μπορούμε να βγούμε από ένα βρόγχο. RETURN: Με αυτήν την εντολή μπορούμε να επιστρέψουμε από μία αποθηκευμένη διαδικασία. Δρ. Κεραμόπουλος Ευκλείδης 47

48 SIGNAL: Αν δημιουργηθεί ένα λάθος τότε αυτόματα δημιουργείται ένα μήνυμα λάθους. Με την εντολή SIGNAL μπορούμε να ορίσουμε εμείς ένα λάθος. Δήλωση: SIGNAL SQLSTATE <sqlstate> [SET MESSAGE_TEXT '<text>' ] Παράδειγμα: create procedure myproc (in v_var01 integer) begin if v_var01 > 100 then signal SQLSTATE '70000' set message_text='the input parameter must be lower than 100!'; end if; end! Κλήση της συνάρτησης: call myproc(200); SQL0438N Application raised error with diagnostic text: "The input parameter must be lower than 100!". SQLSTATE=70000 Δρ. Κεραμόπουλος Ευκλείδης 48

49 Δρ. Κεραμόπουλος Ευκλείδης 49

50 Δρ. Κεραμόπουλος Ευκλείδης 50

51 1. CREATE PROCEDURE CREATE_OLYMPICS () 2. LANGUAGE SQL 3. BEGIN 4. CREATE TABLE VOLUNTEER ( 5. at char(10) not null primary key, 6. name char(20), 7. surname char(30), 8. gender char(6), 9. age integer); 10. CREATE TABLE STADIUM ( 11. name char(30) not null primary key, 12. capacity integer, 13. city char(20)); 14. CREATE TABLE JUDGE ( 15. code integer not null primary key, 16. name char(20), 17. surname char(30), 18. gender char(6), 19. date_of_birth date); Δρ. Κεραμόπουλος Ευκλείδης 51

52 20. CREATE TABLE TRAINER ( 21. code integer not null primary key, 22. name char(20), 23. surname char(30), 24. country_of_origin char(20)); 25. CREATE TABLE SPORT ( 26. code integer not null primary key, 27. name char(50), 28. gender char(6), 29. record float, 30. record_date date, 31. recordman_surname char(30), 32. recordman_name char(20)); 33. CREATE TABLE ATHLETE ( 34. code integer not null primary key, 35. name char(50), 36. surname char(30), 37. gender char(6), 38. date_of_birth date, 39. weight float, 40. height integer, 41. country_of_origin char(20), 42. country_of_participation char(20), 43. trainer_code integer, 44. foreign key(trainer_code) references TRAINER(code)); Δρ. Κεραμόπουλος Ευκλείδης 52

53 45. CREATE TABLE GAMES ( 46. code integer not null primary key, 47. level char(20), 48. gdate date, 49. gtime time, 50. stadium char(30) not null references STADIUM(name), 51. sport integer not null references SPORT(code), 52. judge integer not null references JUDGE(code)); 53. CREATE TABLE HELPS ( 54. game integer not null references GAMES(code), 55. volunteer char(10) not null references VOLUNTEER(at), 56. primary key(game, volunteer)); 57. CREATE TABLE PARTICIPATES ( 58. game integer not null references GAMES(code), 59. athlete integer not null references ATHLETE(code), 60. primary key(game, athlete), 61. performance float, 62. cancellation char); 63. CALL CREATE_OLYMPICS() Δρ. Κεραμόπουλος Ευκλείδης 53

54 1. CREATE PROCEDURE DROP_OLYMPICS() 2. LANGUAGE SQL 3. BEGIN 4. drop TABLE PARTICIPATES; 5. drop TABLE HELPS; 6. drop TABLE GAMES; 7. drop TABLE ATHLETE; 8. drop TABLE SPORT; 9. drop TABLE TRAINER; 10. drop TABLE JUDGE; 11. drop TABLE STADIUM; 12. drop TABLE VOLUNTEER; CALL DROP_OLYMPICS() 15. DROP PROCEDURE DROP_OLYMPIC() Δρ. Κεραμόπουλος Ευκλείδης 54

55 1. CREATE PROCEDURE INSERT_OLYMPICS (IN tablename CHAR(20)) 2. LANGUAGE SQL 3. BEGIN 4. CASE 5. when tablename = 'PARTICIPATES' THEN 6. INSERT INTO PARTICIPATES (game, athlete, performance, cancellation) VALUES (4, 39, 83.14, 'Q'); 7. INSERT INTO PARTICIPATES (game, athlete, performance, cancellation) VALUES (4, 40, 83.01, 'Q'); 8. WHEN tablename = 'HELPS' THEN 9. INSERT INTO HELPS (game, volunteer) VALUES (1, 'M100902'); 10. INSERT INTO HELPS (game, volunteer) VALUES (2, 'O212754'); 11. INSERT INTO HELPS (game, volunteer) VALUES (3, 'K256984'); 12. WHEN tablename = 'ATHLETE' THEN 13. INSERT INTO ATHLETE (code, name, surname, gender, date_of_birth, weight, height, country_of_origin, country_of_participation) VALUES (1, 'Aziz', 'Zakari', 'Male', '2/9/1976', 85, 175, 'Ghana', 'Ghana'); 14. INSERT INTO ATHLETE (code, name, surname, gender, date_of_birth, weight, height, country_of_origin, country_of_participation) VALUES (2, 'Kim', 'Collins', 'Male', '5/4/1976', 77, 180, 'SKN', 'SKN'); 15. INSERT INTO ATHLETE (code, name, surname, gender, date_of_birth, weight, height, country_of_origin, country_of_participation) VALUES (3, 'Michael', 'Frater', 'Male', '6/10/1982', 73, 175, 'Jamaica', 'Jamaica'); 16. INSERT INTO ATHLETE (code, name, surname, gender, date_of_birth, weight, height, country_of_origin, country_of_participation) VALUES (4, 'Frank', 'Fredericks', 'Male', '2/10/1967', 75, 180, 'Namibia', 'Namibia'); 17. END CASE; 18. call insert_olympics('athlete') Δρ. Κεραμόπουλος Ευκλείδης 55

56 1. CREATE PROCEDURE ATHLETE_EAT_A_LOT (in prsurname varchar(20)) 2. LANGUAGE SQL 3. BEGIN 4. DECLARE proc_name CHAR(50); 5. DECLARE proc_surname CHAR(30); 6. DECLARE at_end INT DEFAULT 0; 7. DECLARE not_found CONDITION FOR '02000'; 8. DECLARE c1 CURSOR FOR 9. SELECT name, surname 10. FROM athlete 11. where surname = prsurname 12. FOR UPDATE; 13. DECLARE CONTINUE HANDLER FOR not_found 14. SET at_end = 1; OPEN c1; 17. FETCH c1 INTO proc_name, proc_surname; 18. WHILE at_end = 0 DO 19. UPDATE ATHLETE 20. SET WEIGHT = WEIGHT WHERE CURRENT OF c1; 22. FETCH c1 INTO proc_name, proc_surname; 23. END WHILE; 24. CLOSE c1; 25. call ATHLETE_EAT_A_LOT('Zakari') Δρ. Κεραμόπουλος Ευκλείδης 56

57 1. import java.sql.*; 2. public class Jdbc_dblab2_call_SP_db2 { 3. static String driverclassname = "com.ibm.db2.jcc.db2driver" ; 4. static String url = "jdbc:db2://localhost:50000/sqwctrl" ; 5. static String username = euclid"; 6. static String passwd = euclid"; 7. static Connection dbconnection = null; 8. static CallableStatement call_statement = null; 9. public static void main (String[] argv) throws Exception 10. { 11. Class.forName (driverclassname); 12. dbconnection = DriverManager.getConnection (url, username, passwd); String DROPOLYMPICS = "call DROP_OLYMPICS () "; 15. call_statement = dbconnection.preparecall(dropolympics); 16. call_statement.execute(); String CREATEOLYMPICS = " call CREATE_OLYMPICS () "; 19. call_statement = dbconnection.preparecall(createolympics); 20. call_statement.execute(); 21. call_statement.close(); 22. dbconnection.close(); 23. } 24. } Δρ. Κεραμόπουλος Ευκλείδης 57

58 1. import java.sql.*; 2. public class Jdbc_dblab2_call_SP_db2 { 3. static String driverclassname = "com.ibm.db2.jcc.db2driver" ; 4. static String url = "jdbc:db2://localhost:50000/sqwctrl" ; 5. static String username = euclid"; 6. static String passwd = euclid"; 7. static Connection dbconnection = null; 8. static CallableStatement call_statement = null; 9. public static void main (String[] argv) throws Exception 10. { 11. Class.forName (driverclassname); 12. dbconnection = DriverManager.getConnection (url, username, passwd); String DROPOLYMPICS = "call DROP_OLYMPICS () "; 15. call_statement = dbconnection.preparecall(dropolympics); 16. call_statement.execute(); String CREATEOLYMPICS = " call CREATE_OLYMPICS () "; 19. call_statement = dbconnection.preparecall(createolympics); 20. call_statement.execute(); 21. call_statement.close(); 22. dbconnection.close(); 23. } 24. } Δρ. Κεραμόπουλος Ευκλείδης 58

59 Δρ. Κεραμόπουλος Ευκλείδης 59

60 import java.sql.*; import java.io.*; class Jdbc_call_stored_procedure_db2 { static String driverclassname = "com.ibm.db2.jcc.db2driver" ; static String url = "jdbc:db2://localhost:50000/sqwctrl" ; static Connection dbconnection = null; static CallableStatement call_statement = null; public static void main (String[] argv) throws Exception { Class.forName (driverclassname); dbconnection = DriverManager.getConnection (url, "euclid", "euclid"); String sql = "CALL stats(?,?,?)"; call_statement = dbconnection.preparecall(sql); BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in)); String temp = " ; System.out.print("Enter sailor rating: "); temp = keyboard.readline(); int in1 = Integer.parseInt(temp); } } call_statement.setint(1,in1); call_statement.registeroutparameter(2,types.integer); call_statement.registeroutparameter(3,types.integer); call_statement.execute(); int output1 = call_statement.getint(2); int output2 = call_statement.getint(3); System.out.println("output1: " + output1);system.out.println("output2: " + output2); call_statement.close(); dbconnection.close(); Δρ. Κεραμόπουλος Ευκλείδης 60

61 public void registeroutparameter(int parameterindex, int sqltype) throws SQLException ενημερώνει ότι η παράμετρος στην θέση parameterindex είναι OUT και sqltype (java type) τύπου Την τιμή την παίρνουμε με τη μέθοδο getxxx(parameterindex) π.χ. getstring(parameterindex) Δρ. Κεραμόπουλος Ευκλείδης 61

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

ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ ΑΠΟΘΗΚΕΥΜΕΝΕΣΔΙΑΔΙΚΑΣΙΕΣ ΓΕΝΙΚΑ Οι αποθηκευμένες διαδικασίες είναι τμήματα προγράμματος Βάσης Δεδομένων (διαδικασίες\procedures ή συναρτήσεις\functions) που αποθηκεύονται μόνιμα και εκτελούνταιστονδιακομιστήτηςβάσηςδεδομένων.

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Σε ένα πρόγραμμα κατά την εκτέλεση του ένα ερώτημα SQL μπορεί δυναμικά να παίρνει διαφορετικές παραμέτρους μπορεί να πάρει πολλές παραμέτρους oι παράμετροι δηλώνονται με? Στις παραμέτρους

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)

Διαβάστε περισσότερα

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

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά ΣΤΟΧΟΣ Postgress Το 9ο εργαστήριο εισάγει τον/ην φοιτητή/τρια στη χρήση και προγραµµατισµό συναρτήσεων στην PostgreSQL. ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ Η σχετική ύλη του βιβλίου του µαθήµατος (διαφάνειες και

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπου στα δεδομένα

Διαβάστε περισσότερα

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

Διαβάστε περισσότερα

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

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES ΕΝΑΥΣΜΑΤΑΣΤΗΝPOSTGRES ΓΕΝΙΚΑ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπουσταδεδομέναονομάζεταιέναυσμα(trigger).

Διαβάστε περισσότερα

PL/SQL. Κώστας Στεφανίδης

PL/SQL. Κώστας Στεφανίδης PL/SQL Κώστας Στεφανίδης Βασική ομή DECLARE /* Μεταβλητές και τύποι */ BEGIN /* ιαδικασίες και εντολές PL/SQL*/ /* Είναι το μόνο τμήμα που απαιτείται */ EXCEPTION /* Εντολές χειρισμού λαθών */ END; Βασική

Διαβάστε περισσότερα

MySQL stored procedures

MySQL stored procedures MySQL stored procedures Δημήτρης Σουραβλιάς Δομή παρουσίασης Εισαγωγή Δημιουργία μιας απλής stored procedure Μεταβλητές Παράμετροι Ροή ελέγχου Cursors 2 Εισαγωγή Μια stored procedure: είναι ένα τμήμα προγράμματος

Διαβάστε περισσότερα

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures Εργαστήριο βάσεων δεδομένων MySQL Stored Procedures Stored Procedures Μια store procedure είναι μια διαδικασία. Είναι ένα πρόγραμμα που αποτελείται από SQL εντολές. Αποθηκεύεται και εκτελείται στον database

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

Διαβάστε περισσότερα

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Καθ.: Νίκος Τσαπατσούλης ΥΠΟΔΕΙΓΜΑ

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers CREATE TRIGGER Δήλωση δημιουργίας Trigger: CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

Διαβάστε περισσότερα

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

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1 Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη

Διαβάστε περισσότερα

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

ΕΠΛ 342 Βάσεις εδοµένων ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 6 ο PL/SQL Ιωάννα Συρίµη syrimi@ucy.ac.cy PL/SQL Procedural Language/SQL Επέκταση της SQL µε χαρακτηριστικά γλωσσών προγραµµατισµού Επιτρέπει την χρήση προτάσεων SQL

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Ενσωμάτωση SQL εντολών σε μία γενικού σκοπού γλώσσα προγραμματισμού Η φιλόξενη γλώσσα προγραμματισμού έχει στη διάθεση της μια βιβλιοθήκη από συναρτήσεις για κλήσεις στη Βάση Δεδομένων

Διαβάστε περισσότερα

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

. Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers Triggers: Βασικές Έννοιες Ένας trigger είναι ένα κομμάτι κώδικα, μια ρουτίνα Συνδέεται με ένα συγκεκριμένο πίνακα Καλείται όταν συμβεί ένα γεγονός στον πίνακα Συχνές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

. Εργαστήριο Βάσεων Δεδομένων. Stored Procedures Εργαστήριο Βάσεων Δεδομένων Stored Procedures Αρχιτεκτονική επικοινωνίας με τη βάση δεδομένων Μια βάση χρησιμοποιείται μέσω του client-server μοντέλου Τα δεδομένα είναι αποθηκευμένα στον DB Server Οι clients

Διαβάστε περισσότερα

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

Τμήμα Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Stored procedures, Exceptions, ιακιώµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Stored Procedures... 1 Exceptions... 1 Εντολή

Διαβάστε περισσότερα

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures): 9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης

Διαβάστε περισσότερα

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και

Διαβάστε περισσότερα

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων

Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων Σύνοψη Στο παρόν κεφάλαιο θα παρουσιασθούν βασικά στοιχεία όσον αφορά τις stored procedures και τη χρήση ευρετηρίων. Προαπαιτούμενη γνώση H ύλη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

Διαβάστε περισσότερα

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ)

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ) [Ημερομηνία] ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗΝ TRANSACT-SQL ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ Υπεύθυνος: Καρβούνης Χ. Ευάγγελος Η Transact-SQL (T-SQL) είναι ή υλοποίηση της γλώσσας ερωταπαντήσεων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

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

ΕΠΛ 342 Βάσεις εδοµένων ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 3 ο SQL - DML Ιωάννα Συρίµη syrimi@ucy.ac.cy Data Manipulation Language Εισαγωγή νέων Εγγραφών Insert Into ιαγραφή Εγγραφών Delete Αλλαγή υφιστάµενων Εγγραφών Update

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΡΙΤΟ Foreign key, Index, DML Ερωτήµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Foreign Key... 1 Index... 4 DML Ερωτήµατα... 6 INSERT...

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

Διαβάστε περισσότερα

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη My (1) Η (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομενων Είναι δομημένη σε βάσεις που περιέχουν πίνακες Οι πίνακες αποτελούνται από γραμμές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

Διαβάστε περισσότερα

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

Φυσική Σχεδίαση Υλοποίηση βάσης ΕΣΔ330 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας Φυσική Σχεδίαση Υλοποίηση βάσης Περιεχόμενα Περιεχόμενα Εισαγωγή Μετασχηματισμός οντοτήτων Μετασχηματισμός συσχετίσεων Ακεραιότητα δεδομένων Παραδείγματα

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

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

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (2) ER Σχεσιακό Create Tables 1/4 CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL, AM INT(5)

Διαβάστε περισσότερα

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

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Ενημέρωση Βάσης Δεδομένων (INSERT, UPDATE, DELETE) SQL DCL (GRANT, DENY, REVOKE)

Διαβάστε περισσότερα

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

Διαβάστε περισσότερα

Κεφάλαιο 7: Υπορουτίνες

Κεφάλαιο 7: Υπορουτίνες Κεφάλαιο 7: Υπορουτίνες Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων που μπορεί

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού Strange

Η γλώσσα προγραμματισμού Strange Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού Strange Η Strange είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική αυτή γλώσσα περιέχει

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 3 ο (26/11/2008) Εισαγωγή στην Mysql SQL Η SQL (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομένων. Είναι δομημένη σε βάσεις που περιέχουν πίνακες.

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα ξένα κλειδιά

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

Διαβάστε περισσότερα

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

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 11η: Περιορισμοί Ακεραιότητας - Κανονικές Μορφές Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Αποτελούν μηχανισμό για τον

Διαβάστε περισσότερα

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD) Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο

Διαβάστε περισσότερα

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ 2015-2016 Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος Τμήμα Πληροφορικής ΑΠΘ 2015-2016 2 Βασικοί στόχοι Μερικοί βασικοί στόχοι του εργαστηρίου είναι: Η ικανότητα ανάλυσης των απαιτήσεων, κατασκευής

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Ορισμός: Τα αντικειμενοσχεσιακά συστήματα Βάσεων Δεδομένων μπορούν να θεωρηθούν ως μία προσπάθεια επέκτασης των Σχεσιακών Συστημάτων Βάσεων Δεδομένων με τη λειτουργικότητα που απαιτείται

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

Διαβάστε περισσότερα

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Oracle SQL Developer An Oracle Database stores and organizes information. Oracle SQL Developer is a tool for accessing and maintaining the data

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων

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

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

Διαβάστε περισσότερα

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

Διαβάστε περισσότερα

Περιγραφή του EcoTruck

Περιγραφή του EcoTruck ...... Πανεπιστήμιο Μακεδονίας 16 Μαΐου 2010 . Με λίγα λόγια Online εφαρμογή για τη διαχείριση ανακύκλωσης και επαναχρησιμοποίησης της χάρτινης ύλης Η ιδέα δημιουργήθηκε για τη συμμετοχή στον Πανελλήνιο

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

PostgreSQL. Oracle. Εαρινό Εξάμηνο

PostgreSQL. Oracle. Εαρινό Εξάμηνο . - Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 - Table of contents 1 2 - Table of contents 1 2 3 - 1 2-3 - Καταγωγή από την

Διαβάστε περισσότερα

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

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

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΔΕΣΠΟΙΝΑ ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ dpap@unipi.gr 2 ΤΙ ΕΙΝΑΙ Η SQL? (1/2) Η SQL (Structured Query Language) αποτελεί μια πρότυπη

Διαβάστε περισσότερα

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

Η SQL ως γλώσσα τροποποίησης Δεδομένων Η SQL ως γλώσσα τροποποίησης Δεδομένων Τροποποίηση Βάσης Δεδομένων: Γλώσσα Χειρισμού Δεδομένων (ΓXΔ) Τροποποιήσεις 1. Διαγραφή 2. Εισαγωγή 3. Ενημέρωση Οι εντολές αυτές ΤΡΟΠΟΠΟΙΟΥΝ το στιγμιότυπο της βάσης

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

Διαβάστε περισσότερα

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research

Διαβάστε περισσότερα

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI B. Μεγαλοοικονόμου Αντικειμενοστρεφή και αντικειμενο-σχεσιακά ΣΔΒΔ (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του

Διαβάστε περισσότερα

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

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 7 Γλώσσα Ερωτημάτων SQL Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Σχεσιακή

Διαβάστε περισσότερα

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση της MySQL. Γιώργος Πυρουνάκης - Σχεδίαση και Χρήση Βάσεων Δεδομένων Χρήση της MySQL Γιώργος Πυρουνάκης - forky@di.uoa.gr Δομή Διάλεξης Παράδειγμα (Βάση Δεδομένων Προμηθευτές/Προϊόντα) Εισαγωγή στη MySQL Χρήση του mysql client Χρήση του

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Views, Triggers Γιώργος Μαρκοµανώλης Περιεχόµενα Όψη... 1 ηµιουργία όψης... 2 Επιλογή CHECK... 3 Όψεις µόνο για εµφάνιση

Διαβάστε περισσότερα

6. Εξαιρέσεις στη γλώσσα Java

6. Εξαιρέσεις στη γλώσσα Java 6. Εξαιρέσεις στη γλώσσα Java Με το τέλος αυτού του κεφαλαίου θα μπορείτε: Να ορίζετε εξαιρέσεις Να εξηγείτε γιατί είναι σημαντικός ο χειρισμός των εξαιρέσεων Να γράφετε κώδικα για να συλλαμβάνετε εξαιρέσεις

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι

Διαβάστε περισσότερα

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

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Εργαστηριακή Άσκηση 4 7/02/2012

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

Διαβάστε περισσότερα

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα