7. Ανάπτυξη Εφαρµογών Βάσεων Δεδοµένων
|
|
- Ἔβέρ Μεταξάς
- 6 χρόνια πριν
- Προβολές:
Transcript
1 Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 7. Ανάπτυξη Εφαρµογών Βάσεων Δεδοµένων Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης
2 Διάρθρωση Διάλεξης Ανάπτυξη εφαρμογών βάσεων δεδομένων Χρήση της SQL στον κώδικα εφαρμογών Ενσωματωμένη (embedded) SQL για ιστορικούς κυρίως λόγους Λογικοί δρομείς (cursors) Java Data Base Coectivity (JDBC) Δουλκερίδης 2
3 Χρήση της SQL στον Κώδικα Εφαρµογών (1/2) Οι εντολές SQL μπορούν να κληθούν από μια γλώσσα προγραμματισμού, η οποία καλείται γλώσσα υποδοχής (host laguage), π.χ. C++, Java, Οι εντολές SQL μπορούν να αναφέρονται σε μεταβλητές της γλώσσας προγραμματισμού (host variables) Περιλαμβάνονται και ειδικές μεταβλητές που χρησιμοποιούνται για να επιστρέφουν την τρέχουσα κατάσταση (status) Πρέπει να προηγείται μια εντολή που αποκαθιστά τη σύνδεση με την κατάλληλη βάση δεδομένων Υπάρχουν δύο κύριες προσεγγίσεις Ενσωμάτωση της SQL στις γλώσσες προγραμματισμού (Embedded SQL) Δημιουργία ειδικού API (Applicatio Programmig Iterface) για την κλήση των SQL εντολών (JDBC, ODBC) Δουλκερίδης 3
4 Χρήση της SQL στον Κώδικα Εφαρµογών (2/2) Επιπλοκές του συνδυασμού Οι σχέσεις στην SQL είναι πολυσύνολα εγγραφών Δεν υπάρχει εκ των προτέρων όριο στο πλήθος των εγγραφών Παραδοσιακά στις διαδικαστικές γλώσσες προγραμματισμού (π.χ. C) δεν υπήρχε τέτοια δομή Η SQL υποστηρίζει το μηχανισμό των λογικών δρομέων (cursors) για να το αντιμετωπίσει Δουλκερίδης 4
5 Ενσωµατωµένη SQL Ένας προεπεξεργαστής (pre-processor) μετατρέπει τις SQL εντολές σε ειδικές κλήσεις ενός API Στη συνέχεια χρησιμοποιείται ένας τυπικός μεταγλωττιστής για τη μεταγλώττιση του κώδικα Δομές της γλώσσας Σύνδεση με μια ΒΔ EXEC SQL CONNECT Δήλωση μεταβλητών EXEC SQL BEGIN [END] DECLARE SECTION Εντολές EXEC SQL statemet; Δουλκερίδης 5
6 Ενσωµατωµένη SQL: Μεταβλητές Υπάρχουν επιπλέον δύο ειδικές μεταβλητές για το χειρισμό σφαλμάτων SQLCODE Τύπου log Παίρνει αρνητική τιμή αν προκύψει κάποιο σφάλμα SQLSTATE Τύπου char[6] Επιστρέφει προκαθορισμένους κωδικούς για τα συνηθέστερα σφάλματα EXEC SQL BEGIN DECLARE SECTION char ame[20]; log sid; short ratig; float age; EXEC SQL END DECLARE SECTION Δουλκερίδης 6
7 Λογικοί Δροµείς (Cursors) Μπορούμε να δηλώσουμε ένα δρομέα σε μια σχέση ή σε μια επερώτηση (uery) Μπορούμε να Ανοίξουμε (ope) ένα δρομέα Ανακτήσουμε (fetch) μια πλειάδα επαναλαμβανόμενα Μετακινήσουμε (move) το δρομέα, μέχρι να ανακτηθούν όλες οι πλειάδες Για να ελέγχουμε τη σειρά με την οποία επιστρέφονται οι πλειάδες, που προσπελάζονται από ένα δρομέα, χρησιμοποιείται το ORDER BY Μπορούμε να τροποποιήσουμε ή να διαγράψουμε μια πλειάδα την οποία προσπελαύνει ένας δρομέας Δουλκερίδης 7
8 Παράδειγµα Ένας δρομέας που επιστρέφει με αλφαβητική σειρά τα ονόματα των ναυτικών που έχουν κάνει κράτηση σε κόκκινη βάρκα DECLARE sifo CURSOR FOR SELECT S.same FROM Sailors S, Reserves R, Boats B WHERE S.sid=R.sid AND R.bib=B.bid AND B.color= red ORDER BY S.same OPEN sifo FETCH sifo INTO :same CLOSE sifo Δουλκερίδης 8
9 Παράδειγµα: Ενσωµατωµένη SQL σε C #iclude <stdio.h> EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; /* declare host variables */ char db_ame[8]; /* database ame */ char video_title[30]; /* title of the video */ short video_id; /* serial umber */ char director[20]; /* director ame */ EXEC SQL END DECLARE SECTION; void mai() { strcpy(db_ame, MyDB"); EXEC SQL CONNECT TO :db_ame; if (slca.slcode!= 0) { pritf("coect failed!: reaso %ld\", slca.slcode); exit(1); }. Δουλκερίδης 9
10 Παράδειγµα: Ενσωµατωµένη SQL σε C EXEC SQL DECLARE c1 CURSOR FOR SELECT video_title FROM video; EXEC SQL OPEN c1; do { EXEC SQL FETCH c1 ito :video_title; if (SQLCODE!= 0) break; pritf("%s\",video_title); } while (1); } EXEC SQL CLOSE c1; EXEC SQL CONNECT RESET; Δουλκερίδης 10
11 Δυναµική SQL Όταν τα αλφαριθμητικά των SQL επερωτήσεων είναι γνωστά στο rutime Δίνεται η δυνατότητα κατασκευής των SQL εντολών στο rutime Παράδειγμα: όταν κάποιες τιμές συμπληρώνονται από φόρμες char strig[100]; /* buffer for SQL uery */ strcpy(strig, "SELECT video_title FROM video"); /* Prepare the uery i the ru time */ EXEC SQL PREPARE Q1 FROM :strig; EXEC SQL DECLARE c1 CURSOR FOR Q1; Δουλκερίδης 11
12 JDBC
13 Database APIs Αντί να τροποποιούμε το μεταγλωττιστή, προσθέτουμε μια βιβλιοθήκη με κλήσεις (database calls) προς τη ΒΔ (API) Η διεπαφή είναι προτυποποιημένη (διαδικασίες και αντικείμενα) Μεταφέρονται strigs από τη γλώσσα προγραμματισμού Τα σύνολα που προκύπτουν ως αποτέλεσμα, παρουσιάζονται με ένα φιλικό ως προς τη γλώσσα τρόπο Το JDBC της Su (Java API) Το ODBC της Microsoft (API για κλήσεις Visual Basic, C#, κτλ) Χρησιμοποιείται ένας driver που χειρίζεται τις κλήσεις και τις μεταφράζει σε κώδικα προσανατολισμένο για DBMS To DBMS και η εφαρμογή πρέπει να είναι συμβατές ως προς το JDBC ή το ODBC Δουλκερίδης 13
14 Αρχιτεκτονική Γλώσσα Προγραμματισμού Η εφαρμογή Αρχικοποιεί και τερματίζει τις συνδέσεις Υποβάλλει SQL εντολές Ο driver maager Φορτώνει τον driver Ο driver Συνδέεται με τη ΒΔ Μεταδίδει τις αιτήσεις (ueries) Επιστρέφει τα αποτελέσματα Η βάση δεδομένων ΕΦΑΡΜΟΓΗ Driver Maager DRIVER Επεξεργάζεται τις SQL εντολές ΒΔ Δουλκερίδης 14
15 JDBC Αρχιτεκτονική (1/2) Τέσσερις τύποι drivers Type 1 Γέφυρα (bridge) Μεταφράζει τις SQL εντολές σε o-ative API Π.χ. Γέφυρα JDBC-ODBC Σε κάθε cliet πρέπει να υπάρχει κώδικας για ODBC και JDBC driver Type 2 Απευθείας μετάφραση σε ative API, o-java driver Μεταφράζει τις SQL εντολές σε ative API της πηγής δεδομένων Σε κάθε cliet πρέπει να υπάρχει συγκεκριμένος για το λειτουργικό σύστημα δυαδικός κώδικας Δουλκερίδης 15
16 JDBC Αρχιτεκτονική (2/2) Type 3 Δικτυακή γέφυρα (etwork bridge) Στέλνει τις εντολές μέσω του δικτύου σε έναν middleware server που επικοινωνεί με την πηγή δεδομένων Σε κάθε cliet απαιτείται μόνο ένας «μικρός» JDBC driver Type 4 Απευθείας μετάφραση σε ative API μέσω Java driver Μετατρέπει τις JDBC κλήσεις απευθείας στο πρωτόκολλο δικτύου που χρησιμοποιεί το DBMS Σε κάθε cliet απαιτείται συγκεκριμένος για το DBMS Java driver Δουλκερίδης 16
17 JDBC Κλάσεις και Διεπαφές Για να υποβάλλουμε μια SQL ερώτηση απαιτούνται τα εξής βήματα Φορτώνεται ο driver Συνδεόμαστε με την πηγή δεδομένων Εκτελούμε τις SQL εντολές Δουλκερίδης 17
18 JDBC Driver Maagemet Όλοι οι drivers διαχειρίζονται από την κλάση DriverMaager Φόρτωση ενός JDBC driver Μέσα στον κώδικα Java: class.forname( com.microsoft.jdbc.slserver.sqlserverdriver ); Δουλκερίδης 18
19 Συνδέσεις (Coectios) στο JDBC Αλληλεπίδραση με μια πηγή δεδομένων μέσω sessios Κάθε σύνδεση προσδιορίζει ένα λογικό sessio JDBC URL: jdbc:<subprotocol>:<otherparameters> Παράδειγμα: Strig url = jdbc:microsoft:slserver://labsql;databasename=northwid; User=OMADA20;Password=PWD20; Coectio co; try { co = DriverMaager.getCoectio(url); } catch (SQLExceptio ex) { } Δουλκερίδης 19
20 Class Coectio public it gettrasactioisolatio() void settrasactioisolatio(it level) Ορίζει το επίπεδο απομόνωσης για την τρέχουσα σύνδεση public boolea getreadoly() void setreadoly(boolea b) Καθορίζει εάν οι εντολές στην τρέχουσα σύνδεση είναι μόνο για ανάγνωση public boolea getautocommit() void setautocommit(boolea b) Εάν είναι true, κάθε εντολή θεωρείται ξεχωριστή συναλλαγή και καταχωρείται στη βάση. Διαφορετικά, πρέπει ο προγραμματιστής να ορίσει πότε η συναλλαγή θα καταχωρηθεί στη βάση (commit) ή εάν θα ανακληθεί (rollback) public boolea isclosed() Ελέγχει εάν η σύνδεση είναι ακόμη ανοικτή Δουλκερίδης 20
21 Εκτέλεση SQL Εντολών (1/2) Τρεις διαφορετικοί τρόποι εκτέλεσης SQL εντολών Statemet (για στατικές και δυναμικές SQL εντολές) PreparedStatemet (ημιστατικές εντολές SQL) CallableStatemet (αποθηκευμένες διαδικασίες) Κλάση PreparedStatemet Precompiled, παραμετρικές εντολές SQL Η δομή είναι προκαθορισμένη Όμως οι τιμές των παραμέτρων μπορούν να καθοριστούν κατά τη διάρκεια εκτέλεσης (rutime) Δουλκερίδης 21
22 Εκτέλεση SQL Εντολών (2/2) Strig sl = INSERT INTO Sailors VALUES (?,?,?,?) ; PreparedStatemet pstmt = co.preparestatemet(sl); pstmt.clearparameters(); pstmt.setit(1,sid); pstmt.setstrig(2,same); pstmt.setit(3,ratig); pstmt.setfloat(4,age); // Γνωρίζουμε ότι δεν επιστρέφει πλειάδες, οπότε χρησιμοποιούμε // την executeupdate() it umrows = pstmt.executeupdate(); Δουλκερίδης 22
23 ResultSets (1/2) Το PreparedStatemet.executeUpdate() επιστρέφει μόνο το πλήθος των εγγραφών που επηρεάστηκαν Το PreparedStatemet.executeQuery() επιστρέφει δεδομένα, ενθυλακωμένα σε ένα αντικείμενο ResultSet (κάτι σαν δρομέας) Παράδειγμα: ResultSet rs = pstmt.executequery(sl); // rs is ow a cursor while (rs.ext()) { // process the data } Δουλκερίδης 23
24 ResultSets (2/2) Διαθέσιμες μέθοδοι ενός ResultSet previous() Μετακινεί το δρομέα μια πλειάδα πίσω absolute(it um) Μετακινεί το δρομέα στην πλειάδα με αριθμό um relative(it um) Μετακινεί το δρομέα um πλειάδες από την τρέχουσα first() last() Δουλκερίδης 24
25 Πρόσβαση στα Μεταδεδοµένα της ΒΔ (1/2) Το αντικείμενο DatabaseMetaData παρέχει πληροφορίες για το σύστημα ΒΔ και για τον κατάλογο (catalog) DatabaseMetaData md = co.getmetadata(); // Prit iformatio about the driver System.out.pritl( Name: +md.getdrivername()+ versio: +md.getdriverversio()); Δουλκερίδης 25
26 Πρόσβαση στα Μεταδεδοµένα της ΒΔ (2/2) DatabaseMetaData md = co.getmetadata(); ResultSet trs = md.gettables(ull,ull,ull,ull); Strig tablename; while (trs.ext()) { // prit table ame tablename = trs.getstrig( TABLE_NAME ); System.out.pritl( Table: +tablename); // prit colum ames ResultSet crs = md.getcolums(ull,ull,tablename,ull); while (crs.ext()) { System.out.pritl(crs.getStrig( COLUMN_NAME )+, ); } } public java.sl.resultset gettables(java.lag.strig catalog, java.lag.strig schema, java.lag.strig table, java.lag.strig[] types) Δουλκερίδης 26
27 Ένα Πλήρες Παράδειγµα Strig url = jdbc:microsoft:slserver://labsql;databasename=northwid; User=OMADA20;Password=PWD20; Coectio co = DriverMaager.getCoectio(url); Statemet stmt = co.createstatemet(); Strig uery = SELECT ame, ratig FROM Sailors ; ResultSet rs = stmt.executequery(uery); try { while (rs.ext()) { Strig s = rs.getstrig( ame ); it = rs.getit( ratig ); System.out.pritl(s+ +); } } catch (SQLExceptio ex) { System.out.pritl(ex.getMessage()+ +ex.getsqlstate()+ + ex.geterrorcode()); } Δουλκερίδης 27
28 Επιπλέον Θέµατα
29 Χρήσιμες έννοιες για την ανάπτυξη εφαρμογών ΒΔ Προστασία από SQL ijectio Αποθηκευμένες διαδικασίες (stored procedures) Εναύσματα (triggers) Δουλκερίδης 29
30 SQL Ijectio Εισάγετε το όνομά σας: Strig usrid ß παίρνει τιμή από μια φόρμα Strig uery = SELECT * FROM Users WHERE UsrName = + usrid + Σενάριο κανονικής λειτουργίας (χωρίς κακόβουλους χρήστες) usrid = cdoulk Σε περιβάλλον όπου υπάρχουν κακόβουλοι χρήστες usrid = cdoulk or 1 = 1 (πρόκειται απλά για ένα παράδειγμα SQL ijectio, υπάρχουν και άλλα) Τρόπος αντιμετώπισης Χρήση PreparedStatemet με παραμέτρους Δουλκερίδης 30
31 SQL Ijectio PreparedStatemet ΛΑΘΟΣ ΧΡΗΣΗ PreparedStatemet p = ull; p = co.createstatemet( SELECT * FROM Users WHERE UserId = + usrid); p.execute(); ΣΩΣΤΗ ΧΡΗΣΗ PreparedStatemet p = ull; p = co.createstatemet( SELECT * FROM Users WHERE UserId =? ); p.setstrig(1, usrid); p.execute(); Δουλκερίδης 31
32 Αποθηκευµένες Διαδικασίες (Stored Procedures) Μια αποθηκευμένη διαδικασία είναι ένα πρόγραμμα που εκτελείται μέσω μιας μόνο εντολής SQL, που μπορεί να εκτελεστεί τοπικά και να ολοκληρωθεί μέσα στο χώρο διεργασιών του διακομιστή της βάσης Πλεονεκτήματα Βελτιωμένη απόδοση (σε αντίθεση με την εναλλακτική του λογικού δρομέα που δεσμεύσει πόρους όπως κλειδαριές και μνήμη) Επαναχρησιμοποίηση από διαφορετικούς χρήστες/προγράμματα Διαχωρισμός κώδικα εφαρμογής από κώδικα SQL Ανεξαρτησία από γλώσσα προγραμματισμού Βελτιωμένη απόδοση (λόγω του precompilatio) Δουλκερίδης 32
33 Παράδειγµα Δημιουργία/Ορισμός αποθηκευμένης διαδικασίας στο ΣΔΒΔ CREATE PROCEDURE myfirstsp SELECT C.cid, C.came, COUNT(*) FROM Customers C, Orders O WHERE C.cid=O.cid GROUP BY C.Cid, C.came Κλήση από JDBC CallableStatemet c = co.preparecall( {call myfirstsp} ); ResultSet rs = c.executequery(); while (rs.ext()) Δουλκερίδης 33
34 Παράδειγµα µε Ορίσµατα Δημιουργία/Ορισμός αποθηκευμένης διαδικασίας στο ΣΔΒΔ CREATE PROCEDURE myfirstsp( IN age INTEGER) SELECT C.cid, C.came, COUNT(*) FROM Customers C, Orders O WHERE C.cid=O.cid AND C.age > age GROUP BY C.Cid, C.came Δουλκερίδης 34
35 Εναύσµατα (Triggers) Μια διαδικασία την οποία δηλώνει ο Διαχειριστής ΒΔ η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπου στα δεδομένα Μια ΒΔ η δήλωση της οποίας συνδυάζεται με δηλώσεις εναυσμάτων ονομάζεται ενεργή ΒΔ Στην περιγραφή ενός εναύσματος υπάρχουν 3 διακριτά μέρη: Γεγονός: μια μεταβολή στη ΒΔ που ενεργοποιεί το έναυσμα Συνθήκη: ένα αίτημα ή ένας έλεγχος που εκτελείται με την ενεργοποίηση του εναύσματος Ενέργεια: μια διαδικασία η οποία εκτελείται όταν ισχύει η συνθήκη και ενεργοποιείται το έναυσμα Δουλκερίδης 35
36 Παράδειγµα CREATE TRIGGER iit_cout BEFORE INSERT ON Studets /* γεγονός */ DECLARE cout INTEGER; BEGIN /* ενέργεια */ cout := 0; END CREATE TRIGGER icr_cout AFTER INSERT ON Studets /* γεγονός */ WHEN (ew.age < 18) /* συνθήκη (ew είναι η νέα πλειάδα) */ FOR EACH ROW BEGIN /* ενέργεια */ cout := cout +1; END Δουλκερίδης 36
Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που
1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει
Διαβάστε περισσότεραMySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και
Διαβάστε περισσότεραΑποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)
Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Ενσωμάτωση SQL εντολών σε μία γενικού σκοπού γλώσσα προγραμματισμού Η φιλόξενη γλώσσα προγραμματισμού έχει στη διάθεση της μια βιβλιοθήκη από συναρτήσεις για κλήσεις στη Βάση Δεδομένων
Διαβάστε περισσότεραΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES
ΕΝΑΥΣΜΑΤΑΣΤΗΝPOSTGRES ΓΕΝΙΚΑ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπουσταδεδομέναονομάζεταιέναυσμα(trigger).
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Εισαγωγή στις Βάσεις Δεδομένων Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan) Εισαγωγή Γιατί
Διαβάστε περισσότεραΒάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr
Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη
Διαβάστε περισσότερα9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):
9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης
Διαβάστε περισσότεραMySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1
MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και
Διαβάστε περισσότεραMySQL stored procedures
MySQL stored procedures Δημήτρης Σουραβλιάς Δομή παρουσίασης Εισαγωγή Δημιουργία μιας απλής stored procedure Μεταβλητές Παράμετροι Ροή ελέγχου Cursors 2 Εισαγωγή Μια stored procedure: είναι ένα τμήμα προγράμματος
Διαβάστε περισσότερα10 η Διάλεξη Python Βάσεις δεδομένων στη python
10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων
Διαβάστε περισσότεραΠρογραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων
Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων Σχεσιακές Βάσεις Δεδομένων Τα δεδομένα μας οργανώνονται σε ένα ή περισσότερους πίνακες: σε στήλες και σειρές Κάθε πίνακας έχει ένα όνομα και αποτελείται
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)
Διαβάστε περισσότερα. Εργαστήριο Βάσεων Δεδομένων. Triggers
Εργαστήριο Βάσεων Δεδομένων Triggers Triggers: Βασικές Έννοιες Ένας trigger είναι ένα κομμάτι κώδικα, μια ρουτίνα Συνδέεται με ένα συγκεκριμένο πίνακα Καλείται όταν συμβεί ένα γεγονός στον πίνακα Συχνές
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπου στα δεδομένα
Διαβάστε περισσότερα(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2
Η Γλώσσα SQL (Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL H SQL έχει διάφορα τµήµατα: Γλώσσα Ορισµού εδοµένων (ΓΟ ) Γλώσσα
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos
Διαβάστε περισσότεραΑρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ
Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε
Διαβάστε περισσότεραPL/SQL. Κώστας Στεφανίδης
PL/SQL Κώστας Στεφανίδης Βασική ομή DECLARE /* Μεταβλητές και τύποι */ BEGIN /* ιαδικασίες και εντολές PL/SQL*/ /* Είναι το μόνο τμήμα που απαιτείται */ EXCEPTION /* Εντολές χειρισμού λαθών */ END; Βασική
Διαβάστε περισσότεραΈννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική
Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική Αρχιτεκτονική ANSI-SPARC, Επίπεδα Αρχιτεκτονικής (Εξωτερικό, Εννοιολογικό, Εσωτερικό), Παραδοσιακή Προσέγγιση (Μειονεκτήματα, Παράδειγμα), Προσέγγιση
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...
Διαβάστε περισσότεραΕργαστήριο βάσεων δεδομένων. MySQL Stored Procedures
Εργαστήριο βάσεων δεδομένων MySQL Stored Procedures Stored Procedures Μια store procedure είναι μια διαδικασία. Είναι ένα πρόγραμμα που αποτελείται από SQL εντολές. Αποθηκεύεται και εκτελείται στον database
Διαβάστε περισσότεραΑκεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων
Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας
Διαβάστε περισσότεραΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες
Σκοπός της Άσκησης ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση των δεικτών (pointers). Οι δείκτες δίνουν την δυνατότητα σε προγράμματα να προσομοιώνουν τη
Διαβάστε περισσότεραΔιάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σκανδάλες (Triggers) σε TSQL Ευρετήρια (Indexes) σε TSQL Εισαγωγή στον διαδικαστικό
Διαβάστε περισσότεραΤι σημαίνει; n Για την αποδοτική δέσμευση δομών δεδομένων μη. n Για την αποφυγή «διαρροών μνήμης» (memory leaks).
Δέσμευση Μνήμης (memory allocatio) Τι σημαίνει; Διαχείριση Μνήµης Ο καλός προγραμματισμός επιβάλλει την αποδοτική χρήση της μνήμης του Η/Υ. Είναι σημαντικό να καταλαβαίνουμε τις διαδικασίες δέσμευσης μνήμης:
Διαβάστε περισσότεραΕργαστήριο Βάσεων Δεδομένων. 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
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΙατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.
Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Σε ένα πρόγραμμα κατά την εκτέλεση του ένα ερώτημα SQL μπορεί δυναμικά να παίρνει διαφορετικές παραμέτρους μπορεί να πάρει πολλές παραμέτρους oι παράμετροι δηλώνονται με? Στις παραμέτρους
Διαβάστε περισσότεραΕΠΛ 342 Βάσεις εδοµένων
ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 6 ο PL/SQL Ιωάννα Συρίµη syrimi@ucy.ac.cy PL/SQL Procedural Language/SQL Επέκταση της SQL µε χαρακτηριστικά γλωσσών προγραµµατισµού Επιτρέπει την χρήση προτάσεων SQL
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI B. Μεγαλοοικονόμου Αντικειμενοστρεφή και αντικειμενο-σχεσιακά ΣΔΒΔ (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Stored procedures, Exceptions, ιακιώµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Stored Procedures... 1 Exceptions... 1 Εντολή
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΕργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο
Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο JDBC JDBC is a set of classes and interfaces written in Java that allows Java programs to send SQL statements to a database like Oracle JDBC
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΔιαχείριση Πολιτισμικών Δεδομένων
Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις
Διαβάστε περισσότεραSQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke
SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα
Διαβάστε περισσότεραΚεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει
Διαβάστε περισσότεραΕνεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1
Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός
Διαβάστε περισσότεραΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ
ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες Concurrent Data Access (Ταυτόχρονη Πρόσβαση σε Δεδομένα) Συνήθως πολλοί χρήστες έχουν ταυτόχρονη
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότεραΚεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.
Κεφάλαιο 5 Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.90 SQL Data Definition H Γλώσσα Ορισµού (DDL) της SQL χρησιµοποιείται
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Είναι τμήματα προγράμματος Βάσης Δεδομένων (διαδικασίες\procedures ή συναρτήσεις\functions) που αποθηκεύονται μόνιμα και εκτελούνται στον διακομιστή της Βάσης Δεδομένων. Δρ. Κεραμόπουλος
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9α: Περιορισμοί (Constraints) Εναύσματα (Triggers) Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 9α: Περιορισμοί (Constraints) Εναύσματα (Triggers) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραSQL Data Manipulation Language
SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν
Διαβάστε περισσότεραB. Ενσωμάτωση Ιθαγενών Μεθόδων
B. Ενσωμάτωση Ιθαγενών Μεθόδων Στο τέλος αυτού του κεφαλαίου θα μπορείτε: Να δημιουργείτε κώδικα Java που θα φορτώνει βιβλιοθήκες και θα καλεί ιθαγενείς μεθόδους (native methods). Να χρησιμοποιείτε τη
Διαβάστε περισσότεραΣχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java
Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή
Διαβάστε περισσότεραΚεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών
Κεφάλαιο 7: Υποπρογράμματα Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υποπρογραμμάτων (subprogram abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων
Διαβάστε περισσότεραΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:
ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραH SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων
Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη
Διαβάστε περισσότεραΑρχές Γλωσσών Προγραμματισμού και Μεταφραστών
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ενότητα 7: Υπορουτίνες Καθ. Γιάννης Γαροφαλάκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ και Πληροφορικής Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction)
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραΚεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων
Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων Σύνοψη Στο παρόν κεφάλαιο θα παρουσιασθούν βασικά στοιχεία όσον αφορά τις stored procedures και τη χρήση ευρετηρίων. Προαπαιτούμενη γνώση H ύλη
Διαβάστε περισσότεραΚεφάλαιο 7: Υπορουτίνες
Κεφάλαιο 7: Υπορουτίνες Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων που μπορεί
Διαβάστε περισσότεραΕκπαιδευτικό Υλικό για την. «Βάση σχολικών μονάδων ΠΣΔ»
ΕΠ ΚτΠ Χρηματοδότηση: Ευρωπαϊκό Κοινωνικό Ταμείο: 75% Εθνικοί Πόροι: 25% Εκπαιδευτικό Υλικό για την «Βάση σχολικών μονάδων ΠΣΔ» Ανάδοχος: Πανεπιστήμιο Αιγαίου Μάρτιος 2008 Αναπτύχθηκε στο πλαίσιο υλοποίησης
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διαβάστε περισσότεραΠρογραμματισμός Ι (HY120)
Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραΣχεδιασμός Βάσεων Δεδομένων
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 5 Δρ. Βασιλική Κούφη Περιεχόμενα Ανάπτυξη προγράμματος Java Σύνδεση με βάση δεδομένων Άσκησης 2 (Εργαστηριακά Μαθήματα
Διαβάστε περισσότεραΗ-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr
Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην
Διαβάστε περισσότεραΠληροφορική 2. Βάσεις Δεδομένων (Databases)
Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν
Διαβάστε περισσότεραΣτοίβες. ΟΑΤ της Στοίβας. Περιγραφή και Υλικό Ανάγνωσης. Αφηρηµένοι Τύποι εδοµένων (AΤ )
Περιγραφή και Υλικό Ανάγνωσης Στοίβες ΟΑφηρηµένος Τύπος εδοµένων της Στοίβας (tack Abstract Data Type (ADT)) (..) Εφαρµογές για Στοίβες (..) Υλοποίηση µε βάση πίνακες (..) Στοίβα βασισµένη σε πίνακα η
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Τα μεταδεδομένα είναι δεδομένα για τα δεδομένα (data about data). Περιγράφουν τη δομή μίας βάσης ή ενός συγκεκριμένου τύπου δεδομένων όπως ενός αντικειμένου, ενός πίνακα. Δρ. Κεραμόπουλος
Διαβάστε περισσότεραΕργαλεία ανάπτυξης εφαρμογών internet Ι
IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του
Διαβάστε περισσότεραΚεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.
Κεφάλαιο 5 Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.84 SQL Data Definition H Γλώσσα Ορισµού (DDL) της SQL χρησιµοποιείται
Διαβάστε περισσότεραLecture 19: Internal DB Programming II
Department of Computer Science University of Cyprus EPL342 Databases Lecture 19: Internal DB Programming II Internal DB Programming, Scripts/Batches in TSQL (Chapter 9.1, Elmasri-Navathe 5ED + ΤransactSQL
Διαβάστε περισσότεραΒάσεις Δεδομένων Ενότητα 3
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 3: Αρχιτεκτονική Συστημάτων Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της
Διαβάστε περισσότεραΠρογραμματισμός Παγκόσμιου Ιστού
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Προγραμματισμός Παγκόσμιου Ιστού 10 η Διάλεξη Δημοσθένης Κυριαζής Δευτέρα 22 Μαΐου 2017 Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης SQL Δημιουργία ΒΔ Δημιουργία
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη 1 3 η ενότητα: Εισαγωγή στις Βάσεις Δεδομένων και στην MySQL
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες
Διαβάστε περισσότεραΔιαδικτυακές Εφαρμογές Ενότητα 1: JPA
Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΒ. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript
Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΑσφάλεια Υπολογιστών Και Δικτύων. Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή
Ασφάλεια Υπολογιστών Και Δικτύων Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή Ονοματεπώνυμο: Κυριακού Ανδρόνικος Αριθμός Μητρώου: 5806 Email: kyriakou@ceid.upatras.gr
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Διαβάστε περισσότερα. Εργαστήριο Βάσεων Δεδομένων. Stored Procedures
Εργαστήριο Βάσεων Δεδομένων Stored Procedures Αρχιτεκτονική επικοινωνίας με τη βάση δεδομένων Μια βάση χρησιμοποιείται μέσω του client-server μοντέλου Τα δεδομένα είναι αποθηκευμένα στον DB Server Οι clients
Διαβάστε περισσότεραΤι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;
Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
Διαβάστε περισσότεραΑνάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask
Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask Το Flask είναι ένα micro περιβάλλον για την ανάπτυξη διαδικτυακών εφαρμογών με βάση τη γλώσσα Python. Micro σημαίνει ότι περιλαμβάνει τις
Διαβάστε περισσότεραPostgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά
ΣΤΟΧΟΣ Postgress Το 9ο εργαστήριο εισάγει τον/ην φοιτητή/τρια στη χρήση και προγραµµατισµό συναρτήσεων στην PostgreSQL. ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ Η σχετική ύλη του βιβλίου του µαθήµατος (διαφάνειες και
Διαβάστε περισσότεραΚλάσεις και αντικείμενα #include <iostream.h<
Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void
Διαβάστε περισσότεραΠροσοµοίωση τροχιάς σε Oracle Spatial 8i DBMS
Στη συνέχεια παρατίθενται ορισµένα συµπληρωµατικά στοιχεία σχετικά µε την προσοµοίωση της τροχιάς κινούµενων αντικειµένων, όπως υλοποιήθηκε σε περιβάλλον Oracle Spatial 8i DBMS. i. ηµιουργία της δοµής
Διαβάστε περισσότεραΣχεδιασμός Βάσεων Δεδομένων
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός
Διαβάστε περισσότεραΛειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων
Διαβάστε περισσότεραΑρχεία και Βάσεις Δεδομένων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 10η: SQL Μέρος 3ο Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών SQL Data Manipulation Language Τελεστής union συνδυάζει subselects
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 11: Χειρισμός Σφαλμάτων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότερα