ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Εργαστήριο SQL SERVER. ρ Γεωργία Γκαράνη

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

Download "ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Εργαστήριο SQL SERVER. ρ Γεωργία Γκαράνη"

Transcript

1 ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΛΑΡΙΣΑΣ ΣΧΟΛΗ ΣΤΕΦ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστήριο ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ SQL SERVER ρ Γεωργία Γκαράνη

2 2

3 ΠΕΡΙΕΧΟΜΕΝΑ Εργαστήριο 1: ηµιουργία πινάκων 5 Εργαστήριο 2: Εισαγωγή δεδοµένων στους πίνακες 11 Εργαστήριο 3: Ενηµέρωση- ιαγραφή δεδοµένων 17 Τροποποίηση- ιαγραφή πίνακα Εργαστήριο 4: Ανάκτηση-Επιλογή-Εµφάνιση δεδοµένων 25 Η εντολή SELECT Εργαστήριο 5: Όρος DISTINCT, Αύξουσα/φθίνουσα ταξινόµηση, 29 Συνένωση στηλών και literals, NULL τιµές, SQL τελεστές στον όρο WHERE Εργαστήριο 6: DATE και CONVERSION Functions 37 Εργαστήριο 7: GROUP Functions 45 Εργαστήριο 8: UNION, SOUNDEX, DIFFERENCE, 51 VIEWS, SUBQUERIES Εργαστήριο 9: Σύζευξη πινάκων (JOIN) 65 Εργαστήριο 10: STRING Functions 71 Εργαστήριο 11: MATH Functions 83 Εργαστήρια 12-13: Ανάπτυξη εφαρµογής 91 Γενικές επαναληπτικές ασκήσεις 97 Παράρτηµα 103 3

4 4

5 Εργαστήριο 1: ηµιουργία πινάκων 5

6 6

7 Περιγραφή της βάσης δεδοµένων Σηµείωση: Στις εντολές της SQL, όπου υπάρχει [ ] σηµαίνει ότι αυτό που περικλείετε µέσα σ αυτό είναι προαιρετικό. ηµιουργία µιας βάσης δεδοµένων µε όνοµα my_business η οποία περιγράφει µια επιχείρηση. Η βάση δεδοµένων δηµιουργείται µε την εντολή: CREATE DATABASE <όνοµα βάσης δεδοµένων>; Βήµα 1 ο : ηµιουργήστε τη βάση δεδοµένων µε όνοµα my_business. Στη συνέχεια επιλέξτε την, πηγαίνοντας στη λίστα που έχει τίτλο Database και διαλέγοντας την πρώτη φορά Refresh και στη συνέχεια το όνοµά της, δηλαδή my_business. Από τώρα και στο εξής είστε στη βάση δεδοµένων my_business και δουλεύετε µέσα σ αυτή. Η επιχείρηση που περιγράφει η βάση δεδοµένων my_business θα αποτελείται από έναν αριθµό υπαλλήλων, έναν αριθµό τµηµάτων, έναν αριθµό προϊόντων, έναν αριθµό πελατών και έναν αριθµό παρεγγελιών. Οι υπάλληλοι ανήκουν σε µια µισθολογική κλίµακα ανάλογα µε τα χρήµατα που παίρνουν. Επίσης, οι υπάλληλοι είναι δυνατόν να παίρνουν ένα επίδοµα, ανάλογα µε τη θέση που έχουν στην επιχείρηση και τον µισθό τους. Τα προϊόντα έχουν κάποια περιγραφή, κάποια στάνταρ τιµή και µια ελάχιστη τιµή. 7

8 Βήµα 2 ο : Σε πρώτη φάση θα δηµιουργήσετε τους πίνακες που θα αποτελούν τη βάση δεδοµένων. Οι πίνακες δηµιουργούνται µε την εντολή: CREATE TABLE <όνοµα πίνακα> (<όνοµα πεδίου> <τύπος πεδίου> (<µέγεθος>) [NULL/NOT NULL], <όνοµα πεδίου> <τύπος πεδίου> (<µέγεθος>) [NULL/NOT NULL], ); Οι πίνακες θα είναι οι ακόλουθοι: DEPT, EMP, BONUS, SALGRADE, CUSTOMER, ORD, ITEM, PRODUCT, PRICE. Οι πίνακες αυτοί θα αποτελούνται από τα παρακάτω πεδία: Προσοχή: Στα παρακάτω, όπου δεν ορίζεται στο όνοµα πεδίου αν είναι NULL ή NOT NULL, δεν θα βάζετε τίποτα! Πίνακας DEPT Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o DEPTNO NUMERIC 2 o DNAME CHAR 14 o LOC CHAR 13 Το πεδίο DEPTNO πρέπει να οριστεί NOT NULL. Πίνακας EMP Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o EMPNO NUMERIC 4 o ENAME CHAR 10 o JOB CHAR 9 o MGR NUMERIC 4 o HIREDATE DATETIME 8

9 o SAL NUMERIC 7, 2 (7 ακέραια και δύο δεκαδικά ψηφία) o COMM NUMERIC 7, 2 o DEPTNO NUMERIC 2 Τα πεδία EMPNO και DEPTNO πρέπει να οριστούν NOT NULL. Πίνακας BONUS Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o ENAME CHAR 10 o JOB CHAR 9 o SAL NUMERIC o COMM NUMERIC Πίνακας SALGRADE Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o GRADE NUMERIC o LOSAL NUMERIC o HISAL NUMERIC Πίνακας CUSTOMER Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o ZIP CHAR 9 o STATE CHAR 2 o REPID NUMERIC 4 o PHONE CHAR 9 o NAME CHAR 45 o CUSTID NUMERIC 6 o CREDITLIMIT NUMERIC 9, 2 o CITY CHAR 30 o AREA NUMERIC 3 o ADDRESS CHAR 40 o COMMENTS TEXT Τα πεδία CUSTID και REPID πρέπει να οριστούν NOT NULL. 9

10 Πίνακας ORD Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o TOTAL NUMERIC 8, 2 o SHIPDATE DATETIME o ORDID NUMERIC 4 o ORDERDATE DATETIME o CUSTID NUMERIC 6 o COMMPLAN CHAR 1 Τα πεδία ORDID και CUSTID πρέπει να οριστούν NOT NULL. Πίνακας ITEM Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o QTY NUMERIC 8 o PRODID NUMERIC 6 o ORDID NUMERIC 4 o ITEMTOT NUMERIC 8, 2 o ITEMID NUMERIC 4 o ACTUALPRICE NUMERIC 8, 2 Τα πεδία ORDID και ITEMID πρέπει να οριστούν NOT NULL. Πίνακας PRODUCT Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o PRODID NUMERIC 6 o DESCRIP CHAR 30 Πίνακας PRICE Όνοµα πεδίου Τύπος πεδίου Μέγεθος πεδίου o STDPRICE NUMERIC 8, 2 o STARTDATE DATETIME o PRODID NUMERIC 6 o MINPRICE NUMERIC 8, 2 o ENDDATE DATETIME Το πεδίο PRODID πρέπει να οριστεί NOT NULL. 10

11 Εργαστήριο 2 : Εισαγωγή δεδοµένων στους πίνακες 11

12 12

13 Βήµα 1 ο : Θα εισαγάγετε δεδοµένα µέσα στους πίνακες αυτούς. Η εισαγωγή δεδοµένων γίνεται µε την εντολή: INSERT INTO <όνοµα πίνακα> [(<όνοµα πεδίου>, <όνοµα πεδίου>,...)] VALUES (<τιµή>, <τιµή>,...); ΠΡΟΣΟΧΗ! Σε περίπτωση που κατά λάθος πληκτρολογήσετε λανθασµένα δεδοµένα στους πίνακες ΜΗΝ προσπαθήσετε να τα διορθώσετε! Οι εγγραφές θα ελεγθούν αν είναι σωστές στο επόµενο εργαστήριο και θα διορθωθούν σε περιπτώσεις λαθών τότε. Τα δεδοµένα είναι τα ακόλουθα: Πίνακας DEPT DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON Πίνακας EMP EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7839 KING PRESIDENT NULL 17-NOV NULL BLAKE MANAGER MAY NULL CLARK MANAGER JUN NULL JONES MANAGER APR NULL MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC NULL WARD SALESMAN FEB FORD ANALYST DEC NULL SMITH CLERK DEC NULL SCOTT ANALYST DEC NULL ADAMS CLERK JAN NULL MILLER CLERK JAN NULL 10 13

14 Πίνακας SALGRADE GRADE LOSAL HISAL Πίνακας CUSTOMER ZIP STATE REPID PHONE NAME CUSTID CREDITLIMIT CITY AREA ADDRESS COMMENTS CA JOCKSPORTS BELMONT VIEWRIDGE Very friendly people to work with -- sales rep likes to be called Mike CA TKB SPORT SHOP REDWOOD CITY BOLI RD. Rep called 5/8 about change in order - contact shipping CA VOLLYRITE BURLINGAME HAMILTON Company doing heavy promotion beginning 10/89. Prepare for large orders during winter CA JUST TENNIS BURLINGAME 415 HILLVIEW MALL Contact rep about new line of tennis rackets CA EVERY MOUNTAIN CUPERTINO SURRY RD. Customer with high market share (23%) due to aggressive advertising CA K + T SPORTS SANTA CLARA EL PASEO Tends to order large amounts of merchandise at once. Accounting is considering raising their credit limit. Πίνακας ORD TOTAL SHIPDATE ORDID ORDERDATE CUSTID COMMPLAN JAN JAN A JAN JAN B JAN JAN C MAY MAY A JUN JUN B JUN JUN A JUL JUL A JUL JUL A AUG AUG B JUL JUL C 14

15 Πίνακας ITEM QTY PRODID ORDID ITEMTOT ITEMID ACTUALPRICE Πίνακας PRODUCT PRODID DESCRIP ACE TENNIS RACKET I ACE TENNIS RACKET II ACE TENNIS BALLS-3 PACK ACE TENNIS BALLS-6 PACK ACE TENNIS NET SP TENNIS RACKET SP JUNIOR RACKET Πίνακας PRICE STDPRICE STARDATE PRODID MINPRICE ENDDATE JAN DEC JAN JUN MAY JUN JAN MAY JAN DEC JUN JAN MAY JAN FEB NOV

16 Μπορείτε να δείτε τα δεδοµένα που έχετε εισάγει στους πίνακες της βάσης δεδοµένων που δηµιουργήσατε χρησιµοποιώντας την εντολή: SELECT * FROM <όνοµα πίνακα>; 16

17 Εργαστήριο 3 : Ενηµέρωση- ιαγραφή δεδοµένων Τροποποίηση- ιαγραφή πίνακα 17

18 18

19 Βήµα 1 ο : ιορθώστε λάθη που τυχόν έχετε κάνει στην εισαγωγή των δεδοµένων στους πίνακές σας χρησιµοποιώντας την εντολή: UPDATE <όνοµα πίνακα> SET <όνοµα πεδίου> = τιµή παράσταση υποερώτηµα, <όνοµα πεδίου> = τιµή παράσταση υποερώτηµα,... WHERE <συνθήκη> ; Επίσης, στον πίνακα PRICE, αλλάξτε την ηµεροµηνία ENDDATE στις εγγραφές που έχουν ηµεροµηνία STARTDATE ίση µε 01-JAN-86, σε 31- OCT-99. Ελέγξτε τα δεδοµένα για να διαπιστώσετε αν έχουν γίνει σωστά οι αλλαγές. Βήµα 2 ο : Σε περίπτωση που θέλετε να διαγράψετε τελείως µια ή περισσότερες εγγραφές σε κάποιον πίνακα, χρησιµοποιείστε την εντολή: DELETE FROM <όνοµα πίνακα> WHERE <συνθήκη>; ιαγράψτε την 9 η εγγραφή του πίνακα ORD, καθώς και την 5 η και 9 η εγγραφή του πίνακα ITEM. 19

20 Βήµα 3 ο : Για να αλλάξετε κάποιον πίνακα που έχετε δηµιουργήσει, µπορείτε να χρησιµοποιήσετε την εντολή ALTER. Συγκεκριµένα, για να προσθέσετε ένα πεδίο στον πίνακα, η εντολή είναι ως εξής: ALTER TABLE <όνοµα πίνακα> ADD <όνοµα πεδίου> <τύπος πεδίου> <µέγεθος>; Προσθέστε στον πίνακα BONUS ένα πεδίο µε όνοµα STARTDATE τύπου DATETIME. Για να διαγράψετε ένα πεδίο από έναν πίνακα, η εντολή είναι ως εξής: ALTER TABLE <όνοµα πίνακα> DROP COLUMN <όνοµα πεδίου>; ιαγράψτε το πεδίο µε όνοµα STARTDATE του πίνακα BONUS. Για να τροποποιήσετε τον ορισµό ενός πεδίου η εντολή είναι: ALTER TABLE <όνοµα πίνακα> ALTER COLUMN <όνοµα πεδίου> <τύπος πεδίου> (<µέγεθος>); Ξαναπροσθέστε στον πίνακα BONUS το πεδίο STARTDATE τύπου DATETIME. Τροποποιήστε τον τύπο του πεδίου STARTDATE του πίνακα BONUS από DATETIME σε CHAR (12). Επειδή, οι εντολές της SQL είναι πάρα πολλές και η σύνταξή τους µπορεί να γίνει πολύπλοκη, ανάλογα µε το ερώτηµα που πρόκειται να εκφράσετε, µπορείτε να χρησιµοποιείτε τη βοήθεια που σας δίνεται από το Help και επιλέγοντας το Transact-SQL Help και στη συνέχεια το Index. 20

21 Χρησιµοποιώντας τη «Βοήθεια» για να δείτε την σωστή σύνταξη της εντολής ALTER, διαγράψτε το πεδίο STARTDATE που προσθέσατε στον πίνακα BONUS. Βήµα 4 ο : Μπορείτε να προσθέσετε πρωτεύοντα και υποψήφια κλειδιά σε κάποιον πίνακα χρησιµοποιώντας και πάλι την εντολή ALTER: ALTER TABLE <όνοµα πίνακα> ADD CONSTRAINT <όνοµα-περιορισµού> PRIMARY KEY (<όνοµα πεδίου>, <όνοµα πεδίου>,...) FOREIGN KEY (<όνοµα πεδίου>, <όνοµα πεδίου>,...) REFERENCES <όνοµα πίνακα> (<όνοµα πεδίου>, <όνοµα πεδίου>,...); όπου η λέξη CONSTRAINT (στα ελληνικά σηµαίνει «περιορισµός») ορίζει την αρχή του ορισµού ενός πρωτεύοντος ή ξένου κλειδιού και <όνοµαπεριορισµού> είναι το όνοµα του καινούριου περιορισµού (κάθε πρωτεύον ή ξένο κλειδί όταν ορίζεται πρέπει να παίρνει και ένα όνοµα). Αρχικά, µελετήστε τα παρακάτω πρωτεύοντα και ξένα κλειδιά που πρέπει να εισαγάγεται στους πίνακες που έχετε δηµιουργήσει για να κατανοήσετε τη σηµασία τους. Στον πίνακα ORD αλλάξτε τις εγγραφές που έχουν CUSTID=106 σε CUSTID=105. ικαιολογήστε για ποιο λόγο πρέπει να κάνετε την αλλαγή αυτή πριν να δηµιουργήσετε τα κλειδιά στους πίνακες. Ποιες εγγραφές του πίνακα ITEM πρέπει να διαγραφούν και γιατί πριν να δηµιουργήσετε τα κλειδιά στους πίνακες; ιαγράψτε τες. Στη συνέχεια, προσθέστε τα ακόλουθα πρωτεύοντα και ξένα κλειδιά στους πίνακες που έχετε δηµιουργήσει: 21

22 Πίνακας DEPT: PRIMARY KEY το πεδίο DEPTNO µε όνοµα DEPT_PRIMARY_KEY. Πίνακας EMP: PRIMARY KEY το πεδίο EMPNO µε όνοµα EMP_PRIMARY_KEY. FOREIGN KEY το πεδίο DEPTNO µε όνοµα EMP_FOREIGN_KEY και αναφορά στο πεδίο DEPTNO του πίνακα DEPT. Πίνακας CUSTOMER: PRIMARY KEY το πεδίο CUSTID µε όνοµα CUSTOMER_PRIMARY_KEY. Πίνακας ORD: PRIMARY KEY το πεδίο ORDID µε όνοµα ORD_PRIMARY_KEY. FOREIGN KEY το πεδίο CUSTID µε όνοµα ORD_FOREIGN_KEY και αναφορά στο πεδίο CUSTID του πίνακα CUSTOMER. Πίνακας ITEM: PRIMARY KEY τα πεδία ORDID και ITEMID µε όνοµα ITEM_PRIMARY_KEY. FOREIGN KEY το πεδίο ORDID µε όνοµα ITEM_FOREIGN_KEY και αναφορά στο πεδίο ORDID του πίνακα ORD. Σηµείωση: Ορίστε ως NOT NULL το πεδίο PRODID του πίνακα PRODUCT. Πίνακας PRODUCT: PRIMARY KEY το πεδίο PRODID µε όνοµα PRODUCT_PRIMARY_KEY. 22

23 Βήµα 4 ο : Με την εντολή: DROP TABLE <όνοµα πίνακα>; µπορείτε να διαγράψετε τελείως έναν πίνακα. ιαγράψτε τον πίνακα BONUS. Πώς µπορείτε να διαπιστώσετε αν ο πίνακας έχει πράγµατι διαγραφεί από τη βάση δεδοµένων my_bysiness; 23

24 24

25 Εργαστήριο 4 : Ανάκτηση-Επιλογή-Εµφάνιση δεδοµένων. Η εντολή SELECT 25

26 Η ανάκτηση δεδοµένων από µια βάση δεδοµένων είναι ίσως η πιο συνηθισµένη λειτουργία της SQL. Η πράξη ανάκτησης / επιλογής / εµφάνισης δεδοµένων σε µια βάση δεδοµένων γίνεται µε την εντολή SELECT που έχει την παρακάτω βασική σύνταξη: SELECT <όνοµα στήλης_1>, <όνοµα στήλης_2>,..., <όνοµα στήλης_ν> FROM <όνοµα πίνακα>; ΑΣΚΗΣΕΙΣ Άσκηση 1: Εµφανίστε όλους τους αριθµούς των τµηµάτων, τα ονόµατα των υπαλλήλων που εργάζονται σε αυτά και τον αριθµό των υπευθύνων. Άσκηση 2: Εµφανίστε όλα τα στοιχεία των πινάκων της βάσης DEPT, EMP, CUSTOMER. Η εντολή SELECT µπορεί να συµπεριλάβει και άλλα στοιχεία όπως αριθµητικές παραστάσεις, ψευδώνυµα στηλών, συνένωση στηλών, αλφαριθµητικά ή σύµβολα. Άσκηση 3: Εµφανίστε τα ονόµατα των υπαλλήλων και τους ετήσιους µισθούς που παίρνουν. (Υπόδειξη: δώρα = 1,5 µισθός µήνα) 26

27 Με τη SELECT µπορούµε να δώσουµε και ψευδώνυµα στις στήλες µε τα δεδοµένα που εµφανίζουµε: SELECT <όνοµα στήλης_1> [ψευδώνυµο], <όνοµα στήλης_2> [ψευδώνυµο],..., <όνοµα στήλης_ν> [ψευδώνυµο] FROM <όνοµα πίνακα>; Άσκηση 4: Επαναλάβετε την άσκηση 3 δίνοντας το όνοµα ANNSAL στη στήλη του ετήσιου µισθού. Με την WHERE µπορούµε να βάζουµε και λογικές συνθήκες που φιλτράρουν τα αποτέλεσµατα µας, χρησιµοποιώντας και τους τελεστές AND, OR,!, SELECT όνοµα στήλης_1 [ψευδώνυµο], όνοµα στήλης_2 [ψευδώνυµο],..., όνοµα στήλης_ν [ψευδώνυµο] FROM όνοµα πίνακα; WHERE συνθήκη; Άσκηση 5: Εµφανίστε τους υπαλλήλους που παίρνουν µεγαλύτερη προµήθεια από τον µισθό τους. Άσκηση 6: Εµφανίστε τα τµήµατα που έχουν αριθµό µεγαλύτερο από 20. Άσκηση 7: Εµφανίστε τους MANAGER που κερδίζουν περισσότερα από Άσκηση 8: Εµφανίστε τους υπαλλήλους που είτε είναι MANAGER είτε κερδίζουν πάνω από 2800 το µήνα. 27

28 Άσκηση 9: Εµφανίστε τους MANAGER που δεν είναι στο τµήµα 30. Με την SELECT µπορούµε επίσης να ταξινοµήσουµε τα δεδοµένα που εµφανίζουµε: SELECT <όνοµα στήλης_1> [ψευδώνυµο], <όνοµα στήλης_2> [ψευδώνυµο],..., <όνοµα στήλης_ν> [ψευδώνυµο] FROM <όνοµα πίνακα> ORDER BY <όνοµα πεδίου>; Άσκηση 10: Ταξινοµήστε ως προς το µισθό τις στήλες του EMP. Άσκηση 11: Χρησιµοποιώντας την εντολή SELECT, διατυπώστε 5 δικά σας ερωτήµατα και στη συνέχεια τρέξτε τα στην SQL-SERVER (όλα τα ερωτήµατα θα πρέπει να περιλαµβάνουν τη λέξη WHERE και δύο τουλάχιστον το ORDER BY-ένα να εµφανίζει σε αύξουσα σειρά και το άλλο σε φθίνουσα σειρά το αποτέλεσµα ή κάποια στήλη του αποτελέσµατος). 28

29 Εργαστήριο 5 : Όρος DISTINCT Αύξουσα/φθίνουσα ταξινόµηση Συνένωση στηλών και literals NULL τιµές SQL τελεστές στον όρο WHERE 29

30 30

31 Απόριψη διπλών εγγραφών DISTINCΤ Ο όρος DISTINCT συµπεριλαµβανόµενος στην εντολή SELECT, εµφανίζει όλες τις διαφορετικές τιµές της προσδιορισµένης στήλης (εγγραφές χωρίς επαναλήψεις). SELECT distinct <όνοµα_στήλης>,. Αύξουσα φθίνουσα ταξινόµηση γραµµών ORDER BY H εξ ορισµού (default) σειρά ταξινόµησης των δεδοµένων είναι αύξουσα Με την λέξη DESC (desceding) στον όρο ORDER BY αλλάζουµε την σειρά ταξινόµησης σε φθίνουσα. Ενώ µε την λέξη ASC (asceding) σε αύξουσα σειρά. π.χ. SELECT <όνοµα_στήλης1>,. FROM όνοµα_πίνακα ORDER BY <όνοµα_στήλης1> DESC; Συνένωση στηλών και literals στην εντολη SELECT Ο τελεστής συνένωσης (+) επιτρέπει την συνένωση µιας στήλης µε µια άλλη, την συνένωση αλφαριθµητικών (literals) ή συνδυασµό αλφαριθµητικών µε στήλες, δηµιουργώντας µια παράσταση χαρακτήρων. Ο τελεστής αυτός γράφεται στο ενδιάµεσο των στηλών ή αλφαριθµητικών που πρόκειται να συνενωθούν και να δηµιουργήσουν µια στήλη. SELECT < literal /όνοµα_στήλης> [+ < literal /όνοµα_στήλης>] FROM όνοµα_πίνακα; 31

32 Σαν literal εννοείται οποιοσδήποτε αλφαριθµητικό που επιτρέπεται να xρησιµοποιείται στη SELECT και εµφανίζεται στην έξοδο είτε εκείνης της στήλης που επιθυµείται να συνενώσετε είτε σαν ξεχωριστή ψευδωστήλη. Χειρισµός απροσδιόριστων τιµών ISNULL συνάρτηση Βήµα 1 ο : Εκτελέστε την εντολή select ename,job, sal*12 annual_sal from emp; Βήµα 2 ο : Στη συνέχεια εκτελέστε και την εντολή select ename,job, sal*12+comm annual_sal from emp; Τι παρατηρείτε; Είναι σωστά τα αποτελέσµατα που δίνει η δεύτερη εντολή; Για ποιο λόγο; Η συνάρτηση ISNULL µετατρέπει µια NULL τιµή σε ΝΟN-NULL τιµή. Βήµα 3 ο : Αν τώρα εκτελέσετε την εντολή τι αλλάζει; select ename,job, sal*12+isnull(comm,0) annual_sal from emp; 32

33 SQL τελεστές στον όρο WHERE Τελεστές BETWEEN AND ΙΝ (λίστα) LIKE IS NULL Σηµασία επιλέγει γραµµές που περιέχουν τιµές µέσα από ένα διάστηµα τιµών περιέχουν µία τιµή που µπορεί να υπάρχει µέσα σε µια λίστα τιµών. ταιριάζουν σε ένα µοντέλο χαρακτήρων ή αριθµών είναι NULL Σηµείωση: Μέσα στο LIKE µπορεί να µπει ένας από τους επόµενους χαρακτήρες που να δηλώνουν αντίστοιχα: % : οσουσδήποτε χαρακτήρες _ : ένας χαρακτήρας [ ] : οποιοσδήποτε χαρακτήρας µέσα στη συγκεκριµένη περιοχή, π.χ. [a-f] ή [abcdef]. Υπάρχουν κι άλλοι χαρακτήρες, για περισσότερα µπορείτε να κοιτάξτε στη Βοήθεια (Help). ΑΣΚΗΣΕΙΣ ΑΣΚΗΣΗ 1: Εµφάνισε την παρακάτω έξοδο: employee deptno SMITH works like CLERK ΙN DEPARTMENT 20 ALLEN works like SALESMAN IN DEPARTMENT 30 WARD works like SALESMAN IN DEPARTMENT 30 JONES works like MANAGER IN DEPARTMENT 20 MARTIN works like SALESMAN IN DEPARTMENT 30 BLAKE works like MANAGER IN DEPARTMENT 30 CLARK works like MANAGER IN DEPARTMENT 10 33

34 SCOTT works like ANALYST IN DEPARTMENT 20 KING works like PRESIDENT IN DEPARTMENT 10 TURNER works like SALESMAN IN DEPARTMENT 30 ADAMS works like CLERK IN DEPARTMENT 20 JAMES works like CLERK IN DEPARTMENT 30 FORD works like ANALYST IN DEPARTMENT 20 MILLER works like CLERK IN DEPARTMENT 10 ΑΣΚΗΣΗ 2: Εµφάνισε τα ονόµατα, τον ετήσιο µισθό µαζί µε την προµήθεια και την προµήθεια όλων εκείνων που ο µηνιαίος µισθός τους είναι µεγαλύτερος από την προµήθεια που παίρνουν. Στην έξοδο ο ετήσιος µισθός θα πρέπει να είναι ταξινοµηµένος κατά φθίνουσα σειρά. Αν δύο ή περισσότεροι υπάλληλοι έχουν τον ίδιο µισθό τότε να εµφανίζεται κατά αλφαβητική σειρά. ΑΣΚΗΣΗ 3: Εµφάνισε όλους τους υπαλλήλους που έχουν σαν τρίτο γράµµα του ονόµατος τους το R. ΑΣΚΗΣΗ 4: Ποιοι είναι οι υπάλληλοι που δεν έχουν manager; ΑΣΚΗΣΗ 5: Εµφάνισε όλα τα τµήµατα των οποίων ο αριθµός είναι 10 ή 30. (Να λυθεί µε δύο τρόπους). ΑΣΚΗΣΗ 6: Ποια είναι τα επαγγέλµατα των υπαλλήλων που απασχολούνται σ όλη την εταιρεία; ΑΣΚΗΣΗ 7: Εµφάνισε όλες τις λεπτοµέρειες για τους υπαλλήλους των τµηµάτων 10 και 20 µε αλφαβητική σειρά των ονοµάτων τους (Ζ Α). ΑΣΚΗΣΗ 8: Εµφάνισε όλους τους υπαλλήλους που έχουν έναν από τους τρεις MGR αριθµούς : 7902,7566,7788 ΑΣΚΗΣΗ 9: Εµφάνισε µία λίστα µε τα ονόµατα των υπαλλήλων που το όνοµα τους αρχίζει είτε από S είτε έχει ακριβώς 4 χαρακτήρες. 34

35 ΑΣΚΗΣΗ 10: Εµφάνισε όλους εκείνους τους υπαλλήλους που ο µισθός τους δεν είναι µεταξύ 1000 και ΑΣΚΗΣΗ 11: Βρες όλους τους υπαλλήλους που η δουλειά τους δεν αρχίζει από Μ. ΑΣΚΗΣΗ 12: Εµφάνισε τα ονόµατα, το επάγγελµα και τον µισθό όλων των υπαλλήλων οι οποίοι έχουν διευθυντή ΑΣΚΗΣΗ 13: Βρες όλους υπαλλήλους που είναι CLERK και που ο µισθός τους είναι µεταξύ 100 και Στη συνέχεια βρες όλους τους υπαλλήλους που είναι είτε CLERK είτε κάτι άλλο και που ο µισθός τους κυµαίνεται στο ίδιο επίπεδο µε τους προηγούµενους. είτε αν υπάρχει διαφορά σ αυτά τα δύo ερωτήµατα, αν ναι τότε ποια είναι; ΑΣΚΗΣΗ 14: Εµφάνισε όλους τους υπαλλήλους (ονόµατα,αριθµός τµήµατος και ηµεροµηνία πρόσληψης)που προσλήφθηκαν κατά το έτος (να γίνει µε δυο τρόπους like, και between and) ΑΣΚΗΣΗ 15: Βρες όλους τους διευθυντές (managers) µε µισθό πάνω από 1500 και όλους τους πωλητές. Στη συνέχεια βρες όλους τους manager και salesman που έχουν µισθό πάνω από Ζητούνται δύο διαφορετικά πράγµατα, ποια είναι τα ερωτήµατα και σηµείωσε τη διαφορά τους. 35

36 36

37 Εργαστήριο 6 : DATE και CONVERSION Functions 37

38 DATE FUNCTIONS Οι DATE functions είναι οι ακόλουθες: DATEADD DATEDIFF DATENAME DATEPART DAY GETDATE MONTH YEAR Όπως όλες οι συναρτήσεις, έτσι και αυτές µπορούν να χρησιµοποιηθούν µέσα σε ένα SELECT ή WHERE όρο, ή σε οποιαδήποτε άλλη περίπτωση σε συνδυασµό µεταξύ τους ( η µία µέσα στην άλλη) ώστε να επιτευχθεί το επιθυµητό αποτέλεσµα. GETDATE Η συνάρτηση GETDATE επιστρέφει την τρέχουσα ηµεροµηνία και ώρα. Σύνταξη: GETDATE() π,χ, SELECT GETDATE() DAY, MONTH και YEAR Οι συναρτήσεις DAY, MONTH και YEAR επιστρέφουν έναν ακέραιο που αναπαριστάνει την ηµέρα, τον µήνα ή το χρόνο αντίστοιχα µιας συγκεκριµένης ηµεροµηνίας. Σύνταξη: DAY(date) MONTH(date) YEAR(date) 38

39 Παρατηρήση: Αυτές οι συναρτήσεις επιστρέφουν το ίδιο µε αυτό που θα επιστρέψουν οι συναρτήσεις DATEPART(dd, date). DATEPART(mm, date). DATEPART(yy, date). αντίστοιχα. Θα εξεταστούν αναλυτικότερα παρακάτω. π.χ. SELECT DAY('11/19/2000') AS 'Day Number' DATENAME και DATEPART H συνάρτηση DATENAME επιστρέφει ένα συγκεκριµένο µέρος κάποιας ηµεροµηνίας (έτος, µήνα, µέρα, ) σαν character string, ενώ η DATEPART επιστρέφει το ίδιο αλλά σαν integer value. Σύνταξη: DATENAME(date_part,date) DATEPART(date_part,date) π.χ. είτε το αποτέλεσµα από τα παρακάτω. και SELECT DATENAME(mm, GETDATE()) AS 'Month Date' SELECT DATEPART(month, GETDATE()) AS 'Month Date' 39

40 ΠΙΝΑΚΑΣ : Τα date parts που χρησιµοποιούνται στις DATE functions Date Part Abbreviation Tιµές Year yy Month mm 1-12 Day of Year dy Day dd 1-31 Week wk 1-54 Weekday dw 1-7(Κυρ-Σαβ) Hour hh 0-23 Minute mi 0-59 Second ss 0-59 Millisecond ms DATEADD Η συνάρτηση DATEADD επιστρέφει µία καινούρια datetime τιµή που προκύπτει από την πρόσθεση συγκεκριµένης date part τιµής σε µια ηµεροµηνία Σύνταξη: DATEADD(date_part,number,date) DATEDIFF H συνάρτηση DATEDIFF επιστρέφει την διαφορά µεταξύ δύο συγκεκριµένων ηµεροµηνιών (σε έτη, σε µέρες, κ.ο. ανάλογα µε το τι έχει οριστεί ως date_part) Σύνταξη: DATEFIFF(date_part,date1,date2) 40

41 CONVERSION FUNCTIONS Πολλές φορές δηµιουργείται η ανάγκη να µετατρέψουµε έναν ακέραιο σε χαρακτήρα, ή έναν πραγµατικό σε ακέραιο, ή ακόµη µια ηµεροµηνία σε χαρακτήρα. Γι αυτό το σκοπό υπάρχει η συνάρτηση CONVERT όπου: Σύνταξη: CONVERT(datatype[(length)], expression [, style]) όπου datatype µπορεί να είναι το data type στο οποίο θέλουµε να γίνει η µετατροπή της στήλης (ή έκφρασης) που ορίζουµε µε το expression, ενώ το style χρησιµοποιείται στις περιπτώσεις όπου µετατρέπουµε datetime τιµές µε συγκεκριµένο format. π.χ. SELECT ENAME + CONVERT(CHAR(4),MGR) FROM EMP; ή SELECT CONVERT(CHAR(24),hiredate,104) FROM EMP; αν το style είναι 0 ή 100 τότε εχώ το default format για τη ηµεροµηνία, Υπάρχουν και άλλα όπως από , δοκιµάστε να δείτε πως εµφανίζονται κάθε φορά. ΠΡΟΣΟΧΗ! Υπάρχουν κάποιοι περιορισµοί σε σχέση µε το αν µπορούν να µετατραπούν κάποιοι τύποι σε κάποιους άλλους. είτε τη βοήθεια που σας προσφέρεται µέσα από το λογισµικό που χρησιµοποιείται. 41

42 ΑΣΚΗΣΕΙΣ ΑΣΚΗΣΗ 1: Να παράγετε την εξής έξοδο για όλους τους εργαζόµενους. Να είναι ταξινοµηµένα σύµφωνα µε την δεύτερη στήλη ENAME DATE_HIRED JONES April, SMITH December, JAMES December, FORD December, SCOTT December, ALLEN February, WARD February, ADAMS January, MILLER January, CLARK June, BLAKE May, KING November, MARTIN September, TURNER September, ΑΣΚΗΣΗ 2: Να παράγετε την εξής έξοδο (την σηµερινή ηµεροµηνία): simera einai November kai o minaς exei 22 ΑΣΚΗΣΗ 3: Παράγετε το εξής report για όλους τους εργαζοµένους που το όνοµα τους αρχίζει από S, και όπου το REVIEW είναι η ηµεροµηνία ακριβώς ένα χρόνο µετά. Να γίνει ταξινόµηση σύµφωνα µε το REVIEW. ENAME HIREDATE REVIEW SMITH 1980/12/ /12/17 SCOTT 1982/12/ /12/09 42

43 ΑΣΚΗΣΗ 4: Να εµφανίσετε όλους τους υπαλλήλους µε τα ονόµατά τους και τον κωδικό του αφεντικού τους (ΜGR). Σε όσους δεν υπάρχει αφεντικό να εµφανίζετε η λέξη UNMANAGEABLE ΑΣΚΗΣΗ 5: Εµφανίστε την ακριβή ηµεροµηνία α) µε επιπλέον δύο µήνες καθώς και τον αριθµό των ηµερών που έχουµε µέχρι τότε (να είναι σε µορφή π.χ. 22 Jan 2001), β) µε µείον 15 χρόνια καθώς και τον αριθµό των ηµερών που έχουν περάσει από τότε. ΑΣΚΗΣΗ 6: Βρείτε τα ονόµατα των υπαλλήλων που η ηµεροµηνία πρόσληψής τους έγινε 8 µήνες µετά από την 3/4/81. Να εµφανιστεί ο µήνας που έγινε η πρόσληψη σε περιγραφική µορφή (π.χ. August) και ο µισθός τους. ώστε ονόµατα σε όσες στήλες δεν έχουν στο αποτέλεσµα. ΑΣΚΗΣΗ 7: Αν υποθέσουµε ότι ο µισθός αυξάνεται κατά 15% το χρόνο, να εµφανίσετε τα ονόµατα των υπαλλήλων, την τρέχουσα ηµεροµηνία, το µισθό που παίρνουν τώρα, την ηµεροµηνία σε ένα χρόνο από τώρα και το µισθό που θα παίρνουν τότε (υποθέτουµε ότι το hiredate είναι σηµερινό). ΑΣΚΗΣΗ 8: Να εµφανισθούν οι στήλες (Prodid, Start day, Start month, Start year, End day, End month, End year, Stdprice) του πίνακα που αφορά τις τιµές των προϊόντων, ταξινοµηµένα κατά prodid και startdate, όπως φαίνονται παρακάτω. Να ελεγχθεί η συνέπεια των δεδοµένων του πίνακα. Είναι απαραίτητη η χρήση του πεδίου enddate? Prodid Start day Start month Start year End day End month End year Stdprice

44

45 Εργαστήριο 7 : GROUP Functions 45

46 GROUP FUNCTIONS AVG = βρίσκει τον µέσο όρο COUNT = υπολογίζει όλες τις γραµµές MAX = βρίσκει τον µέγιστο όρο MIN = βρίσκει τον ελάχιστο όρο SUM = προσθέτει τιµές µιας στήλης Όλες έχουν την ίδια σύνταξη : SELECT function1(column_1 *),.., function2(column_1 *) FROM table ΠΑΡΑΤΗΡΗΣΗ: Η GROUP BY πρόταση χρησιµοποιείται πολύ συχνά µε τις GROUP FUNCTIONS µε σκοπό να χωρίζει τις εγγραφές του πίνακα σε µικρότερες οµάδες π.χ. SELECT JOB,AVG(SAL) FROM EMP GROUP BY JOB είτε τι εµφανίζει. οκιµάστε και χωρίς GROUP BY. H HAVING ΠΡΟΤΑΣΗ ΚΑΙ ΟΙ GROUP FUNCTIONS Η HAVING πρόταση όταν χρησιµοποιείται µε τις GROUP FUNCTIONS και µε την GROUP BY (υποχρεωτικά) έχει σκοπό να περιορίσει τις οµάδες εγγραφών που θα εµφανιστούν. 46

47 π.χ. SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO HAVING COUNT(*)>3 όπου η HAVING γράφεται µετά την GROUP BY, αφού πρώτα δηµιουργηθούν οι οµάδες εγγραφών και κατόπιν να αποµονωθούν αυτές που θα εµφανιστούν. οκίµασε SELECT DEPTNO,AVG(SAL) FROM EMP WHERE COUNT(*)>3 GROUP BY DEPTNO τι παρατηρείς; ΑΣΚΗΣΕΙΣ ΑΣΚΗΣΗ 1: Παράγετε την εξής έξοδο για όλους τους εργαζόµενους, όπου MESOS_MISTHOS ο µέσος όρος µισθών ανά τµήµα και ανά κατηγορία δουλειάς. DEPTNO JOB MESOS_MISTHOS CLERK MANAGER PRESIDENT ANALYST CLERK MANAGER CLERK MANAGER SALESMAN (9 row(s) affected) 47

48 ΑΣΚΗΣΗ 2: Ποιός είναι ο µέγιστος µισθός για κάθε κατηγορία δουλειάς στην εταιρεία. ΑΣΚΗΣΗ 3: Εµφάνισε µόνο εκείνες τις δουλειές όπου ο µέγιστος µισθός είναι µεγαλύτερος ή ίσος µε $3000. ΑΣΚΗΣΗ 4: Βρείτε τον ελάχιστο, τον µεγαλύτερο και τον µέσο µισθό από κάθε τύπο JOB. Τα αποτελέσµατα να εµφανιστούν χωρίς δεκαδικά. ΑΣΚΗΣΗ 5: Εµφανίστε την εξής έξοδο. DEPTNO AVERAGE όπου AVG(SAL)>2000 ΑΣΚΗΣΗ 6: Βρείτε πόσοι manager υπάρχουν συνολικά. ΑΣΚΗΣΗ 7: Βρείτε όλα τα τµήµατα που έχουν πάνω από 3 υπαλλήλους. Εµφανίστε το αριθµό τµήµατος και το σύνολο των υπαλλήλων στο αντίστοιχο τµήµα. ΑΣΚΗΣΗ 8: Βρείτε τους κωδικούς των πελατών εκείνων που έχουν κάνει από τρεις παραγγελίες και πάνω. Στο αποτέλεσµα να εµφανίζονται και πόσες παραγγελίες έκανε ο καθένας από τους πελάτες αυτούς. ώστε ένα όνοµα στη στήλη αυτή. 48

49 ΑΣΚΗΣΗ 9: Βρείτε τη συνολική ποσότητα (QTY) παραγγελίας για εκείνες τις παραγγελίες που έχουν κωδικό τεµαχίου µικρότερο ή ίσο µε 5. Στο αποτέλεσµα να εµφανίζονται ο κωδικός του τεµαχίου καθώς η αντίστοιχη συνολική ποσότητα (δώστε ένα όνοµα στη στήλη αυτή). ΑΣΚΗΣΗ 10: Βρείτε το µέσο όρο της τρέχουσας τιµής (ACTUAL PRICE) ενός προϊόντος για τις παραγγελίες εκείνες που έχουν κωδικό ίσο µε 615 ή µικρότερο από 608. Στη στήλη που εµφανίζεται ο µέσος όρος της τρέχουσας τιµής του προϊόντος δώστε κατάλληλο όνοµα. 49

50 50

51 Εργαστήριο 8: UNION, SOUNDEX, DIFFERENCE, VIEWS, SUBQUERIES 51

52 52

53 UNION Η εντολή αυτή συνδυάζει τα αποτελέσµατα από δυο η περισσότερες queries σε ένα µόνο πεδίο που αποτελείται από τις γραµµές που ανήκουν σε όλες τις queries της UNION. Η σύνταξη έχει ως ακολούθως: select_statement UNION [ALL] select_statement [UNION [ALL] select_statement][,...n] select_statement: Είναι µια SELECT statement που επιστρέφει αποτελέσµατα που θα πρέπει να συνδυαστούν µε τα δεδοµένα από την άλλη SELECT statement, οι οποίες συνδέονται µεταξυ τους µε UNION. Τα αποτελέσµατα από κάθε ένα SELECT θα πρέπει να είναι του ιδίου ή συµβατού τύπου. UNION: Είναι το keyword που υποδεικνύει ότι πολλαπλά result sets πρόκειται να συνδυαστούν και να επιστραφούν ως ένα ενιαίο single result set. ALL: Όταν η UNION εντολή συνοδεύεται από το keyword ALL όλες οι διπλές έγγραφες που υπάρχουνε στις στήλες που προκύπτουν από την εκτέλεση µιας Union εντολης, παραµένουν. Στην περίπτωση που δεν αναφέρεται, τότε όλες οι διπλές έγγραφες παραλείπονται. n: Είναι µια µεταβλητή που χρησιµοποιούµε για να δηλώσουµε ότι πολλά SELECT statements µπορούνε να προστεθούν µε ένα έχοντας ανάµεσα τους µια UNION έκφραση. 53

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

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Εισαγωγή στη χρήση της γλώσσας SQL και στον προγραμματισμό εφαρμογών βάσεων δεδομένων Θα χρησιμοποιήσουμε το Σχεσιακό Σύστημα (προϊόν)

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

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

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

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

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

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

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

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

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

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

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

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

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

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

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

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

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

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση Βάσεις Δεδομένων 5η εργαστηριακή άσκηση SQL Δρ. Μαρία Ευθυμιοπούλου Εντολές sql Για να γράψετε ή να επικολλήσετε εντολές sql πηγαίνετε από το μενού SQL Workshop και επιλέγετε το SQL Commands 1. Δημιουργία

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

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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 Μια γλώσσα σχεσιακής βάσης

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

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Δημιουργία πινάκων Δρ. Εύη Φαλιάγκα 1. Login Χρησιμοποιώντας έναν web explorer, μπαίνετε στο http://10.0.0.6:8080/apex και συμπληρώνετε

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL 3.1 Εντολή επιλογής δεδομένων Η εντολή επιλογής δεδομένων select έχει την γενική μορφή SELECT FROM [WHERE ] [GROUP BY ]

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

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

Τμήμα Πληροφορικής ΑΠΘ 2013-2014 Βάσεις Δεδομένων Εργαστήριο V Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 5 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων τροποποίησης δομής / δεδομένων η μελέτη σύνθετων ερωτημάτων

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

Εργαστήριο Βάσεων Δεδομένων. 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

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

DELETE, UPDATE, INSERT.

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

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

DELETE, UPDATE, INSERT

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΕΥΤΕΡΟ ηµιουργία Βάσης, Πίνακα, Domain Γιώργος Μαρκοµανώλης Περιεχόµενα ηµιουργία Βάσης... 1 ηµιουργία µιας shadow βάσης... 2 ιαγραφή

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

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9;

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9; ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ 4.10 Επαναφέρετε πάλι το είδος 20 (όλο το στιγμιότυπο) στον πίνακα products με τις εντολές INSERT INTO. 4.11 Διαγράψτε το είδος 12 (όλο το στιγμιότυπο) στον πίνακα products και επαναφέρετε

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ Εισαγωγή στη MySQL Νικόλαος Ζ. Ζάχαρης Τι είναι η 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 Δημιουργία πινάκων με την

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

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

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

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

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

Οι εντολές 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 astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

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

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

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

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

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα -ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25)

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

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

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ενημέρωση βάσης δεδομένων με τις εντολές INSERT, DELETE, UPDATE Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

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

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

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

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

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

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

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

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL 1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL Τύποι στην MySQL Κείμενο Αριθμοί Ημερομηνίες και ώρες Επιλογή του τύπου Στήλες ονομάτων τύπος κειμένου Στήλες ποσών ή ποσοτήτων Αριθμητικός τύπος Στήλες ημερομηνιών τύπος ημερομηνίας

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

1. ΑΝΟΙΞΤΕ ΤΟΝ ΠΙΝΑΚΑ CUSTOMER ΚΑΙ ΣΤΟ ΜΕΝΟΥ ΕΠΙΛΕΞΤΕ

1. ΑΝΟΙΞΤΕ ΤΟΝ ΠΙΝΑΚΑ CUSTOMER ΚΑΙ ΣΤΟ ΜΕΝΟΥ ΕΠΙΛΕΞΤΕ ΜΑΘΗΜΑ 6 ο ΤΑΞΙΝΟΜΗΣΗ / ΦΙΛΤΡΑΡΙΣΜΑ ΠΛΗΡΟΦΟΡΙΩΝ Α. ΤΑΞΙΝΟΜΗΣΗ ΠΛΗΡΟΦΟΡΙΩΝ 1. ΑΝΟΙΞΤΕ ΤΗ ΒΑΣΗ Ε ΟΜΕΝΩΝ ΠΟΥ ΕΧΕΤΕ ΦΤΙΑΞΕΙ ΣΤΟ ΠΡΟΗΓΟΥΜΕΝΟ ΜΑΘΗΜΑ (ΑΠΟ ΕΧΘΕΙΤΕ ΑΝ ΧΡΕΙΑΖΕΤΑΙ ΤΗΝ ΠΡΟΕΙ ΟΠΟΙΗΣΗ ΑΣΦΑΛΕΙΑΣ) 2.

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

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

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

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

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

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

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

MOCϦϣΎϬϴϠϋϝϮμΤϟϢΗϊΟήϤϟ. USE northwind SELECT employeeid, lastname, firstname, title FROM employees GO

MOCϦϣΎϬϴϠϋϝϮμΤϟϢΗϊΟήϤϟ. USE northwind SELECT employeeid, lastname, firstname, title FROM employees GO MS_SQL SERVERήϣϭϷϊΟήϣ ΓήϛάΘϟϪϨϣϑΪϬϟϦϜϟϭSQL SERVERήϣϭΡήηϊΟήϤϟάϫϦϣϑΪϬϟβϴϟ άϫϲϓγωέϯϟεύϣϯϡόϥϟέϊμϣϥ ΑΎϤϠϋSQL SERVER ήϣδαύθϝϟδτθτμϟδϙϳήτϟύα MOCϦϣΎϬϴϠϋϝϮμΤϟϢΗϊΟήϤϟ MOC 2071 ΏΔλΎΨϟήϣϭϷΡήθΑΪΒϨγϭ SELECTΔϠϤΟϡΪΨΘγΎΑϝϭΪΟϦϣΕΎϧΎϴΒϟωΎΟήΘγ

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Τ. Σελλής ΦΘΙΝΟΠΩΡΟ 2005 Λύση ΑΣΚΗΣΗΣ

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

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα - ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastnamevarchar(25)

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

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

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

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

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

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

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Επιμέλεια: Καρβούνης Ευάγγελος, PhD, Επιστημονικός Συνεργάτης του Τμήματος Αντωνιάδης Νικόλαος, Καθηγητής Οκτώβριος

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

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

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

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

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

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 10η: SQL Μέρος 3ο Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών SQL Data Manipulation Language Τελεστής union συνδυάζει subselects

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

Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 55 Περιεχόμενα 1 Απλά υποερωτήματα

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

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

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

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΛΙΛΙΤΣΗΣ ΠΡΟΔΡΟΜΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών Βάσεων

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

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

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

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΣΗΜΕΙΩΣΕΙΣ (Κατασκευή ΒΔ με τη ΓΛΩΣΣΑ MySQL) ΕΙΣΑΓΩΓΗ Βάση δεδομένων-βδ (Data Base-DB) είναι ένα πλήθος στοιχείων συναφών μεταξύ τους, τοποθετημένα και ταξινομημένα

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

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL Αντώνης Χρυσόπουλος Χριστίνα Αυδίκου Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL MySQL For Pros Διαλέχτε, καλέ κυρία, Διαλέχτε 1. Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN

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

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

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

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

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP. SQL: Ερωτήματα ομαδοποίησης και συνάθροισης GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 56 Περιεχόμενα 1 Εισαγωγή, γενικές

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

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

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Χειμερινό Εξ. 2013-14 Επιμέλεια: Καρβούνης Ευάγγελος Οκτώβριος 2013 Περιεχόμενα 1 Σχεδιασμός Βάσης...

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 7.1: Structured Query Language - 1 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 7.1: Structured Query Language - 1 ο Μέρος Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης

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

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

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη

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

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

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

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

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

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

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

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας

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

Πληροφοριακά Συστήµατα

Πληροφοριακά Συστήµατα Nell Dale John Lewis Chapter 12 Πληροφοριακά Συστήµατα Στόχοι Ενότητας Η κατανόηση της έννοιας «Πληροφοριακό Σύστηµα» Επεξήγηση της οργάνωσης λογιστικών φύλλων (spreadsheets) Επεξήγηση της ανάλυσης δεδοµένων

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

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η SQL ως γλώσσα ερωτημάτων Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η γλώσσα SQL Η SQL αποτελείται από: DDL (Data Definition Language)

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

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

Βάσεις Δεδομένων. Ενότητα 7.2: Structured Query Language - 2 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 7.2: Structured Query Language - 2 ο Μέρος Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

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

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

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΓΙΑΝΝΗΣ ΑΓΑΘΑΓΓΕΛΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL SQL SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών

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

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

Ανοικτά Ακαδημαϊκά Μαθήματα Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Case Study: Σύστημα Διαχείρισης Βάσης Βιβλιοθήκης (Library Information System) - Μοντελοποίηση και Κανονικοποίηση - Υλοποίηση με χρήση

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

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (3) 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)

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα: ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ

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

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

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

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

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

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

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

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 03 SQL Μέρος 1 ο Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Γιατί SQL; Η SQL είναι γλώσσα πολύ υψηλού επιπέδου Επιτρέπει να λέμε εύκολα τι θέλουμε να κάνουμε

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

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

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

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

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL

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

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Περιεχόμενα 1 Γενική περιγραφή του προβλήματος 2 Μοντελοποίηση Ο/Σ 3 Σχεσιακό μοντέλο, SQL 4 Ερωτήματα

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

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

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

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

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

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

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

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Σύντομες εισαγωγικές σημειώσεις για την. Matlab Σύντομες εισαγωγικές σημειώσεις για την Matlab Δήλωση Μεταβλητών Για να εισάγει κανείς δεδομένα στη Matlab υπάρχουν πολλοί τρόποι. Ο πιο απλός είναι στη γραμμή εντολών να εισάγουμε αυτό που θέλουμε και

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

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

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

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Β) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

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

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

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 6: Structured Query Language (SQL) Μια γλώσσα Βάσεων

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

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

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

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

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

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

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

Αντικείμενα 2 ου εργαστηρίου

Αντικείμενα 2 ου εργαστηρίου 1.0 Σχολή Διοίκησης και Οικονομίας (ΣΔΟ) Τμήμα Λογιστικής και Χρηματοοικονομικής Διδάσκων: Δρ. Γκόγκος Χρήστος Μάθημα: Πληροφορική Ι (εργαστήριο) Ακαδημαϊκό έτος: 2013-2014 Εξάμηνο Α 2 ο Φυλλάδιο Ασκήσεων

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

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

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

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

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

Τεχνολογία Πολιτισμικού Λογισμικού Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Τεχνολογία Πολιτισμικού Λογισμικού Ενότητα 12: SQL και πολιτισμικά δεδομένα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και

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