Παναγιώτης Συμεωνίδης

Διδάκτωρ Τμήματος Πληροφορικής
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης


Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server

Εργαστηριακός Οδηγός  

Ελληνικά Ακαδημαϊκά Ηλεκτρονικά
Συγγράμματα και Βοηθήματα

Τίτλος Ηλεκτρονικού Συγγράμματος

Συγγραφή
Παναγιώτης Συμεωνίδης
Αναστάσιος Γούναρης

 

Κριτικός αναγνώστης
Ιωάννης Θεοδωρίδης

Συντελεστές έκδοσης
Γλωσσικη επιμελεια: Φώτης Συμεωνίδης
Γραφιστικη επιμελεια: Χρήστος Άνδρας
Τεχνικη επεξεργασια: Ανδρέας Πάσχος  

@ Copyright Θεσσαλονίκη 2015

Πνευματικά δικαιώματα­

Σύνδεσμος Ελληνικων Ακαδημαϊκων Βιβλιοθηκών
Εθνικό Μετσόβιο Πολυτεχνείο
Ηρώων Πολυτεχνείου 9, 15780 Ζωγράφου

www.kallipos.gr

ISBN:

Πίνακας Περιεχομένων

 

Κεφάλαιο 2. Δημιουργία Βάσης Δεδομένων και Πινάκων


2.1. Ορισμός και Δημιουργία μιας Βάσης Δεδομένων
2.1.1. Δημιουργία νέας βάσης σε γραφικό περιβάλλον
2.1.2. Δημιουργία νέας βάσης με κώδικα SQL
2.1.3. Διαγραφή μίας βάσης με κώδικα SQL
2.2. Βασικές Έννοιες και Δημιουργία Πινάκων
2.2.1. Τύποι Δεδομένων
2.2.2. Χρήσιμες συμβουλές για τους τύπους δεδομένων
2.2.3. Δημιουργία πινάκων με τον Management Studio
2.2.4. Δημιουργία πινάκων με κώδικα της SQL
2.2.5. Συσχετίσεις/Relationships Πινάκων
2.2.6 Δημιουργία πινάκων με τον Database Diagrams
2.3. Εισαγωγή εγγραφών στους πίνακες
2.3.1. Εισαγωγή εγγραφών στους πίνακες με γραφικό τρόπο
2.3.2. Εισαγωγή εγγραφών στους πίνακες με εντολές SQL
2.4. Αλλαγή σε δεδομένα πινάκων
2.4.1. Ενημέρωση δεδομένων
2.4.2.  Διαγραφή δεδομένων
2.5. Κώδικας SQL για τη δημιουργία της βάσης δεδομένων DVDclub
2.6. Ασκήσεις

Κεφάλαιο 3. Ερωτήματα SQL

3.1. Βασικά Ερωτήματα
3.1.1 Διαχείριση του Results Pane
3.1.2 Ερωτήματα επιλογής εγγραφών από ένα πίνακα.
3.1.3 Ταξινόμηση αποτελεσμάτων
3.2. Ερωτήματα επιλογής εγγραφών από πολλούς πίνακες
3.2.1 Εσωτερική και εξωτερική σύνδεση πινάκων
3.2.2 Μετονομασία και αυτό-σύνδεση
3.3. Ερωτήματα συνάθροισης και ομαδοποίησης
3.3.1 Ερωτήματα με συναρτήσεις συνάθροισης
3.3.2 Ομαδοποίηση των δεδομένων - O όρος Group by
3.3.3 Ο όρος Having
3.4. Ερωτήματα με πράξεις συνόλων και εμφωλευμένα ερωτήματα
3.4.1 Βασικές πράξεις
3.4.2 Εμφωλευμένα ερωτήματα
3.4.3 Σύγκριση μεταξύ συνόλων
3.4.4 Έλεγχος κενότητας
3.5. Ερωτήματα SQL για όψεις
3.6. Το εργαλείο Query Designer για δημιουργία ερωτημάτων Query by Example
3.7. Ασκήσεις με ερωτήματα SQL
3.7.1 Ασκήσεις με ερωτήματα επιλογής γραμμών από ένα πίνακα.
3.7.2 Ασκήσεις με ερωτήματα επιλογής γραμμών από πολλούς πίνακες.
3.7.3 Ασκήσεις με Ερωτήματα ομαδοποίησης/συνάθροισης δεδομένων.
3.7.4 Ασκήσεις με ερωτήματα με φωλιασμένες εντολές SQL.
3.8. Λύσεις Ασκήσεων με ερωτήματα SQL
3.8.1 Λύσεις ασκήσεων με ερωτήματα επιλογής γραμμών από ένα πίνακα.
3.8.2 Λύσεις ασκήσεων με ερωτήματα επιλογής γραμμών από πολλούς πίνακες.
3.8.3 Λύσεις ασκήσεων με ερωτήματα ομαδοποίησης/συνάθροισης δεδομένων.
3.8.4 Λύσεις ασκήσεων με ερωτήματα με φωλιασμένες εντολές SQL.

Κεφάλαιο 4. Προχωρημένες λειτουργίες στον SQL Server

4.1. Ερωτήματα ορισμού δεδομένων
4.1.1 Εισαγωγή πολλών γραμμών σε πίνακα
4.1.2 Ενημέρωση τιμής των πεδίων ενός πίνακα
4.1.3 Διαγραφή των γραμμών ενός πίνακα
4.1.4 Μεταβολή της δομής ενός πίνακα
4.1.5 Μετονομασία πίνακα και πεδίου πίνακα
4.1.6 Διαγραφή πίνακα και βάσης δεδομένων
4.2. Αποθηκευμένες Διαδικασίες, Εναύσματα, Συναλλαγές
4.2.1 Αποθηκευμένες διαδικασίες/Stored Procedures
4.2.2 Εναύσματα/Triggers
4.2.3 Συναλλαγές/Transactions
4.3. Βελτιστοποίηση Ερωτημάτων
4.3.1 Παρακολούθηση του πλάνου εκτέλεσης ερωτήματος SQL
4.3.2 Ευρετήρια/Indices
4.3.3 Παράδειγμα βελτίωσης απόδοσης ερωτήματος με την χρήση ευρετηρίου
4.4. Εξαγωγή του κώδικα της βάσης δεδομένων
4.5 Εκχώρηση δικαιωμάτων πρόσβασης χρηστών στη βάση δεδομένων
4.5.1 Εκχώρηση δικαιωμάτων χρήστη
4.5.2 Εκχώρηση δικαιωμάτων στο χρήστη Employee με κώδικα SQL.
4.5.3 Εκχώρηση δικαιωμάτων στο χρήστη Manager με γραφικό τρόπο
4.5.4 Αφαίρεση δικαιωμάτων από τον χρήστη
4.5.5 Άρνηση δικαιωμάτων σε χρήστη
4.6 Ασκήσεις

Κεφάλαιο 5. Δημιουργία φορμών για την βάση δεδομένων DVDclub

5.1 Δημιουργία συνδεδεμένων πινάκων από τον SQL Server στην Access 2013 του Microsoft Οffice.
5.2 Δημιουργία απλής φόρμας εισαγωγής στοιχείων και σύνθετης κύριας/δευτερεύουσας φόρμας.
5.2.1 Δημιουργία μιας απλής φόρμας εισαγωγής στοιχείων Πελατών.
5.2.2 Δημιουργία Κύριας και δευτερεύουσας φόρμας
5.3 Δημιουργία λίστας αναζήτησης σε φόρμα
5.4 Δημιουργία υπολογιζόμενου πεδίου σε δευτερεύουσα φόρμα.
5.5 Ασκήσεις.

 

Κεφάλαιο 6. Προετοιμασία Δεδομένων ενόψει της Διαδικασίας Εξόρυξης

6.1 Eισαγωγή βάσης δεδομένων MovieClick
6.2 Εισαγωγή Βάσης Δεδομένων FoodMart
6.3 Εισαγωγή βάσης δεδομένων AdventureWorksDW2008R2
6.4 Επεξεργασία βάσης δεδομένων MovieClick
6.5 Επεξεργασία βάσης δεδομένων FoodMart
6.6 Επεξεργασία βάσης AdventureWorks
6.7 Ασκήσεις

Κεφάλαιο 8. Ομαδοποίηση δεδομένων

8.1 Θεωρητικό υπόβαθρο των αλγορίθμων ομαδοποίησης του SQL Server
8.2 Δημιουργία ενός μοντέλου ομαδοποίησης δεδομένων
8.3 Αξιολόγηση Μοντέλου Clustering
8.3.1 Αξιολογόντας το μοντέλο  με την χρήση του Lift chart
8.3.2 Αξιολόγηση ενός μοντέλου με την χρήση του Drill through
8.4 Ασκήσεις στην ομαδοποίηση δεδομένων
8.5 Λύσεις ασκήσεων στην ομαδοποίηση δεδομένων

Κεφάλαιο 9. Εξαγωγή Κανόνων Συσχέτισης

9.1 Ο αλγόριθμος Assosiation Rules
9.2 Δημιουργία ενός μοντέλου Association Rules
9.3 Αξιολόγηση των Itemsets και των Association Rules
9.3.1 Αξιολόγηση των Itemsets
9.3.2 Αξιολόγηση των κανόνων συσχέτισης
9.4 Ασκήσεις αξιολόγησης Κανόνων Συσχέτισης
9.5 Λύσεις Ασκήσεων αξιολόγησης Κανόνων Συσχέτισης

Κεφάλαιο 10. Χρονοσειρές

10.1  Θεωρητικό υπόβαθρο των αλγορίθμων χρονοσειρών (time series) του SQL Server
10.2  Δημιουργία ενός μοντέλου πρόβλεψης χρονοσειρών
10.3  Τροποποίηση και παραμετροποίηση  του μοντέλου Time Series
10.4  Αξιολόγηση του μοντέλου Time Series.
10.4.1 Καρτέλα Charts
10.4.2 Καρτέλα Model
10.5 Ασκήσεις αξιολόγησης μοντέλου Time Series
10.6 Λύσεις ασκήσεων αξιολόγησης μοντέλου Time Series

Κεφάλαιο 11. Αποθήκες και κύβοι δεδομένων

11.1 Θεωρητικό υπόβαθρο για τους κύβους δεδομένων και τη πολυδιάστατη ανάλυση
11.2 Δημιουργία ενός κύβου δεδομένων
11.3 Δημιουργία ιεραρχίας σε μια διάσταση του κύβου δεδομένων
11.4 Υποβολή ερωτημάτων στον κύβο δεδομένων
11.5 Υποβολή ερωτημάτων μέσω Pivot table του Excel
11.6.Ασκήσεις για κύβους δεδομένων
11.7  Λύσεις ασκήσεων για κύβους δεδομένων

 

   

Εισαγωγή

Το βιβλίο αυτό αποτελεί έναν εργαστηριακό οδηγό σε θέματα βάσεων, αποθηκών και εξόρυξης δεδομένων με τον MS SQL Server. Αποτελείται από δύο μέρη.

Αναλυτική περιγραφή των δυνατοτήτων και οδηγίες χρήσης του ebook δίνονται στην ακόλουθη 3λεπτη Βίντεο Παρουσίαση

 

 

Πρώτο μέρος: Εργαστηριακός Οδηγός σε Θέματα Βάσεων Δεδομένων (Κεφάλαια 1-5)

Το πρώτο μέρος περιγράφει τις βασικές λειτουργίες και δυνατότητες που προσφέρονται από ένα σύστημα διαχείρισης βάσεων δεδομένων. Συγκεκριμένα, στο βιβλίο αυτό περιγράφονται οι δυνατότητες του SQL Server 2014. Ο SQL Server είναι ένα ισχυρό εργαλείο που περιέχει ένα πλήθος δυνατοτήτων, όπως οι εντολές που αφορούν την γλώσσα ορισμού δεδομένων (Data Definition Language - DDL), εντολές της γλώσσας χειρισμού δεδομένων (Data Manipulation Language - DML), και την γλώσσα προγραμματισμού Transact-SQL για την δημιουργία αποθηκευμένων διαδικασιών, εναυσμάτων και συναλλαγών.

Το πρώτο κεφάλαιο είναι εισαγωγικό και ο αναγνώστης θα δει πώς μπορεί να εγκαταστήσει τον SQL Server 2014. Συγκεκριμένα, στο παρόν κεφάλαιο περιγράφονται τα βασικά βήματα εγκατάστασης του SQL Server. Επιπλέον, περιγράφεται ο έλεγχος που απαιτείται να γίνει, προκειμένου να βεβαιωθεί η καλή λειτουργία της εγκατάστασης. Τέλος, γίνεται μια σύντομη ξενάγηση στο βασικό γραφικό περιβάλλον του SQL Server Management Studio.


Το δεύτερο κεφάλαιο περιγράφει την δημιουργία μιας βάσης δεδομένων που αφορά ένα DVDclub. Θα εργαστούμε κυρίως με εντολές από την γλώσσα ορισμού δεδομένων (DDL). Θα συζητήσουμε για τους διαφορετικούς τύπους δεδομένων, τον τρόπο δημιουργίας πινάκων με γραφικό τρόπο και με εντολές της SQL. Τέλος, θα δημιουργήσουμε συσχετίσεις μεταξύ των πινάκων στο Database Diagram και θα εισάγουμε τιμές στους πίνακες μας.


Στο τρίτο κεφάλαιο, θα παρουσιάσουμε βασικά και σύνθετα ερωτήματα της SQL. Τα ερωτήματα θα υποβληθούν στην βάση δεδομένων DVDclub, που δημιουργήθηκε στο προηγούμενο κεφάλαιο. Συγκεκριμένα, θα μελετηθούν εντολές της SQL που αφορούν την διαχείριση δεδομένων (DML). Ενδεικτικά αναφέρεται ότι θα παρουσιαστούν ερωτήματα σύνδεσης πινάκων, ομαδοποίησης, πράξεων συνόλων και η δημιουργία ερωτημάτων με γραφικό τρόπο (Query by Example) μέσα από τo περιβάλλον του Query Designer.


Στο τέταρτο κεφάλαιο, θα παρουσιάσουμε προχωρημένες λειτουργίες που γίνονται στο περιβάλλον του SQL Server. Συγκεκριμένα, θα μελετηθούν εντολές της SQL που αφορούν την γλώσσα DDL, όπως την μεταβολή της δομής των πινάκων, την διαγραφή τους, κτλ. Άλλα προχωρημένα θέματα που θα παρουσιαστούν είναι η βελτιστοποίηση ερωτημάτων με την χρήση indices, οι αποθηκευμένες διαδικασίες, τα εναύσματα και οι συναλλαγές με την βοήθεια της γλώσσας προγραμματισμού Transact-SQL.


Στο πέμπτο κεφάλαιο, θα περιγράψουμε την δημιουργία φορμών, προκειμένου να εισάγουμε δεδομένα και να εμφανίζουμε στοιχεία από τους πίνακες της βάσης DVDclub με έναν τυποποιημένο τρόπο. Συγκεκριμένα, θα δούμε πώς μπορούμε να φτιάχνουμε απλές κύριες φόρμες καθώς και κύριες με δευτερεύουσες φόρμες στο περιβάλλον της MS Access. Επιπροσθέτως, θα δούμε την δημιουργία λιστών αναζήτησης για την γρήγορη εύρεση στοιχείων σε μια φόρμα αναζήτησης και την δημιουργία υπολογιζόμενων πεδίων φορμών (derived attributes).

Δεύτερο μέρος: Εργαστηριακός Οδηγός σε Θέματα Αποθηκών και Εξόρυξης Δεδομένων (Κεφάλαια 6-11)

To δεύτερο μέρος του βιβλίου (Κεφάλαια 6-11) περιγράφει τις βασικές τεχνικές εξόρυξης δεδομένων και τη διαδικασία δημιουργίας κύβων δεδομένων (data cubes). Εξόρυξη δεδομένων (Data Mining) ή αλλιώς Knowledge Discovery in Databases (KDD), είναι μία προηγμένη διαδικασία ανάλυσης μεγάλου όγκου δεδομένων. Αυτή η ανάλυση των δεδομένων μπορεί να γίνει με τη χρήση τεχνικών όπως decision trees, clustering, association rules, time series, κτλ. Οι κύβοι δεδομένων είναι ένας τρόπος οργάνωσης των δεδομένων σε συγκεντρωτικούς πίνακες (Pivot tables) για την πραγματοποίηση γρήγορης ανάλυσης των δεδομένων και την λήψη στρατηγικών αποφάσεων. Οι τεχνικές αποθηκών και εξόρυξης δεδομένων ξεπερνούν κατά πολύ σε δυνατότητες ανάλυσης την DML. Στο δεύτερο μέρος λοιπόν, περιγράφονται οι παραπάνω τεχνικές, μέσα από τη χρήση του MS SQL Server 2014 Business Intelligence. Ο Business Intelligence του Visual Studio είναι ένα ισχυρό εργαλείο που περιέχει ένα πλήθος από αλγορίθμους για την υλοποίηση των τεχνικών εξόρυξης δεδομένων που έχουν ήδη αναφερθεί. Κάθε κεφάλαιο του δεύτερου μέρους περιγράφει μία διαφορετική τεχνική εξόρυξης δεδομένων, με εξαίρεση το τελευταίο, που περιγράφει τη δημιουργία ενός κύβου δεδομένων.


Το έκτο κεφάλαιο είναι εισαγωγικό. Ο αναγνώστης θα δει πώς μπορεί να δημιουργήσει μία βάση δεδομένων με τη χρήση του SQL Server Management Studio και στη συνέχεια να εισάγει αυτή τη βάση σε ένα νέο project που θα δημιουργήσει στο Data Tools του Visual Studio. Συγκεκριμένα, θα εισάγουμε και θα κάνουμε προεπεξεργασία δεδομένων σε τρεις διαφορετικές βάσεις δεδομένων (MovieClick, FoodMart, AdventureWorks), προκειμένου σε επόμενα κεφάλαια να εφαρμόσουμε σε αυτές τεχνικές εξόρυξης δεδομένων.


Το έβδομο κεφάλαιο περιγράφει την κατηγοριοποίηση με τη χρήση  δένδρων απόφασης. Γίνεται περιγραφή του τρόπου επιλογής των δεδομένων της βάσης δεδομένων που χρησιμοποιούμε και στην συνέχεια ακολουθεί μία αναλυτική περιγραφή των παραμέτρων του αλγορίθμου. Στο παράδειγμα που περιγράφεται, καθώς και στις ασκήσεις που συμπληρώνουν την ενότητα, γίνεται προβολή του δένδρου και αξιολόγηση της ικανότητας πρόβλεψης του μοντέλου μας για διαφορετικές τιμές των παραμέτρων του αλγορίθμου.


Το όγδοο κεφάλαιο ασχολείται με το clustering μέσω των αλγορίθμων ομαδοποίησης k-means και EM clustering. Όπως και στο προηγούμενο κεφάλαιο, γίνεται μία αναλυτική περιγραφή των παραμέτρων του κάθε αλγορίθμου και βλέπουμε τα clusters που δημιουργούνται μεταβάλλοντας τις τιμές των παραμέτρων αυτών. Η αξιολόγηση των clusters γίνεται με δύο τρόπους: με την χρήση διαγραμμάτων και με την αναλυτική εξερεύνηση του κάθε cluster ώστε να δούμε από ποια στοιχεία-μέλη συνίσταται το καθένα.


Στο ένατο κεφάλαιο, περιγράφεται ο αλγόριθμος εξαγωγής κανόνων συσχέτισης. Ο συγκεκριμένος αλγόριθμος παράγει συσχετίσεις μεταξύ συνόλων αντικειμένων και ανήκει στην οικογένεια των Apriori αλγορίθμων. Οι ομάδες αντικειμένων που εξάγονται ονομάζονται itemsets (στοιχειοσύνολα). Με βάση τα itemssets που έχουν παραχθεί, εξάγονται οι κανόνες συσχέτισης μεταξύ των αντικειμένων. Ένας κανόνας συσχέτισης σηματοδοτεί την συσχέτιση ενός συνόλου αντικειμένων από ένα άλλο σύνολο αντικειμένων. Μέσα από τις ασκήσεις περιγράφονται αναλυτικά τα itemsets και οι association rules που δημιουργεί ο αλγόριθμος αλλάζοντας τις τιμές των παραμέτρων του.


Στο δέκατο κεφάλαιο, περιγράφεται η δημιουργία ενός μοντέλου χρονοσειρών (time series). Συγκεκριμένα, θα μάθουμε τον τρόπο με τον οποίο δημιουργείται και χρησιμοποιείται ένα μοντέλο χρονοσειρών για την βάση δεδομένων AdventureWorks. Η Adventure Works είναι μια βάση δεδομένων που αφορά μια υποθετική πολυεθνική εταιρία που εμπορεύεται ποδήλατα σε διάφορες ηπείρους/χώρες. Το τμήμα πωλήσεων επιθυμεί να προβλέψει τις μελλοντικές πωλήσεις ανά μοντέλο ποδηλάτου βάσει των πωλήσεων που σημειώθηκαν στο παρελθόν. Ένα μοντέλο χρονοσειρών είναι πολύ χρήσιμο σε τέτοιες περιπτώσεις.


Το ενδέκατο κεφάλαιο αποτελεί μία εισαγωγή στις αποθήκες και τους κύβους δεδομένων. Ο κύβος είναι μια πολυδιάστατη δομή δεδομένων που εμπεριέχει μέσα της συναθροιστικές πληροφορίες για μια ή περισσότερες βάσεις δεδομένων. Η συνάθροιση της πληροφορίας οδηγεί σε γρήγορους χρόνους απόκρισης ερωτημάτων που τίθενται από υψηλόβαθμα στελέχη επιχειρήσεων, προκειμένου αυτά να λάβουν συνήθως στρατηγικές αποφάσεις για την επιχείρηση.


Συμπερασματικά, ένας χρήστης του SQL μπορεί με τους αλγορίθμους εξόρυξης δεδομένων που διατίθενται από το περιβάλλον να προβλέψει τις τιμές των χαρακτηριστικών που τον ενδιαφέρουν, ενώ με τη δημιουργία κύβων δεδομένων μπορεί να διαχειριστεί μεγαλύτερο όγκο δεδομένων ευκολότερα και αποτελεσματικότερα, προκειμένου να λάβει στρατηγικές αποφάσεις.
Σε αυτό το σημείο, θα ήταν παράλειψη μου να μην ευχαριστήσω όλα τα μέλη του Εργαστηρίου Τεχνολογίας και Επεξεργασίας Δεδομένων (Delab) του Τμήματος Πληροφορικής ΑΠΘ που κατά καιρούς έχουν αναλάβει την διδασκαλία του εργαστηριακού μέρους των μαθημάτων Βάσεων, Αποθηκών και Εξόρυξης Δεδομένων, συνεισφέροντας σε υλικό και ασκήσεις, ενώ μια αρχική έκδοση του εργαστηριακού οδηγού είχε δημιουργηθεί από τον κ. Α. Νανόπουλο. Επίσης, θέλω να ευχαριστήσω ιδιαίτερα τον συνάδελφο και φίλο μου Χρήστο Άνδρα που βοήθησε στην επικαιροποίηση των κεφαλαίων του πρώτου μέρους του βιβλίου, προκειμένου αυτά να προσαρμοστούν στο νέο περιβάλλον του SQL Server 2014, καθώς επίσης και για τις χρήσιμες παρατηρήσεις του που οδήγησαν στην περαιτέρω βελτίωση του βιβλίου. Επιπροσθέτως, να ευχαριστήσω τoυς μεταπτυχιακούς φοιτητές Φοίβο Κολιόπουλο, Στέλλα Γκουτζιούρη, Στέλλα Μαυρομάτη και Ναούμ Τσιόπτσια που βοήθησαν στην επικαιροποίηση (από την προηγούμενη έκδοση) των κεφαλαίων του δεύτερου μέρους του βιβλίου, προκειμένου αυτά να προσαρμοστούν στο νέο περιβάλλον του SQL Server 2014.

Πίνακας Περιεχομένων

X

Data Definition Language - DDL

Η γλώσσα ορισμού περιεχομένου χρησιμοποιείται για τον ορισμό των πινάκων και των μεταξύ τους σχέσεων. Με τη γλώσσα αυτή δηλώνουμε τα χαρακτηριστικά που έχει κάθε πίνακας και τους αντίστοιχους τύπους δεδομένων του κάθε χαρακτηριστικού.

X

Data Manipulation Language - DML

Η γλώσσα χειρισμού δεδομένων χρησιμοποιείται για την επεξεργασία, την ενημέρωση, την εισαγωγή και την διαγραφή δεδομένων.

X

Διάγραμμα οντοτήτων-συσχετίσεων (διάγραμμα E-R)

Τα Διάγραμματα οντοτήτων-συσχετίσεων παρέχουν ένα απλό και κατανοητό τρόπο περιγραφής της δομής των δεδομένων της Βάσης Δεδομένων

X

Ερώτημα SQL

Αποτελεί ένα δομημένο τρόπο σύνταξης ερωτοαποκρίσεων για την αναζήτηση περιεχομένου στη βάση δεδομένων μας.

X

create database

Ένας νέος πίνακας δημιουργείται με τη χρήση της εντολής CREATE TABLE ή σύνταξη της οποίας έχει ως εξής :

CREATE TABLE  ( 
<όνομα πεδίου 1> <τύπος πεδίου 1>,
<όνομα πεδίου 2> <τύπος πεδίου 2>,

<όνομα πεδίου Ν> <τύπος πεδίου Ν>);

X

Drop Database

Μπορούμε να διαγράψουμε ολόκληρο πίνακα, μαζί με τα δεδομένα που τυχόν έχει χρησιμοποιώντας την εντολή DROP σύμφωνα με το ακόλουθο πρότυπο :
DROP TABLE <όνομα πίνακα>

X

ON UPDATE

H πρόταση ON UPDATE προσδιορίζει την ενέργεια που θα εκτελεστεί αν θέλουμε να αλλάξουμε την τιμή ενός πεδίου:
UPDATE <όνομα πίνακα> SET <όνομα πεδίου> <νέα τιμή πεδίου> WHERE <κριτήρια επιλογής εγγραφών>

X

ON DELETE

Ο σκοπός είναι πολύ απλός, διαγράφει εγγραφές από ένα πίνακα. Και πάλι έχομε την δυνατότητα να ορίσουμε ποιές εγγραφές θέλουμε να διαγραφούν (ή και όλες) π.χ.:
DELETE FROM product WHERE id=1

X

Καρτεσιανού γινομένου

To Καρτεσιανό γινόμενο αποτελεί την πράξη μεταξύ δύο πινάκων όπου η κάθε εγγραφή του ενός πίνακα συνδυάζεται με όλες τις εγγραφές του άλλου πίνακα

X

πράξη της επιλογής/selection

Η SQL εντολή μέσω της οποίας ανακτούμε πληροφορίες και συντάσσουμε ερωτήματα είναι η SELECT. Η γενική σύνταξη της SELECΤ είναι αρκετά σύνθετη, ωστόσο ένα απλό πρότυπο είναι το ακόλουθο:
SELECT <πεδίο που θέλουμε να φαίνονται>
FROM <πίνακες από τους οποίους θα αντληθούν τα δεδομένα>
WHERE <κριτήρια επιλογής των εγγραφών>

X

πράξης της σύνδεσης (join)

Η εντολή JOIN σημαίνει σύνδεση, δηλαδή συνδυασμός δεδομένων από δύο ή περισσότερους πίνακες.

X

left outer join

Περιλαμβάνει επιπρόσθετα και όλες τις εγγραφές του πίνακα που βρίσκεται στα αριστερά της πράξης της σύνδεσης (join) και δεν εμπεριέχονται στο αποτέλεσμα της πράξης της σύνδεσης.

X

πράξη του full outer join

Περιλαμβάνει επιπρόσθετα και όλες τις εγγραφές των πινάκων που βρίσκονται στα αριστερά και δεξιά της πράξης της σύνδεσης (join) και δεν εμπεριέχονται στο αποτέλεσμα της πράξης της σύνδεσης.

X

όρος distinct

Η λέξη DISTINCT αμέσως μετά την SELECT δηλώνει ότι κάθε εγγραφή του πίνακα του αποτελέσματος θα συμπεριληφθεί μία μόνο φορά. Επομένως χρησιμοποιείται όταν θέλουμε να εγγυηθούμε ότι στο αποτέλεσμα του ερωτήματος δεν θα υπάρχουν διπλοεγγραφές πρέπει να χρησιμοποιήσουμε το DISTINCT

X

όρος GROUP BY

H λέξη GROUP BY προσδιορίζει τις στήλες με τις οποίες θα πραγματοποιηθεί ομαδοποίηση (grouping) των δεδομένων.

X

όρος HAVING

Ο όρος HAVING χρησιμοποιείται για να ορίσει περιοσρισμούς που σχετίζονται με τα ήδη ομαδοποιημένα αποτελέσματα που έχουν δημιουργηθεί με την GROUP BY.

X

πράξη της ένωσης πινάκων/σχέσεων

H SQL παρέχει ειδικές εντολές για την υποστήριξη των πράξεων της σχεσιακής άλγεβρας που αναφέρονται στην ένωση, διαφορά και τομή πινάκων. Οι πράξη της ένωσης (UNION) συνενώνει τις εγγραφές δύο ή περισσότερων πινάκων.
Ένα παράδειγμα ένωσης δίνεται παρακάτω:
SELECT συνέδριο
FROM πρακτικά_συνεδρίου
UNION
SELECT τιτλος
FROM περιοδικό;

X

πράξη της τομής σχέσεων

H SQL παρέχει ειδικές εντολές για την υποστήριξη των πράξεων της σχεσιακής άλγεβρας που αναφέρονται στην ένωση, διαφορά και τομή πινάκων. Οι πράξεις αυτές υλοποιούνται στην SQL με τις εντολές UNION, EXCEPT και INTERSECΤ αντιστοίχως.
παράδειγμα τομής :
SELECT ονομα
FROM συνδρομητης
INTERSECT
SELECT ονομα
FROM συγγραφεας;

X

πράξη της διαφοράς σχέσεων

H SQL παρέχει ειδικές εντολές για την υποστήριξη των πράξεων της σχεσιακής άλγεβρας που αναφέρονται στην ένωση, διαφορά και τομή πινάκων. Οι πράξεις αυτές υλοποιούνται στην SQL με τις εντολές UNION, EXCEPT και INTERSECΤ αντιστοίχως.
παράδειγμα διαφοράς :
SELECT κωδικός,τίτλος
FROM άρθρο
EXCEPT
SELECT κωδικός,τίτλος
FROM άρθρο
WHERE κωδικός_περιοδικού IS NOT NULL;

X

Ο όρος ΙΝ

Σε περίπτωση που θέλουμε ένα πεδίο να λαμβάνει τιμές από ένα προκαθορισμένο σύνολο τιμών, τότε μπορούμε εναλλακτικά να χρησιμοποιήσουμε τον τελεστή ΙΝ.

X

Ο ορος Νot Ιn

Σε περίπτωση που θέλουμε ένα πεδίο να λαμβάνει τιμές από ένα προκαθορισμένο σύνολο τιμών, εξαιρώντας κάποιες τιμές τότε μπορούμε εναλλακτικά να χρησιμοποιήσουμε τον τελεστή ΝΟΤ ΙΝ.

X

Οι όροι all και some

H SQL προσφέρει τα κατηγορήματα SOME(ή ΑΝΥ) και ALL τα οποία αντιστοιχούν στον υπαρξιακό και καθολικό ποσοδείκτη που χρησιμοποιούμε στα μαθηματικά. Με τη χρήση των κατηγορημάτων αυτών μπορούμε να συντάξουμε πολύ χρήσιμα ερωτήματα με τη χρήση υποερωτημάτων. Πριν απο τα κατηγορήματα SOME και ALL, μπορεί να προηγείται οποιοσδήποτε τελεστής σύγκρισης (=, >, <, >=, <=, <>)

X

Οι όροι exists και not exists

Η τιμή που επιστρέφει το κατηγόρημα EXISTS είναι αληθής, αν το σύνολο που ακολουθεί δεν είναι κενό. Σε διαφορετική περίπτωση η τιμή που επιστρέφεται είναι ψευδής.

X

CREATE VIEW

Για τον ορισμό μιας όψης, η SQL παρέχει την εντολή CREATE VIEW που συντάσσεται ως εξής:
CREATE VIEW όνομα-όψης
AS
(υποερώτημα SQL);

X

DELETE FROM

Παρόμοια με την εντολή UPDATE λειτουργεί και η εντολή DELETE. Ο σκοπός της είναι πολύ απλός, διαγράφει εγγραφές από ένα πίνακα.

X

DROP TABLE

Η πλήρης διαγραφή ενός πίνακα γίνεται χρησιμοποιώντας την εντολή DROP σύμφωνα με τον ακόλουθο πρότυπο :
DROP TABLE <ονομα πίνακα>

X

Οι αποθηκευμένες διαδικασίες/stored procedures

O SQL Server δίνει την δυνατότητα υλοποίησης τμημάτων κώδικα τα οποία παραμένουν αποθηκευμένα μέσα στη Βάση Δεδομένων και καλούνται αποθηκευμένες διαδικασίες (stored procedures). Αυτά ενεργοποιούνται ανά τακτά χρονικά διαστήματα για την εκτέλεση μιας σημαντικής λειτουργίας.

X

Το εύναυσμα/trigger

Ένας σκανδαλισμός ή εύναυσμα (trigger) είναι ένα τμήμα κώδικα που εκτελείται όταν συμβεί ένα γεγονός. Τα γεγονότα που ενεργοποιούν σκανδαλισμούς είναι εισαγωγές, διαγραφές, και ενημερώσεις στα δεδομένα ενός πίνακα.

X

Ευρετήριο

Ένας κατάλογος (ευρετήριο) ορίζεται σε μία ή περισσότερες στήλες ενός πίνακα και στοχεύει στην αποδοτικότερη εκτέλεση των ερωτημάτων που χρησιμοποιούν τις στήλες αυτές στη συνθήκη WHERE. Η κατασκευή και κατάργηση καταλόγων πραγματοποιείται με τις εντολές CREATE INDEX και DROP INDEX αντίστοιχα.

X

ALTER TABLE

O ορισμός ενός πίνακα μπορεί να μεταβληθεί στην πορεία, αναλόγως με τις απαιτήσεις. H SQL προσφέρει την εντολή ALTER TABLE, με την οποία επιτρέπονται να γίνουν συγκεκριμένες αλλαγές στον πίνακα: (προσθήκη νέας στήλης, διαγραφή υπάρχουσας στήλης, αλλαγή πεδίου ορισμού μίας στήλης, εισαγωγή νέου περιορισμού, κατάργηση περιορισμού, αλλαγή της εξ ορισμού τιμής στήλης, κατάργηση αρχικής τιμής στήλης).

X

εντολή grant.

Με την εντολή GRANT δίνουμε δικαιώματα χρήσης της βάσης δεδομένων σε χρήστες.

X

εντολή revoke.

Με την εντολή REVOKE αφαιρούμε από τους χρήστες τα δικαιώματα χρήσης ενός στοιχείου (π.χ. πίνακα, όψη) μιας βάσης δεδομένων.

X

H παράμετρος Split method:

Αυτή η παράμετρος καθορίζει τη μέθοδο με την οποία διαχωρίζονται οι κόμβοι του δένδρου. Μπορεί να πάρει τις τιμές [1,3] όπου 1 είναι η τιμή για Binary δένδρο, 2 η τιμή για Complete (multi-way) δένδρο και 3 η τιμή και για τα δύο μαζί.

X

Κατηγοριοποίηση (classification)

Η κατηγοριοποίηση αποτελεί μια σημαντική λειτουργία εξόρυξης δεδομένων, όπου επιθυμούμε να προβλέψουμε σε πια κατηγορία εντάσσονται και ανήκουν κάθε φορά τα δεδομένα μας.