Εισαγωγή στις Βάσεις Δεδομζνων II

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

Download "Εισαγωγή στις Βάσεις Δεδομζνων II"

Transcript

1 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Η γλώσσα SQL Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons και ειδικότερα Αναφορά Μη εμπορική Χρήση Όχι Παράγωγο Έργο 3.0 Ελλάδα (Attribution Non Commercial Non derivatives 3.0 Greece) CC BY NC ND 3.0 GR [ή επιλογή ενός άλλου από τους έξι συνδυασμούς] [και αντικατάσταση λογότυπου άδειας όπου αυτό έχει μπει (σελ. 1, σελ. 2 και τελευταία)] Εξαιρείται από την ως άνω άδεια υλικό που περιλαμβάνεται στις διαφάνειες του μαθήματος, και υπόκειται σε άλλου τύπου άδεια χρήσης. Η άδεια χρήσης στην οποία υπόκειται το υλικό αυτό αναφέρεται ρητώς. 2

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Κρήτης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

4 Εισαγωγή στις Σχεσιακές Βάσεις Δεδομένων (OIK3501) Κωστής Πηγουνάκης Τελευταία ενημέρωση : 18/5/2015

5 Structured Query Language Κοινή γλώσσα για όλα τα σχεσιακά ΣΔΒΔ: η γλώσσα SQL. Κάθε σχεσιακό ΣΔΒΔ έχει τη δυνατότητα να δεχθεί και να εκτελέσει εντολές της γλώσσας SQL. Βασίζεται στη σχεσιακή άλγεβρα, αν και δεν είναι αυστηρή υλοποίηση των πράξεών της Είναι μια δηλωτική γλώσσα (μη-διαδικαστική) στην οποία περιγράφουμε τι θέλουμε κι όχι πώς θα το αποκτήσουμε Μπορεί να ενσωματωθεί σε γλώσσες προγραμματισμού Το λογισμικό του σχεσιακού ΣΔΒΔ αναλαμβάνει την εύρεση του τρόπου ανάκτησης των δεδομένων από τη βάση

6 Σύντομο ιστορικό της SQL Η SQL αναπτύχθηκε το 1974 από τον Donald D. Chamberlin Raymond F. Boyce, που εργαζόταν στην και αρχικά χρησιμοποιήθηκε στα δικά της ΣΔΒΔ. Στα τέλη της δεκαετίας του 70, η δημιούργησε το δικό της ΣΔΒΔ, αλλά υιοθέτησε την SQL. Σύντομα ακολούθησαν και άλλες εταιρείες λογισμικού που ανέπτυξαν τα δικά τους συστήματα τα οποία υιοθέτησαν την SQL. Η ευρεία διάδοση της SQL οφείλεται στο γεγονός ότι τόσο το Αμερικανικό Ινστιτούτο Τυποποίησης (American National Standards Institute ANSI) όσο και ο Παγκόσμιος Οργανισμός Τυποποίησης (International Organization for Standardization ISO) όρισαν την SQL ως την κοινή γλώσσα των ΣΔΒΔ.

7 Πρότυπα της SQL Παρά τις σημαντικές προσπάθειες που καταβλήθηκαν από τους διεθνείς οργανισμούς, ο στόχος των προτύπων της SQL δεν επιτεύχθηκε απόλυτα: Τα σχεσιακά ΣΔΒΔ υποστηρίζουν εκδοχές της SQL με κεντρικό τους πυρήνα το πρότυπο, παρέχοντας όμως πολλές πρόσθετες δυνατότητες (επεκτάσεις) που δεν συμπεριλαμβάνονται στο πρότυπο.

8 Εντολές SQL Οι εντολές της SQL μπορεί να πληκτρολογηθούν από το χρήστη και να υποβληθούν προς άμεση εκτέλεση στο σχεσιακό ΣΔΒΔ και τα αποτελέσματα των εντολών SQL εμφανίζονται στην οθόνη του χρήστη. Η SQL είναι μία γλώσσα για τη διαχείριση δεδομένων δεν μία πλήρης γλώσσα προγραμματισμού όπως η C++ ή η Java Πολλές φορές είναι απαραίτητο η SQL να ενσωματωθεί μέσα στον κώδικα μίας άλλης γλώσσας προγραμματισμού. Τότε, η SQL αναφέρεται ως ενσωματωμένη SQL (embedded SQL). Στην περίπτωση αυτή, τα αποτελέσματα των SQL εντολών γνωστοποιούνται στο πρόγραμμα που είναι γραμμένο στη γενική γλώσσα προγραμματισμού, το οποίο και τα χειρίζεται.

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

10 Δομικές μονάδες SQL Ι Δομικές μονάδες μιας τυπικής εκδοχής της SQL : Γλώσσα ορισμού δεδομένων (Data Definition Language, DDL): εντολές που μας επιτρέπουν να υλοποιήσουμε σχέσεις και γενικά όλη τη δομή μιας βάσης δεδομένων. Γλώσσα χειρισμού δεδομένων (Data Manipulation Language, DML): διαχείριση των δεδομένων της εφαρμογής, όπως την εισαγωγή, διαγραφή, ανάκτηση και τροποποίηση δεδομένων.

11 Δομικές μονάδες SQL ΙΙ Ορισμός όψεων της βάσης (View Definition): δημιουργία εικονικών πινάκων (views -virtual tables) που περιέχουν δεδομένα από έναν ή περισσότερους πίνακες της βάσης. Ορισμός εξουσιοδοτήσεων (Authorization): δημιουργία ομάδων χρηστών και απόδοση διαφορετικών δικαιωμάτων πρόσβασης σε καθένα Διαχείρισης ακεραιότητας (Integrity): επιτρέπει το λεπτομερή έλεγχο των δεδομένων που καταχωρούνται ώστε να μην παραβιάζονται οι κανόνες ακεραιότητας οι οποίοι, όταν τηρούνται, απομακρύνουν τον κίνδυνο ασυνεπών δεδομένων

12 Γλώσσα ορισμού δεδομένων Η διαχείριση μέσω της DDL περιλαμβάνει τον ορισμό τη μεταβολή της δομής και τη διαγραφή των παρακάτω αντικειμένων: Πίνακες (Tables): το δομικό χαρακτηριστικό μιας σχεσιακής βάσης δεδομένων, καθώς περιέχουν τα δεδομένα που καταχωρούνται σε αυτή Όψεις (Views): εικονικοί πίνακες (virtual tables) οι οποίοι περιέχουν δεδομένα από έναν ή περισσότερους πίνακες της βάσης. Δείκτες (Indicies): ειδικές δομές δεδομένων που επιταχύνουν τη διαδικασία της αναζήτησης πληροφοριών από τη βάση.

13 Εντολές ορισμού δεδομένων CREATE TABLE (δημιουργία πίνακα) CREATE INDEX (δημιουργία ευρετηρίου) CREATE VIEW (δημιουργία όψης) DROP TABLE (διαγραφή πίνακα) DROP INDEX (διαγραφή ευρετηρίου) DROP VIEW (διαγραφή όψης) ALTER (τροποποίηση της δομής των αντικειμένων της βάσης, δηλ, πινάκων, ευρετηρίων, όψεων)

14 CREATE TABLE CREATE TABLE πίνακας (όνομα_στήλης τύπος_στήλης, ); CREATE TABLE EMPLOYEE ( FNAME VARCHAR (15) NOT NULL, MINIT CHAR (1), LNAME VARCHAR (15) NOT NULL, SSN CHAR (9) NOT NULL, BDATE DATE, ADDRESS VARCHAR (30), SEX VARCHAR (30), SALARY INTEGER, SUPERSSN CHAR (9), DNO INTEGER, PRIMARY KEY (`SSN`) );

15 Παρατηρήσεις για CREATE Ο ορισμός του πρωτεύοντος κλειδιού αλλάζει ανάμεσα στις παραλλαγές της SQL Oι πίνακες που δημιουργούνται με την CREATE TABLE, είναι οι βασικοί (base tables), διότι τα δεδομένα τους αποθηκεύονται σε αρχεία του συστήματος. Οι όψεις είναι εικονικοί πίνακες (virtual tables), που μπορεί να αποθηκεύονται και αυτοί σε αρχείο, χωρίς όμως κάτι τέτοιο να είναι υποχρεωτικό. Η σειρά που αποθηκεύονται οι τιμές των πεδίων στους πίνακες, είναι ίδια με τη σειρά που έχουν δηλωθεί τα πεδία των πινάκων κατά την κλήση της εντολής.

16 Παράδειγμα CREATE για ΒΔ Υλοποίηση : CREATE TABLE TEACHERS(TEACHERID INT, TFNAME TEXT(50), TLNAME TEXT(50), EIDIKOTHTA TEXT(30), SCHOOL TEXT(10), NOMOS TEXT(50)); CREATE TABLE UNIVERSITIES(UCODE TEXT(10), UNAME TEXT(50), USTUDENTS INT, USTAFF INT, LOCATION TEXT(50)); CREATE TABLE COURSES(COURSEID INT, CNAME TEXT(50), CHOURS INT, CTYPE TEXT(1)); CREATE TABLE PROVIDED_BY(COURSE INT, UNIVERSITY TEXT(10), YEAR TEXT(10));

17 Παραδείγματα DROP ALTER DROP TABLE DEPENDENTS Διαγράφει τον πίνακα DEPENDENTS και όλα τα δεδομένα ALTER TABLE table_name ADD column_name datatype ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12) προσθέτει στον πίνακα EMPLOYEE το πεδίο JOB που είναι συμβολοσειρά με μέγιστο μήκος ίσο με 12 χαρακτήρες. ALTER TABLE table_name DROP COLUMN column_name ALTER TABLE table_name MODIFY column_name datatype ALTER TABLE table_name RENAME COLUMN old_name to new_name

18 Διαχείριση όψεων (Views) Όψη (view): ένας απλός πίνακας που προκύπτει από το συνδυασμό των πεδίων ενός ή περισσοτέρων πινάκων, οι οποίοι μπορεί να είναι είτε βασικοί πίνακες ή άλλες όψεις (εικονικοί πίνακες) Οι βασικοί πίνακες από τους οποίους δημιουργείται μια όψη, αναφέρονται και ως πίνακες ορισμού της όψης (defining tables). Για να δημιουργήσουμε μια όψη χρησιμοποιούμε την εντολή CREATE VIEW Για να διαγράψουμε μια όψη χρησιμοποιούμε την εντολή DROP VIEW

19 Παραδείγματα VIEW CREATE VIEW WORKS_ON1 AS SELECT FNAME, LNAME, PNAME, HOURS FROM EMPLOYEE, PROJECT, WORKS_ON WHERE SSN = ESSN AND PNO = PNUMBER CREATE VIEW DEPT_INFO (DNAME, EMP_NO, AVG_SAL) AS SELECT DNAME, COUNT (*), AVERAGE (SALARY) FROM DEPARTMENT, EMPLOYEE WHERE DNUMBER=DNO GROUP BY DNAME

20 Διαχείριση δεικτών Ι Δείκτης (index): μια δομή δεδομένων που αποθηκεύεται σε ειδικά αρχεία της βάσης (index files) και έχει στόχο να επιταχύνει τη διαδικασία αναζήτησης πληροφορίας από τους πίνακες της ΒΔ Οι δείκτες συνήθως ορίζονται για συγκεκριμένα πεδία αυτών των πινάκων (indexing fields) και για κάθε τιμή των εν λόγω πεδίων, αποθηκεύουν ένα σύνολο από pointers που δείχνουν τα δεδομένα της κάθε εγγραφής.

21 Διαχείριση δεικτών ΙΙ Τα αρχεία δεικτών είναι αρκετά μικρότερα σε μέγεθος σε σχέση με τα αρχεία δεδομένων και η διαδικασία αναζήτησης της πληροφορίας γίνεται μέσω γνωστών τεχνικών αναζήτησης, όπως η δυαδική αναζήτηση Η δημιουργία ενός δείκτη γίνεται χρησιμοποιώντας την εντολή CREATE INDEX Η διαγραφή ενός δείκτη γίνεται με την εντολή DROP INDEX

22 Παραδείγματα index CREATE INDEX LNAME_INDEX ON EMPLOYEE (LNAME) CREATE INDEX NAMES_INDEX ON EMPLOYEE (LNAME ASC, FNAME DESC, MINIT) CREATE UNIQUE INDEX SSN_INDEX ON EMPLOYEE (SSN) DROP INDEX LNAME_INDEX

23 Γλώσσα χειρισμού δεδομένων Η γλώσσα χειρισμού δεδομένων (Data Manipulation Language, DML), επιτρέπει τη διαχείριση των δεδομένων των πινάκων της ΒΔ, και πιο συγκεκριμένα, την εισαγωγή, διαγραφή, και τροποποίηση των εγγραφών των πινάκων. Μέσω της DML έχουμε τη δυνατότητα να ανακτήσουμε από τους πίνακες, δεδομένα, τα οποία πληρούν κάποια συγκεκριμένα κριτήρια. H DML δεν ελέγχει αν οι εγγραφές που επηρεάζονται ικανοποιούν τους κανόνες ακεραιότητας του λογικού σχεδιασμού που αποτυπώνονται στο σχήμα της ΒΔ

24 SELECT Τελεστής Επιλογής και Προβολής: SELECT <attribute list> FROM <table list> WHERE <condition> συνθήκη σύζευξης (join condition) / AND, OR, NOT SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME= John AND MINIT= B AND LNAME= Smith SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNAME = Research AND DEPARTMENT.DNUMBER = EMPLOYEE.DNO

25 Λέξεις-κλειδιά (keywords) DISTINCT SELECT DISTINCT SALARY FROM EMPLOYEE UNION SELECT PNUMBER FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE DNUM = DNUMBER AND MGRSSN = SSN AND LNAME = Smith UNION SELECT PNUMBER FROM PROJECT, WORKS_ON, EMPLOYEE WHERE PNUMBER = PNO AND ESSN = SSN AND LNAME = Smith IN (NESTED QUERIES) SELECT DISTINCT PNAME FROM PROJECT WHERE PNUMBER IN ( SELECT PNUMBER FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE DNUM = DNUMBER AND MGRSSN = SSN AND LNAME = Smith ) OR PNUMBER IN (SELECT PNO FROM WORKS_ON, EMPLOYEE WHERE ESSN = SSN AND LNAME = Smith )

26 INSERT INSERT INTO <TABLE NAME> VALUES ( <v 1 >, <v 2 >,, <v n > ) INSERT INTO EMPLOYEE INSERT INTO EMPLOYEE (FNAME,LNAME, SSN) VALUES ( Richard, VALUES ( Richard, Marini, ) NULLS!!! K, Marini, , 30-Dec-52, 98 Oak Forest, Katy, TX, M, 37000, , 4) INSERT INTO DEPTS_INFO (DNAME, EMP_NO, TOTAL_SAL) SELECT DNAME, COUNT (*), SUM (SALARY) FROM DEPARTMENT, EMPLOYEE WHERE DNUMBER = DNO GROUP BY DNAME

27 DELETE Χρησιμοποιείται για τη διαγραφή εγγραφών από ένα πίνακα κάθε φορά. DELETE FROM EMPLOYEE WHERE LNAME= Brown DELETE FROM EMPLOYEE WHERE SSN = DELETE FROM EMPLOYEE WHERE DNO IN ( SELECT DNUMBER FROM DEPARTMENT WHERE DNAME= Research )

28 UPDATE UPDATE <TABLE_NAME> SET <Field_Name 1 > = <value 1 >, <Field_Name 2 > = <value 2 >,, <Field_Name n > = <value n > UPDATE PROJECT SET PLOCATION = Bellaire, DNUM = 5 WHERE PNUMBER = 10 UPDATE EMPLOYEE SET SALARY = SALARY * 1.1 WHERE DNO IN ( SELECT DNUMBER FROM DEPARTMENT WHERE DNAME = Research )

29 Περισσότερα για εξάσκηση:

30 Οι επόμενες διαφάνειες βασίζονται στο υλικό που συνοδεύει το βιβλίο του Ε. Κεχρή «Σχεσιακές Βάσεις Δεδομένων» -2 η έκδοση

31 Συγκεντρωτικές συναρτήσεις Συγκεντρωτικές συναρτήσεις (aggregate functions): Ειδικές συναρτήσεις της SQL για σύνθετες αριθμητικές πράξεις Οι συγκεντρωτικές συναρτήσεις είναι οι εξής: COUNT : απαριθμεί το πλήθος των εγγραφών SUM : υπολογίζει το άθροισμα μίας στήλης ή μίας αριθμητικής παράστασης μεταξύ στηλών ΜΙΝ : υπολογίζει το ελάχιστο μίας αριθμητικής στήλης MAX : υπολογίζει το μέγιστο μίας αριθμητικής στήλης AVG : υπολογίζει τη μέση τιμή μίας αριθμητικής στήλης

32 Παράδειγμα συγκεντρωτικών συναρτήσεων ΣΥΝΤΗΡΗΣΗ ΑριθμόςΚυκλοφορίας ΕτήσιοΚόστος ΕΡΗ ΥΑΑ ΕΡΗ ΚΖΑ ΡΗΖ SELECT AVG(ΕτήσιοΚόστος) FROM ΣΥΝΤΗΡΗΣΗ AVG(ΕτήσιοΚόστος) 2562 Ο μέσος όρος το κόστους της συντήρησης SELECT ΜΙΝ(ΕτήσιοΚόστος) FROM ΣΥΝΤΗΡΗΣΗ SELECT SUM(ΕτήσιοΚόστος) FROM ΣΥΝΤΗΡΗΣΗ SELECT COUNT (ΑριθμόςΚυκλοφορίας) FROM ΣΥΝΤΗΡΗΣΗ WHERE ΕτήσιοΚόστος > 3000 MIN(ΕτήσιοΚόστος) 900 SUM(ΕτήσιοΚόστος) COUNT(ΑριθμόςΚυκλοφορίας) 2 Το ελάχιστο κόστους της συντήρησης Το συνολικό κόστος συντήρησης Το πλήθος των αυτοκινήτων με κόστος συντήρησης πάνω από 3000

33 Ομαδοποίηση εγγραφών Πολλές φορές είναι αντιμετωπίζουμε έναν πίνακα ως αποτελούμενο από ομάδες εγγραφών (γραμμών). Η ομαδοποίηση των εγγραφών επιτρέπει την εξαγωγή αποτελεσμάτων ανά ομάδα. Η ομαδοποίηση γίνεται εφικτή μέσω της εντολής SELECT με προσθήκη της λέξης-κλειδί GROUP BY

34 Παράδειγμα ομαδοποίησης Ι ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ Κωδικός Πωλητή Κωδικός Προϊόντος Πωλήσεις Ο πίνακας ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ δείχνει τις πωλήσεις σε κάθε προϊόν που έκαναν οι πωλητές μίας εταιρείας στη διάρκεια του προηγούμενου μήνα. Θεωρούμε ότι ο πίνακας αυτός αποτελείται από δύο ομάδες εγγραφών: α ομάδα: πωλήσεις του πωλητή με κωδικό 1 (ομάδα Α), ενώ β ομάδα: πωλήσεις του πωλητή με κωδικό 2 (ομάδα Β). Στην περίπτωση αυτή ο χωρισμός σε ομάδες γίνεται ανάλογα με την τιμή που έχει η στήλη ΚωδικόςΠωλητή.

35 Ομαδοποίηση με το Group by ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ Κωδικός Πωλητή Κωδικός Προϊόντος Πωλήσεις Κωδικός Επίδοση Πωλητή SELECT ΚωδικόςΠωλητή, SUM (Πωλήσεις) AS Επίδοση FROM ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ GROUP BY ΚωδικόςΠωλητή Στην SQL είναι δυνατό οι συγκεντρωτικές συναρτήσεις να υπολογιστούν για κάθε ομάδα χωριστά. Αυτό γίνεται με χρήση των δεσμευμένων λέξεων GROUP BY με τη βοήθεια των οποίων δηλώνονται οι διάφορες ομάδες του πίνακα. Έτσι, το σύνολο των πωλήσεων για κάθε πωλητή χωριστά υπολογίζεται από την παραπάνω εντολή

36 Παράδειγμα ομαδοποίησης ΙΙ ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ Κωδικός Πωλητή Κωδικός Προϊόντος Πωλήσεις Οι εγγραφές ενός πίνακα μπορούν να ομαδοποιηθούν με διάφορους τρόπους, ανάλογα με τον υπολογισμό που απαιτείται. Έτσι, πίνακας ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ μπορεί να θεωρηθεί ότι αποτελείται από τρεις ομάδες εγγραφών: η α ομάδα αφορά τις πωλήσεις του προϊόντος 1001 (ομάδα 1), η β ομάδα αφορά τις πωλήσεις του προϊόντος 1002 (ομάδα 2) και η γ ομάδα αφορά τις πωλήσεις του προϊόντος 1003 (ομάδα 3).

37 Παράδειγμα ομαδοποίησης ΙΙ ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ Κωδικός Πωλητή Κωδικός Προϊόντος Πωλήσεις Τώρα, η ομαδοποίηση γίνεται ανάλογα με την τιμή που έχει η στήλη ΚωδικόςΠροΐόντος. Αυτή η ομαδοποίηση είναι απαραίτητη όταν θέλουμε να υπολογίσουμε το σύνολο των πωλήσεων για κάθε προϊόν. Κωδικός ΠωλήσειςΠΡ Προϊόντος SELECT ΚωδικόςΠροΐόντος, SUM (Πωλήσεις) AS ΠωλήσειςΠΡ FROM ΕΠΙΔΟΣΕΙΣ_ΠΩΛΗΤΩΝ GROUP BY ΚωδικόςΠροιόντος Η εντολή SQL που δίνει τον υπολογισμό αυτόν φαίνεται παραπάνω

38 Επιλογή με περισσότερους πίνακες Μέχρι τώρα είδαμε πώς μπορούμε να αναζητούμε με τη βοήθεια της SQL δεδομένα από ένα μόνο πίνακα. Ορισμένες φορές, ωστόσο, είναι απαραίτητο να αναζητήσουμε δεδομένα από δύο ή περισσότερους πίνακες, όπως εξηγείται στο επόμενο παράδειγμα.

39 Συνδυασμός δύο πινάκων ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 Μπορούμε να συνδυάσουμε την εγγραφή π1 με την κ1 και να δημιουργήσουμε την εγγραφή: Κωδικός εγγραφή Προϊόντος Περιγραφή Τιμή Κωδικός Αγοράς Προμηθευτή Κατηγορία Κωδικός Ονομασία Κατηγορίας πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου Με την ίδια λογική μπορούμε να συνδυάσουμε την εγγραφή π1 με την κ2 και να δημιουργήσουμε την εγγραφή: Κωδικός εγγραφή Προϊόντος Περιγραφή Τιμή Κωδικός Αγοράς Προμηθευτή Κατηγορία Κωδικός Ονομασία Κατηγορίας πκ2: π1 με κ Στυλό 0.75 Π Είδη υπολογιστή

40 Καρτεσιανό γινόμενο Συνολικά μπορούμε να συνδυάσουμε κάθε μία από τις 4 εγγραφές του α πίνακα με κάθε μία από τις 3 εγγραφές του β πίνακα και έτσι να δημιουργήσουμε τις παρακάτω 12 εγγραφές: εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Αγοράς Προμηθευτή Κατηγορία Κωδικός Κατηγορίας Ονομασία πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου πκ2: π1 με κ Στυλό 0.75 Π Είδη υπολογιστή πκ3: π1 με κ Στυλό 0.75 Π Υπολογιστής πκ4: π2 με κ Μολύβι 1 Π Είδη γραφείου πκ5: π2 με κ Μολύβι 1 Π Είδη υπολογιστή πκ6: π2 με κ Μολύβι 1 Π Υπολογιστής πκ7: π3 με κ Μαρκαδόρος 1.3 Π Είδη γραφείου πκ8: π3 με κ Μαρκαδόρος 1.3 Π Είδη υπολογιστή πκ9: π3 με κ Μαρκαδόρος 1.3 Π Υπολογιστής πκ10: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη γραφείου πκ11: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη υπολογιστή πκ12: π4 με κ Δισκέτα 3,5" 0.8 Π Υπολογιστής

41 Καρτεσιανό γινόμενο στην SQL Με τη βοήθεια της SQL μπορούμε να εμφανίσουμε το καρτεσιανό γινόμενο των πινάκων ΠΡΟΪΟΝΤΑ, ΚΑΤΗΓΟΡΙΕΣ με την εντολή: SELECT ΠΡΟΪΟΝΤΑ.*, ΚΑΤΗΓΟΡΙΕΣ.* FROM ΠΡΟΪΟΝΤΑ, ΚΑΤΗΓΟΡΙΕΣ

42 Καρτεσιανό γινόμενο και μη αντιστοιχισμένες εγγραφές Η εγγραφή πκ2 συνδυάζει το προϊόν 1001 που είναι στην κατηγορία 1 με τα είδη υπολογιστή που έχουν κωδικό κατηγορίας 2. Επομένως για τη εγγραφή πκ2 δεν υπάρχει αντιστοιχία (μη αντιστοιχισμένη εγγραφή). Για τον ίδιο λόγο μη αντιστοιχισμένες είναι οι εγγραφές που εμφανίζονται με κόκκινα γράμματα. εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Αγοράς Προμηθευτή Κατηγορία Κωδικός Κατηγορίας Ονομασία πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου πκ2: π1 με κ Στυλό 0.75 Π Είδη υπολογιστή πκ3: π1 με κ Στυλό 0.75 Π Υπολογιστής πκ4: π2 με κ Μολύβι 1 Π Είδη γραφείου πκ5: π2 με κ Μολύβι 1 Π Είδη υπολογιστή πκ6: π2 με κ Μολύβι 1 Π Υπολογιστής πκ7: π3 με κ Μαρκαδόρος 1.3 Π Είδη γραφείου πκ8: π3 με κ Μαρκαδόρος 1.3 Π Είδη υπολογιστή πκ9: π3 με κ Μαρκαδόρος 1.3 Π Υπολογιστής πκ10: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη γραφείου πκ11: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη υπολογιστή πκ12: π4 με κ Δισκέτα 3,5" 0.8 Π Υπολογιστής

43 Αντιστοιχισμένες εγγραφές Αντιστοιχισμένες εγγραφές : αυτές που έχουν κάποιο κοινό πεδίο, βάση του οποίου μπορεί να γίνει αντιστοίχιση. Για να κρατήσουμε τις αντιστοιχισμένες εγγραφές του καρτεσιανού γινομένου χρησιμοποιούμε τον όρο WHERE και περιγράφουμε τη συνθήκη που θέλουμε να ικανοποιούν τα δεδομένα που εμφανίζονται (ΚΑΤΗΓΟΡΗΜΑ ΣΥΖΕΥΞΗΣ). Στο συγκεκριμένο παράδειγμα, οι γραμμές που θέλουμε να εμφανίζονται είναι αυτές στις οποίες κάθε προϊόν συνδυάζεται μόνο με την δική του κατηγορία: SELECT ΠΡΟΪΟΝΤΑ.*, ΚΑΤΗΓΟΡΙΕΣ.* FROM ΠΡΟΪΟΝΤΑ, ΚΑΤΗΓΟΡΙΕΣ WHERE Κατηγορία = ΚωδικόςΚατηγορίας

44 Παράδειγμα αντιστοιχισμένων εγγραφών Η εντολή: SELECT ΠΡΟΪΟΝΤΑ.*, ΚΑΤΗΓΟΡΙΕΣ.* FROM ΠΡΟΪΟΝΤΑ, ΚΑΤΗΓΟΡΙΕΣ WHERE Κατηγορία = ΚωδικόςΚατηγορίας Εμφανίζει τα παρακάτω δεδομένα: εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Αγοράς Προμηθευτή Κατηγορία Κωδικός Κατηγορίας Ονομασία πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου πκ4: π2 με κ Μολύβι 1 Π Είδη γραφείου πκ11: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη υπολογιστή

45 Στον προηγούμενο πίνακα η κατηγορία ενός προϊόντος εμφανίζεται δύο φορές: μία φορά στη στήλη Κατηγορία και μία φορά στη στήλη ΚωδικόςΚατηγορίας. Μπορούμε να εμφανίσουμε κάθε στήλη μία μόνο φορά χρησιμοποιώντας για παράδειγμα την παρακάτω εντολή: SELECT ΠΡΟΪΟΝΤΑ.*, ΚΑΤΗΓΟΡΙΕΣ.Ονομασία FROM ΠΡΟΪΟΝΤΑ, ΚΑΤΗΓΟΡΙΕΣ WHERE Κατηγορία = ΚωδικόςΚατηγορίας

46 Πρακτική οδηγία Όταν θέλουμε να συνδυάσουμε δύο ή περισσότερους πίνακες: στον όρο SELECT γράφουμε τα ονόματα των στηλών που θέλουμε να εμφανίζονται στο αποτέλεσμα στον όρο FROM αναφέρουμε τα ονόματα των πινάκων από τους οποίους θέλουμε να αντλήσουμε δεδομένα στον όρο WHERE περιγράφουμε με ποιόν τρόπο συνδέονται οι πίνακες από τους οποίους αντλούμε δεδομένα.

47 ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Γραφική παράσταση Venn Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Εγγραφή Κωδικός Προϊόντος Περιγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 Στη γραφική παράσταση Venn, οι εγγραφές των δύο πινάκων που συσχετίζονται αναπαριστάνονται ως στοιχεία τα οποία συνδέονται άμεσα με μία γραμμή τοποθετούνται κεντρικά ώστε να ανήκουν και στα δύο σύνολα Οι εγγραφές πίνακα που δεν συσχετίζονται με άλλη εγγραφή, αναπαριστάνονται ως στοιχεία τα οποία τοποθετούνται περιφερειακά στο σύνολο

48 Ο όρος JOIN της SQL Η SQL προσφέρει την δεσμευμένη λέξη JOIN η οποία μπορεί να χρησιμοποιηθεί για να συνδυάσουμε δεδομένα δύο ή περισσοτέρων πινάκων. Στην απλούστερη μορφή του ο όρος JOIN χρησιμοποιείται σε μία εντολή SELECT για να βρούμε τις εγγραφές δύο ή περισσότερων πινάκων που σε μία στήλη τους έχουν την ίδια τιμή.

49 Εσωτερική σύζευξη H εσωτερική σύζευξη (inner join) ανάμεσα σε δύο πίνακες που έχουν μία κοινή στήλη είναι η πράξη με την οποία εμφανίζονται οι εγγραφές που στην κοινή τους στήλη έχουν την ίδια τιμή.

50 Παράδειγμα εσωτερικής σύζευξης πινάκων με τον όρο JOIN ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 SELECT * FROM ΠΡΟΪΟΝΤΑ JOIN ΚΑΤΗΓΟΡΙΕΣ ON Κατηγορία = ΚωδικόςΚατηγορίας Κωδικός Τιμή Κωδικός Περιγραφή Προϊόντος Αγοράς Προμηθευτή Κατηγορία Κωδικός Κατηγορίας Ονομασία πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου πκ4: π2 με κ Μολύβι 1 Π Είδη γραφείου πκ11: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη υπολογιστή

51 Αριστερή σύζευξη H αριστερή σύζευξη (left join) ανάμεσα σε δύο πίνακες που έχουν μία κοινή στήλη είναι η πράξη με την οποία εμφανίζονται όλες τις εγγραφές του αριστερού (δηλαδή του πρώτου) πίνακα. Δηλαδή η αριστερή σύζευξη περιλαμβάνει: τις εγγραφές των δύο πινάκων που στη κοινή στήλη τους έχουν την ίδια τιμή καθώς και τις εγγραφές του αριστερού (δηλαδή του πρώτου στη σειρά) πίνακα τα οποία στην κοινή στήλη έχουν τιμή που δεν υπάρχει στον δεξιό (δεύτερο) πίνακα.

52 Παράδειγμα αριστερής σύζευξης πινάκων με τον όρο LEFT JOIN ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 SELECT * FROM ΠΡΟΪΟΝΤΑ LEFT JOIN ΚΑΤΗΓΟΡΙΕΣ ON Κατηγορία = ΚωδικόςΚατηγορίας Κωδικός Τιμή Κωδικός Περιγραφή Προϊόντος Αγοράς Προμηθευτή Κατηγορία Κωδικός Κατηγορίας Ονομασία πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου πκ4: π2 με κ Μολύβι 1 Π Είδη γραφείου πκ11: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη υπολογιστή 1003 Μαρκαδόρος 1.3 Π130 5 NULL NULL

53 Παράδειγμα αριστερής σύζευξης πινάκων για μη σχετιζόμενες εγγραφές ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 SELECT * FROM ΠΡΟΪΟΝΤΑ LEFT JOIN ΚΑΤΗΓΟΡΙΕΣ ON Κατηγορία = ΚωδικόςΚατηγορίας WHERE ΚωδικόςΚατηγορίας IS NULL Συνδυασμός Κωδικός Τιμή Κωδικός Περιγραφή εγγραφών Προϊόντος Αγοράς Προμηθευτή Κατηγορία Κωδικός Ονομασία Κατηγορίας Κ3 με καμία 1003 Μαρκαδόρος 1.3 Π130 5 NULL NULL

54 Δεξιά σύζευξη H δεξιά σύζευξη (right join) ανάμεσα σε δύο πίνακες που έχουν μία κοινή στήλη είναι η πράξη με την οποία εμφανίζονται όλες τις εγγραφές του δεξιού (δηλαδή του δεύτερου) πίνακα. Η δεξιά σύζευξη περιλαμβάνει: τις εγγραφές των δύο πινάκων που στη κοινή στήλη τους έχουν την ίδια τιμή καθώς και τις εγγραφές του δεξιού (δηλαδή του δεύτερου στη σειρά) πίνακα οι οποίες στην κοινή στήλη έχουν τιμή που δεν υπάρχει στον αριστερό (πρώτο) πίνακα.

55 Παράδειγμα δεξιάς σύζευξης πινάκων με τον όρο RIGHT JOIN ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 SELECT * FROM ΠΡΟΪΟΝΤΑ RIGHT JOIN ΚΑΤΗΓΟΡΙΕΣ ON Κατηγορία = ΚωδικόςΚατηγορίας Κωδικός Τιμή Κωδικός Περιγραφή Προϊόντος Αγοράς Προμηθευτή Κατηγορία Κωδικός Κατηγορίας Ονομασία πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου πκ4: π2 με κ Μολύβι 1 Π Είδη γραφείου πκ11: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη υπολογιστή NULL NULL NULL NULL NULL 3 Υπολογιστή

56 Παράδειγμα δεξιάς σύζευξης πινάκων για τις μη σχετιζόμενες εγγραφές ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 SELECT * FROM ΠΡΟΪΟΝΤΑ RIGHT JOIN ΚΑΤΗΓΟΡΙΕΣ ON Κατηγορία = ΚωδικόςΚατηγορίας WHERE Κατηγορία IS NULL Κωδικός Τιμή Κωδικός Περιγραφή Προϊόντος Αγοράς Προμηθευτή Κατηγορία Κωδικός Ονομασία Κατηγορίας NULL NULL NULL NULL NULL 3 Υπολογιστή

57 Πλήρης σύζευξη H πλήρης σύζευξη ανάμεσα σε δύο πίνακες που έχουν μία κοινή στήλη είναι η πράξη με την οποία εμφανίζονται όλα τα στοιχεία όλων των πινάκων: Εγγραφές που συνδυάζονται Εγγραφές του ενός πίνακα που δεν συνδέονται με καμία εγγραφή του άλλου. Τότε οι εγγραφές του άλλου πίνακα εμφανίζουν τιμές NULL στα πεδία που δεν υπάρχει αντιστοίχιση.

58 Παράδειγμα πλήρους σύζευξης πινάκων όταν υποστηρίζεται ο όρος FULL JOIN ΠΡΟΪΟΝΤΑ ΚΑΤΗΓΟΡΙΕΣ Εγγραφή Κωδικός Προϊόντος Περιγραφή Τιμή Κωδικός Κωδικός Κατηγορία Εγγραφή Αγοράς Προμηθευτή Κατηγορίας Ονομασία π Στυλό 0.75 Π200 1 κ1 1 Είδη γραφείου π Μολύβι 1 Π250 1 κ2 2 Είδη υπολογιστή π Μαρκαδόρος 1.3 Π130 5 κ3 3 Υπολογιστής π Δισκέτα 3,5" 0.8 Π120 2 SELECT * FROM ΠΡΟΪΟΝΤΑ FULL OUTER JOIN ΚΑΤΗΓΟΡΙΕΣ ON Κατηγορία = ΚωδικόςΚατηγορίας Κωδικός Τιμή Κωδικός Περιγραφή Προϊόντος Αγοράς Προμηθευτή Κατηγορία Κωδικός Κατηγορίας Ονομασία πκ1: π1 με κ Στυλό 0.75 Π Είδη γραφείου πκ4: π2 με κ Μολύβι 1 Π Είδη γραφείου πκ11: π4 με κ Δισκέτα 3,5" 0.8 Π Είδη υπολογιστή 1003 Μαρκαδόρος 1.3 Π130 5 NULL NULL NULL NULL NULL NULL NULL 3 Υπολογιστή

59 Πλήρης σύζευξη στην SQL όταν δεν υποστηρίζεται ο όρος FULL JOIN Σε συστήματα που δεν υποστηρίζεται η δεσμευμένη λέξη FULL χρησιμοποιείται η εντολή UNION : SELECT * FROM ΠΡΟΪΟΝΤΑ LEFT JOIN ΚΑΤΗΓΟΡΙΕΣ ΟΝ Κατηγορία = ΚωδικόςΚατηγορίας UNION SELECT * FROM ΠΡΟΪΟΝΤΑ RIGHT JOIN ΚΑΤΗΓΟΡΙΕΣ ΟΝ Κατηγορία = ΚωδικόςΚατηγορίας

60 Τέλος Ενότητας

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Επίκουρος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα

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

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

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

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

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

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

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

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

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

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

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ Κεφάλαιο 6 SQL Στο κεφάλαιο αυτό παρουσιάζεται η δοµηµένη γλώσσα ερωτοαποκρίσεων (Structured Query Language, SQL) που χρησιµοποιείται για τη διαχείριση των δεδοµένων της βάσης. Η διαχείριση αυτή περιλαµβάνει

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Σχεσιακή Άλγεβρα Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Εισαγωγή στη LibreOffice Base Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες

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

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

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

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Το Σχεσιακό Μοντζλο Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το

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

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

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

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

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

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

Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που

Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 4ο Η γλώσσα βάσεων δεδοµένων SQL, η γλώσσα QBE. Αθανασίου Ειρήνη, MSc 1 Εισαγωγή Mια

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

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL) Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων

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

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

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

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

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

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

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

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

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

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 7: Βάσεις Δεδομένων (Θεωρία) Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών Σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 14: SQL DML I

Lecture 14: SQL DML I Department of Computer Science University of Cyprus EPL342 Databases Lecture 14: SQL DML I SQL Structured Query Language (Chapter 8.4, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα Βιβλία

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

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

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

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

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

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

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

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

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

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

τατιςτική ςτην Εκπαίδευςη II

τατιςτική ςτην Εκπαίδευςη II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ τατιςτική ςτην Εκπαίδευςη II Αρχείο αποτελεςμάτων Διδάσκων: Μιχάλης Λιναρδάκης ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΑΓΩΓΗΣ Άδειες Χρήσης Το παρόν

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1) Ασάφεια και Πλήρη Ονόματα Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Σύνθετα SQL queries

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

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

Lecture 16: SQL DML III

Lecture 16: SQL DML III Department of Computer Science University of Cyprus EPL342 Databases Lecture 16: SQL DML III SQL Structured Query Language (Chapter 8.5.5-8.6, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην SQL DML SELECT, FROM, WHERE,

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

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

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

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

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

Βάσεις Περιβαλλοντικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Περιβαλλοντικών Δεδομένων Ενότητα 9-10: SQL ερωτήματα επιλογής Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Λογική και Θεωρία Συνόλων Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης

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

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

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

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

τατιςτική ςτην Εκπαίδευςη II

τατιςτική ςτην Εκπαίδευςη II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ τατιςτική ςτην Εκπαίδευςη II Αρχείο αποτελεςμάτων Διδάσκων: Μιχάλης Λιναρδάκης ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΑΓΩΓΗΣ Άδειες Χρήσης Το παρόν

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

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

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

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

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 12Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

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

Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική Αρχιτεκτονική ANSI-SPARC, Επίπεδα Αρχιτεκτονικής (Εξωτερικό, Εννοιολογικό, Εσωτερικό), Παραδοσιακή Προσέγγιση (Μειονεκτήματα, Παράδειγμα), Προσέγγιση

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

SQL Data Manipulation Language

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

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

Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συνενώσεις με Καρτεσιανό Γινόμενο και

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανοικτά Ακαδημαϊκά Μαθήματα Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Case Study: Μελέτη Περιπτώσεως: Σύστημα Διαχείρισης Βάσης Βιβλιοθήκης (Library Information System) - Ορισμός και χρήση View Χ. Σκουρλάς,

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

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

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

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

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

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

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

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 SQL -ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις.

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

DELETE, UPDATE, INSERT.

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

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

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

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

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

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

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

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

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

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

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

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

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

DELETE, UPDATE, INSERT

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

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε

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