ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
|
|
- Λεφτέρις Παπακωνσταντίνου
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
2 Ενσωμάτωση SQL εντολών σε μία γενικού σκοπού γλώσσα προγραμματισμού Η φιλόξενη γλώσσα προγραμματισμού έχει στη διάθεση της μια βιβλιοθήκη από συναρτήσεις για κλήσεις στη Βάση Δεδομένων Προγραμματιστική Διεπαφή Εφαρμογών (JDBC) Σχεδιασμός μίας εντελώς νέας γλώσσας. Σχεδιάζεται από την αρχή μια νέα γλώσσα προγραμματισμού Βάσεων Δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2
3 Οι εντολές SQL οι οποίες τοποθετούνται μέσα στον κώδικα της γλώσσας υποδοχής συνιστούν την ενσωματωμένη SQL. Οι εντολές SQL μετασχηματίζονται σε κλήσεις συναρτήσεων. Το τελικό εκτελέσιμο λειτουργεί μόνο για ένα DBMS και εκτελείται στον Διακομιστή της Βάσης Δεδομένων. Δρ. Κεραμόπουλος Ευκλείδης 3
4 Η χρήση των δυνατοτήτων μιας Βάσης Δεδομένων γίνεται με χρήση Διεπαφής (API). Το ίδιο εκτελέσιμο αποκτά πρόσβαση σε πολλά περιβάλλοντα DBMS, χωρίς να χρειάζεται να επαναμεταγλωτίζεται. Το εκτελέσιμο μπορεί να εκτελεστεί και εκτός του Διακομιστή της Βάσης Δεδομένων δίνοντας τη δυνατότητα ταυτόχρονης σύνδεσης με πολλούς και διαφορετικούς Διακομιστές Βάσεων Δεδομένων. Δρ. Κεραμόπουλος Ευκλείδης 4
5 επόμενη ενότητα
6 Begin Declare Section δήλωση μεταβλητών End Declare Section Οι μεταβλητές χρησιμοποιούνται μέσα σε προτάσεις SQL με χρήση της «:» Αντιστοιχία τύπων SQL σε τύπους της γλώσσας υποδοχής Αναφορά σφαλμάτων (sqlca.h) SQLSTATE SQLCODE Δρ. Κεραμόπουλος Ευκλείδης 6
7 Για κάθε γλώσσα υποδοχής υπάρχουν διαφορετικά χαρακτηριστικά και διαφορετικές εντολές για να σημαδεύονται οι SQL εντολές Στην C για παράδειγμα χρησιμοποιούμε το EXEC SQL ; Στην Java υπάρχει το πρότυπο SQLJ και ενσωματώνουμε εντολές σε Java με #SQL Δρ. Κεραμόπουλος Ευκλείδης 7
8 ο Δημιουργία πίνακα. Χρήση ενσωματωμένης SQL σε C Δρ. Κεραμόπουλος Ευκλείδης 8
9 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sqlca.h> EXEC SQL BEGIN DECLARE SECTION; char database[6]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; Δρ. Κεραμόπουλος Ευκλείδης 9
10 int main(int argc, char *argv[]) { if (argc == 4) { strcpy (database, argv[1]); strcpy (userid, argv[2]); strcpy (passwd, argv[3]); EXEC SQL CONNECT TO :database USER :userid using :passwd; else { printf ("\nusage: 1 [database] [userid] [passwd]\n\n"); return 1; Δρ. Κεραμόπουλος Ευκλείδης 10
11 if (sqlca.sqlcode!= 0 ){ printf("error during logon.\n"); exit(2); else { printf("log on successful. \n"); Δρ. Κεραμόπουλος Ευκλείδης 11
12 EXEC SQL WHENEVER SQLERROR goto error; EXEC SQL CREATE TABLE supplier (id VARCHAR(5) not null primary key, name VARCHAR(20), status INTEGER, city VARCHAR(15)); EXEC SQL COMMIT; EXEC SQL DISCONNECT; exit(0); Δρ. Κεραμόπουλος Ευκλείδης 12
13 error: printf("sql error:%ld\n",sqlca.sqlcode); printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL ROLLBACK WORK; exit(1); Δρ. Κεραμόπουλος Ευκλείδης 13
14 Δρ. Κεραμόπουλος Ευκλείδης 14
15 Δρ. Κεραμόπουλος Ευκλείδης 15
16 ecpg 1.pgc gcc -I/usr/include/postgresql -c 1.c gcc -o 1 1.o -lecpg./1 db2lab1 db090 69L14 Δρ. Κεραμόπουλος Ευκλείδης 16
17 ο Εισαγωγή Δεδομένων Χρήση ενσωματωμένης SQL σε C Δρ. Κεραμόπουλος Ευκλείδης 17
18 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <sqlca.h> EXEC SQL BEGIN DECLARE SECTION; char supp_id[5]; char supp_name[20]; long int supp_status; char supp_city[15]; char database[6]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; Δρ. Κεραμόπουλος Ευκλείδης 18
19 int main(int argc, char *argv[]) { if (argc == 4) { strcpy (database, argv[1]); strcpy (userid, argv[2]); strcpy (passwd, argv[3]); EXEC SQL CONNECT TO :database USER :userid USING :passwd; else { printf ("\nusage: 2 [database] [userid] [passwd]\n\n"); return 1; /* endif */ if (sqlca.sqlcode!= 0 ){ printf("error during logon.\n"); exit(2); else { printf("log on successful. \n"); Δρ. Κεραμόπουλος Ευκλείδης 19
20 EXEC SQL WHENEVER SQLERROR goto error while (1) { printf("enter the Supplier's code (or X to end): "); scanf("%s",supp_id); if (supp_id[0] == 'X' supp_id[0] == 'x') { printf("supposed to terminate now...\n"); break; printf("supplier's name: "); scanf("%s",supp_name); printf("supplier's status: "); scanf("%ld",&supp_status); printf("supplier's city: "); scanf("%s",supp_city); Δρ. Κεραμόπουλος Ευκλείδης 20
21 EXEC SQL INSERT INTO supplier (id,name,status,city) VALUES (:supp_id,:supp_name,:supp_status,:supp_city); printf("sqlca.error.code: %ld\n", sqlca.sqlcode); EXEC SQL COMMIT WORK; printf("record %s added.\n\n",supp_id); EXEC SQL COMMIT WORK; EXEC SQL CONNECT RESET; exit(0); Δρ. Κεραμόπουλος Ευκλείδης 21
22 error: printf("sql error:%ld\n",sqlca.sqlcode); printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL ROLLBACK WORK; EXEC SQL DISCONNECT; exit(1); Δρ. Κεραμόπουλος Ευκλείδης 22
23 ο Να παρουσιασθούν τα στοιχεία του (ΕΝΟΣ) προμηθευτή που ο κωδικός του είναι ίδιος με τον κωδικό του προμηθευτή που δίνεται από το πληκτρολόγιο Δρ. Κεραμόπουλος Ευκλείδης 23
24 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <sqlca.h> EXEC SQL BEGIN DECLARE SECTION; char supp_id[5]; char supp_name[20]; long int supp_status; char supp_city[15]; char database[6]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; Δρ. Κεραμόπουλος Ευκλείδης 24
25 int main(int argc, char *argv[]) { if (argc == 4) { strcpy (database, argv[1]); strcpy (userid, argv[2]); strcpy (passwd, argv[3]); EXEC SQL CONNECT TO :database USER :userid USING :passwd; else { printf ("\nusage: 3 [database] [userid] [passwd]\n\n"); return 1; if (sqlca.sqlcode!= 0 ){ printf("error during logon.\n"); exit(2); else { printf("log on successful. \n"); ; Δρ. Κεραμόπουλος Ευκλείδης 25
26 EXEC SQL WHENEVER SQLERROR goto error; printf("enter the id number of the Supplier you wish to retrieve: "); scanf("%s",supp_id); EXEC SQL SELECT id,name,status,city INTO :supp_id,:supp_name,:supp_status,:supp_city FROM supplier WHERE id = :supp_id; printf("supplier ID: %s\n",supp_id); printf("name : %s\n",supp_name); printf("status : %ld\n",supp_status); printf("city : %s\n",supp_city); Δρ. Κεραμόπουλος Ευκλείδης 26
27 error: printf("sql error:%ld\n",sqlca.sqlcode); printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL COMMIT WORK; EXEC SQL DISCONNECT; exit(0); Δρ. Κεραμόπουλος Ευκλείδης 27
28 Λύνουν το πρόβλημα της αδυναμίας χειρισμού των συνόλων δεδομένων από κάποιες γλώσσες υποδοχής όπως, π.χ. η C Οι Λογικοί δρομείς επιτρέπουν την ανάκτηση μία-προς-μία των εγγραφών. Μπορούμε να έχουμε πολλούς λογικούς δρομείς ταυτόχρονα Δρ. Κεραμόπουλος Ευκλείδης 28
29 DECLARE όνομα λογικού δρομέα [INSESITIVE] [SCROLL] CURSOR FOR αίτημα [ORDER BY λίστα-ταξινόμησης] [FOR READ ONLY FOR UPDATE] Δρ. Κεραμόπουλος Ευκλείδης 29
30 Ενεργοποίηση OPEN Ο λογικός δρομέας τοποθετείται αμέσως πριν από την πρώτη πλειάδα Ανάκτηση Μετακίνηση FETCH Μπορούμε να τον μετακινήσουμε μπροστά-πίσω σε όσες θέσεις θέλουμε Απενεργοποίηση CLOSE Δρ. Κεραμόπουλος Ευκλείδης 30
31 Όταν δηλώνουμε έναν δρομέα ως READ ONLY τότε δεν μπορούν να αλλάξουν οι εγγραφές ενός πίνακα. Ένας δρομέας που έχει χαρακτηριστεί read only δεν μπορεί να χρησιμοποιηθεί στη WHERE CURRENT OF φράση σε μία UPDATE ή DELETE εντολή. Ένας δρομέας χαρακτηρίζεται by default ενημερώσιμος (FOR UPDATE). Δρ. Κεραμόπουλος Ευκλείδης 31
32 ΔΗΛΩΣΗ ΤΟΥ ΔΡΟΜΕΑ DECLARE NewRatingCursor CURSOR FOR SELECT Sname, rating FROM Sailors FOR UPDATE OF rating ΑΝΟΙΓΜΑ ΤΟΥ ΔΡΟΜΕΑ OPEN NewRatingCursor ΚΑΤΕΒΑΖΟΥΜΕ ΤΙΣ ΤΙΜΕΣ ΤΗΣ ΠΡΟΒΟΛΗΣ ΣΕ ΜΕΤΑΒΛΗΤΕΣ ΤΗΣ ΓΛΩΣΣΑΣ ΥΠΟΔΟΧΗΣ ΜΕΣΑ ΣΕ ΒΡΟΓΧΟ FETCH NewRatingCursor INTO :Sailors_name, :Sailors_rating Δρ. Κεραμόπουλος Ευκλείδης 32
33 Ο Χρήστης έχει δώσει από το πληκτρολόγιο μία τιμή για το RATING η οποία αποθηκεύεται στο :New_Rating. ΕΝΗΜΕΡΩΣΗ ΤΟΥ ΠΕΔΙΟΥ RATING ΣΤΗΝ ΤΡΕΧΟΥΣΑ ΕΓΓΡΑΦΗ UPDATE Sailors SET rating = :New_rating WHERE CURRENT OF NewRatingCursor ΚΛΕΙΣΙΜΟ ΤΟΥ ΔΡΟΜΕΑ CLOSE NewRatingCursor Δρ. Κεραμόπουλος Ευκλείδης 33
34 Ο Χρήστης έχει δώσει από το πληκτρολόγιο μία τιμή για το RATING η οποία αποθηκεύεται στο :New_Rating. ΕΝΗΜΕΡΩΣΗ ΤΟΥ ΠΕΔΙΟΥ RATING ΣΤΗΝ ΤΡΕΧΟΥΣΑ ΕΓΓΡΑΦΗ SQL:2003 UPDATE Sailors SET rating = :New_rating WHERE CURRENT OF NewRatingCursor ΚΛΕΙΣΙΜΟ ΤΟΥ ΔΡΟΜΕΑ CLOSE NewRatingCursor Δρ. Κεραμόπουλος Ευκλείδης 34
35 Όταν ένας δρομέας δεν δηλώνεται scroll τότε μπορεί να κινείται μόνο μπροστά EXEC SQL DECLARE cur_employee SCROLL CURSOR FOR Δρ. Κεραμόπουλος Ευκλείδης 35
36 NEXT PRIOR FIRST LAST ABSOLUTE no RELATIVE no FORWARD no BACKWARD no FETCH FORWARD 5 FROM NewRatingCursor INTO :Sailors_Sname, :Sailors_rating; Δρ. Κεραμόπουλος Ευκλείδης 36
37 Μετατρέπει τον δρομέα σε αδρανή Αλλιώς θα επέτρεπε αλλοίωση του πίνακα από κάποια άλλη συναλλαγή Δρ. Κεραμόπουλος Ευκλείδης 37
38 ο Να παρουσιασθούν τα στοιχεία των (ΠΟΛΛΩΝ) προμηθευτών με αλφαβητική σειρά ως προς το όνομα. Δρ. Κεραμόπουλος Ευκλείδης 38
39 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #include <sqlca.h> EXEC SQL BEGIN DECLARE SECTION; char supp_id[5]; char supp_name[20]; long int supp_status; char supp_city[15]; char database[6]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; Δρ. Κεραμόπουλος Ευκλείδης 39
40 int main(int argc, char *argv[]) { if (argc == 4) { strcpy (database, argv[1]); strcpy (userid, argv[2]); strcpy (passwd, argv[3]); EXEC SQL CONNECT TO :database USER :userid USING :passwd; else { printf ("\nusage: prog1 [database] [userid] [passwd]\n\n"); return 1; if (sqlca.sqlcode!= 0 ){ printf("error during logon.\n"); exit(2); else { printf("log on successful. \n"); EXEC SQL WHENEVER SQLERROR goto error; EXEC SQL WHENEVER NOT FOUND goto done; Δρ. Κεραμόπουλος Ευκλείδης 40
41 EXEC SQL DECLARE cursor1 CURSOR FOR SELECT id,name,status,city FROM supplier ORDER BY name; EXEC SQL OPEN cursor1; Δρ. Κεραμόπουλος Ευκλείδης 41
42 for (;;) { strcpy(supp_id," "); strcpy(supp_name," "); strcpy(supp_city," "); supp_status = 0; EXEC SQL FETCH cursor1 INTO :supp_id,:supp_name,:supp_status,:supp_city; printf(" \n"); printf("supplier ID: %s\n",supp_id); printf("name : %s\n",supp_name); printf("status : %ld\n",supp_status); printf("city : %s\n",supp_city); Δρ. Κεραμόπουλος Ευκλείδης 42
43 error: printf(" \n"); printf(" \n"); printf("sql error:%ld\n",sqlca.sqlcode); printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL DISCONNECT; done: printf("no more rows found\n"); EXEC SQL CLOSE cursor1; exit(0); EXEC SQL COMMIT WORK; EXEC SQL DISCONNECT; exit(0); Δρ. Κεραμόπουλος Ευκλείδης 43
44 Υπάρχουν περιπτώσεις όπου ένα σύστημα το οποίο πρέπει να έχει πρόσβαση σε ένα ΣΔΒΔ δημιουργεί διαφορετικό κώδικα ανάλογα με τις απαιτήσεις του χρήστη. Δύο είναι οι κύριες εντολές Prepare Execute Δρ. Κεραμόπουλος Ευκλείδης 44
45 ο Δημιουργία Πίνακα με Δυναμική SQL Δρ. Κεραμόπουλος Ευκλείδης 45
46 #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #include <sqlca.h> EXEC SQL BEGIN DECLARE SECTION; char onebuffer[50]; char database[6]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; Δρ. Κεραμόπουλος Ευκλείδης 46
47 int main(int argc, char *argv[]) { char onestring[10]; int acounter; strcpy(onestring,""); strcpy(onebuffer,""); if (argc == 4) { strcpy (database, argv[1]); strcpy (userid, argv[2]); strcpy (passwd, argv[3]); EXEC SQL CONNECT TO :database USER :userid USING :passwd; else { printf ("\nusage: 5 [database] [userid] [passwd]\n\n"); return 1; /* endif */ if (sqlca.sqlcode!= 0 ){ printf("error during logon.\n"); exit(2); else { printf("log on successful. \n"); Δρ. Κεραμόπουλος Ευκλείδης 47
48 EXEC SQL WHENEVER SQLERROR GOTO error; printf("enter the name of the table you wish to create: "); scanf("%s",onestring); strcpy(onebuffer,"create TABLE "); strcat(onebuffer,onestring); strcat(onebuffer,"(child char(15), age integer)"); EXEC SQL EXECUTE IMMEDIATE :onebuffer; EXEC SQL COMMIT WORK; EXEC SQL DISCONNECT; exit(0); error: printf("sql error: %ld\n",sqlca.sqlcode); printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL ROLLBACK WORK; EXEC SQL DISCONNECT; exit(1); Δρ. Κεραμόπουλος Ευκλείδης 48
49 ο Εισαγωγή τιμών με δυναμική SQL Δρ. Κεραμόπουλος Ευκλείδης 49
50 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #include <sqlca.h> EXEC SQL BEGIN DECLARE SECTION; char onebuffer[70]; char child[15]; long int age; char database[6]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; Δρ. Κεραμόπουλος Ευκλείδης 50
51 int main(int argc, char *argv[]) { char onestring[10]; /* user states*/ int acounter; strcpy(onestring,""); strcpy(onebuffer,""); if (argc == 4) { strcpy (database, argv[1]); strcpy (userid, argv[2]); strcpy (passwd, argv[3]); EXEC SQL CONNECT TO :database USER :userid USING :passwd; else { printf ("\nusage: 6 [database] [userid] [passwd]\n\n"); return 1; if (sqlca.sqlcode!= 0 ){ printf("error during logon.\n"); exit(2); else { printf("log on successful. \n"); EXEC SQL WHENEVER SQLERROR GOTO error; Δρ. Κεραμόπουλος Ευκλείδης 51
52 printf("enter the name of the table you wish to append lines to: "); scanf("%s",onestring); strcpy(onebuffer,"insert INTO "); strcat(onebuffer,onestring); strcat(onebuffer,"(child, age) VALUES (?,?)"); EXEC SQL PREPARE s1 FROM :onebuffer; Δρ. Κεραμόπουλος Ευκλείδης 52
53 while (1){ for (acounter=0;acounter<15;acounter++){ if (acounter==0) strcpy(child," "); else strcat(child," "); printf("\nenter a child's name: "); scanf("%s",child); printf("\nenter the child's age: "); scanf("%ld",&age); if (age==0) { printf("\nprogram terminates!\n"); EXEC SQL COMMIT WORK; break; EXEC SQL EXECUTE s1 USING :child, :age; Δρ. Κεραμόπουλος Ευκλείδης 53
54 EXEC SQL COMMIT WORK; EXEC SQL DISCONNECT; exit(0); error: printf("sql error: %ld\n",sqlca.sqlcode); printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL ROLLBACK WORK; EXEC SQL DISCONNECT; exit(1); Δρ. Κεραμόπουλος Ευκλείδης 54
55 EXEC SQL PREPARE employee_statement FROM 'SELECT emp_lname FROM employee'; EXEC SQL DECLARE cur_employee CURSOR FOR employee_statement; Δρ. Κεραμόπουλος Ευκλείδης 55
56 επόμενη ενότητα
10 η Διάλεξη Python Βάσεις δεδομένων στη python
10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπου στα δεδομένα
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Σε ένα πρόγραμμα κατά την εκτέλεση του ένα ερώτημα SQL μπορεί δυναμικά να παίρνει διαφορετικές παραμέτρους μπορεί να πάρει πολλές παραμέτρους oι παράμετροι δηλώνονται με? Στις παραμέτρους
Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)
Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Είναι τμήματα προγράμματος Βάσης Δεδομένων (διαδικασίες\procedures ή συναρτήσεις\functions) που αποθηκεύονται μόνιμα και εκτελούνται στον διακομιστή της Βάσης Δεδομένων. Δρ. Κεραμόπουλος
Βάσεις Δεδομένων (Databases)
Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δημιουργία Πεδίων Ορισμού Πεδίο Ορισμού είναι συστατικό του σχήματος για τον ορισμό των μακροεντολών
(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2
Η Γλώσσα SQL (Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL H SQL έχει διάφορα τµήµατα: Γλώσσα Ορισµού εδοµένων (ΓΟ ) Γλώσσα
PL/SQL. Κώστας Στεφανίδης
PL/SQL Κώστας Στεφανίδης Βασική ομή DECLARE /* Μεταβλητές και τύποι */ BEGIN /* ιαδικασίες και εντολές PL/SQL*/ /* Είναι το μόνο τμήμα που απαιτείται */ EXCEPTION /* Εντολές χειρισμού λαθών */ END; Βασική
C: Από τη Θεωρία στην Εφαρμογή
Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1
ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES
ΕΝΑΥΣΜΑΤΑΣΤΗΝPOSTGRES ΓΕΝΙΚΑ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπουσταδεδομέναονομάζεταιέναυσμα(trigger).
Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures
Εργαστήριο βάσεων δεδομένων MySQL Stored Procedures Stored Procedures Μια store procedure είναι μια διαδικασία. Είναι ένα πρόγραμμα που αποτελείται από SQL εντολές. Αποθηκεύεται και εκτελείται στον database
Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr
Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη
ΕΠΛ 342 Βάσεις εδοµένων
ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 6 ο PL/SQL Ιωάννα Συρίµη syrimi@ucy.ac.cy PL/SQL Procedural Language/SQL Επέκταση της SQL µε χαρακτηριστικά γλωσσών προγραµµατισµού Επιτρέπει την χρήση προτάσεων SQL
7. Ανάπτυξη Εφαρµογών Βάσεων Δεδοµένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 7. Ανάπτυξη Εφαρµογών Βάσεων Δεδοµένων Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης 2017-18 Διάρθρωση
Προγραμματισμός Υπολογιστών με C++
Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 19η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Βασικές διαφορές της C από τη C++. Απλά παραδείγματα προγραμμάτων C.
Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.
Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...
Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι
Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/
Βάσεις Δεδομένων Ι - 05. SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ
Βάσεις Δεδομένων Ι - 05 SQL Μέρος 3 ο (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Πρόσθετες Διαφάνειες σε Προηγούμενα Θέματα...σε Διαγραφή Πλειάδων Σημασιολογία
( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...
sname rating age Dustin 7 45.0 29 Brutus 1 33.0 Lubber 8 55.5 32 Andy 8 25.5 58 Rusty 10 35.0 64 Horatio 7 35.0 71 Zorba 10 16.0 74 Horatio 9 35.0 85 Art 3 25.5 95 Bob 3 63.5 day 101 10/10/98 102 10/10/98
Εργαστήριο Βάσεων Δεδομένων. 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
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:
Ενότητα 3: Σχεσιακό Μοντέλο. Από το ιδεατό στο λογικό (σχεσιακό) μοντέλο. Από το λογικό στο φυσικό (SQL) μοντέλο Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
MySQL stored procedures
MySQL stored procedures Δημήτρης Σουραβλιάς Δομή παρουσίασης Εισαγωγή Δημιουργία μιας απλής stored procedure Μεταβλητές Παράμετροι Ροή ελέγχου Cursors 2 Εισαγωγή Μια stored procedure: είναι ένα τμήμα προγράμματος
H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων
Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη
ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ
ΑΠΟΘΗΚΕΥΜΕΝΕΣΔΙΑΔΙΚΑΣΙΕΣ ΓΕΝΙΚΑ Οι αποθηκευμένες διαδικασίες είναι τμήματα προγράμματος Βάσης Δεδομένων (διαδικασίες\procedures ή συναρτήσεις\functions) που αποθηκεύονται μόνιμα και εκτελούνταιστονδιακομιστήτηςβάσηςδεδομένων.
Προγραμματισμός Ι (HY120)
Προγραμματισμός Ι (HY120) #5 εκτέλεση υπό συνθήκη 1 Σπύρος Λάλης Ροή εκτέλεσης Μέχρι στιγμής η ροή εκτέλεσης του κώδικα είναι αυστηρά γραμμική Οι εντολές που γράφουμε στον κώδικα μας εκτελούνται μια προς
ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ)
[Ημερομηνία] ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗΝ TRANSACT-SQL ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ Υπεύθυνος: Καρβούνης Χ. Ευάγγελος Η Transact-SQL (T-SQL) είναι ή υλοποίηση της γλώσσας ερωταπαντήσεων
MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και
5 η Διάλεξη Python - Αρχεία
5 η Διάλεξη Python - Αρχεία Αρχεία Άνοιγμα Επεξεργασία Κλείσιμο Αρχεία Η python κάνει διάκριση μεταξύ αρχείων κειμένου (text) και δυαδικών αρχείων (binary) Τα δεδομένα στα αρχεία κειμένου χωρίζονται μεταξύ
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά
9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):
9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης
ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:
ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ
Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL Ευαγγελία Πιτουρά 1 Τι έχουμε δει Μοντελοποίηση Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)
Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε
Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.
Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την
Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.
Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη 1 3 η ενότητα: Εισαγωγή στις Βάσεις Δεδομένων και στην MySQL
Προγραμματισμός Ι (HY120)
Προγραμματισμός Ι (HY120) #6 εκτέλεση σε επανάληψη 1 Σπύρος Λάλης Εκτέλεση σε επανάληψη: while while () lexpr body true false Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται σε μια τιμή
Εισαγωγή στην πληροφορική
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Β) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης
Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004
Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004 Θέλουµε να φτιάξουµε µια βάση στην οποία θα καταχωρούνται οι φοιτητές του τµήµατος Μαθηµατικών,
Μέρος Γ. 22C901 Βάσεις εδοµένων και Γνώσεων. 9ο Εξάµηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών. Ν. Αβούρης
22C901 Βάσεις εδοµένων και Γνώσεων 9ο Εξάµηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Ν. Αβούρης Μέρος Γ Ν. Αβούρης- Βάσεις εδοµένων και Γνώσεων 1 ιαφάνειες Γ µέρος (µαθήµατα 8-12) Σκοπός του
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Έννοια της
Ηλεκτρονικοί Υπολογιστές II
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Εντολές ορισμού δεδομένων (DDL) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό
Περιεχόμενα. Πρόλογος... 21
Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31
Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Ενημέρωση Βάσης Δεδομένων (INSERT, UPDATE, DELETE) SQL DCL (GRANT, DENY, REVOKE)
(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)
(Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη
Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
. Εργαστήριο Βάσεων Δεδομένων. Stored Procedures
Εργαστήριο Βάσεων Δεδομένων Stored Procedures Αρχιτεκτονική επικοινωνίας με τη βάση δεδομένων Μια βάση χρησιμοποιείται μέσω του client-server μοντέλου Τα δεδομένα είναι αποθηκευμένα στον DB Server Οι clients
Σημειώσεις όγδοης εβδομάδας
Σημειώσεις όγδοης εβδομάδας Για να την δημιουργία σειριακών αρχείων, χρησιμοποιείται η fopen(filename, w ). Το αρχείο δημιουργείται στον ίδιο φάκελο που τρέχει το εκτελέσιμο πρόγραμμα. Το παρακάτω πρόγραμμα,
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο
Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων
Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας
Προγραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 6: Δομές Ελέγχου Δομές ελέγχου 2 Με τις εντολές εισόδου, εξόδου και επεξεργασίας των τιμών των μεταβλητών μπορεί να γραφτούν απλά προγράμματα. Οι δυνατότητες είναι περιορισμένες.
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με
MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1
MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και
Σημειώσεις έκτης και έβδομης εβδομάδας
Σημειώσεις έκτης και έβδομης εβδομάδας Προσέξτε το μέγεθος των δύο δομών. Το Node είναι 8 bytes, ενώ το Node1 1 byte. Η διαφορά έγκειται στο ότι η πρώτη δομή περιέχει ακέραιο, τον δείκτη next, οπότε πρέπει
Προσοµοίωση τροχιάς σε Oracle Spatial 8i DBMS
Στη συνέχεια παρατίθενται ορισµένα συµπληρωµατικά στοιχεία σχετικά µε την προσοµοίωση της τροχιάς κινούµενων αντικειµένων, όπως υλοποιήθηκε σε περιβάλλον Oracle Spatial 8i DBMS. i. ηµιουργία της δοµής
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός
Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ
Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)
Προγραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα ξένα κλειδιά
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Επεξεργασία Αρχείων Κειµένου
Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά
Προγραμματισμός συστημάτων UNIX/POSIX. Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes)
Προγραμματισμός συστημάτων UNIX/POSIX Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes) Επικοινωνία μεταξύ διεργασιών γονέα-παιδιού Κατά κάποιο τρόπο, θα δημιουργήσουμε ένα τύπο
Μεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)
είκτες και Πίνακες (2)
είκτες και Πίνακες (2) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πολυδιάστατοι πίνακες Πέρασµα παραµέτρων σε προγράµµατα C ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1-1 Πίνακες εικτών Πίνακας δεικτών είναι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI B. Μεγαλοοικονόμου Αντικειμενοστρεφή και αντικειμενο-σχεσιακά ΣΔΒΔ (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του
ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΔΕΣΠΟΙΝΑ ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ dpap@unipi.gr 2 ΤΙ ΕΙΝΑΙ Η SQL? (1/2) Η SQL (Structured Query Language) αποτελεί μια πρότυπη
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 9 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Βάσεις Περιβαλλοντικών Δεδομένων
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Περιβαλλοντικών Δεδομένων Ενότητα 11: SQL ερωτήματα ενεργειών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται
Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL
Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL
Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.
Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου Θέµα 1. (α') 2 - ii 3 - iii 4 - iv
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου 2011 Θέµα 1 (α') 1 - i 2 - ii 3 - iii 4 - iv 5 - v 6 - vi 7 - vii 8 - viii 9 - ix 10 - x Το αποτέλεσµα είναι η αντιστοιχία των
Δυναμική δέσμευση και αποδέσμευση μνήμης. Προγραμματισμός II 1
Δυναμική δέσμευση και αποδέσμευση μνήμης Προγραμματισμός II 1 lalis@inf.uth.gr Γιατί χρειάζεται η δυναμική μνήμη; Οι απαιτήσεις του προγράμματος σε μνήμη μπορεί να είναι άγνωστες την ώρα της συγγραφής
Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1
Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός
ΕΠΛ 342 Βάσεις εδοµένων
ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 3 ο SQL - DML Ιωάννα Συρίµη syrimi@ucy.ac.cy Data Manipulation Language Εισαγωγή νέων Εγγραφών Insert Into ιαγραφή Εγγραφών Delete Αλλαγή υφιστάµενων Εγγραφών Update
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 8 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Διάλεξη 17: Προγραμματισμός Βάσης Δεδομένων Ι. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 17: Προγραμματισμός Βάσης Δεδομένων Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Όψεις (Views) σε TSQL Αποθηκευμένες Διαδικασίες (Stored Procedures) σε TSQL
Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)
Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 10 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
Ενδεικτικές λύσεις και στατιστικά
Προγραμματισμός 1 Σύντομο Quiz 25/9/9 Ενδεικτικές λύσεις και στατιστικά Ερώτηση 1: Γράψτε παρακάτω συνάρτηση η οποία δέχεται ως παραμέτρους ένα string και ένα χαρακτήρα και επιστρέφει τον αριθμό των εμφανίσεων
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Β' Περιόδου Θέµα 1. (α')
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Β' Περιόδου 2011 Θέµα 1 (α') Η άποψη που εκφράζεται στην εν λόγω πρόταση είναι λανθασµένη. Η πιθανή βελτίωση της ταχύτητας εκτέλεσης των προγραµµάτων
Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.
Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)
Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα
Εργαστήριο 2: Πίνακες
Εργαστήριο 2: Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Επεξεργασία Πινάκων - Υλοποίηση της Δυαδικής Αναζήτησης σε πίνακες - Υλοποίηση της Ταξινόμησης με Επιλογής σε πίνακες ΕΠΛ035
Μεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 14 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)
(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
(Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα
Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σκανδάλες (Triggers) σε TSQL Ευρετήρια (Indexes) σε TSQL Εισαγωγή στον διαδικαστικό
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες (Transactions) Μέχρι στιγμής θεωρούσαμε πως υπάρχει μόνο ένας DB χρήστης που εκτελεί μία
Φροντιςτήριο. Linked-List
Φροντιςτήριο Linked-List 1 Linked List Μια linked list είναι μια ακολουθία από ςυνδεδεμένουσ κόμβουσ Κάθε κόμβοσ περιέχει τουλάχιςτον Μια πληροφορία (ή ένα struct) Δείκτη ςτον επόμενο κόμβο τησ λίςτασ
Το σχεσιακό μοντέλο βάσεων δεδομένων
ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί
Διάλεξη 18η: Διαχείρηση Αρχείων
Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh
Προγραμματισμός Παγκόσμιου Ιστού
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Προγραμματισμός Παγκόσμιου Ιστού 10 η Διάλεξη Δημοσθένης Κυριαζής Δευτέρα 22 Μαΐου 2017 Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης SQL Δημιουργία ΒΔ Δημιουργία
Η γλώσσα προγραμματισμού C Δυναμική διαχείριση μνήμης
Η γλώσσα προγραμματισμού C Δυναμική διαχείριση μνήμης Κατηγορίες μνήμης εκτελέσιμου προγράμματος Στις καθολικές και στατικές μεταβλητές οι χώροι μνήμης δεσμεύονται κατά την διάρκεια της μεταγλώττισης.
Τμήμα Διοίκησης Επιχειρήσεων
Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE