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

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

 

 

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

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

 

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

5.1. Δημιουργία συνδεδεμένων πινάκων από τον SQL Server στην Access 2013 του Microsoft Οffice.

Βήμα 1: Προκειμένου να εισάγουμε τους πίνακες της βάσης δεδομένων DVDclub στο περιβάλλον της Access, πρέπει προηγουμένως να μεταβούμε στον Πίνακα Ελέγχου και στα Εργαλεία Διαχείρισης, για να δημιουργήσουμε ένα αρχείο ODBC (Open Data Base Connectivity) με όνομα DVDclubODBC. Με τη βοήθεια αυτού του αρχείου μπορούμε να εισάγουμε τα δεδομένα του MS SQL Server σε βάσεις δεδομένων άλλων εταιρειών (π.χ. ORACLE, MYSQL, κτλ.).

Βήμα 2: Ανοίγουμε την Access και δημιουργούμε μια κενή βάση δεδομένων. Στη συνέχεια, από την καρτέλα EXTERNAL DATA επιλέγουμε ODBC Database, όπως φαίνεται στην Εικόνα 5.1.


Εικόνα 5.1


Βήμα 3: Επιλέγουμε Link to the data source by creating a link table, όπως φαίνεται στην Εικόνα 5.2, και πατάμε ok.


Εικόνα 5.2

 

Βήμα 4: Επιλέγουμε την καρτέλα Machine Data Source και επιλέγουμε το DVDclubOBDC που έχουμε δημιουργήσει,  όπως φαίνεται στην Εικόνα 5.3.


Εικόνα 5.3

Βήμα 5: Επιλέγουμε όλα τα TABLES, όπως φαίνεται στην Εικόνα 5.4, και πατάμε οκ.

 


Εικόνα 5.4

Βήμα 6: Προσοχή! Από την επιλογή DATABASE TOOLS -> Relationships θα πρέπει να συνδέσουμε ξανά τους πίνακες μεταξύ τους από την αρχή, όπως φαίνεται στην Εικόνα 5.5.


Εικόνα 5.5

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου


5.2. Δημιουργία απλής φόρμας εισαγωγής στοιχείων και σύνθετης κύριας/δευτερεύουσας φόρμας.

5.2.1. Δημιουργία μιας απλής φόρμας εισαγωγής στοιχείων Πελατών.

Επιθυμούμε να δημιουργήσουμε μια φόρμα εισαγωγής για την καταχώριση και την προβολή των Πελατών. Επιλέγουμε από την καρτέλα CREATE -> Form Wizard, όπως φαίνεται στην Εικόνα 5.6. Στο πεδίο Tables/Queries επιλέγουμε τον πίνακα που μας ενδιαφέρει και, πατώντας το εικονίδιο  >> , επιλέγουμε όλα τα πεδία του πίνακα, για να περάσουν στη φόρμα.


Εικόνα 5.6

Επιλέγουμε Columnar, όπως φαίνεται στην Εικόνα 5.7. Η συγεκριμένη επιλογή σημαίνει ότι θα βλέπουμε στη φόρμα μας μια εγγραφή κάθε φορά με όλα τα πεδία της. Η επιλογή tabular σημαίνει ότι θα βλέπουμε όλες τις εγγραφές με την μορφή ενός πίνακα. Η επιλογή Datasheet ισοδυναμεί με εμφάνιση όπως στο excel, όπου επεξεργαζόμαστε αμορφοποίητα τα πεδία-στήλες σε πολλές γραμμές-εγγραφές. Πατάμε Next.


Εικόνα 5.7 

Προκειμένου να θυμόμαστε ότι πρόκειται για φόρμα, καλό είναι να μετονομάσουμε τη φόρμα που μόλις φτιάξαμε σε φρμ_Εισαγωγή_ΠΕΛΑΤΗΣ, όπως φαίνεται στην Εικόνα 5.8. Τέλος, πατάμε Finish.

Εικόνα 5.8

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

5.2.2. Δημιουργία Κύριας και δευτερεύουσας φόρμας     

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

Η ενότητα αυτή αφορά τις οντότητες που σχετίζονται στο E-R διάγραμμα μας (Εικόνα 2.1) με σχέσεις ένα προς πολλά. Στόχος μας είναι η δημιουργία κύριας και δευτερεύουσας φόρμας;, προκειμένου να καταχωρούνται τα αντίτυπα δίσκων της ίδιας ταινίας. Επιλέγουμε από την καρτέλα CREATE -> Form Wizard. Στο πεδίο Tables/Queries επιλέγουμε τον πίνακα dbo_ΤΑΙΝΙΑ και, πατώντας το  >> , επιλέγουμε όλα τα πεδία του πίνακα, όπως φαίνεται στην Εικόνα 5.9, για να περάσουν στη φόρμα.


Εικόνα 5.9

Στη συνέχεια, χωρίς να πατήσουμε ακόμη το next, επιλέγουμε τον πίνακα dbo_ΔΙΣΚΟΣ και παίρνουμε όλα τα πεδία του, εκτός από το IDΤαινίας, όπως φαίνεται στην Εικόνα 5.10.


Εικόνα 5.10

Επειδή στο τέλος θα έχουμε πολλές κύριες – δευτερεύουσες φόρμες και δεν θα ξέρουμε ποια αντιστοιχεί σε ποια, στο σημείο αυτό μετονομάζουμε την κύρια σε φρμ_ΤΑΙΝΙΑ_κύρια_1 και τη δευτερεύουσα σε φρμ_ΔΙΣΚΟΣ _Δευτερεύουσα_1, όπως φαίνεται στην Εικόνα 5.11. Τέλος, πατάμε finish.

Εικόνα 5.11

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

5.2.2.2. Δημιουργία φόρμας πελάτη-ενοικιαζόμενων δίσκων με την χρήση ερωτήματος. (Αφορά πίνακες που σχετίζονταν στο E-R με σχέσεις πολλά προς πολλά)

Έστω λοιπόν ο πίνακας dbo_ΠΕΛΑΤΗΣ και οι πίνακες dbo_ΔΙΣΚΟΣ και dbo_TAINIA. Οι σχέσεις μεταξύ των προαναφερθέντων πινάκων είναι οι παρακάτω:


Εικόνα 5.12

Για να φτιάξω μια κύρια φόρμα μαζί με μια δευτερεύουσα φόρμα στη σχέση πολλά προς πολλά όπου η κύρια να παίρνει τιμές από τον πίνακα dbo_ΠΕΛΑΤΗΣ, ενώ στη δευτερεύουσα να καταχωρώ τους δίσκους που ενοικίασε ένας πελάτης εργάζομαι ως εξής:

  1. Χρησιμοποιώ τον ενδιάμεσο πίνακα dbo_ΕΝΟΙΚΙΑΣΗ που συνδέει τον πίνακα dbo_ΔΙΣΚΟΣ με τον πίνακα dbo_ΠΕΛΑΤΗΣ. Ο πίνακας ενοικίαση έχει ως πεδία τα πεδία κλειδιά των δύο πινάκων που συνδέει και όσα άλλα πεδία είναι απαραίτητα (π.χ. πεδίο Από, πεδίο Έως).
  2. Δημιουργώ ένα ερώτημα (CREATE-> Query design) που παίρνει τιμές από τον ενδιάμεσο πίνακα (dbo_ΕΝΟΙΚΙΑΣΗ), τον πίνακα (dbo_TAINIA) και τον πίνακα (dbo_ΔΙΣΚΟΣ). Στο ερώτημα βάζω i) τα πεδία του ενδιάμεσου πίνακα, ii) από τον πίνακα dbo_ΔΙΣΚΟΣ βάζω τα πεδία που θέλω να εμφανίζονται στην δευτερεύουσα φόρμα (εκτός από το πεδίο κλειδί) και iii) από τον πίνακα dbo_TAINIA το πεδίο Τίτλος. Ονομάζω το ερώτημα ως ΕρΕνοικίαση_Δίσκοι.


Εικόνα 5.13

Παρακάτω βλέπουμε τα αποτελέσματα όταν τρέχουμε το ερώτημα μας.

Εικόνα 5.14

Στόχος μας είναι να δημιουργήσουμε μια κύρια φόρμα πελάτη μαζί με μια δευτερεύουσα φόρμα, για να εισάγουμε τις ταινίες που αυτός ενοικιάζει κάθε φορά. Συγκεκριμένα, δημιουργούμε μια κύρια μαζί με μια δευτερεύουσα φόρμα, όπου η κύρια φόρμα παίρνει τιμές από τον πίνακα (dbo_ΠΕΛΑΤΗΣ), ενώ η δευτερεύουσα φόρμα παίρνει τιμές από το ερώτημα  ΕρΕνοικίαση_Δίσκοι. Η κύρια μαζί με τη δευτερεύουσα φόρμα εμφανίζονται στην Εικόνα 5.15.

Εικόνα 5.15


Επιλέγουμε από την καρτέλα CREATE -> Form Wizard. Στη συνέχεια, επιλέγουμε τον πίνακα dbo_ΠΕΛΑΤΗΣ και παίρνουμε όλα τα πεδία του, όπως φαίνεται στην Εικόνα 5.16.

 


Εικόνα 5.16

Στη συνέχεια, χωρίς να πατήσουμε ακόμη Next, επιλέγουμε το ερώτημα ΕρΕνοικίαση_Δίσκοι και παίρνουμε τα παρακάτω πεδία: IDΔίσκου, Από, Έως. Η Εικόνα 5.17 αποτυπώνει τη φάση στην οποία βρισκόμαστε.


Εικόνα 5.17

Τέλος, στο ίδιο παράθυρο επιλέγουμε τον πίνακα dbo_TAINIA και παίρνουμε το πεδίο Τίτλος, όπως φαίνεται στην Εικόνα 5.18.

 


Εικόνα 5.18

Πατάμε Next και εμφανίζεται η Εικόνα 5.19, στην οποία επιλέγουμε ως φαίνεται.


Εικόνα 5.19

Πατάμε Next και εμφανίζεται η Εικόνα 5.20, στην οποία επιλέγουμε ως φαίνεται.


Εικόνα 5.20

Πατάμε Next και εμφανίζεται η Εικόνα 5.21. Επειδή στο τέλος θα έχουμε πολλές κύριες – δευτερεύουσες φόρμες και δεν θα ξέρουμε ποια αντιστοιχεί σε ποια, στο σημείο αυτό μετονομάζουμε την κύρια σε φρμ_Πελάτης_κύρια_1. Αντίστοιχα μετονομάζουμε την δευτερεύουσα φόρμα σε φρμ_ΕρΕνοικίαση _Δευτερεύουσα_1. Τέλος, πατάμε Finish.


Εικόνα 5.21

            Η τελική μορφή της σύνθετης φόρμας που δημιουργήσαμε εμφανίζεται στην Εικόνα 5.22. Όπως μπορούμε να παρατηρήσουμε, η σύνθετη φόρμα επιτρέπει την ταυτόχρονη εμφάνιση τόσο των στοιχείων του πελάτη (στη συγκεκριμένη Εικόνα εμφανίζεται ο κ. Perkins) όσο και των ενοικιάσεων DVD που έχει κάνει.

Εικόνα 5.22

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

5.3. Δημιουργία λίστας αναζήτησης σε φόρμα      

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

Βήμα 1: Κάνουμε δεξί click στην φόρμα με το όνομα φρμ_ΕρΕνοικίαση _Δευτερεύουσα_1. Στη συνέχεια, επιλέγουμε Design View, όπως φαίνεται στην Εικόνα 5.23.


Εικόνα 5.23

Βήμα 2: Κάνουμε δεξί click στο πεδίο Τίτλος και το διαγράφουμε, όπως φαίνεται στην Εικόνα 5.24.


Εικόνα 5.24

Βήμα 3: Αφού διαγραφεί ο Τίτλος, προσθέτουμε το Combo Box (λίστα αναζήτησης) από την καρτέλα Design. Τέλος, το σύρουμε και το αφήνουμε στη θέση του διαγραφέντος, όπως φαίνεται στην Εικόνα 5.25.


Εικόνα 5.25

Βήμα 4: Πατάμε Next και εμφανίζεται η Εικόνα 5.26.. Κάνουμε την επιλογή που φαίνεται και ζητάμε Next.


Εικόνα 5.26


Βήμα 5: Εμφανίζεται ένα νέο παράθυρο, στο οποίο αφενός επιλέγουμε τον πίνακα ΤΑΙΝΙΑ και αφετέρου τσεκάρουμε το Tables, όπως φαίνεται στην Εικόνα 5.27. Επιλέγουμε Next.


Εικόνα 5.27

Βήμα 6: Από τα διαθέσιμα πεδία επιλεγούμε Τίτλος και το μεταφέρουμε στα επιλεγμένα πεδία με το σύμβολο > , όπως φαίνεται στην Εικόνα 5.28. Ζητάμε Next..


Εικόνα 5.28

Βήμα 7: Πατάμε Next μέχρι να φτάσουμε στο παράθυρο της Εικόνας 5.29. Σ’ αυτό το σημείο ακολουθούμε τις επιλογές της Εικόνας 5.29.


Εικόνα 5.29

Βήμα 8: Πατάμε Next και, στο παράθυρο της Εικόνας 5.30, ζητάμε Finish

Εικόνα 5.30


Βήμα 9: Μεταβαίνουμε στην κύρια φόρμα και εμφανίζεται η Εικόνα 5.31, στην οποία πλέον μπορούμε να αναζητήσουμε μια ταινία με το όνομα της με την χρήση της λίστας αναζήτησης και χωρίς να πρέπει να γνωρίζουμε εξ αρχής τον κωδικό της.


Εικόνα 5.31

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου


5.4. Δημιουργία υπολογιζόμενου πεδίου σε δευτερεύουσα φόρμα.

Στόχος της παρούσας ενότητας είναι η δημιουργία ενός υπολογιζόμενου πεδίου με τίτλο «Οφειλή», στο οποίο θα υπολογίζεται σε ευρώ το ποσό με το οποίο θα χρεώνεται ο πελάτης, όταν επιστρέφει έναν δίσκο. Το ποσό θα εμφανίζεται στη στήλη Οφειλή, όπως φαίνεται στην Εικόνα 5.32.


Εικόνα 5.32

 Το υπολογιζόμενο πεδίο Οφειλή, προκύπτει από τον παρακάτω τύπο:

Οφειλή: ([Έως]-[Από])*[Τιμή]

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

Για την περίπτωση που ένας πελάτης επιστρέψει τον ψηφιακό δίσκο αυθημερόν θα πρέπει να διαμορφώσουμε τον παραπάνω τύπο ως εξής:

Οφειλή: IIf(([Έως]-[Από])>0;([Έως]-[Από])*[Τιμή];[Τιμή])


Ο παραπάνω τύπος πρέπει να προστεθεί ως επιπλέον πεδίο «Οφειλή» στο ερώτημα ΕρΕνοικίαση_Δίσκοι, όπως φαίνεται στην Εικόνα 5.33.


Εικόνα 5.33

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

5.5. Ασκήσεις.

  1. Τι είναι κύρια και τι δευτερεύουσα φόρμα; Δώστε ένα παράδειγμα για την βάση δεδομένων DVDclub.

  2. Δημιουργήστε μια  κύρια/δευτερεύουσα φόρμα, όπου στην κύρια φόρμα θα φαίνεται ο δίσκος DVD και στην δευτερεύουσα θα μπορεί κάποιος να καταχωρεί τον πελάτη που νοικιάζει ή επιστρέφει τον δίσκο DVD.

  3. Δημιουργήστε μια λίστα αναζήτησης στην παραπάνω δευτερεύουσα φόρμα στο πεδίο όνομα πελάτη.

  4. Δημιουργήστε μια κύρια/δευτερεύσουσα φόρμα, όπου στη κύρια φόρμα θα φαίνεται η Ταινία και στη δευτερεύουσα φόρμα θα μπορεί κάποιος να καταχωρεί τους συντελεστές που συμμετέχουν σ’αυτή.

  5. Δημιουργήστε μια λίστα αναζήτησης στην παραπάνω δευτερεύουσα φόρμα στο πεδίο όνομα συντελεστή.

  6. Στη κύρια/δευτερεύουσα φόρμα της Εικόνας 5.32  να δημιουργήσετε ένα ακόμη υπολογιζόμενο πεδίο στο οποίο θα εμφανίζεται η τελική οφειλή ενός πελάτη μαζί με τον φόρο ΦΠΑ που είναι ίσος με 23%. Το νέο υπολογιζόμενο πεδίο θα ονομάζεται «Οφειλή με ΦΠΑ μαζί».

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

 

 

Data Definition Language - DDL

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

Data Manipulation Language - DML

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

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

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

Ερώτημα SQL

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

create database

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

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

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

Drop Database

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

ON UPDATE

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

ON DELETE

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

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

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

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

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

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

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

left outer join

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

πράξη του full outer join

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

όρος distinct

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

όρος GROUP BY

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

όρος HAVING

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

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

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

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

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

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

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

Ο όρος ΙΝ

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

Ο ορος Νot Ιn

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

Οι όροι all και some

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

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

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

CREATE VIEW

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

DELETE FROM

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

DROP TABLE

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

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

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

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

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

Ευρετήριο

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

ALTER TABLE

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

εντολή grant.

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

εντολή revoke.

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

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

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

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

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

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

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

H παράμετρος Stopping Tolerance

Αυτή η παράμετρος καθορίζει τον αριθμό των περιπτώσεων που μετακινούνται μεταξύ των clusters σε κάθε πέρασμα του αλγορίθμου. Ο αλγόριθμος εφαρμόζεται επαναληπτικά στα δεδομένα και σχηματίζει τα cluster με την μορφή που εμείς τα βλέπουμε, ύστερα από ένα σύνολο επαναλήψεων. Επειδή σε κάθε επανάληψη προστίθενται διαρκώς και νέες περιπτώσεις, η τιμή της παραμέτρου μπορεί να θεωρηθεί ως ποσοστό και όχι ένας συγκεκριμένος αριθμός. Η προεπιλεγμένη τιμή της παραμέτρου είναι 10.

Η τάση (trend)

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

Η περιοδικότητα (periodicity)

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

Οι ακραίες τιμές (outliers)

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

ολοκληρωμένη (integrated)

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

Μη ευμετάβλητη (non volatile)

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

Αφορά ιστορικά δεδομένα (time-variant)

Μια αποθήκη δεδομένων αφορά δεδομένα που μπορεί να έχουν βάθος δεκαετιών.

Ένα μέτρο ή αλλιώς μετρική (measure)

Είναι το μέγεθος ή τα μεγέθη που μας ενδιαφέρουν να συναθροίσουμε ή να αναλύσουμε κατά τις λειτουργίες OLAP.

διαστάσεις (dimensions)

Οι πληροφορίες που περιγράφουν τα γεγονότα, ονομάζονται διαστάσεις. Για ένα γεγονός πώλησης, διαστάσεις είναι, π.χ., το προϊόν που πωλήθηκε, το υποκατάστημα όπου έγινε η πώληση, η ημερομηνία πώλησης, κ.λπ.

Η ιεραρχία (hierarchy)

Η ιεραρχία (hierarchy) μιας διάστασης

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

Το σχήμα Αστέρα (star schema)

Σύμφωνα με το μοντέλο αυτό η αποθήκη δεδομένων περιέχει ένα μεγάλο κεντρικό πίνακα που καλείται πίνακας γεγονότων (fact table) και ένα σύνολο μικρότερων πινάκων που καλούνται πίνακες διαστάσεων (fimension tables) και συνδέονται απευθείας στον fact table.

To σχήμα χιονονιφάδας (snowflake schema)

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

Το σχήμα γαλαξία (galaxy schema),

Στο σχήμα γαλαξία έχουμε περισσότερους τους ενός fact tables, τους οποίους μπορούν να διαμοιράζονται περισσότερες διαστάσεις.

Η πράξη Roll-up

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

Η πράξη Drill-down

Επιφέρει ακριβώς τα αντίθετα αποτελέσματα από τη λειτουργία ROLL-UP. Με τη λειτουργία DRILL-DOWN αυξάνουμε το επίπεδο λεπτομέρειας των δεδομένων μας.

Η πράξη Slice

Η λειτουργία SLICE επιλέγει τα δεδομένα του κύβου μας ως προς μία διάσταση.

Η πράξη Dice

H λειτουργία DICE επιλέγει τα δεδομένα ως προς πολλές διαστάσεις του κύβου μας, δημιουργώντας έναν μικρότερο κύβο.

Η πράξη Pivot

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

Συναθροιστικές συνάρτήσεις (aggregation function)

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

Προκειμένου να εξάγουμε έναν κανόνα συσχέτισης, πρέπει να ικανοποιούνται κάποια κατώτατα όρια τόσο για το support όσο και για τo confidence/probability. Ο κανόνας πρέπει να έχει support μεγαλύτερo από το όριο, που ονομάζεται ελάχιστη υποστήριξη (minimum_support), και η εμπιστοσύνη πρέπει να είναι μεγαλύτερη από το όριο, που ονομάζεται ελάχιστη εμπιστοσύνη (minimum_probability).

Προκειμένου να εξάγουμε έναν κανόνα συσχέτισης, πρέπει να ικανοποιούνται κάποια κατώτατα όρια τόσο για το support όσο και για τo confidence/probability. Ο κανόνας πρέπει να έχει support μεγαλύτερo από το όριο, που ονομάζεται ελάχιστη υποστήριξη (minimum_support), και η εμπιστοσύνη πρέπει να είναι μεγαλύτερη από το όριο, που ονομάζεται ελάχιστη εμπιστοσύνη (minimum_probability).

Slice

H λειτουργία Slice επιλέγει τα δεδομένα ως προς μία διάσταση του κύβου μας, δημιουργώντας μια φέτα ενός κύβου

Pivot

Η λειτουργία Pivot αλλάζει μόνο το τρόπο απεικόνισης των διαστάσεων του κύβου μα