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

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

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

Transcript

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

2 Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που είναι αποθηκευµένο στη βάση και οργανωµένο σε πίνακες, οι οποίοι συσχετίζονται µεταξύ τους. Οι πιο σηµαντικές µορφές αυτής της διαχείρισης είναι η εισαγωγή, µεταβολή και διαγραφή των εγγραφών των πινάκων της βάσης διεργασίες οι οποίες οδηγούν στη µεταβολή του πληροφοριακού περιεχοµένου αλλά και η επιλογή και εµφάνιση των εγγραφών των πινάκων µε βάση κάποια κριτήρια αναζήτησης. Αυτές δύο βασικές οµάδες λειτουργιών η δηµιουργία του σχεσιακού σχήµατος και η διαχείριση του πληροφοριακού περιεχοµένου που περιέχεται σε αυτό πραγµατοποιούνται από κατάλληλα εργαλεία που είναι ειδικά σχεδιασµένα γι αυτό το σκοπό. Η διαχείριση των πινάκων της βάσης, πραγµατοποιείται χρησιµοποιώντας τη γλώσσα ορισµού δεδοµένων (Data Definition Language, DDL), ενώ για τη διαχείριση των δεδοµένων της εφαρµογής, χρησιµοποιείται η γλώσσα χειρισµού δεδοµένων (Data Manipulation Language, DML). Αυτές οι δύο γλώσσες συναντώνται σε όλα τα µοντέρνα συστήµατα διαχείρισης βάσεων δεδοµένων και αποτελούν τµήµα µιας πιο γενικευµένης γλώσσας η οποία ονοµάζεται δοµηµένη γλώσσα ερωτοαποκρίσεων (Structured Query Language, SQL) και έχει καθιερωθεί ως το διεθνές πρότυπο διαχείρισης των δεδοµένων µιας εφαρµογής. 2

3 Ιστορική αναδροµή Η SQL είναι µία σχεσιακή γλώσσα βάσεων δεδοµένων, η οποία σχεδιάστηκε και υλοποιήθηκε από την IBM στα πλαίσια του ερευνητικού της προγράµµατος System R που απέβλεπε στην ανάπτυξη ενός πρότυπου σχεσιακού συστήµατος βάσεων δεδοµένων (ΣΣ Β ). Αρχικά η SQL ονοµαζόταν SEQUEL (από το Structured English QUery Language, Γλώσσα Ερωτήσεων οµηµένων Αγγλικών). Τα δύο πρώτα ΣΣ Β που διατέθηκαν στο εµπόριο και βασίζονταν στην SQL ήταν το ORACLE από την Relational Software Inc. (σήµερα ORACLE Corporation) το 1979 και το SQL/DS από την IBM το Το 1982 το Αµερικάνικο Εθνικό Ινστιτούτο Τυποποίησης (American National Standards Institute - ANSI) και ο ιεθνής Οργανισµός Προτύπων (International Standards Organization - ISO) ανέθεσαν στη µόνιµη επιτροπή του X3H2 να συντάξει µία πρόταση για µία πρότυπη σχεσιακή γλώσσα. Η πρόταση της επιτροπής βασίστηκε στην έκδοση της SQL και επικυρώθηκε από το ANSI το 1986 οδηγώντας σε µια τυποποιηµένη έκδοση της SQL (ANSI 1986), που λέγεται SQL-86 ή SQL. Το 1992 αναπτύχθηκε ένα αναθεωρηµένο και πολύ πιο εκτεταµένο πρότυπο µε το όνοµα SQL2 (αναφέρεται και ως SQL-92) και το 1999 η SQL3, που αποτελεί µια περαιτέρω επέκταση της SQL µε αντικειµενοστραφή χαρακτηριστικά. 3

4 Χρήση της SQL Αν και το όνοµα της δηλώνει ότι η SQL χρησιµοποιείται για την υποβολή ερωτηµάτων (σχεσιακών πράξεων) προς µία σχεσιακή βάση δεδοµένων, η SQL είναι κάτι πολύ ευρύτερο. Η SQL έχει σαν συστατικά στοιχεία της µια γλώσσα ορισµού δεδοµένων (Data Definition Language, DDL) και όψεων και µια γλώσσα χειρισµού δεδοµένων (Data Manipulation Language, DML) καθώς και εντολών για καθορισµό περιορισµών και εξέλιξης του σχήµατος. Η SQL είναι ανεξάρτητη από την δοµή της βάσης δεδοµένων. Η ροή των πληροφοριών µεταξύ του χρήστη και της βάσης δεδοµένων είναι όµοια µε την παρακάτω εικόνα: Το DBMS έχει τον έλεγχο της διαχείρισης της βάσης δεδοµένων. Οι αιτήσεις στέλνονται στο DBMS όπου επεξεργάζονται και αλλάζουν σε εντολές ανάγνωσης/εγγραφής προς το διαχειριστή των αρχείων της βάσης. 4

5 Λειτουργίες της SQL Η SQL µπορεί να ελέγχει όλες τις λειτουργίες για: Ορισµό δεδοµένων Ανάκτηση δεδοµένων Χειρισµό δεδοµένων Έλεγχο πρόσβασης (Εξουσιοδότηση) Ακεραιότητα δεδοµένων Κοινή χρήση δεδοµένων και Έλεγχο Συναλλαγών 5

6 Πλεονεκτήµατα της SQL Τα κύρια πλεονεκτήµατα της SQL είναι: Ανεξαρτησία κατασκευαστή. Αλλάζοντας ΣΣ Β συνήθως δεν χρειάζεται να ξαναγραφεί ο κώδικας SQL. Υψηλού-επιπέδου γλωσσική δοµή (English like), που κάνει εύκολη τη χρήση της γλώσσας. Τυποποίηση. Η τυποποίηση επικυρώθηκε από το ANSI και τον ISO. υναµική διαχείριση δεδοµένων. Προσφέρει προχωρηµένες εντολές επεξεργασίας που επιτρέπουν την ενσωµάτωσή της καθώς και ερωτήµατα πολλαπλών επιπέδων. 6

7 οµικές µονάδες της SQL Υπάρχουν πολλές παραλλαγές της γλώσσας SQL που κυκλοφορούν στην αγορά, οι οποίες ωστόσο χαρακτηρίζονται από την ίδια δοµή και την ίδια φιλοσοφία. Έτσι, µια τυπική γλώσσα SQL, θα περιλαµβάνει τις επόµενες δοµικές µονάδες: Γλώσσα ορισµού δεδοµένων (Data Definition Language, DDL): Η γλώσσα αυτή, όπως έχουµε ήδη αναφέρει, περιλαµβάνει εντολές που µας επιτρέπουν να υλοποιήσουµε πίνακες, σχέσεις ανάµεσα σε πίνακες, και γενικά όλη τη δοµή µιας βάσης δεδοµένων. Γλώσσα χειρισµού δεδοµένων (Data Manipulation Language, DML): Η γλώσσα αυτή επιτρέπει τη διαχείριση των δεδοµένων της εφαρµογής, όπως την εισαγωγή, διαγραφή, ανάκτηση και τροποποίηση δεδοµένων. Ορισµός όψεων της βάσης (View Definition): Επιτρέπει τη δηµιουργία όψεων της βάσης δεδοµένων οι οποίες όπως θα δούµε στη συνέχεια, ορίζονται ως εικονικοί πίνακες (virtual tables) οι οποίοι περιέχουν δεδοµένα από έναν ή περισσότερους πίνακες της βάσης. Ορισµός εξουσιοδοτήσεων (Authorization): Επιτρέπει τη δηµιουργία οµάδων χρηστών, και την απόδοση διαφορετικών δικαιωµάτων πρόσβασης σε κάθε έναν από αυτούς, προκειµένου η κάθε οµάδα χρηστών, να διαχειρίζεται µόνο τα δικά της δεδοµένα. ιαχείρισης ακεραιότητας (Integrity): Επιτρέπει το λεπτοµερή έλεγχο των δεδοµένων που καταχωρούνται στη βάση, έτσι ώστε να µην παραβιάζονται οι κανόνες ακεραιότητας (integrity constraints) που έχουµε ορίσει και οι οποίοι όταν τηρούνται, αποµακρύνουν τον κίνδυνο καταχώρησης ασυνεπών δεδοµένων (inconsistent data). 7

8 Συνοπτικός πίνακας βασικών εντολών SQL ανά δοµική µονάδα 8

9 Η γλώσσα ορισµού δεδοµένων Η γλώσσα ορισµού δεδοµένων (Data Definition Language, DDL), επιτρέπει τη διαχείριση πινάκων (tables), όψεων (views) και δεικτών (indices) σε µια βάση δεδοµένων. Αυτή η διαχείριση περιλαµβάνει τον ορισµό και τη µεταβολή της δοµής αυτών των αντικειµένων, καθώς επίσης και τη διαγραφή τους. Από τα τρία αυτά αντικείµενα, οι πίνακες είναι το δοµικό χαρακτηριστικό µιας σχεσιακής βάσης δεδοµένων, καθώς περιέχουν τα δεδοµένα που καταχωρούνται σε αυτή, ενώ οι όψεις προκύπτουν από έναν ή περισσότερους πίνακες και συσχετίζουν δεδοµένα που είναι αποθηκευµένα σε αυτούς. Τέλος οι δείκτες είναι ειδικές δοµές δεδοµένων, οι οποίες επιταχύνουν τη διαδικασία της αναζήτησης πληροφοριών από τη βάση. 9

10 ιαχείριση πινάκων Η διαχείριση των πινάκων από τις εντολές της γλώσσας ορισµού δεδοµένων, περιλαµβάνει τη δηµιουργία και διαγραφή πινάκων από τη βάση δεδοµένων καθώς και την προσθήκη πεδίων στους πίνακες, µετά τη δηµιουργία τους. Οι εντολές που πραγµατοποιούν αυτές τις διαδικασίες, είναι οι: CREATE TABLE, DROP TABLE και ALTER TABLE. 10

11 Create Table Η εντολή CREATE TABLE χρησιµοποιείται για τη δηµιουργία ενός καινούριου πίνακα στη βάση δεδοµένων. Η εντολή δέχεται ως παράµετρο το όνοµα του πίνακα που θέλουµε να δηµιουργήσουµε και τη δοµή αυτού του πίνακα, που περιλαµβάνει το σύνολο των πεδίων που θα περιέχονται σε αυτόν. Για κάθε πεδίο καθορίζουµε το όνοµά του και τον τύπο του ενώ προαιρετικά µπορούµε να θέσουµε και κάποιους περιορισµούς όσον αφορά το σύνολο και τα χαρακτηριστικά των τιµών του. Οι πιο συνηθισµένοι τύποι δεδοµένων που µπορούµε να χρησιµοποιήσουµε για τα πεδία των πινάκων, είναι αριθµητικοί τύποι και συµβολοσειρές. Αριθµητικοί τύποι: (SMALLINT) µε µέγιστη τιµή 32767, ή µεγάλος (INTEGER) ακέραιος ή πραγµατικός αριθµός (FLOAT), η DECIMAL (i, j) όπου i είναι το συνολικό πλήθος των ψηφίων του αριθµού, και j το πλήθος των ψηφίων µετά την υποδιαστολή. Συµβολοσειρές: CHAR (n) χρησιµοποιούνται ακριβώς n χαρακτήρες ή VARCHAR (n) όπου n είναι το πλήθος των χαρακτήρων που θα χρησιµοποιηθούν. είναι µεταβλητό, αλλά σε κάθε περίπτωση, όχι µεγαλύτερο από n χαρακτήρες. Υπάρχει και ένας τύπος δεδοµένων DATE τον οποίο χρησιµοποιούµε όταν θέλουµε να καταχωρήσουµε ηµεροµηνίες. Οι περιορισµοί τους οποίους µπορούµε να θέσουµε για κάθε πεδίο, αφορούν κυρίως το δικαίωµα καταχώρησης ή όχι της τιµής NULL, σε αυτό το πεδίο. Έτσι, για όσα πεδία δεν επιτρέπεται η απόδοσης τιµής NULL σε αυτά, χρησιµοποιούµε κατά την κλήση της εντολής, τον κανόνα «NOT NULL». Παράδειγµα δηµιουργίας του πίνακα EMPLOYEE: 11

12 Drop Table Η εντολή DROP TABLE χρησιµοποιείται για τη διαγραφή ενός πίνακα από τη βάση δεδοµένων, ενέργεια, η οποία διαγράφει όχι µόνο τα δεδοµένα του πίνακα, αλλά και τον ίδιο τον πίνακα. Παράδειγµα: H παραπάνω εντολή διαγράφει τον πίνακα DEPENDENTS µαζί µε όλα τα δεδοµένα που περιέχει, από τη βάση δεδοµένων. 12

13 Alter Table Η εντολή ALTER TABLE επιτρέπει την τροποποίηση της δοµής του πίνακα µετά τη δηµιουργία του, και πιο συγκεκριµένα, την προσθήκη νέων πεδίων σε αυτόν αν και σε ορισµένες περιπτώσεις επιτρέπεται τόσο η διαγραφή όσο και η µεταβολή του τύπου δεδοµένων για κάποιο από τα πεδία του πίνακα. Για να προσθέσουµε ένα νέο πεδίο σε κάποιο πίνακα, θα πρέπει να καθορίσουµε το όνοµά του και τον τύπο του. Παράδειγµα: Η παραπάνω εντολή προσθέτει στον πίνακα EMPLOYEE το πεδίο JOB που είναι συµβολοσειρά µε µέγιστο µήκος ίσο µε 12 χαρακτήρες. 13

14 ιαχείριση όψεων Η όψη (view), στην ορολογία της SQL, ορίζεται ως ένας απλός πίνακας, ο οποίος προκύπτει από το συνδυασµό των πεδίων ενός ή περισσοτέρων πινάκων. Αυτοί οι πίνακες, µε τη σειρά τους, µπορεί να είναι είτε βασικοί πίνακες τα δεδοµένα των οποίων αποθηκεύονται στα αρχεία του συστήµατος, ή άλλες όψεις, οι οποίες θεωρούνται εικονικοί πίνακες που τους χρησιµοποιούµε χωρίς να αποθηκεύουµε τα περιεχόµενά τους. ηµιουργώντας µια όψη, µπορούµε να έχουµε εύκολη προσπέλαση σε πεδία τα οποία χρησιµοποιούµε πολύ συχνά. Οι βασικοί πίνακες από τους οποίους δηµιουργείται µια όψη, αναφέρονται και ως πίνακες ορισµού της όψης (defining tables). 14

15 Create View Για να δηµιουργήσουµε µια όψη, χρησιµοποιούµε την εντολή CREATE VIEW. Η εντολή δέχεται ως όρισµα το όνοµα της όψης που πρόκειται να δηµιουργήσουµε. Επίσης, εάν το επιθυµούµε, µπορούµε να καθορίσουµε και τα ονόµατα των πεδίων αυτής της όψης στην αντίθετη περίπτωση, θα χρησιµοποιηθούν τα ονόµατα των πεδίων των πινάκων ορισµού της. Τέλος επειδή τα πεδία της όψης θα καθοριστούν εφαρµόζοντας ένα ερώτηµα (query) επί των βασικών πινάκων της βάσης, θα πρέπει να περάσουµε ως παράµετρο στην εντολή και ένα τέτοιο ερώτηµα. Ένα παράδειγµα χρήστης της CREATE VIEW παρουσιάζεται στη συνέχεια: Η παραπάνω εντολή δηµιουργεί µια καινούρια όψη που φέρει το όνοµα WORKS_ON1 και περιέχει τα πεδία FNAME, LNAME, PNAME και HOURS των πινάκων EMPLOYEE, PROJECT και WORKS_ON. 15

16 Drop View H διαγραφή µιας όψης γίνεται µε την εντολή DROP VIEW. Παράδειγµα χρήσης της εντολής αυτής, είναι η κλήση της µε τη µορφή: η οποία διαγράφει την όψη WORKS_ON1 από τη βάση δεδοµένων. 16

17 ιαχείριση δεικτών Η έννοια του δείκτη (index) σε όλα τα συστήµατα διαχείρισης βάσεων δεδοµένων είναι στενά συνυφασµένη µε την έννοια της αναζήτησης πληροφορίας. Ο δείκτης δεν είναι τίποτε άλλο από µια δοµή δεδοµένων που αποθηκεύεται σε ειδικά αρχεία της βάσης (index files) και έχει ως στόχο να επιταχύνει τη διαδικασία αναζήτησης πληροφορίας από τους πίνακες της βάσης. Οι δείκτες συνήθως ορίζονται για συγκεκριµένα πεδία αυτών των πινάκων (indexing fields) και για κάθε τιµή των εν λόγω πεδίων, αποθηκεύουν ένα σύνολο από pointers που δείχνουν όλες τις περιοχές της συσκευής δευτερεύουσας αποθήκευσης στις οποίες βρίσκονται αποθηκευµένα τα δεδοµένα της κάθε εγγραφής. Τα αρχεία των δεικτών είναι εποµένως αρκετά µικρότερα σε µέγεθος σε σχέση µε τα αρχεία δεδοµένων, και η διαδικασία αναζήτησης της πληροφορίας δια της χρήσης τους, λαµβάνει χώρα δια της εφαρµογής γνωστών τεχνικών αναζήτησης, όπως είναι για παράδειγµα η δυαδική αναζήτηση (binary search). 17

18 Create Index Η δηµιουργία ενός δείκτη στη γλώσσα SQL, γίνεται χρησιµοποιώντας την εντολή CREATE INDEX και περιλαµβάνει τον καθορισµό του ονόµατος του δείκτη και του πεδίου του πίνακα για το οποίο θα δηµιουργηθεί. Για παράδειγµα, προκειµένου να δηµιουργήσουµε ένα δείκτη για το πεδίο LNAME του πίνακα EMPLOYEE, θα καλέσουµε την εντολή CREATE INDEX µε τη µορφή: Η ταξινόµηση των τιµών του πεδίου πάνω στο οποίο θα δηµιουργηθεί ο δείκτης, µπορεί να είναι είτε αύξουσα (ascending) είτε φθίνουσα (descending), και καθορίζεται από το χρήστη, αναγράφοντας τις παραµέτρους ASC και DESC αντίστοιχα, αµέσως µετά το όνοµα του πεδίου. Εάν δεν χρησιµοποιήσουµε αυτή την παράµετρο, όπως στο παραπάνω παράδειγµα, ο δείκτης χρησιµοποιεί την αύξουσα ταξινόµηση για τη διάταξη των τιµών του πεδίου. Η δηµιουργία ενός δείκτη για ένα συνδυασµό πεδίων είναι επίσης δυνατή, και µάλιστα έχουµε τη δυνατότητα να καθορίσουµε διαφορετικό είδος ταξινόµησης για κάθε απλό πεδίο. Η παραπάνω εντολή δηµιουργεί ένα δείκτη πάνω στα πεδία LNAME, MINIT και FNAME, εκ των οποίων το LNAME ταξινοµείται κατά αύξουσα διάταξη ενώ το FNAME ταξινοµείται κατά φθίνουσα διάταξη. 18

19 Drop Index Η διαγραφή ενός δείκτη από τη βάση δεδοµένων γίνεται χρησιµοποιώντας την εντολή DROP INDEX. Παράδειγµα χρήσης αυτής της εντολής είναι η κλήση της µε τη µορφή: DROP INDEX LNAME_INDEX Η παραπάνω εντολή διαγράφει το δείκτη LNAMES_INDEX από τη βάση δεδοµένων. 19

20 ιαχείριση δεδοµένων Η γλώσσα χειρισµού δεδοµένων (Data Manipulation Language, DML) επιτρέπει τη διαχείριση των δεδοµένων των πινάκων της βάσης, και πιο συγκεκριµένα, την εισαγωγή, διαγραφή, και τροποποίηση των εγγραφών των πινάκων. Επιπλέον, έχουµε τη δυνατότητα να ανακτήσουµε από τους πίνακες, δεδοµένα, τα οποία πληρούν κάποια συγκεκριµένα κριτήρια. Η πραγµατοποίηση όλων αυτών των διαδικασιών, γίνεται χρησιµοποιώντας τις εντολές: INSERT, DELETE, UPDATE και SELECT. 20

21 Εισαγωγή εγγραφών σε πίνακα της βάσης: η εντολη Insert (1/2) Η εισαγωγή µιας νέας εγγραφής σε κάποιον από τους πίνακες της βάσης δεδοµένων, γίνεται µε τη χρήση της εντολής INSERT, η οποία στη γενική περίπτωση, καλείται µε τη µορφή: <TABLE NAME> είναι το όνοµα του πίνακα στον οποίο θα καταχωρηθεί η νέα εγγραφή και <v1>, <v2>,, <vn>, είναι οι τιµές των πεδίων της εγγραφής που θέλουµε να καταχωρήσουµε. Η παραπάνω εντολή καταχωρεί στον πίνακα EMPLOYEE ένα νέο υπάλληλο µε όνοµα Richard K. Marini, που έχει κωδικό SSN , ηµεροµηνία γέννησης 30 εκεµβρίου 1952, ιεύθυνση 98 Oak Forest, Katy, TX, φύλλο άρρεν, µισθό 37000, ο οποίος εποπτεύεται από τον MANAGER µε κωδικό SSN , και έχει τοποθετηθεί στο τµήµα µε κωδικό αριθµό 4. 21

22 Εισαγωγή εγγραφών σε πίνακα της βάσης: η εντολη Insert (2/2) Οι τιµές των πεδίων στην εντολή INSERT θα πρέπει να αναγράφονται µε τη σειρά µε την οποία δηλώθηκαν τα πεδία του πίνακα στην εντολή CREATE TABLE, έτσι ώστε η κάθε τιµή να καταχωρηθεί στη σωστή στήλη του πίνακα και να διασφαλισθεί η συµβατότητα ανάµεσα στον τύπο δεδοµένων του πεδίου, και στον τύπο δεδοµένων των καταχωρηµένων τιµών. Εάν για κάποιο πεδίο δεν επιθυµούµε να καταχωρήσουµε κάποια τιµή, τότε η αντίστοιχη τιµή στην εγγραφή που θα καταχωρήσουµε θα είναι ίση µε NULL. Εναλλακτικά, µπορούµε να παραλείψουµε τις τιµές NULL, για κάποια πεδία του πίνακα. Στην περίπτωση αυτή όµως θα πρέπει να καθορίσουµε επ ακριβώς σε ποιες στήλες του πίνακα θα καταχωρηθούν οι τιµές που καθορίζουµε. Η παραπάνω εντολή υποδηλώνει πως η νέα εγγραφή που θα καταχωρήσουµε περιλαµβάνει µόνο το όνοµα, το επώνυµο και τον κωδικό SSN για τον νέο EMPLOYEE. Θα πρέπει ωστόσο η σειρά µε την οποία αναγράφονται οι τιµές της νέας εγγραφής, να είναι και πάλι ίδια µε τη σειρά µε την οποία αναγράφονται τα ονόµατα των πεδίων, δίπλα από το όνοµα του πίνακα, έτσι ώστε η κάθε τιµή να καταχωρηθεί στο σωστό πεδίο. Ας σηµειωθεί πως στη γενική περίπτωση η γλώσσα ορισµού δεδοµένων, δεν ελέγχει εάν η εγγραφή που πρόκειται να καταχωρηθεί ικανοποιεί τους κανόνες ακεραιότητας (integrity constraints) που έχουµε καθορίσει κατά το λογικό σχεδιασµό του σχήµατος της βάσης. 22

23 Επιλογή δεδοµένων από τους πινάκες της βάσης: η εντολή Select (1/4) Η εντολή SELECT αναζητά και εµφανίζει δεδοµένα, τα οποία πληρούν κάποια συγκεκριµένα κριτήρια επιλογής. Αυτού του είδους οι διαδικασίες ονοµάζονται ερωτήµατα (queries). Η χρήση της εντολής SELECT ακολουθεί τη σύνταξη: Ο κατάλογος <attribute list> περιέχει τα ονόµατα των πεδίων που θέλουµε να ανακτήσουµε, ο κατάλογος <table list> περιέχει τα ονόµατα των πινάκων που θα χρησιµοποιηθούνε στη δηµιουργία του ερωτήµατος, ενώ <condition> είναι το κριτήριο αναζήτησης, που θα πρέπει να ικανοποιείται από τα δεδοµένα των πινάκων, προκειµένου αυτά να εµφανιστούν στο τελικό αποτέλεσµα. Ένα παράδειγµα της εντολής SELECT είναι η κλήση της µε τη µορφή Η παραπάνω εντολή εφαρµόζεται πάνω στον πίνακα EMPLOYEE και επιστρέφει την ηµεροµηνία γέννησης και τη διεύθυνση του υπαλλήλου, που φέρει το όνοµα John B. Smith. 23

24 Επιλογή δεδοµένων από τους πινάκες της βάσης: η εντολή Select (2/4) Στην περίπτωση κατά την οποία καλέσουµε την εντολή SELECT χωρίς την πρόταση WHERE, το αποτέλεσµα που θα λάβουµε θα περιλαµβάνει όλες τις εγγραφές του πίνακα, καθώς δεν καθορίζουµε κάποιο συγκεκριµένο κριτήριο αναζήτησης. Στο παραπάνω παράδειγµα θα λάβουµε τα ονοµατεπώνυµα όλων των υπαλλήλων της εταιρείας, ενώ για να λάβουµε όλα τα πεδία της κάθε εγγραφής, θα χρησιµοποιήσουµε τον τελεστή «*». Το παραπάνω παράδειγµα θα επιστρέψει όλα τα πεδία των υπαλλήλων της εταιρείας, για τους οποίους ο κωδικός του τµήµατος στο οποίο απασχολούνται έχει την τιµή 5. 24

25 Επιλογή δεδοµένων από τους πινάκες της βάσης: η εντολή Select (3/4) Η παράµετρος DISTINCT: Η γλώσσα SQL δεν διαγράφει από µόνη της τις διπλο-εγγραφές που ενδέχεται να εµφανιστούν στο τελικό αποτέλεσµα. Χρησιµοποιώντας την παραπάνω εντολή για να ανακτήσουµε τους µισθούς των υπαλλήλων της εταιρείας, υπάρχει πιθανότητα στο τελικό αποτέλεσµα να εµφανίζεται η ίδια τιµή περισσότερες από µια φορές στην περίπτωση κατά την οποία υπάρχουν πολλοί υπάλληλοι που παίρνουν τον ίδιο µισθό. Εάν όµως θέλουµε να κρατήσουµε µόνο µια φορά την κάθε τιµή θα καλέσουµε την εντολή µε τη µορφή Στον επόµενο πίνακα παρουσιάζουµε το αποτέλεσµα των παραπάνω εντολών, προκειµένου να γίνει καλύτερα κατανοητός, ο τρόπος λειτουργίας της DISTINCT. Στον παραπάνω πίνακα η αριστερή στήλη περιέχει το αποτέλεσµα της εντολής χωρίς τη χρήση της παραµέτρου DISTINCT, η οποία χρησιµοποιείται στη δεύτερη περίπτωση. Όπως φαίνεται από τα περιεχόµενα των πινάκων, η χρήση της DISTINCT αποµακρύνει τις τιµές που εµφανίζονται περισσότερες από µιας φορά, µε αποτέλεσµα το σύνολο των τιµών που επιστρέφεται από τη SELECT να είναι πλέον διακριτό, και να περιλαµβάνει µόνο διαφορετικές τιµές. 25

26 Επιλογή δεδοµένων από τους πινάκες της βάσης: η εντολή Select (4/4) Η παράµετρος UNION: η πράξης της ένωσης (UNION) ενώνει 2 πίνακες θα πρέπει οι πίνακες να είναι συµβατοί ως προς την ένωση (union compatible), δηλαδή να έχουν το ίδιο πλήθος πεδίων, και τα αντίστοιχα πεδία των πινάκων να έχουν το ίδιο σύνολο τιµών. Ως παράδειγµα εφαρµογής της ένωσης δύο πινάκων, θα ζητήσουµε να ανακτηθούν οι κωδικοί των PROJECTS στα οποία δουλεύει ο υπάλληλος µε το επώνυµο Smith, τόσο ως εργαζόµενος όσο και ως MANAGER κάποιου τµήµατος. Για να απαντήσουµε σε αυτό το ερώτηµα, θα πρέπει να βρούµε τους κωδικούς των PROJECTS στα οποία ο Smith συµµετέχει ως εργαζόµενος και τους κωδικούς των PROJECTS στα οποία ο Smith συµµετέχει ως MANAGER, οπότε, το τελικό αποτέλεσµα θα αποτελείται από την ένωση των δύο συνόλων. Έτσι, το ερώτηµα αυτό σε γλώσσα SQL θα διατυπωθεί ως εξής: 26

27 Αθροιστικές συναρτήσεις (aggregate functions) Σε ένα σχεσιακό σχήµα βάσεων δεδοµένων υπάρχει η δυνατότητα να εφαρµόσουµε πάνω στα δεδοµένα των πινάκων, ένα σύνολο συναρτήσεων οι οποίες επιστρέφουν κάποιες τιµές. Στη γλώσσα SQL οι συναρτήσεις αυτές είναι η COUNT η οποία επιστρέφει το πλήθος των εγγραφών ενός πίνακα ή το πλήθος κάποιων τιµών ανάλογα µε τον τρόπο µε τον οποίο καλείται, η MIN και η MAX οι οποίες επιστρέφουν την ελάχιστη και τη µέγιστη τιµή κάποιου συνόλου, η SUM που επιστρέφει το άθροισµα κάποιων τιµών, και η AVG που επιστρέφει το µέσο όρο τους. Παραδείγµατα: Να βρεθεί το άθροισµα των µισθών όλων των υπαλλήλων που δουλεύουν στο Research Department, καθώς επίσης ο µεγαλύτερος και ο µικρότερος µισθός και ο µέσος όρος τους: Να βρεθεί το πλήθος των υπαλλήλων που δουλεύουν στο Research Department 27

28 Η παράµετρος GROUP BY Σε ορισµένες περιπτώσεις, επιθυµούµε την εφαρµογή των αθροιστικών συναρτήσεων, όχι σε όλες τις πλειάδες του πίνακα, αλλά µόνο σε ένα σύνολο από αυτές, οι οποίες έχουν ένα κοινό χαρακτηριστικό. Ας υποθέσουµε για παράδειγµα πως για κάθε τµήµα της εταιρείας ζητούµε να ανακτήσουµε το πλήθος των υπαλλήλων που εργάζονται σε αυτό, καθώς και το µέσο όρο των µισθών τους. Στην περίπτωση αυτή είναι προφανές πως θα πρέπει να οµαδοποιήσουµε τις εγγραφές των υπαλλήλων µε κριτήριο τον κωδικό του τµήµατος στο οποίο απασχολούνται, και στη συνέχεια να εφαρµόσουµε τις αθροιστικές συναρτήσεις, σε κάθε µια από αυτές τις οµάδες. Το σύνολο των πεδίων ως προς τα οποία θα λάβει χώρα αυτή η οµαδοποίηση (grouping attributes) πρέπει υποχρεωτικά να είναι ανάµεσα στα πεδία που θα επιστρέψει η SELECT έτσι ώστε να γνωρίζουµε σε ποιο πεδίο αναφέρεται η κάθε µια από τις εγγραφές που θα εµφανιστούν στο τελικό αποτέλεσµα. Χαρακτηριστικό παράδειγµα χρήσης της παραµέτρου GROUP BY είναι το ερώτηµα που για κάθε τµήµα της εταιρείας, επιστρέφει τον κωδικό του, το πλήθος των υπαλλήλων που εργάζονται σε αυτό, και το µέσο όρο των µισθών τους. 28

29 Η παράµετρος HAVING Επιπλέον, είναι πιθανό να µην επιθυµούµε την εφαρµογή των αθροιστικών συναρτήσεων, πάνω σε όλες τις οµάδες εγγραφών που οποίες προκύπτουν δια της χρήσης της παραµέτρου GROUP BY, αλλά µόνο πάνω σε εκείνες που πληρούν κάποια συγκεκριµένη συνθήκη. Στην περίπτωση κατά την οποία είµαστε υποχρεωµένοι να διαλέξουµε αυτές τις οµάδες, µπορούµε να χρησιµοποιήσουµε την παράµετρο HAVING συνοδευόµενη από κάποια συνθήκη επιλογής. Ας υποθέσουµε για παράδειγµα ότι ζητούµε το όνοµα και τον κωδικό του PROJECT καθώς και το πλήθος των υπαλλήλων που εργάζονται σε αυτό, όχι όµως για όλα τα PROJECTS, αλλά µόνο για εκείνα στα οποία εργάζονται περισσότεροι από δύο υπάλληλοι. Στην περίπτωση αυτή θα επαναδιατυπώσουµε το προηγούµενο ερώτηµα, ως εξής : 29

30 Εµφωλιασµένα Υποερωτήµατα Η SQL επιτρέπει τον εµφωλιασµό υποερωτήσεων. Τα εµφωλιασµένα υποερωτήµατα (nested queries) χρησιµοποιούνται σε προτάσεις where ή having. Ένα υποερώτηµα είναι µια έκφραση select-from-where που είναι εµφωλιασµένη (ένθετη) µέσα σε µια άλλη ερώτηση. Τότε το πρώτο ονοµάζεται εξωτερικό ερώτηµα και το δεύτερο εσωτερικό ερώτηµα. Συνήθως υπολογίζεται πρώτα το εσωτερικό ερώτηµα και κατόπιν το εξωτερικό εφαρµόζοντας σε αυτό το αποτέλεσµα του εσωτερικού ερωτήµατος. Οι τελεστές που χρησιµοποιούνται για τους ελέγχους είναι in/not in (συµµετοχή σε σύνολο) (>, <, =, κλπ) some/any/all (σύγκριση συνόλων) exists/not exists (έλεγχος για κενά σύνολα) unique/not unique (έλεγχος για διπλότυπα) Η γενική σύνταξη των εµφωλιασµένων υποερωτηµάτων είναι η: 30

31 Εµφωλιασµένα Υποερωτήµατα - Παράδειγµα Χρησιµοποιώντας εµφωλιασµένα υποερωτήµατα, το παράδειγµα που ζητούσε τους κωδικούς των PROJECTS στα οποία ο Smith συµµετέχει τόσο ως εργαζόµενος, όσο και ως MANAGER, µπορεί να επαναδιατυπωθεί ως εξής: Εκείνο που κάνουµε στην παραπάνω εντολή είναι να βρούµε το σύνολο των κωδικών των PROJECTS στα οποία ο Smith συµµετέχει τόσο ως εργαζόµενος όσο και ως MANAGER, και στη συνέχεια χρησιµοποιώντας τον λογικό τελεστή OR να ενώσουµε στην ουσία αυτά τα σύνολα. Επειδή δεν είναι δυνατόν να γνωρίζουµε σε κάθε χρονική στιγµή τις τιµές αυτών των συνόλων, τις ανακτούµε µε δύο εµφωλιασµένες SELECT, έτσι ώστε σε κάθε περίπτωση τα σύνολα αυτά να περιέχουν τις σωστές τιµές. 31

32 ιαγραφή εγγραφών από πίνακα της βάσης: η εντολη Delete Η εντολή DELETE χρησιµοποιείται για τη διαγραφή εγγραφών από κάποιο πίνακα. Οι εγγραφές διαγράφονται µόνο από ένα πίνακα κάθε φορά και καθορίζονται δια της χρήσης της πρότασης WHERE η οποία χρησιµοποιείται µε τον ίδιο τρόπο που χρησιµοποιείται και στη SELECT. Εάν δεν χρησιµοποιηθεί η πρόταση WHERE, η εντολή DELETE διαγράφει όλες τις εγγραφές του πίνακα πάνω στον οποίο εφαρµόζεται. Αυτό βέβαια δεν σηµαίνει πως λαµβάνει χώρα και διαγραφή του πίνακα από τη βάση για να αποµακρυνθεί και ο ίδιος ο πίνακας θα πρέπει να χρησιµοποιηθεί και η εντολή DROP TABLE. Στα δύο πρώτα παραδείγµατα η εντολή DELETE διαγράφει µια εγγραφή κάθε φορά αυτή που αναφέρεται στον Brown, και αυτή που αναφέρεται στον υπάλληλο µε κωδικό SSN = Στο τρίτο παράδειγµα οι εγγραφές που πρόκειται να διαγραφούν, καθορίζονται από µια πρόταση SELECT η οποία επιστρέφει τον κωδικό του τµήµατος µε όνοµα DEPARTMENT. Εποµένως, η παραπάνω εντολή, διαγράφει όλους τους υπαλλήλους της εταιρείας, που ανήκουν στο Research Department. 32

33 Τροποποίηση του περιεχοµένου των εγγραφών των πινάκων της βάσης: η εντολή Update Η εντολή UPDATE χρησιµοποιείται για την τροποποίηση των τιµών των πεδίων επιλεγµένων εγγραφών κάποιου από τους πίνακες της βάσης. Αυτές οι εγγραφές καθορίζονται όπως και στην εντολή DELETE από µια πρόταση WHERE που καθορίζει τα χαρακτηριστικά των εγγραφών που θέλουµε να τροποποιήσουµε. Τα πεδία των οποίων οι τιµές θα µεταβληθούν, καθώς επίσης και οι νέες τιµές που θα καταχωρήσουµε σε αυτά, καθορίζονται, χρησιµοποιώντας την πρόταση SET. Η παραπάνω εντολή τροποποιεί τις τιµές των πεδίων της εγγραφής του πίνακα PROJECT για την οποία το πεδίο PNUMBER έχει την τιµή 10 και αποδίδει στο πεδίο PLOCATION την τιµή Bellaire και στο πεδίο DNUM την τιµή 5. Όπως και στην εντολή DELETE, µπορούµε να τροποποιήσουµε τις τιµές πολλών εγγραφών ταυτόχρονα, εάν συνδυάσουµε την εντολή UPDATE µε την εντολή SELECT. Η παραπάνω εντολή τροποποιεί τους µισθούς όλων των υπαλλήλων που εργάζονται στο Research Department, προκαλώντας αύξηση της τιµής τους κατά 10%. 33

34 Άσκηση Εκφώνηση 1/2 34

35 Άσκηση Εκφώνηση 2/2 35

36 Ερώτηµα 1ο: 36

37 Ερώτηµα 1ο Απάντηση : 37

38 Ερώτηµα 2ο : 38

39 Ερώτηµα 2ο - Απάντηση: 39

40 Ερώτηµα 3ο : 40

41 Ερώτηµα 3ο - Απάντηση: 41

42 Ερώτηµα 4ο : 42

43 Ερώτηµα 4ο - Απάντηση: 43

44 Ερώτηµα 5ο : 44

45 Ερώτηµα 5ο - Απάντηση: 45

46 Ερώτηµα 7ο : 46

47 Ερώτηµα 7ο - Απάντηση: 47

48 QBE Σε αντίθεση µε την SQL, που στη σύνταξή της θυµίζει περισσότερο γλώσσες προγραµµατισµού, η QBE είναι βασισµένη σε µία εντελώς διαφορετική φιλοσοφία. Η φιλοσοφία της QBE είναι να είναι απλή και φιλική προς τους χρήστες και να δίνει τη δυνατότητα στους χρήστες να υποβάλλουν τα ερωτήµατά τους µε τρόπο που προσεγγίζει τους πίνακες αποτελεσµάτων που γνωρίζουν. Το όνοµα QBE σηµαίνει Query By Example και προσδιορίζει τη φιλοσοφία της γλώσσας που είναι να δίνονται οι ερωτήσεις υπό µορφή παραδειγµάτων. Η QBE αναπτύχθηκε από την IBM ως εναλλακτικός τρόπος υποβολής ερωτήσεων στο σύστηµα DB2. Υπάρχουν αρκετές διαφορές στον τρόπο µε τον οποίο χρησιµοποιείται η QBE από σύστηµα σε σύστηµα. Στην QBE χρησιµοποιούµε πίνακες ερωτήσεων για να υποβάλλουµε την ερώτηση δίνοντας ένα παράδειγµα για το πώς θέλουµε να είναι η απάντηση. Η απάντηση δίνεται σε πίνακες απάντησης που είναι ίδιοι µε τους πίνακες ερωτήσεων. Το σύστηµα φροντίζει να δώσει στο χρήστη πληροφορία όπως τα ονόµατα κάθε στήλης και έτσι ο χρήστης δεν χρειάζεται να τα θυµάται όπως στην SQL. 48

49 Η QBE σε συνδυασµό µε γραφικό περιβάλλον Στα περισσότερα Συστήµατα ιαχείρισης Βάσεων εδοµένων που χρησιµοποιούν σήµερα QBE υπάρχει κάποιο γραφικό περιβάλλον για τη διευκόλυνση των χρηστών. Με τη χρήση κάποιου τέτοιου περιβάλλοντος ο χρήστης µπορεί πολύ εύκολα να υλοποιήσει εντολές σε QBE. H Microsoft Access χρησιµοποιεί την γλώσσα QBE. Σε αυτό το σύστηµα, ο χρήστης κατά τη σχεδίαση µίας ερώτησης, έχει στη διάθεσή του τους πίνακες που αποτελούν τη Βάση εδοµένων σε γραφική µορφή. 49

50 ιαδικασία χρήσης της QBE Ο χρήστης διαλέγει τις σχέσεις (πίνακες) που χρειάζεται για το query Παρουσιάζονται τα περιγράµµατα των πινάκων που διαλέχτηκαν Ο χρήστης «πηγαίνει» στις κατάλληλες στήλες (µε ειδικά πλήκτρα) Τιµές-παραδείγµατα (µεταβλητές), σταθερές, κλπ., δακτυλογραφούνται Άλλοι συγκριτικοί τελεστές (πέραν της ισότητας που είναι αυτόµατη για σταθερές τιµές) πρέπει να δακτυλογραφηθούν (όπως, >, <, κλπ.) Πιο πολύπλοκες συνθήκες µπαίνουν σε ένα κουτί-συνθηκών (condition box) Συνθήκες στην ίδια σειρά υποδηλώνουν το Boolean AND Συνθήκες σε διαφορετικές σειρές υποδηλώνουν το Boolean OR Η άρνηση (negation - Boolean NOT) προσδιορίζεται µε τον τελεστή not 50

51 Παράδειγµα ερωτήµατος QBE σε MS Access: Πίνακας Employee. Σχεδίαση ερωτήµατος QBE: Να βρεθούν τα επώνυµα και τα ονόµατα των υπαλλήλων µε µισθό µεγαλύτερο από Αντίστοιχο ερώτηµα µε εντολές SQL. Αποτέλεσµα εκτέλεσης ερωτήµατος. 51

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

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ Κεφάλαιο 6 SQL Στο κεφάλαιο αυτό παρουσιάζεται η δοµηµένη γλώσσα ερωτοαποκρίσεων (Structured Query Language, 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 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

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

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

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

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

Βάσεις Δεδομένων Ηγλώσσα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) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

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

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

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

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

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

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

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

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

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

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

Query-by-Example (QBE)

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

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

Η Γλώσσα Βάσεων εδοµένων SQL

Η Γλώσσα Βάσεων εδοµένων SQL Η Γλώσσα Βάσεων εδοµένων SQL 1 Η γλώσσα SQL Η SQL (Structured Query Language - οµηµένη Γλώσσα Ερωτηµάτων) είναι η καθιερωµένη σχεσιακή γλώσσα βάσεων δεδοµένων. Υλοποιήθηκε από την IBM στα πλαίσια του ερευνητικού

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy?

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

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

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

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

Κεφάλαιο 11 Ερωτήµατα

Κεφάλαιο 11 Ερωτήµατα Κεφάλαιο 11 Ερωτήµατα Στο κεφάλαιο αυτό περιγράφεται ο τρόπος δηµιουργίας και διαχείρισης ερωτηµάτων µέσα από το περιβάλλον της Microsoft Access. Όπως έχει ήδη αναφερθεί σε προηγούµενο κεφάλαιο, ένας από

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

1 / 87

1 / 87 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 87 Δυο λόγια για την SQL Υλοποίηση του σχεσιακού μοντέλου δεδομένων του E.F. Codd, αρχικά ως DSl/Alpha, αργότερα

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

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

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

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

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

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

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

1 / 97

1 / 97 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα προβολής, επιλέγοντας στήλες από ένα πίνακα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Certified Data Base Designer (CDBD)

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

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

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

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

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

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

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

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Μοντέλα, οµές (Σχήµα) και Αντιπρόσωποι (Data Models, Schema, and Instances) DBMS αρχιτεκτονική ιάφοροι τύποι γλωσσών και διεπαφές

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

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Το κεφάλαιο αυτό περιλαµβάνει µια συνοπτική εισαγωγή στην Microsoft Access 2000, που είναι και το σχεσιακό σύστηµα διαχείρισης βάσεων δεδοµένων µε το οποίο θα ασχοληθούµε.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η ΕΝΝΟΙΑ ΤΟΥ Ε ΟΜΕΝΟΥ ΚΑΙ ΤΟΥ ΤΥΠΟΥ Ε ΟΜΕΝΩΝ

Η ΕΝΝΟΙΑ ΤΟΥ Ε ΟΜΕΝΟΥ ΚΑΙ ΤΟΥ ΤΥΠΟΥ Ε ΟΜΕΝΩΝ Κεφάλαιο 1 Εισαγωγή Στο κεφάλαιο αυτό παρουσιάζεται µια συνοπτική εισαγωγή στη θεωρία των βάσεων δεδοµένων και των συστηµάτων διαχείρισης βάσεων δεδοµένων, προκειµένου ο αναγνώστης να κατανοήσει τις βασικές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γνωριµία µε τη Microsoft Access

Γνωριµία µε τη Microsoft Access Γνωριµία µε τη Microsoft Access ηµιουργία νέας βάσης δεδοµένων Έναρξη - Προγράµµατα - Microsoft Access - ηµιουργία νέας βάσης δεδοµένων µε χρήση Κενής βάσης δεδοµένων - ΟΚ Επιλέγουµε Φάκελο και στο Όνοµα

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Βασικές Έννοιες - εδοµένα { Νίκος, Μιχάλης, Μαρία, Θάλασσα, Αυτοκίνητο }, αριθµοί, π.χ. {1, 2, 3, 5, 78}, συµβολοσειρές (strings) π.χ. { Κώστας, 5621, ΤΡ 882, 6&5 #1, +

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εγχειρίδιο Χρήσης της Microsoft Access 2000 1

Εγχειρίδιο Χρήσης της Microsoft Access 2000 1 Εγχειρίδιο Χρήσης της Microsoft Access 2000 1 ΗΜΙΟΥΡΓΙΑ ΝΕΑΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ (NEW DATABASE) Για να δηµιουργήσουµε µια νέα βάση δεδοµένων ξεκινούµε τη Microsoft Access 2000 από το Start Menu ή τη Γραµµή

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο. Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο. Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2. ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.0_v1 Page 17 of 29 Βάσεις Δεδομένων, Προχωρημένο Επίπεδο Ακολουθεί η Εξεταστέα

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

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

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

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

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

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

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

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

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

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

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

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

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

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

Στο κεφάλαιο αυτό περιγράφεται η τρόπος δηµιουργίας και διαχείρισης πινάκων µέσα από το περιβάλλον της Microsoft Κεφάλαιο 8 Πίνακες Στο κεφάλαιο αυτό περιγράφεται η τρόπος δηµιουργίας και διαχείρισης πινάκων µέσα από το περιβάλλον της Microsoft Access. Η δηµιουργία ενός πίνακα (table) µέσα από τη Microsoft Access,

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

Κεφάλαιο 9 Συσχετίσεις

Κεφάλαιο 9 Συσχετίσεις Κεφάλαιο 9 Συσχετίσεις Το κεφάλαιο αυτό διαπραγµατεύεται τη δηµιουργία και διαχείριση των συσχετίσεων που υφίστανται ανάµεσα στους πίνακες µιας σχεσιακής βάσης δεδοµένων. Όπως έχει ήδη αναφερθεί, ο ρόλος

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

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

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

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

τουργικών χαρακτηριστικών πού έχουν µετατρέψει την αλληλεπίδραση του χρήση µε την εφαρµογή σε µια εύκολη και ευχάριστη διαδικασία.

τουργικών χαρακτηριστικών πού έχουν µετατρέψει την αλληλεπίδραση του χρήση µε την εφαρµογή σε µια εύκολη και ευχάριστη διαδικασία. Κεφάλαιο 10 Φόρµες Στο κεφάλαιο αυτό περιγράφεται ο τρόπος µε τον οποίο είναι δυνατή η δηµιουργία διαλόγων αλληλεπίδρασης µε το χρήση και η διαχείριση των δεδοµένων της εφαρµογής µέσα από ένα εύχρηστο

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

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

SQL Data Manipulation Language

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

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

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

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

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

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

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

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

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

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

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

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ Σύβακας Σταύρος ΠΕ19,MSc. IT Εισαγωγή Τα ερωτήματα (queries) είναι μία από τις πιο σημαντικές δυνατότητες που προφέρει ένα Σ%Β% αφού επιτρέπουν: Ανάκτηση και ανάλυση των δεδομένων στην επιθυμητή μορφή

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας Structured Query Language (SQL) Δρ. Καρβούνης Ευάγγελος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα

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

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

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

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

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

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

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

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

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

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

DELETE, UPDATE, INSERT.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DELETE, UPDATE, INSERT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 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,

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