Η Γιώζζα SQL. Δηζαγσγή Βαζηθέο Έλλνηεο Τύπνη Γεδνκέλσλ Οξηζκόο Γεδνκέλσλ Φεηξηζκόο Γεδνκέλσλ

Σχετικά έγγραφα
Η Γιώζζα SQL. Δηζαγσγή Βαζηθέο Έλλνηεο Τύπνη Γεδνκέλσλ Οξηζκόο Γεδνκέλσλ Φεηξηζκόο Γεδνκέλσλ

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Βάσεις Δεδομέμωμ. Δξγαζηήξην Ι. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Ενδεικτικά Θέματα Στατιστικής ΙΙ

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

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

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

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Βάρειπ Δεδξμέμωμ. Εξγαζηήξην ΙΙI. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

x x x x tan(2 x) x 2 2x x 1

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

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

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

MySQL Εργαστήριο #3 Structured Query Language - SQL

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

MySQL Εργαστήριο #5 Ενεργοποιητές (συνέχεια)

Γηζδηάζηαηνη Πίλαθεο

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress.

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

Άσκηση 1 - Μοπυοποίηση Κειμένου

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Constructors and Destructors in C++

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Μνλνδηάζηαηνη Πίλαθεο Λπκέλεο Αζθήζεηο. Άζθεζε 1. Πνηά ζα είλαη ηα πεξηερόκελα ηνπ πίλαθα Α κεηά ηελ εθηέιεζε ηνπ παξαθάησ αιγνξίζκνπ;

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

2 η Ε π α ν α λ η π τ ι κ ή Ά σ κ η σ η

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

242 - Ειζαγωγή ζηοσς Η/Υ

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

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

ΕΞΙΣΩΣΕΙΣ. Α. Πρωτοβάθμιεσ Εξιςώςεισ. Β. Διερεφνηςη Εξιςώςεων. 1x είναι αδφνατθ. x 1 x 1. Άλγεβρα Α Λυκείου

Να ζρεδηαζζεί ην θαηεπζπλόκελν γξάθεκα πνπ νξίδεηαη από ηνλ εμήο πίλαθα γεηηλίαζεο.

Αντισταθμιστική ανάλυση

Εξγαζηήξην Πιεξνθνξηθήο

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

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Ηλεκηπονικά Απσεία και Διεπαθέρ

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

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

Αιγόξηζκνη Δθρώξεζε, Δίζνδνο θαη Έμνδνο ηηκώλ Γνκή αθνινπζίαο. Δηζαγσγή ζηηο Αξρέο ηεο Δπηζηήκεο ησλ Η/Υ

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΚΦΩΝΗΣΕΙΣ. Διάρκεια: 3 ώρες Ημερομηνία: 12/5/2019 Έκδοση: 1 η. Τα sites blogs που συμμετέχουν (σε αλφαβητική σειρά):

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β )

Βάζεις Δεδομένων. ΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ The Relational Model. ρεζηαθό Μνληέιν 1

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

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

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΧΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Transcript:

9 Η Γιώζζα SQL Δηζαγσγή Βαζηθέο Έλλνηεο Τύπνη Γεδνκέλσλ Οξηζκόο Γεδνκέλσλ Φεηξηζκόο Γεδνκέλσλ

Δηζαγσγή Η δνκεκέλε γιώζζα εξσηεκάησλ SQL (Structured Query Language) ρξεζηκνπνηείηαη γηα ηνπο ρξήζηεο ηνπ ΣΓΒΓ κε ζθνπό ηε δεκηνπξγία, ελεκέξσζε ή δηαγξαθή δεδνκέλσλ θαη ηε δηαηύπσζε εξσηεκάησλ. Η αξρηθή έθδνζε ηεο γιώζζαο νλνκάζηεθε SEQUEL (Structured English Query Language) θαη ζρεδηάζζεθε από εξεπλεηηθή νκάδα ηεο IBM ζηα πιαίζηα ηνπ System R (1974). Η εηαηξεία Oracle ρξεζηκνπνίεζε γηα πξώηε θνξά ηε γιώζζα ζε εκπνξηθό ΣΓΒΓ ην 1979. 2

Δηζαγσγή Η γιώζζα SQL έρεη ζεκαληηθά πιενλεθηήκαηα κε βαζηθόηεξα ηα εμήο: ππνζηεξίδεηαη από θάζε ζρεζηαθό ζύζηεκα, νπόηε ε δηαηύπσζε ησλ εξσηεκάησλ είλαη αλεμάξηεηε ηνπ ΣΓΒΓ, ρξεζηκνπνηείηαη γηα όιεο ηηο ιεηηνπξγίεο ηνπ ΣΓΒΓ, πνιιέο γιώζζεο πξνγξακκαηηζκνύ έρνπλ επεθηαζεί ώζηε λα ππνζηεξίδνπλ δηαηύπσζε εξσηεκάησλ ζε SQL, θαη έρεη απιή ζύληαμε θαη απνδεζκεύεη ην ρξήζηε από ιεπηνκέξεηεο πινπνίεζεο. 3

Δηζαγσγή Η SQL ζηεξίδεηαη ζην ζρεζηαθό ινγηζκό πιεηάδσλ θαη ηε ζρεζηαθή άιγεβξα. Υπνδηαηξείηαη ζε 2 μερσξηζηέο ππνγιώζζεο: ηε γιώζζα νξηζκνύ δεδνκέλσλ (DDL), θαη ηε γιώζζα ρεηξηζκνύ δεδνκέλσλ (DML). Δίλαη δεισηηθή γιώζζα πςεινύ επηπέδνπ, δειαδή νξίδνπκε ηί ζέινπκε λα γίλεη όρη ην πώο (όρη αιγνξηζκηθή). Η επεμεξγαζία γίλεηαη ζε επίπεδν ζπλόινπ. Υπάξρνπλ κεραληζκνί γηα επεμεξγαζία ζε επίπεδν κεκνλσκέλσλ εγγξαθώλ γηα ππνζηήξημε δηαδηθαζηηθώλ γισζζώλ. H SQL ρξεζηκνπνηεί όξνπο όπσο: πίλαθαο, γξακκή, ζηήιε, νη νπνίνη αληηζηνηρνύλ ζηηο έλλνηεο: ζρέζε, 4 πιεηάδα θαη ραξαθηεξηζηηθό (Σρεζηαθό Μνληέιν).

Δηζαγσγή H SQL έρεη δηάθνξα ηκήκαηα: Γιώζζα Οξηζκνύ Γεδνκέλσλ (ΓΟΓ), Γιώζζα Φεηξηζκνύ Γεδνκέλσλ (ΓΦΓ), Δλζσκαησκέλε Γιώζζα Φεηξηζκνύ Γεδνκέλσλ (Host Language) --- (π.ρ. C++, Java, Visual Basic), Οξηζκό Όςεσλ (view definition), Δμνπζηνδόηεζε (authentication), Αθεξαηόηεηα (integrity) ---Πεπιοπιζμοί Ακεπαιόηηηαρ (πξσηεύνληα θιεηδηά, πεξηνξηζκνί ηηκώλ πάλσ ζε πεδία, πεξηνξηζκνί αθεξαηόηεηαο αλαθνξώλ), θαη Έιεγρν Σπλαιιαγώλ (concurrency control) (Ταπηόρξνλε πξνζπέιαζε πνιιώλ ρξεζηώλ ζηε ΒΓ). 5

Τύπνη Γεδνκέλσλ Δξσηήκαηα πνπ κπνξεί λα πξνθύςνπλ θαηά ηελ πινπνίεζε ηεο ΒΓ: Δίλαη ν ηύπνο δεδνκέλσλ θαηάιιεινο γηα ην είδνο δεδνκέλσλ πνπ πξέπεη λα απνζεθεύζνπκε; Πξέπεη λα ρξεζηκνπνηήζνπκε έλαλ ηύπν δεδνκέλσλ θαζνξηζκέλνπ ή κεηαβιεηνύ κήθνπο; 6

Τύπνη Γεδνκέλσλ CHARACTER(N) ή CHAR(N) ζπκβνινζεηξά ζηαζεξνύ κήθνπο N ραξαθηήξσλ. CHARACTER VARYING (Ν) ή VARCHAR(N) ή CHAR VARYING(N) ζπκβνινζεηξά κεηαβιεηνύ κήθνπο από 0 έσο Ν ραξαθηήξεο. BIT(N), VARBIT(N) ίδηα ιεηηνπξγία κε CHAR(N) θαη VARCHAR(N) --- γηα Bits INTEGER ή ΙΝΤ, SMALLINT γηα κεγάινπο θαη κηθξνύο αθέξαηνπο (εμαξηώληαη από ην πιηθό). NUMERIC(N,M) ή DECIMAL(N,M) ή DEC(N,M) αξηζκόο κε N ζπλνιηθά ςεθία από ηα νπνία ηα M (ίζσο θαη 0) είλαη δεθαδηθά (M N) (αθξίβεηα θαη 7 θιίκαθα).

Τύπνη Γεδνκέλσλ FLOAT(N) όπνπ ην Ν είλαη ε αθξίβεηα ηεο καληίζαο (mantissa) --- πιήζνο δεθαδηθώλ ςεθίσλ. REAL, DOUBLE PRECISION εμαξηώληαη από ην πιηθό. DATE, TIME, TIMESTAMP, INTERVAL ρξεζηκνπνηνύληαη γηα σπονικό πποζδιοπιζμό κε ζπγθεθξηκέλε αθξίβεηα. Υπνδηαηξνύληαη ζε απινύζηεξα πεδία πνπ είλαη: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, TIMEZONE_HOUR, TIMEZONE_MINUTE. 8

Τύπνη Γεδνκέλσλ DATE έρεη ηε κνξθή: YYYY-MM-DD (πρ 2016-11-19). TIME έρεη ηε κνξθή: HH-MM-SS (πρ 14-45-18). TIME(I): κε I δεθαδηθά γηα θιάζκαηα δεπηεξνιέπηνπ HH-MM-SS-F...F. TIME WITH TIME ZONE: κε ρξνληθή δώλε HH-MM-SS-HH-MM. TIME-STAMP έρεη ηε κνξθή (πιήξεο ρξνληθόο πξνζδηνξηζκόο): YYYY-MM-DD-HH-MM-SS-F...F{-HH-MM}. INTERVAL: ρξεζηκνπνηείηαη γηα ηελ αλαπαξάζηαζε ρξνληθώλ δηαζηεκάησλ κε αλάινγε κνξθή θαη αθξίβεηα. 9

Γιώζζα Οξηζκνύ Γεδνκέλσλ Γεκηνπξγία λένπ ζρήκαηνο: (Οπιζμόρ Σσήμαηορ ΒΓ) CREATE SCHEMA λέν-ζρήκα AUTHORIZATION όλνκα-ρξήζηε; (Υπεύζπλνο γηα ηε δηαρείξηζε ηνπ λένπ ζρήκαηνο ΒΓ είλαη ν ρξήζηεο πνπ αθνινπζεί ην Authorization) Καηαζηξνθή Σρήκαηνο : DROP SCHEMA όλνκα-ζρήκαηνο 10

Γιώζζα Οξηζκνύ Γεδνκέλσλ Γεκηνπξγία λένπ πίλαθα. Μέζσ ηεο εληνιήο create table νξίδνπκε: ην όλνκα ηνπ πίλαθα, ηα νλόκαηα θαη ηνπο ηύπνπο δεδνκέλσλ ησλ ραξαθηεξηζηηθώλ, αλ ηα ραξαθηεξηζηηθά κπνξνύλ λα δέρνληαη ή όρη ηηκέο NULL, εμ νξηζκνύ ηηκέο γηα ηα ραξαθηεξηζηηθά, Πεπιοπιζμοί Ακεπαιόηηηαρ: πξσηεύνληα θιεηδηά θαη πεξηνξηζκνύο κνλαδηθόηεηαο, πεξηνξηζκνύο ηηκώλ πάλσ ζε πεδία, θαη πεξηνξηζκνύο αθεξαηόηεηαο αλαθνξώλ. 11

Γιώζζα Οξηζκνύ Γεδνκέλσλ Γεκηνπξγία λένπ πίλαθα. Σύληαμε SQL: CREATE TABLE λένο-πίλαθαο (ζηήιε1 ηύπνο-δεδνκέλσλ, ζηήιε2 ηύπνο-δεδνκέλσλ,... ζηήιεn ηύπνο-δεδνκέλσλ, <πεξηνξηζκόο-αθεξαηόηεηαο-1>, <πεξηνξηζκόο-αθεξαηόηεηαο-2>,... <πεξηνξηζκόο-αθεξαηόηεηαο-μ>); 12

Γιώζζα Οξηζκνύ Γεδνκέλσλ Γεκηνπξγία λένπ πίλαθα: CREATE TABLE Γλσζηηθή_Πεξηνρή (θσδηθόο INTEGER NOT NULL, ηίηινο CHAR(50) NOT NULL, αξηζκόο_ζπλδξνκεηώλ INTEGER DEFAULT 0, PRIMARY KEY (θσδηθόο), UNIQUE (ηίηινο), CHECK (αξηζκόο_ζπλδξνκεηώλ >= 0)); 13

Γιώζζα Οξηζκνύ Γεδνκέλσλ DEFAULT -- Πξνζδηνξίδεη ηελ ηηκή αξρηθνπνίεζεο ελόο πεδίνπ. UNIQUE Οξίδεη ελαιιαθηηθά θιεηδηά ηνπ πίλαθα (Πεξηνξηζκόο Μνλαδηθόηεηαο δελ επηηξέπεηαη ζε δύν γλσζηηθέο πεξηνρέο λα έρνπλ ηνλ ίδην ηίηιν). CHECK(P), P ζπλζήθε Δμαζθαιίδεη όηη νη ηηκέο ησλ ραξαθηεξηζηηθώλ ηθαλνπνηνύλ ζπγθεθξηκέλε ζπλζήθε. Οη PRIMARY KEY θαη CHECK(P) είλαη Πεξηνξηζκνί Αθεξαηόηεηαο. 14

Γιώζζα Οξηζκνύ Γεδνκέλσλ Γεκηνπξγία λένπ πίλαθα: CREATE TABLE Πξαθηηθά_Σπλεδξίνπ (θσδηθόο INTEGER NOT NULL, ζπλέδξην VARCHAR(100) NOT NULL, εκεξνκελία DATE NOT NULL, ρώξα CHAR(20), θσδηθόο_εθδνηηθνύ_νίθνπ INTEGER NOT NULL, PRIMARY KEY (θσδηθόο), FOREIGN KEY (θσδηθόο_εθδνηηθνύ_νίθνπ) REFERENCES Δθδνηηθόο_Οίθνο (θσδηθόο), ON DELETE CASCADE, ON UPDATE CASCADE); 15

Γιώζζα Οξηζκνύ Γεδνκέλσλ Οη ON DELETE CASCADE, ON UPDATE CASCADE πξνζδηνξίδνπλ ηελ ελέξγεηα πνπ ζα εθηειεζηεί αλ ην μέλν θιεηδί αιιάμεη ηηκή ή δηαγξαθεί θάπνηα γξακκή ζηνλ αξρηθό πίλαθα. Καη ζηηο δύν πεξηπηώζεηο ε αληίζηνηρε αιιαγή ζα πξαγκαηνπνηεζεί θαη ζηνλ πίλαθα Πξαθηηθά_Σπλεδξίνπ. Θα πξέπεη λα ππάξρνπλ δηαθνξεηηθέο εληνιέο ON DELETE CASCADE, ON UPDATE CASCADE γηα θάζε μέλν θιεηδί πνπ δειώλεηαη ζηνλ πίλαθα. 16

Γιώζζα Οξηζκνύ Γεδνκέλσλ Η αιιαγή δνκήο πίλαθα (ALTER TABLE) ρξεζηκνπνηείηαη γηα: πξνζζήθε λέαο ζηήιεο ζηνλ πίλαθα, δηαγξαθή ππάξρνπζαο ζηήιεο, εηζαγσγή λένπ πεξηνξηζκνύ (constraint), θαηάξγεζε πεξηνξηζκνύ, αιιαγή ηεο αξρηθήο ηηκήο ζηήιεο (default), θαη θαηάξγεζε αξρηθήο ηηκήο ζηήιεο. 17

Αιιαγή δνκήο πίλαθα Πξνζζήθε ζηήιεο: ALTER TABLE Πξαθηηθά_Σπλεδξίνπ ADD COLUMN Πόιε CHAR(10); ALTER TABLE Σπλδξνκεηήο ADD COLUMN εκεξνκελία_γέλλεζεο DATE NOT NULL; Γηαγξαθή ζηήιεο: ALTER TABLE Πξαθηηθά_Σπλεδξίνπ DROP COLUMN Πόιε; ALTER TABLE Σπλδξνκεηήο DROP COLUMN εκεξνκελία_γέλλεζεο; 18

Γιώζζα Οξηζκνύ Γεδνκέλσλ Καηαζηξνθή πηλάθσλ (DROP TABLE): DROP TABLE Γλσζηηθή_Πεξηνρή; Ο πίλαθαο δελ κπνξεί λα θαηαζηξαθεί αλ ππάξρνπλ όςεηο ή πεξηνξηζκνί αθεξαηόηεηαο πνπ ηνλ αλαθέξνπλ: DROP TABLE Πξαθηηθά_Σπλεδξίνπ RESTRICT; DROP TABLE Πξαθηηθά_Σπλεδξίνπ CASCADE; Restrict: Ο πίλαθαο δελ ζα θαηαζηξαθεί αλ ρξεζηκνπνηείηαη ζε πεξηνξηζκνύο ζηνπο νξηζκνύο άιισλ πηλάθσλ (πρ. πεξηνξηζκνί αλαθνξώλ μέλνπ θιεηδηνύ). Cascade: Ο πίλαθαο θαηαζηξέθεηαη θαη θαηαζηξέθνληαη επίζεο θαη νη πεξηνξηζκνί πνπ ηνλ ρξεζηκνπνηνύλ. 19

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Δληνιέο: SELECT γηα δηαηύπσζε εξσηεκάησλ, INSERT γηα εηζαγσγή λέσλ δεδνκέλσλ, UPDATE γηα ελεκέξσζε δεδνκέλσλ, θαη DELETE γηα δηαγξαθή δεδνκέλσλ από ηε ΒΓ. 20

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Σρήκα Βάζεο κε ζπλδξνκεηηθά δεδνκέλα. 21

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ SELECT A1, A2,, An FROM R1, R2, Rm WHERE P; Η πξόηαζε SELECT πξνζδηνξίδεη ηηο ζηήιεο ηνπ απνηειέζκαηνο. Η πξόηαζε FROM πξνζδηνξίδεη ηνπο πίλαθεο από όπνπ ζα απαληεζεί ην εξώηεκα. Η πξόηαζε P ηνπ WHERE πξνζδηνξίδεη ηε ζπλζήθε πνπ πξέπεη λα ηζρύεη σο πξνο ηα πεξηερόκελα ησλ ζηειώλ Ai ησλ πηλάθσλ Rj ηεο πξόηαζεο FROM. 22

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ SELECT A1, A2,, An FROM R1, R2, Rm WHERE P; Η πξόηαζε P κπνξεί λα είλαη κία ζύλζεηε ζπλζήθε κε: ινγηθνύο ηειεζηέο: and, or, not, ηειεζηέο ζύγθξηζεο: <, <=, >, >=, =, <>, between, not between αλάκεζα ζε αξηζκεηηθέο εθθξάζεηο, ζπκβνινζεηξέο θαη εηδηθνύο ηύπνπο. Πξνζνρή: Φ is NULL (ζσζηό), X=NULL (ιάζνο). Η ηζνδύλακε έθθξαζε ζε ζρεζηαθή άιγεβξα είλαη: Π Α1,Α2,,Αn (ζ P (R1xR2x xrn)). 23

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Πιήξεο ζύληαμε SELECT: SELECT [DISTINCT] <ιίζηα ζηειώλ> FROM <ιίζηα πηλάθσλ> [WHERE ζπλζήθε] [GROUP BY <ιίζηα ζηειώλ>] [HAVING ζπλζήθε] [ORDER BY <ιίζηα ζηειώλ> [ASCENDING DESCENDING]]; Η DISTINCT απαιείθεη ηηο δηπινεγγξαθέο 24

«Να επηζηξαθνύλ όιεο νη γξακκέο ηνπ πίλαθα Γλσζηηθή_Πεξηνρή». Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα SELECT * FROM Γλσζηηθή_Πεξηνρή; ή SELECT θσδηθόο, ηίηινο, αξηζκόο_ζπλδξνκεηώλ FROM Γλσζηηθή_Πεξηνρή; 25

«Να βξεζνύλ όινη νη ηίηινη ησλ γλσζηηθώλ πεξηνρώλ πνπ είλαη απνζεθεπκέλνη ζηε ΒΓ». SELECT ηίηινο FROM Γλσζηηθή Πεξηνρή; «Να βξεζνύλ ηα δηαθνξεηηθά νλόκαηα ησλ ζπλδξνκεηώλ». SELECT DISTINCT όλνκα FROM Σπλδξνκεηήο; Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα 26

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα - Ταμηλόκεζε Η SQL δίλεη ηε δπλαηόηεηα λα ηαμηλνκήζνπκε ηα απνηειέζκαηα θαηά αύμνπζα ή θζίλνπζα δηάηαμε, αλαιόγσο κε ηα πεξηερόκελα κίαο ή πεξηζζνηέξσλ ζηειώλ κε ρξήζε ηεο ORDER BY. «Να βξεζνύλ όιεο νη γλσζηηθέο πεξηνρέο θαη ην πιήζνο ησλ ζπλδξνκεηώλ γηα απηέο πνπ έρνπλ πεξηζζόηεξνπο από 100 ζπλδξνκεηέο θαη ηα απνηειέζκαηα λα δνζνύλ ζε αύξοςζα διάηαξη σο πξνο ηνλ ηίηιν» SELECT ηίηινο, αξηζκόο_ζπλδξνκεηώλ FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ > 100 ORDER BY ηίηινο ASC; Αλ παξαιεηθζεί ην ASC ηόηε ε ηαμηλόκεζε ελλνείηαη όηη είλαη αύμνπζα. Γηα ηαξινόμηζη ζε θθίνοςζα διάηαξη πξέπεη λα 27 ρξεζηκνπνηεζεί ην DESC.

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα - Ταμηλόκεζε «Να βξεζνύλ όιεο νη γλσζηηθέο πεξηνρέο θαη ην πιήζνο ησλ ζπλδξνκεηώλ γηα απηέο πνπ έρνπλ πεξηζζόηεξνπο από 100 ζπλδξνκεηέο θαη ηα απνηειέζκαηα λα δνζνύλ ζε θθίνοςζα διάηαξη σο πξνο ηνλ ηίηιν» SELECT ηίηινο, αξηζκόο_ζπλδξνκεηώλ FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ > 100 ORDER BY ηίηινο DESC ; 28

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα - Ταμηλόκεζε «Να βξεζνύλ όιεο νη γλσζηηθέο πεξηνρέο θαη ην πιήζνο ησλ ζπλδξνκεηώλ γηα απηέο πνπ έρνπλ πεξηζζόηεξνπο από 100 ζπλδξνκεηέο θαη ηα απνηειέζκαηα λα δνζνύλ ζε αύξοςζα διάηαξη σο πξνο ηνλ αξηζκό ζπλδξνκεηώλ. Σε πεξίπησζε πνπ ππάξρνπλ γλσζηηθέο πεξηνρέο κε ην ίδην πιήζνο ζπλδξνκεηώλ ε ηαμηλόκεζε λα πξαγκαηνπνηεζεί σο πξνο ηνλ ηίηιν» SELECT ηίηινο, αξηζκόο_ζπλδξνκεηώλ FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ > 100 ORDER BY αξηζκόο_ζπλδξνκεηώλ, ηίηινο; 29

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα «Να βξεζνύλ νη θσδηθνί, ηα νλόκαηα θαη νη αξηζκνί πηζησηηθώλ θαξηώλ ησλ ζπλδξνκεηώλ πνπ βξίζθνληαη ζηελ Διιάδα, θαη ηα απνηειέζκαηα λα ηαμηλνκεζνύλ αιθαβεηηθά σο πξνο ην όλνκα, θαη ζηε ζπλέρεηα σο πξνο ηνλ αξηζκό πηζησηηθήο θάξηαο». SELECT θσδηθόο, όλνκα, ΑΠΚ FROM Σπλδξνκεηήο WHERE ρώξα = `Διιάδα' ORDER BY όλνκα, ΑΠΚ; Αλ έρνπκε ην ίδην όλνκα ζηε ζπλέρεηα γίλεηαη ηαμηλόκεζε σο πξνο ηνλ ΑΠΚ 30

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα Τειεζηέο BETWEEN, NOT BETWEEN «Να βξεζνύλ νη ηίηινη ησλ γλσζηηθώλ πεξηνρώλ γηα ηηο νπνίεο ν αξηζκόο ησλ ζπλδξνκεηώλ είλαη κεγαιύηεξνο ίζνο από 10 θαη κηθξόηεξνο ή ίζνο από 20» SELECT ηίηινο FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ >= 10 AND αξηζκόο_ζπλδξνκεηώλ <= 20; Δναλλακηικά μποπούμε να γπάτοςμε: SELECT ηίηινο FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ BETWEEN 10 AND 20; 31

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Απιά εξσηήκαηα «Να βξεζνύλ νη θσδηθνί θαη νη ηίηινη ησλ άξζξσλ πνπ έρνπλ δεκνζηεπζεί θαη ζε πεξηνδηθό θαη ζε πξαθηηθά ζπλεδξίνπ». SELECT θσδηθόο, ηίηινο FROM Άξζξν WHERE θσδηθόο_πεξηνδηθνύ IS NOT NULL AND θσδηθόο_πξαθηηθώλ_ζπλεδξίνπ IS NOT NULL; 32

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Δξσηήκαηα Σύλδεζεο «Να βξεζνύλ νη θσδηθνί θαη ηα νλόκαηα ησλ ζπλδξνκεηώλ θαη νη ηίηινη ησλ γλσζηηθώλ πεξηνρώλ γηα ηηο νπνίεο έρνπλ πιεξώζεη ζπλδξνκή». SELECT Σπλδξνκεηήο.θσδηθόο, Σπλδξνκεηήο.όλνκα, Γλσζηηθή_Πεξηνρή.ηίηινο FROM Σπλδξνκεηήο, Γλσζηηθή_Πεξηνρή, Σπλδξνκή WHERE Σπλδξνκή.θσδηθόο_ζπλδξνκεηή = Σπλδξνκεηήο.θσδηθόο AND Γλσζηηθή_Πεξηνρή.θσδηθόο = Σπλδξνκή.θσδηθόο_γλσζηηθήο_πεξηνρήο; 33

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Δξσηήκαηα Σύλδεζεο «Να βξεζνύλ νη ηίηινη ησλ άξζξσλ θαη ηα νλόκαηα ησλ ζπγγξαθέσλ πνπ ηα έρνπλ ζπγγξάςεη. Τν απνηέιεζκα λα ηαμηλνκεζεί αιθαβεηηθά σο πξνο ηνπο ηίηινπο ησλ άξζξσλ». SELECT Άξζξν.ηίηινο, Σπγγξαθέαο.όλνκα FROM Άξζξν, Σπγγξαθέαο, Σπγγξαθή_Άξζξνπ WHERE Σπγγξαθή_Άξζξνπ.θσδηθόο_άξζξνπ = Άξζξν.θσδηθόο AND Σπγγξαθέαο.θσδηθόο = Σπγγξαθή_Άξζξνπ.θσδηθόο_ζπγγξαθέα ORDER BY Άξζξν.ηίηινο; 34

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Δξσηήκαηα Σύλδεζεο «Να πξνζδηνξηζζεί ν ηίηινο θάζε άξζξνπ θαη ν ηίηινο ηεο γλσζηηθήο πεξηνρήο όπνπ αλήθεη». SELECT Άξζξν.ηίηινο, Γλσζηηθή Πεξηνρή.ηίηινο FROM Άξζξν, Γλσζηηθή Πεξηνρή WHERE Άξζξν.θσδηθόο_γλσζηηθήο_πεξηνρήο = Γλσζηηθή_Πεξηνρή.θσδηθόο; ή (κε ρξήζε ηεο πξάμεο Φπζηθήο Σύλδεζεο) SELECT Άξζξν.ηίηινο, Γλσζηηθή Πεξηνρή.ηίηινο FROM Άξζξν JOIN Γλσζηηθή Πεξηνρή ON Γλσζηηθή_Πεξηνρή.θσδηθόο = Άξζξν.θσδηθόο_γλσζηηθήο_πεξηνρήο; 35

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Έλσζε «Να πξνζδηνξηζζνύλ νη ηίηινη ησλ ζπλεδξίσλ θαη νη ηίηινη ησλ πεξηνδηθώλ». SELECT ζπλέδξην FROM Πξαθηηθά_Σπλεδξίνπ UNION SELECT ηίηινο FROM Πεξηνδηθό; Με UNION ALL δηαηεξνύληαη νη δηπινεγγξαθέο. 36

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Τνκή «Να βξεζνύλ (αλ ππάξρνπλ) ζπλδξνκεηέο πνπ έρνπλ ην ίδην όλνκα κε θάπνην ζπγγξαθέα». SELECT όλνκα FROM Σπλδξνκεηήο INTERSECT SELECT όλνκα FROM Σπγγξαθέαο; Με INTERSECT ALL δηαηεξνύληαη νη δηπινεγγξαθέο. 37

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Γηαθνξά «Να πξνζδηνξηζζνύλ νη θσδηθνί θαη νη ηίηινη ησλ άξζξσλ πνπ δελ έρνπλ δεκνζηεπζεί ζε θάπνην πεξηνδηθό». SELECT θσδηθόο, ηίηινο FROM Άξζξν EXCEPT SELECT θσδηθόο, ηίηινο FROM Άξζξν WHERE θσδηθόο πεξηνδηθνύ IS NOT NULL; Τν πξώην ππνεξώηεκα επηιέγεη όια ηα άξζξα από ηνλ πίλαθα Άξζξν (Πεξηνδηθά θαη Πξαθηηθά Σπλεδξίσλ). Τν δεύηεξν ππνεξώηεκα επηιέγεη κόλν ηα άξζξα πνπ έρνπλ δεκνζηεπζεί ζε θάπνην πεξηνδηθό. Η δηαθνξά ησλ δύν ζπλόισλ δίλεη ην δεηνύκελν απνηέιεζκα. 38 Με EXCEPT ALL δηαηεξνύληαη νη δηπινεγγξαθέο.

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Γηαθνξά «Να πξνζδηνξηζζνύλ νη θσδηθνί θαη νη ηίηινη ησλ άξζξσλ πνπ δελ έρνπλ δεκνζηεπζεί ζε θάπνην πεξηνδηθό». Ιζνδύλακα: SELECT θσδηθόο,ηίηινο FROM Άξζξν WHERE θσδηθόο_πεξηνδηθνύ IS NULL; 39

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Σπλαζξνηζηηθέο (ή Σπλνπηηθέο) Σπλαξηήζεηο Φξεζηκνπνηνύληαη γηα ηελ εμαγσγή ζπγθεληξσηηθώλ ηηκώλ από ηηο ηηκέο κηαο ζηήιεο Η SQL ππνζηεξίδεη ηηο αθόινπζεο ζπλαξηήζεηο: ΜΙΝ γηα ηελ εύξεζε ηεο ειάρηζηεο ηηκήο κίαο ζηήιεο, MAX γηα ηελ εύξεζε ηεο κέγηζηεο ηηκήο κίαο ζηήιεο, AVG γηα ηνλ ππνινγηζκό ηεο κέζεο ηηκήο κίαο ζηήιεο, SUM γηα ηνλ ππνινγηζκό ηνπ αζξνίζκαηνο ησλ ηηκώλ κίαο ζηήιεο, COUNT γηα ηε κέηξεζε ηνπ αξηζκνύ ησλ γξακκώλ. Οη AVG θαη SUM εθαξκόδνληαη κόλν ζε αξηζκεηηθά δεδνκέλα 40

Σπλαζξνηζηηθέο Σπλαξηήζεηο «Να βξεζεί ην πιήζνο ησλ άξζξσλ πνπ είλαη θαηαρσξηζκέλα ζηε ΒΓ» SELECT COUNT (Άξζξν.θσδηθόο) FROM Άξζξν; «Να πιήζνο ησλ άξζξσλ πνπ έρεη γξάςεη ν ζπγγξαθέαο κε θσδηθό 1» SELECT COUNT (Σπγγξαθή_Άξζξνπ.θσδηθόο_άξζξνπ) FROM Σπγγξαθή_Άξζξνπ WHERE Σπγγξαθή_Άξζξνπ.θσδηθόο_ζπγγξαθέα=1; «Να βξεζεί ην άζξνηζκα ησλ ζπλδξνκεηώλ γηα όιεο ηηο γλσζηηθέο πεξηνρέο» SELECT SUM (αξηζκόο_ζπλδξνκεηώλ) FROM Γλσζηηθή_Πεξηνρή; 41

Σπλαζξνηζηηθέο Σπλαξηήζεηο Σηηο πεξηπηώζεηο όπνπ απαηηείηαη ν πξνζδηνξηζκόο ηεο ηηκήο κηαο ζπλαζξνηζηηθήο ζπλάξηεζεο γηα δηαθνξεηηθέο νκάδεο δεδνκέλσλ, ηόηε ρξεζηκνπνηνύκε ηελ εληνιή GROUP BY (θαη ηελ HAVING ζε πνιιέο πεξηπηώζεηο). Η GROUP BY ηνπνζεηείηαη ακέζσο κεηά ηελ WHERE (Δάλ ππάξρεη!) Η GROUP BY αθνινπζείηαη από ην όλνκα ηεο ζηήιεο κε βάζε ηελ νπνία ζα πξαγκαηνπνηεζεί ε νκαδνπνίεζε ησλ δεδνκέλσλ. Γηα ηελ νκαδνπνίεζε κπνξνύλ λα ρξεζηκνπνηεζνύλ πεξηζζόηεξεο ηεο κίαο ζηήιεο. Οη ζηήιεο πνπ ρξεζηκνπνηνύληαη γηα ηελ νκαδνπνίεζε ησλ γξακκώλ ζα πξέπεη λα βξίζθνληαη θαη ζην ηκήκα SELECT ηνπ εξσηήκαηνο. 42

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Σπλαζξνηζηηθέο Σπλαξηήζεηο «Να βξεζεί ν αξηζκόο ησλ άξζξσλ πνπ έρεη γξάςεη θάζε ζπγγξαθέαο». SELECT όλνκα, COUNT (θσδηθόο_άξζξνπ) FROM Σπγγξαθέαο, Σπγγξαθή_Άξζξνπ WHERE θσδηθόο_ζπγγξαθέα = θσδηθόο GROUP BY όλνκα; Τν πεδίν σο πξνο ην νπνίν εθηειείηαη ε νκαδνπνίεζε ζην Group by πξέπεη λα βξίζθεηαη ζην ηκήκα Select. 43

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Σπλαζξνηζηηθέο Σπλαξηήζεηο Η HAVING ζπλνδεύεη πνιιέο θνξέο κία έθθξαζε GROUP BY θαη ρξεζηκνπνηείηαη γηα λα νξίζεη πεξηνξηζκνύο πνπ ζρεηίδνληαη κε ηελ νκαδνπνίεζε πνπ έρεη πξαγκαηνπνηεζεί. «Να βξεζεί ν αξηζκόο ησλ άξζξσλ πνπ έρεη γξάςεη θάζε ζπγγξαθέαο γηα ηνπο ζπγγξαθείο πνπ έρνπλ γξάςεη πεξηζζόηεξα από ηξία άξζξα». SELECT όλνκα, COUNT (θσδηθόο_άξζξνπ) FROM Σπγγξαθέαο, Σπγγξαθή_Άξζξνπ WHERE θσδηθόο_ζπγγξαθέα = θσδηθόο GROUP BY όλνκα; HAVING αξηζκόο_άξζξσλ > 3 44

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Σπλαζξνηζηηθέο Σπλαξηήζεηο «Να βξεζεί ν κέζνο όξνο ησλ ζπλδξνκεηώλ γηα όιεο ηηο γλσζηηθέο πεξηνρέο». SELECT ηίηινο, AVG (αξηζκόο_ζπλδξνκεηώλ) FROM Γλσζηηθή Πεξηνρή GROUP BY ηίηινο ; 45

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Σεηξέο Φαξαθηήξσλ Γηα ηελ αλαδήηεζε ζεηξώλ ραξαθηήξσλ ρξεζηκνπνηνύληαη νη ηειεζηέο LIKE θαη NOT LIKE. «Να βξεζνύλ νη ζπλδξνκεηέο ησλ νπνίσλ ην επίζεην ηειεηώλεη ζε όπνπινο» SELECT * FROM Σπλδξνκεηήο WHERE όλνκα LIKE %όπνπινο ; % : ηαηξηάδεη κε νπνηαδήπνηε ππν-ζπκβνινζεηξά. Σηε ζέζε ηνπ % κπνξεί λα ππάξρνπλ θαλέλαο, έλαο ή πεξηζζόηεξνη ραξαθηήξεο. _ : Γειώλεη ηελ ύπαξμε αθξηβώο ελόο ραξαθηήξα. 46

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Σεηξέο Φαξαθηήξσλ 47

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Υπνεξσηήκαηα Έλα εξώηεκα SQL κπνξεί λα πεξηιακβάλεη ππνεξσηήκαηα πνπ εκπεξηέρνληαη ην έλα κέζα ζην άιιν. Τν απνηέιεζκα ηνπ εζσηεξηθνύ ππνεξσηήκαηνο ρξεζηκνπνηείηαη από ην εμσηεξηθό εξώηεκα. Τν εζσηεξηθό ππνεξώηεκα κπνξεί λα εκθαλίδεηαη ζηα ηκήκαηα WHERE ή HAVING κηαο εληνιήο SQL. 48

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Υπνεξσηήκαηα «Να βξεζνύλ νη ηίηινη ησλ γλσζηηθώλ πεξηνρώλ κε αξηζκόο ζπλδξνκεηώλ κεγαιύηεξν από ην κέζν όξν». SELECT ηίηινο FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ > (SELECT AVG (αξηζκόο_ζπλδξνκεηώλ) FROM Γλσζηηθή_Πεξηνρή); Τν εζσηεξηθό ππνεξώηεκα επηζηξέθεη κηα κόλν ηηκή πνπ είλαη ν κέζνο όξνο ηνπ πιήζνπο ζπλδξνκεηώλ γηα όιεο ηηο γλσζηηθέο πεξηνρέο. Σηε ζπλέρεηα, ε ηηκή ηεο ζηήιεο αξηζκόο_ζπλδξνκεηώλ θάζε γξακκήο ηνπ πίλαθα ζπγθξίλεηαη κε ηνλ κέζν όξν, θαη αλ είλαη κεγαιύηεξε ηόηε ζπκπεξηιακβάλεηαη ζην απνηέιεζκα, δηαθνξεηηθά απνξξίπηεηαη. 49

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Υπνεξσηήκαηα Η SQL ρξεζηκνπνηεί ηνλ Σρεζηαθό Λνγηζκό γηα ιεηηνπξγίεο πνπ επηηξέπνπλ ηνλ έιεγρν αλ κηα εγγξαθή είλαη κέινο ελόο πίλαθα. Ο ηειεζηήο IN ειέγρεη γηα κέινο ελόο ζπλόινπ. Ο ηειεζηήο NOT IN ειέγρεη γηα κε-κέινο ελόο ζπλόινπ. 50

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Υπνεξσηήκαηα «Να πξνζδηνξηζζνύλ νη ηίηινη ησλ γλσζηηθώλ πεξηνρώλ όπνπ δελ αληηζηνηρεί θάπνην άξζξν». SELECT ηίηινο FROM Γλσζηηθή_Πεξηνρή WHERE θσδηθόο NOT IN (SELECT θσδηθόο_γλσζηηθήο_πεξηνρήο FROM Άξζξν); Τν εζσηεξηθό ππνεξώηεκα επηζηξέθεη έλα ζύλνιν ηηκώλ, ην νπνίν απνηειείηαη από ηνπο θσδηθνύο ησλ γλσζηηθώλ πεξηνρώλ πνπ είλαη απνζεθεπκέλνη ζηηο γξακκέο ηνπ πίλαθα Άξζξν. Ο θσδηθόο κηαο γλσζηηθήο πεξηνρήο ζηνλ νπνίν δελ αληηζηνηρεί θάπνην άξζξν, δελ ζα αλήθεη ζην ζύλνιν απηό. Δπνκέλσο, κε ηελ εμσηεξηθή SELECT ειέγρνπκε αλ θάζε θσδηθόο αλήθεη ή όρη ζην ζύλνιν θαη αλαιόγσο απνξξίπηεηαη ή ζπκπεξηιακβάλεηαη ζην δεηνύκελν απνηέιεζκα αληηζηνίρσο. 51

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Υπνεξσηήκαηα Τα θαηεγνξήκαηα SOME ή ANY θαη ALL αληηζηνηρνύλ ζηνλ θαζνιηθό θαη ππαξμηαθό πνζνδείθηε ( θαη ). Πξηλ από ηα θαηεγνξήκαηα SOME θαη ALL κπνξεί λα πξνεγείηαη ηειεζηήο ζύγθξηζεο (=, >, <, >=, <=,<>). «Να βξεζνύλ νη γλσζηηθέο πεξηνρέο κε κεγαιύηεξν αξηζκό ζπλδξνκεηώλ από ηνπιάρηζηνλ κία άιιε γλσζηηθή πεξηνρή». SELECT ηίηινο FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ > SOME (SELECT αξηζκόο_ζπλδξνκεηώλ FROM Γλσζηηθή_Πεξηνρή); 52

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Υπνεξσηήκαηα «Να βξεζνύλ νη γλσζηηθέο πεξηνρέο κε κεγαιύηεξν αξηζκό ζπλδξνκεηώλ από όιεο ηηο άιιεο γλσζηηθέο πεξηνρέο». SELECT ηίηινο FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο_ζπλδξνκεηώλ > ALL (SELECT αξηζκόο_ζπλδξνκεηώλ FROM Γλσζηηθή_Πεξηνρή); 53

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Υπνεξσηήκαηα «Να βξεζνύλ νη θσδηθνί ησλ ζπγγξαθέσλ θαη ην ζύλνιν ησλ άξζξσλ πνπ έρνπλ γξάςεη, έηζη ώζηε ν αξηζκόο ησλ άξζξσλ λα είλαη κεγαιύηεξνο από ην έλα δέθαην ησλ ζπλνιηθώλ δεκνζηεύζεσλ». SELECT θσδηθόο_ζπγγξαθέα, COUNT(θσδηθόο_άξζξνπ) AS αξηζκόο_άξζξσλ FROM Σπγγξαθή_Άξζξνπ GROUP BY θσδηθόο_ζπγγξαθέα HAVING αξηζκόο_άξζξσλ > (SELECT COUNT(*)/10 FROM Σπγγξαθή_Άξζξνπ); Η COUNT κεηξάεη ηνλ αξηζκό ησλ εγγξαθώλ ζε έλα πίλαθα. Τόηε ζπληάζζεηαη σο COUNT(*) 54

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Μεηνλνκαζία «Να ππνινγηζζεί ν κέζνο αξηζκόο ζπλδξνκεηώλ γηα θάζε γλσζηηθή πεξηνρή». SELECT ηίηινο, AVG (αξηζκόο_ζπλδξνκεηώλ) FROM Γλσζηηθή Πεξηνρή GROUP BY ηίηινο; SELECT ηίηινο, AVG (αξηζκόο_ ζπλδξνκεηώλ) AS κέζνο_αξηζκόο_ζπλδξνκεηώλ FROM Γλσζηηθή Πεξηνρή GROUP BY ηίηινο; 55

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Δηζαγσγή INSERT INTO Όλνκα_Πίλαθα [(ζηήι1,ζηήι2,..,ζηήιν)] VALUES (ηηκή1, ηηκή2,..., ηηκήn); Π.ρ INSERT INTO Γλσζηηθή_Πεξηνρή VALUES (10, Γηαζηεκηθή Τερλνινγία, 0); Μπνξνύκε λα νξίζνπκε δηαθνξεηηθή ζεηξά εηζαγσγήο ηηκώλ ζηε λέα ζηήιε. Δπίζεο κπνξνύκε λα εηζάγνπκε ηηκέο ζε νξηζκέλεο κόλν ζηήιεο ηνπ πίλαθα. Αλ ζηελ εληνιή νξηζκνύ ηνπ πίλαθα Γλσζηηθή_Πεξηνρή ππάξρεη αξρηθή ηηκή γηα ην πεδίν αξηζκόο_ζπλδξνκεηώλ ηόηε ζα ρξεζηκνπνηεζεί γηα αξρηθνπνίεζε. Γηαθνξεηηθά αξρηθνπνηείηαη κε ηελ ηηκή NULL. INSERT INTO Γλσζηηθή_Πεξηνρή (ηίηινο, θσδηθόο) VALUES ( Γηαζηεκηθή Τερλνινγία, 10); 56

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Δηζαγσγή Φξήζε ππνεξσηήκαηνο ζε εηζαγσγή. Πνιιέο θνξέο παξαηεξείηαη ε αλάγθε λα ρξεζηκνπνηήζνπκε άιινπο πίλαθεο γηα λα εηζάγνπκε ηηκέο ζε έλα λέν πίλαθα. Έζησ ν πίλαθαο Άξζξν_Πεξηνδηθνύ (θσδηθόο, ηίηινο), ν νπνίνο απνζεθεύεη άξζξα πεξηνδηθώλ θαη όρη ζπλεδξίσλ. Η INSERT εδώ αληηγξάθεη από ηνλ πίλαθα Άξζξν κόλν ηηο πιεξνθνξίεο πνπ καο ελδηαθέξνπλ. INSERT INTO Άξζξν_Πεξηνδηθνύ AS SELECT θσδηθόο, ηίηινο FROM Άξζξν WHERE θσδηθόο_πεξηνδηθνύ IS NOT NULL 57 AND θσδηθόο_ζπλεδξίνπ IS NULL;

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Δλεκέξσζε UPDATE Όλνκα_Πίλαθα SET (ζηήιε1=ηηκή1, ζηήιε2=ηηκή2,..., ζηήιεn=ηηκήn) WHERE ζπλζήθε; Η UPDATE σπηζιμοποιείηαι για ηην αλλαγή ηυν ηιμών ηυν ζηηλών ενόρ πίνακα. «Να γίλεη αιιαγή ηίηινπ ηεο γλσζηηθήο πεξηνρήο από Γηαζηεκηθή Τερλνινγία ζε Γηάζηεκα» UPDATE Γλσζηηθή_Πεξηνρή SET (ηίηινο= Γηάζηεκα ) WHERE θσδηθόο=10; «Βάιε 0 ζηε ζηήιε αξηζκόο_ζπλδξνκεηώλ ζε όιεο ηηο γξακκέο ηνπ πίλαθα Γλσζηηθή_Πεξηνρή» UPDATE Γλσζηηθή_Πεξηνρή SET (αξηζκόο_ζπλδξνκεηώλ=0); 58

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ Γηαγξαθή DELETE FROM Όλνκα_Πίλαθα WHERE ζπλζήθε; Χπηζιμοποιείηαι για ηην διαγπαθή γπαμμών ενόρ πίνακα. «Να δηαγξαθνύλ όιεο νη γξακκέο ηνπ πίλαθα Άξζξν» DELETE FROM Άξζξν; «Να δηαγξαθνύλ όιεο νη γλσζηηθέο πεξηνρέο γηα ηηο νπνίεο δελ ππάξρεη ζπλδξνκεηήο θαη δελ ππάξρνπλ άξζξα πνπ λα αλήθνπλ ζε απηέο» DELETE FROM Γλσζηηθή_Πεξηνρή WHERE αξηζκόο ζπλδξνκεηώλ = 0 AND Γλσζηηθή_Πεξηνρή.θσδηθόο NOT IN (SELECT DISTINCT θσδηθόο_γλσζηηθήο_πεξηνρήο FROM Άξζξν); 59

Σύλνςε Η SQL (structured query language) πξνηππνπνηήζεθε γηα πξώηε θνξά 1986 θαη είλαη ε δεκνθηιέζηεξε γιώζζα ρεηξηζκνύ ΒΓ. Δίλαη βαζηζκέλε ζηε ζρεζηαθή άιγεβξα θαη δηαρσξίδεηαη ζηε γιώζζα νξηζκνύ δεδνκέλσλ θαη ηε γιώζζα ρεηξηζκνύ δεδνκέλσλ. Κάζε ζρεζηαθό ζύζηεκα ππνζηεξίδεη SQL, νπόηε ε δηαηύπσζε ησλ εξσηεκάησλ είλαη αλεμάξηεηε από ην ρξεζηκνπνηνύκελν ΣΓΒΓ. Η γιώζζα ρξεζηκνπνηείηαη γηα όιεο ηηο ιεηηνπξγίεο ηνπ ΣΓΒΓ (δεκηνπξγία πηλάθσλ, εηζαγσγή θαη αλαδήηεζε δεδνκέλσλ, δεκηνπξγία λέσλ ρξεζηώλ, θιπ.) Πνιιέο γιώζζεο πξνγξακκαηηζκνύ έρνπλ ηξνπνπνηεζεί ώζηε λα ππνζηεξίδνπλ δηαηύπσζε εξσηεκάησλ ζε SQL. Η SQL είλαη έρεη απιή ζύληαμε, θαη απνδεζκεύεη ην ρξήζηε από ιεπηνκέξεηεο πινπνίεζεο. 60