TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
|
|
- Χριστόφορος Μοσχοβάκης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο
2 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ιόνιο Πανεπιστήμιο» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 1
3 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons 2
4 Προχωρημένη SQL & MySQL 2
5 Στο κεφάλαιο αυτό θα δούμε πιο αναλυτικά τη σχεδίαση βάσεων δεδομένων, χρησιμοποιώντας ως παράδειγμα έναν πίνακα ανακοινώσεων. Εξελιγμένες βάσεις δεδομένων, όπως ένα φόρουμ, απαιτούν ερωτήματα SQL που ονομάζονται ενώσεις (joins), και θα τα εξετάσουμε σε αυτό το κεφάλαιο. Επίσης θα δούμε μια ειδική κατηγορία συναρτήσεων οι οποίες χρησιμοποιούνται για την ομαδοποίηση των αποτελεσμάτων των ερωτημάτων. Τέλος θα δούμε κάποιες προχωρημένες έννοιες της MySQL όπως: ευρετήρια, αλλαγή της δομής των υπαρχόντων πινάκων, αναζητήσεις πλήρους κειμένου και συναλλαγές (transactions). 3
6 1. Σχεδίαση Βάσεων Δεδομένων Το πρώτο πράγμα για τη δημιουργία και τη χρήση μιας βάσης δεδομένων είναι να καθορίσετε τη δομή της (που ονομάζεται και σχήμα, schema). Η σχεδίαση μιας βάσης δεδομένων, η οποία λέγεται και μοντελοποίηση δεδομένων (data modeling), είναι κρίσιμη για την επιτυχημένη μακροπρόθεσμη διαχείριση των πληροφοριών. Με τη διαδικασία της κανονικοποίησης (normalization), εξαλείφετε προσεκτικά τους πλεονασμούς και άλλα προβλήματα που υπονομεύουν την ακεραιότητα της βάσης σας. 4
7 1.1 Κανονικοποίηση Σχεσιακή βάση δεδομένων είναι μια συλλογή δεδομένων οργανωμένων με συγκεκριμένο τρόπο. Ο Δρ. Codd δημιούργησε μια σειρά κανόνων, τις κανονικές μορφές (normal forms) που μας βοηθούν να οργανώνουμε τα δεδομένα μας. Πριν την κανονικοποίηση της βάσης πρέπει να οριστεί ο σκοπός της εφαρμογής που θα αναπτύξετε. Η κατανόηση του τρόπου προσπέλασης των δεδομένων καθορίζει τη μοντελοποίηση. Στο παράδειγμα που θα ακολουθήσει θα φτιάξουμε έναν πίνακα ανακοινώσεων όπου οι χρήστες θα στέλνουν μηνύματα και άλλοι χρήστες θα απαντούν. 5
8 Η βάση δεδομένων του παραδείγματος θα έχει όνομα forum. Στον πίνακα που ακολουθεί μπορείτε να δείτε ένα δείγμα γραμμής δεδομένων. 6
9 1.2 Κλειδιά Υπάρχουν δυο είδη κλειδιών: το πρωτεύον (primary) και το ξένο (foreign). Πρωτεύον κλειδί είναι ένα μοναδικό αναγνωριστικό που πρέπει να ακολουθεί τους παρακάτω κανόνες: Έχει πάντα τιμή (δεν μπορεί να είναι NULL) Η τιμή του δεν αλλάζει ποτέ Έχει μοναδική τιμή για κάθε εγγραφή του πίνακα Το καλύτερο πραγματικό παράδειγμα για το πρωτεύον κλειδί είναι το ΑΦΜ (δεν αλλάζει ποτέ και χαρακτηρίζει μοναδικά κάθε φυσικό πρόσωπο). Όταν σχεδιάζετε τη βάση μπορείτε να ορίσετε ένα αυθαίρετο πρωτεύον κλειδί για κάθε πίνακα. 7
10 Το ξένο κλειδί είναι ένα πεδίο πίνακα, ίδιο με το πρωτεύον κλειδί ενός άλλου πίνακα. Το ξένο και το πρωτεύον κλειδί συνδέουν τους δυο πίνακες μεταξύ τους. Το πρωτεύον κλειδί του πίνακα διευκολύνει την αναφορά στις εγγραφές του πίνακα. 8
11 Για να ορίσετε το πρωτεύον κλειδί στη βάση δεδομένων forum πρέπει να βρείτε ένα πεδίο που να πληροί τις 3 απαιτήσεις του πρωτεύοντος κλειδιού. Κανένα από τα πεδία δεν είναι κατάλληλο άρα δημιουργούμε ένα εμείς. Εδώ προσθέσαμε το πεδίο message ID. Ένα πρωτεύον κλειδί που δεν έχει άλλη σημασία ή σκοπό λέγεται αναπληρωματικό ή εναλλακτικό (surrogate) κλειδί. 9
12 1.3 Σχέσεις Στις βάσεις δεδομένων οι σχέσεις αναφέρονται στον τρόπο σύνδεσης των δεδομένων ενός πίνακα με τα δεδομένα ενός άλλου. Υπάρχουν 3 είδη σχέσεων μεταξύ δυο πινάκων: Αμφιμονοσήμαντη ή ένα προς ένα (one-to-one): ένα μοναδικό στοιχείο του πίνακα Α αντιστοιχεί σε ένα μοναδικό στοιχείο του πίνακα Β. Μονοσήμαντη ή ένα προς πολλά (one-to-many): ένα στοιχείο του πίνακα Α μπορεί να αντιστοιχεί σε πολλά στοιχεία του πίνακα Β. (η πιο συνηθισμένη) Πολυσήμαντη ή πολλά προς πολλά (many-to-many): πολλά στοιχεία του πίνακα Α αντιστοιχούν σε πολλά στοιχεία του πίνακα Β. 10
13 Οι σχέσεις και τα κλειδιά συνεργάζονται, κατά το ότι ένα κλειδί ενός πίνακα είναι συσχετισμένο με ένα κλειδί κάποιου άλλου. 11
14 1.4 Πρώτη Κανονική Μορφή Κανονικοιποίηση είναι η διαδικασία προσαρμογής της δομής μιας βάσης δεδομένων σύμφωνα με κάποιους κανόνες, τις μορφές. Η βάση δεδομένων σας θα πρέπει να ακολουθεί κάθε κανόνα πιστά και τις μορφές με τη σειρά. Για να συμφωνεί η βάση δεδομένων με την Πρώτη Κανονική Μορφή (First Normal Form 1NF) κάθε πίνακς πρέπει να έχει τις εξής ιδιότητες: 1. Κάθε στήλη πρέπει να έχει μόνο μια τιμή 2. Κανένας πίνακας δε μπορεί να περιέχει επαναλαμβανόμενες ομάδες σχετικών μεταξύ τους δεδομένων. 12
15 Για να κάνετε μια βάση δεδομένων συμβατή με 1NF πρέπει: 1. Να εντοπίσετε τα πεδία που περιέχουν πολλές μονάδες πληροφοριών, όπως το πεδίο στο παράδειγμα του forum με το όνομα actual name. 2. Διαιρέστε κάθε πεδίο σε ξεχωριστά πεδία, το πεδίο actual name διαιρέθηκε σε first name και last name κάθε ένα από τα οποία περιέχει μόνο μια τιμή. 3. Μετατρέψτε τις επαναλαμβανόμενες στήλες σε ξεχωριστό πίνακα. 4. Ελέγξτε ξανά αν όλες οι στήλες και οι πίνακες που δημιουργήσαμε είναι συμβατοί με την Πρώτη Κανονική Μορφή. 13
16 Ο πίνακας movies παραβιάζει τον πρώτο κανόνα 1NF γιατί περιέχει επαναλαμβανόμενες στήλες ίδιων δεδομένων (actor 1, actor 2) και επίσης οι στήλες ηθοποιών (actor) και σκηνοθετών (director) δεν είναι ατομικές. 14
17 Για να γίνει ο πίνακας ταινιών συμβατός με τη μορφή 1NF η συσχέτιση ηθοποιών με μια ταινία θα γίνεται σε αυτόν τον πίνακα. 15
18 1.5 Δεύτερη Κανονική Μορφή Για να είναι μια βάση δεδομένων στη Δεύτερη Κανονική Μορφή (2NF) πρέπει πρώτα να είναι ήδη στην 1NF. Στη συνέχεια κάθε στήλη του πίνακα που δεν είναι κλειδί πρέπει να εξαρτάται από πρωτεύον κλειδί. Οι στήλες που παραβαίνουν αυτόν τον κανόνα έχουν ίδιες τιμές σε πολλές γραμμές. Αυτές οι τιμές πρέπει να αποθηκευτούν σε δικό τους πίνακα και να συνδεθούν με τον αρχικό μέσω ενός κλειδιού. Για να γίνουν πιο κατανοητά όλα τα παραπάνω επιστρέφουμε στα προηγούμενα παραδείγματα. 16
19 Ο πίνακας movies θα περιέχει το σκηνοθέτη Martin Scorsese περισσότερες από 20 φορές. Έτσι καταστρατηγείται ο κανόνας 2NF επειδή η στήλη με το όνομα του σκηνοθέτη δεν αποτελεί κλειδί και δεν εξαρτάται από το πρωτεύον κλειδί (τον κωδικό της ταινίας). Λύση αποτελεί η δημιουργία ενός ξεχωριστού πίνακα σκηνοθετών (directors) που θα περιέχει τις πληροφορίες για τους σκηνοθέτες και θα αναθέτει ένα πρωτεύον κλειδί σε κάθε σκηνοθέτη. Για να συσχετίσουμε τους 2 πίνακες θα προσθέσουμε το πρωτεύον κλειδί του πίνακα directors ως ξένο κλειδί στον πίνακα movies. 17
20 Στον πίνακα movies-actors ο τίτλος της ταινίας και τα ονόματα των ηθοποιών καταστρατηγούν τον κανόνα 2NF (δεν είναι κλειδιά και δεν εξαρτώνται από το πρωτεύον κλειδί του πίνακα). Η βάση δεδομένων κινηματογραφικών ταινιών σε αυτή την απλή μορφή της χρειάζεται τέσσερις πίνακες. 18
21 Για να κάνετε μια βάση δεδομένων συμβατή με 2NF πρέπει: 1. Εντοπίστε τις στήλες που δεν είναι κλειδιά και δεν εξαρτώνται από το πρωτεύον κλειδί του πίνακα. 2. Δημιουργήστε τους κατάλληλους νέους πίνακες.(η πιο λογική τροποποίηση της βάσης δεδομένων forum είναι η δημιουργία 3 πινάκων: users, forums και messages) 19
22 3. Αναθέστε ή δημιουργήστε νέα πρωτεύοντα κλειδιά. (κάθε νέος πίνακας θα έχει ένα πρωτεύον κλειδί) 20
23 4. Δημιουργήστε τα αναγκαία ξένα κλειδιά και καθορίστε τις σχέσεις. Το τελευταίο βήμα για τη συμβατότητα με 2NF είναι να συσχετίσετε τους πίνακες με ξένα κλειδιά. Θυμηθείτε ότι το πρωτεύον κλειδί ενός πίνακα πολύ πιθανό να είναι ξένο κλειδί σε κάποιον άλλο. 21
24 1.6 Τρίτη Κανονική Μορφή Για να είναι μια βάση δεδομένων στην Τρίτη Κανονική Μορφή (3NF) πρέπει να είναι ήδη στη Δεύτερη Κανονική Μορφή (2NF) και όλες οι στήλες που δεν είναι κλειδιά να αμοιβαία ανεξάρτητες. Η βάση δεδομένων forum δεν έχει πρόβλημα και έτσι θα αναλύσουμε τα βήματα που πρέπει να ακολουθήσετε ώστε η βάση δεδομένων clients (περιέχει πληροφορίες των πελατών μιας επιχείρησης όπως όνομα, επώνυμο, τηλέφωνο, διεύθυνση, πόλη, νομός, ταχυδρομικός κωδικός) να είναι συμβατή με 3NF. 22
25 Για να κάνετε μια βάση δεδομένων συμβατή με 3NF πρέπει: 1. Εντοπίστε τυχόν αλληλοεξαρτώμενα πεδία των πινάκων (όπως η πόλη και ο νομός) 2. Δημιουργήστε τους κατάλληλους νέους πίνακες. (δημιουργήστε ξεχωριστούς πίνακες cities και states) 3. Ορίστε ή δημιουργήστε νέα πρωτεύοντα κλειδιά. (κάθε πίνακας πρέπει να έχει πρωτεύον κλειδί) 4. Δημιουργήστε τα αναγκαία ξένα κλειδιά για τη σύνδεση των πινάκων. 23
26 1.7 Δημιουργία της Βάσης Δεδομένων Τα τρία τελικά βήματα σχεδίασης της βάσης δεδομένων είναι τα εξής: 1. Προσεκτικός έλεγχος αν αποθηκεύονται όλες οι απαιτούμενες πληροφορίες. 2. Προσδιορισμός των τύπων των στηλών. 3. Ονομασία όλων των στοιχείων της βάσης δεδομένων. Αν κάνετε αλλαγές στους πίνακες πρέπει να ελέγχετε αν παραμένουν συμβατοί με τις κανονικές μορφές. Αφού ολοκληρωθεί το σχήμα μπορείτε να το υλοποιήσετε στη MySQL. 24
27 Το τελικό σχέδιο για τη βάση δεδομένων forum. 25
28 Δημιουργήστε τη βάση δεδομένων: 1. Προσπελάστε τη MySQL με όποιο πελάτη θέλετε. 2. Δημιουργήστε τη βάση δεδομένων forum. 3. Δημιουργήστε τον πίνακα forum Η σειρά δημιουργίας των πινάκων δεν έχει σημασία. 26
29 4. Δημιουργήστε τον πίνακα messages 5. Δημιουργήστε τον πίνακα users 27
30 6. Ελέγξτε τη δομή της βάσης δεδομένων Αν και αυτό το βήμα είναι προαιρετικό καλό είναι να πραγματοποιείται. 28
31 1.8 Συμπλήρωση της Βάσης Δεδομένων Συμπληρώστε τη βάση δεδομένων: 1. Προσθέστε μερικές νέες εγγραφές στον πίνακα forums 2. Προσθέστε μερικές εγγραφές στον πίνακα users 3. Προσθέστε νέες εγγραφές στον πίνακα messages 4. Επαναλάβετε τα βήματα 1 έως 3 για να συμπληρώσετε τη βάση. 29
32 2. Ενώσεις Επειδή οι σχεσιακές βάσεις δεδομένων έχουν πιο πολύπλοκη δομή, μερικές φορές για να ανακτήσετε τις πληροφορίες που χρειάζεστε πρέπει να χρησιμοποιήσετε ειδικές εντολές ερωτημάτων. Απλές εργασίες που απαιτούν δυο ξεχωριστά ερωτήματα μπορείτε να τις φέρετε σε πέρας με ένα ερώτημα χρησιμοποιώντας μια ένωση (join). Η ένωση είναι ένα ερώτημα της SQL που χρησιμοποιεί δυο ή περισσότερους πίνακες και παράγει έναν εικονικό πίνακα αποτελεσμάτων. Οι δυο κύριοι τύποι ενώσεων είναι οι εσωτερικές (inner) και οι εξωτερικές (outer), κάθε τύπος έχει διάφορους δευτερεύοντες τύπους. 30
33 Μια εσωτερική ένωση επιστρέφει όλες τις εγγραφές των καθοριζόμενων πινάκων που ικανοποιούν τις συνθήκες. Παράδειγμα: αν θέλετε να βρείτε όλα τα μηνύματα του φόρουμ kindling η κατάλληλη εσωτερική ένωση είναι η εξής: Αυτή η ένωση επιλέγει κάθε στήλη και από τους δυο πίνακες εφόσον ικανοποιούνται δυο συνθήκες. 1.Η στήλη forums.name πρέπει να έχει τιμή kindling 2.Η τιμή forum_id του πίνακα forums πρέπει να είναι ίση με την τιμή forum)id του πίνακα messages. 31
34 Λόγω της σύγκρισης ισότητας μεταξύ δυο πινάκων (messages.forum_id = forums.forum_id), η ένωση αυτή είναι γνωστή ως ισοένωση (equijoin). Οι εσωτερικές ενώσεις μπορούν να γραφούν και χωρίςς τον όρο INNER JOIN Εφόσον οι πίνακες που αναφέρονται στο ερώτημα έχουν στήλες με το ίδιο όνομα, πρέπει να χρησιμοποιείτε τη σύνταξη τελείας (πίνακας.στήλη). Αν δεν είστε σαφείς όταν αναφέρεστε στις στήλες σας θα συμβεί σφάλμα. 32
35 Η εξωτερική ένωση διαφέρει από την εσωτερική στο ότι μπορεί να επιστρέφει εγγραφές που δεν πληρούν κάποια συνθήκη. Υπάρχουν τρεις δευτερεύοντες τύποι εξωτερικών ενώσεων: αριστερή, δεξιά και πλήρης. Στις αριστερές εξωτερικές ενώσεις το πιο σημαντικό είναι ο πίνακας που παραθέτουμε πρώτο. Παράδειγμα αριστερής ένωσης: 33
36 Και στις εσωτερικές και στις εξωτερικές ενώσεις αν οι στήλες που συγκρίνονται για μια ισότητα έχουν ίδιο όνομα και στους δυο πίνακες, τότε απλοποιήστε το ερώτημα με τον όρο USING: Στις ενώσεις η έννοια των ψευδωνύμων της SQL διευκολύνει τη γραφή τους. Λόγω τη επιστροφής πολλών αποτελεσμάτων καλό είναι να ορίζουμε ακριβώς ποιες στήλες θέλουμε να εμφανίζονται. 34
37 2.1 Χρησιμοποιήστε Ενώσεις 1. Ανακτήστε το όνομα του φόρουμ και το θέμα του μηνύματος από κάθε εγγραφή του πίνακα messages. αυτό το ερώτημα, που περιλαμβάνει μια εσωτερική ένωση, στη θέση της τιμής forum_id του πίνακα messages θα εμφανίσει την τιμή name του πίνακα forums, για κάθε εγγραφή του πίνακα messages. Έτσι στο τελικό αποτέλεσμα δίπλα από κάθε θέμα μηνύματος εμφανίζεται το όνομα του αντίστοιχου φόρουμ. 35
38 2. Ανακτήστε το θέμα και την ημερομηνία δημοσίευσης κάθε μηνύματος του χρήστη funny man και αυτή η ένωση χρησιμοποιεί δυο πίνακες, τους users και messages. Η στήλη που τους συνδέει είναι η user_id, γι αυτό και τη συμπεριλάβαμε στον όρο USING. 36
39 3. Ανακτήστε τον κωδικό μηνύματος, το θέμα και το όνομα του φόρουμ για κάθε μήνυμα του χρήστη troutster. αυτή η ένωση ενσωματώνει και έναν τρίτο πίνακα. 4. Ανακτήστε το όνομα του χρήστη, το θέμα του μηνύματος και το όνομα του φόρουμ για κάθε χρήστη. 37
40 Μπορείτε να ενώσετε έναν πίνακα ακομά και με τον εαυτό του (αυτοένωση self-join). Στις συνθήκες των ενώσεων μπορείτε να συγκρίνετε οποιεσδήποτε στήλες, όχι μόνο πρωτεύοντα και ξένα κλειδιά. Μπορείτε να εκτελέσετε ενώσεις μεταξύ διαφορετικών βάσεων δεδομένων, χρησιμοποιώντας τη σύνταξη βάση δεδομένων.πίνακας.στήλη εφόσον οι βάσεις δεδομένων βρίσκονται στον ίδιο διακομιστή. Οι ενώσεις που δεν περιέχουν όρο WHERE λέγονται πλήρεις (FULL) και επιστρέφουν όλες τις εγγραφές και από τους δυο πίνακες. 38
41 3. Ομαδοποίηση επιλεγμένων αποτελεσμάτων Ο όρος GROUP BY συγκεντρώνει τα επιστρεφόμενα δεδομένα σε συναφείς ομάδες πληροφοριών. Παράδειγμα: χρησιμοποιήστε το παρακάτω ερώτημα για να ομαδοποιήσετε τα μηνύματα ανά φόρουμ: SELECT * FROM messages GROUP BY forum_id. Τα δεδομένα που επιστρέφονται διαφέρουν στο ότι τώρα οι συναφείς πληροφορίες είναι συγκεντρωμένες αντί να παρουσιάζονται ασύνδετες η μια από την άλλη. 39
42 3.1 Ομαδοποιήστε Δεδομενα 1. Υπολογίστε το πλήθος των εγγεγραμμένων χρηστών. SELECT COUNT(user_id) FROM users; Η COUNT() ίσως είναι η πιο δημοφιλής συνάρτηση ομαδοποίησης. Σας επιτρέπει να μετρήσετε γρήγορα τις εγγραφές ενός πίνακα. Σημειώστε ότι δεν περιλαμβάνουν απαραίτητα όρους GROUP BY όλα τα ερωτήματα που χρησιμοποιούν συναρτήσεις ομαδοποίησης. 2. Υπολογίστε πόσες φορές έχει στείλει μήνυμα κάθε χρήστης. 40
43 3. Βρείτε τους δυο χρήστες με τα περισσότερα μηνύματα. Ο όρος GROUP BY συγκεντρώνει όλες τις τιμές NULL μαζί. Όταν εφαρμόζετε τη συνάρτηση COUNT() να είστε προσεκτικοί γιατί μετράει μόνο τις μη NULL τιμές. 41
44 4. Δημιουργία Ευρετηρίων Τα ευρετήρια (indexes) είναι ένα ειδικό σύστημα που χρησιμοποιούν οι βάσεις δεδομένων για τη βελτίωση της απόδοσης των ερωτημάτων επιλογής (SELECT). Τα ευρετήρια τοποθετούνται σε μια ή περισσότερες στήλες οποιουδήποτε τύπου. Η MySQL επιτρέπει τη χρήση τουλάχιστον 16 ευρετηρίων σε κάθε πίνακα και κάθε ευρετήριο μπορεί να περιλαμβάνει μέχρι 15 στήλες. Αν και ένα ευρετήριο επιταχύνει τη διαδικασία ανάγνωσης από βάσεις δεδομένων, επιβραδύνει τα ερωτήματα που τροποποιούν τα δεδομένα μιας βάσης δεδομένων. 42
45 Τα ευρετήρια είναι πιο κατάλληλα για τις στήλες με τις εξής ιδιότητες: Χρησιμοποιούνται συχνά στον όρο WHERE των ερωτημάτων Χρησιμοποιούνται συχνά στον όρο ORDER BY των ερωτημάτων Χρησιμοποιούνται συχνά σε ερωτήματα ένωσης Έχουν πολλές διαφορετικές τιμές Η MySQL έχει 4 είδη ευρετηρίων: 1. INDEX (τυπικό) 2. UNIQUE (μοναδικό - κάθε γραμμή να έχει διαφορετική τιμή στήλης) 3. FULLTEXT (για αναζητήσεις πλήρους κειμένου) 4. PRIMARY KEY (ένα ειδικό ευρετήριο τύπου UNIQUE που έχετε ήδη χρησιμοποιήσει) 43
46 Μια στήλη θα έχει πάντα το ίδιο μοναδικό ευρετήριο. Η προσθήκη ευρετηρίου σε υπάρχοντες πίνακες απαιτεί τη χρήση της διαταγής ALTER. Η βασική σύνταξη της ALTER είναι: ALTER TABLE όνομα_πίνακα ΟΡΟΣ 44
47 Προσθέστε ένα ευρετήριο σε υπάρχοντα πίνακα: 1. Προσθέστε ένα ευρετήριο στη στήλη name του πίνακα forums ALTER TABLE forums ADD UNIQUE(name); Επειδή το πεδίο name μπορεί και αυτό να προσπελάζεται συχνά και η τιμή του πρέπει να είναι μοναδική σε κάθε γραμμή, προσθέστε στον πίνακα ένα ευρετήριο UNIQUE. 2. Προσθέστε ευρετήρια στον πίνακα messages 45
48 3. Προσθέστε ευρετήρια στον πίνακα users 4. Ελέγξτε την τρέχουσα δομή κάθε πίνακα Ο όρος DESCRIBE εμφανίζει πληροφορίες για τα ονόματα και τη σειρά των στηλών ενός πίνακα, για τους τύπους των στηλών και για τους τύπους των ευρετηρίων. 46
49 5. Χρήση Διαφορετικών Τύπων Πινάκων Η εφαρμογή βάσεων δεδομένων MySQL υποστηρίζει πολλούς διαφορετικούς τύπους πινάκων (ο τύπος ένος πίνακα λέγεται και μηχανή αποθήκευσης storage engine). Κάθε τύπος πίνακα υποστηρίζει διαφορετικές δυνατότητες, έχει τους δικούς του περιορισμούς και αποδίδει καλύτερα ή χειρότερα ανάλογα με τις περιστάσεις. Παρόλο που κάθε πίνακας έχει διαφορετικό τύπο ο τρόπος αλληλεπίδρασής σας με τον πίνακα όσον αφορά την εκτέλεση ερωτημάτων είναι γενικά ίδιος για όλους τους πίνακες. 47
50 Ο πιο σημαντικός τύπος πίνακα είναι ο MyISAM, ο προεπιλεγμένος τύπος πίνακα για όλα τα λειτουργικά συστήματα εκτός από τα Windows. Οι πίνακες MyISAM είναι ιδανικοί για τις περισσότερες εφαρμογές και χειρίζονται τα ερωτήματα SELECT και INSERT πολύ γρήγορα. Το κύριο μειονέκτημά τους είναι ότι δεν μπορούν να χειριστούν συναλλαγές. Ο πίνακας InnoDB είναι ο προεπιλεγμένος τύπος πίνακα των εγκαταστάσεων MySQL σε Windows. Είναι κατάλληλος για συναλλαγές και εκτελεί ερωτήματα ενημέρωσης χωρίς πρόβλημα. Είναι όμως πιο αργός από τον προηγούμενο και χρειάζεται περισσότερο χώρο δίσκου στο διακομιστή. Επίσης δεν υποστηρίζει ευρετήρια FULLTEXT 48
51 Για να καθορίσετε τη μηχανή αποθήκευσης κατά τον ορισμό ενός πίνακα, προσθέστε ένα σχετικό όρο στο τέλος της εντολής: Αν δεν καθορίσετε μηχανή αποθήκευσης θα χρησιμοποιηθεί ο προεπιλεγμένος τύπος του συγκεκριμένου διακομιστή MySQL. Για να αλλάξετε τον τύπο ενός πίνακα χρησιμοποιήστε μια διαταγή ALTER: ALTER TABLE όνομα_πίνακα ENGINE = MYISAM 49
52 Αλλάξτε τον τύπο ενός πίνακα: 1. Δείτε τις τρέχουσες πληροφορίες για τους πίνακες. SHOW TABLE STATUS; Αυτή η διαταγή εμφανίζει διάφορες χρήσιμες πληροφορίες για τους πίνακες μιας βάσης δεδομένων. Το αποτέλεσμα που επιστρέφει είναι λίγο δυσανάγνωστο. Το πρώτο στοιχείο κάθε γραμμής είναι το όνομα του πίνακα και το δεύτερο είναι η μηχανή αποθήκευσης. 50
53 2. Αν χρειάζεται, αλλάξτε τον τύπο του πίνακα messages σε MyISAM. ALTER TABLE messages ENGINE = MYISAM; 3. Αν θέλετε επαληθεύστε την αλλαγή της μηχανής αποθήκευσης εκτελώντας ξανά τη διαταγή SHOW TABLE STATUS. Η ίδια βάση δεδομένων μπορεί να περιέχει πίνακες διαφόρων τύπων. 51
54 6. Αναζητήσεις Πλήρους Κειμένου Οι αναζητήσεις πλήρους κειμένου απαιτούν ευρετήρια τύπου FULLTEXT που με τη σειρά τους απαιτούν πίνακες τύπου MyISAM. Η προσθήκη εγγράφων σε πίνακες με ευρετήρια τύπου FULLTEXT μπορεί να είναι πολύ πιο αργή λόγω του σύνθετου ευρετηρίου που απαιτείται. Μπορείτε να προσθέσετε ευρετήρια FULLTEXT σε πολλές στήλες. Ένα ευρετήριο FULLTEXT μπορεί να εφαρμοστεί σε ένα μόνο πίνακα κάθε φορά. 52
55 6.1 Εκτέλεση Βασικών Αναζητήσεων Πλήρους Κειμένου Αφού ορίσετε ένα ευρετήριο τύπου FULLTEXT σε μια ή περισσότερες στήλες, μπορείτε να ξεκινήσετε τις αναζητήσεις με τον όρο MATCH AGAINST σε μια συνθήκη WHERE: SELECT * FROM ονομα_πίνακα WHERE MATCH (στήλες) AGAINST (λέξεις_κλειδιά) Η MySQL θα εμφανίσει τις γραμμές που ταιριάζουν με τις λέξεις κλειδιά. 53
56 Η σειρά εμφάνισης υπολογίζεται με μαθηματικό τρόπο, όπως στις μηχανές αναζήτησης. Εδώ ισχύουν οι παρακάτω κανόνες: Οι συμβολοσειρές αναλύονται στις μεμονωμένες λέξειςκλειδιά. Οι λέξεις-κλειδιά με μήκος μικρότερο από τέσσερις χαρακτήρες αγνοούνται. Οι πολύ συνηθισμένες λέξεις, που ονομάζονται λέξεις διακοπής (stopwords), αγνοούνται. Αν περισσότερο από το 50% των εγγραφών ταιριάζουν με τις λέξεις-κλειδιά, δεν επιστρέφονται εγγραφές. Όταν ο πίνακας είναι αραιός απλώς δεν υπάρχουν αρκετές εγγραφές ώστε η MySQL να επιστρέψει συναφή αποτελέσματα. 54
57 Εκτελέστε αναζητήσεις πλήρους κειμένου: 1. Συμπληρώστε προσεκτικά τον πίνακα messages, φροντίζοντας να προσθέσετε εκτενή σώματα μηνυμάτων 2. Εκτελέστε μια απλή αναζήτηση πλήρους κειμένου με τη λέξη-κλειδί database. 3. Εκτελέστε την ίδια αναζήτηση πλήρους κειμένου, αυτή τη φορά εμφανίζοντας και τη συνάφεια. 55
58 4. Εκτελέστε μια αναζήτηση πλήρους κειμένου με πολλές λέξεις-κλειδιά. Η MySQL διαθέτει πολλές εκατοντάδες προεπιλεγμένες λέξεις διακοπής. Το ελάχιστο μήκος των λέξεων-κλειδιών (εξ ορισμού τέσσερις χαρακτήρες) είναι μια ρύθμιση της MySQL που μπορείτε να αλλάξετε. Στις αναζητήσεις πλήρους κειμένου, εξ ορισμού δε γίνεται διάκριση πεζών-κεφαλαίων. 56
59 6.2 Λογικές Αναζητήσεις Πλήρους Κειμένου Μπορούμε να εκτελέσουμε πιο σύνθετες αναζητήσεις με τη λογική (Boolean) κατάσταση αναζήτησης πλήρους κειμένου. Για το σκοπό αυτό προσθέτουμε τη φράση IN BOOLEAN MODE στον όρο AGAINST: Η λογική κατάσταση αναζήτησης διαθέτει διάφορους τελεστές για να καθορίζουμε τον ακριβή τρόπο χειρισμού κάθε λέξης-κλειδιού: 57
60 Όταν χρησιμοποιείτε λογική αναζήτηση, υπάρχουν αρκετές διαφορές από την αναζήτηση πλήρους κειμένου (FULLTEXT): Αν πριν από μια λέξη κλειδί δεν υπάρχει τελεστής, αυτή η λέξη είναι προαιρετική, αλλά αν υπάρχει ταύτιση, αυτή θα αξιολογηθεί ως περισσότερο ακριβής. Αποτελέσματα επιστρέφονται ακόμα και αν το κείμενο αναζήτησης υπάρχει σε περισσότερες από τις μισές εγγραφές. Τα αποτελέσματα δεν ταξινομούνται αυτόματα με βάση τη συνάφεια. Ένας βασικός κανόνας είναι ότι υπάρχει ελάχιστο μήκος για το κείμενο αναζήτησης. 58
61 59
62 Εκτελέστε λογικές αναζητήσεις πλήρους κειμένου: 1. Εκτελέστε μια απλή αναζήτηση πλήρους κειμένου για τις λέξεις HTML, XHTML, ή (X)HTML. Για να γίνουν τα αποτελέσματα πιο ευανάγνωστα χρησιμοποιήσαμε την παράμετρο \G η οποία ορίζει στην mysql να παρουσιάσει τα αποτελέσματα κατακόρυφα και όχι οριζόντια. 2. Βρείτε τις εγγραφές που περιέχουν τη λέξη database, με έμφαση στη φράση normal form 60
63 6.3 Βελτιστοποίηση Βάσης Δεδομένων Η απόδοση της βάσης δεδομένων σας εξαρτάται κυρίως από τη δομή της και τα ευρετήρια. Όταν δημιουργείτε βάσεις δεδομένων προσπαθήστε τα εξής: Να επιλέγετε την πιο κατάλληλη μηχανή αποθήκευσης. Να χρησιμοποιείτε για κάθε στήλη το μικρότερο δυνατό τύπο δεδομένων. Να ορίζετε τις στήλες ως NOT NULL, όπου είναι δυνατό. Να χρησιμοποιείτε ακέραιους ως πρωτεύοντα κλειδιά. Να ορίζετε με προσοχή τα ευρετήρια, επιλέγοντας τον κατάλληλο τύπο και εφαρμόζοντάς τα στις κατάλληλες στήλες. Αν γίνεται, να περιορίζετε τα ευρετήρια σε συγκεκριμένο πλήθος χαρακτήρων. 61
64 Εκτός από τις συμβουλές αυτές, υπάρχουν δυο απλές τεχνικές βελτιστοποίησης βάσεων δεδομένων. Ένας τρόπος είναι η εκτέλεση μιας διαταγής OPTIMIZE σε τέτοιους πίνακες. Το ερώτημα απαλλάσσει έναν πίνακα από περιττές επιβαρύνσεις, επιταχύνοντας έτσι την αλληλεπίδραση με αυτόν. OPTIMIZE TABLE όνομα_πίνακα Ο άλλος τρόπος είναι να καταλάβετε πως θα εκτελέσει το ερώτημα η MySQL. Αυτό μπορεί να επιτευχθεί με τη χρήση της λέξης κλειδιού EXPLAIN της SQL. 62
65 7. Συναλλαγές Μια συναλλαγή βάσης δεδομένων είναι μια σειρά ερωτημάτων που εκτελούνται σε μια περίοδο εργασίας. Με τις συναλλαγές μπορείτε να ορίσετε σημεία εκκίνησης και διακοπής και μετά να οριστικοποιείτε ή να ανακαλείτε τα ερωτήματα σύμφωνα με τις ανάγκες. Για συναλλαγές στη MySQL πρέπει να χρησιμοποιείτε μόνο πίνακες τύπου InnoDB. Για να ξεκινήσετε μια νέα συναλλαγή πληκτρολογήστε START TRANSACTION; Όταν τελειώσετε είτε δίνετε τη διαταγή COMMIT για την οριστικοποίηση είτε τη ROLLBACK για να αναιρέσετε το αποτέλεσμα όλων των ερωτημάτων. 63
66 Αφού οριστικοποιήσετε ή ανασκευάσετε τα ερωτήματα, η συναλλαγή θεωρείται ολοκληρωμένη και η MySQL επιστρέφει σε μια κατάσταση αυτόματης οριστικοποίησης. Κάποιοι τύποι ερωτημάτων δεν ανασκευάζονται όπως: ερωτήματα δημιουργίας, τροποποίησης, περικοπής ή διαγραφής πινάκων, δημιουργίας ή διαγραφής βάσεων δεδομένων. Οι συναλλαγές αναφέρονται σε συγκεκριμένη σύνδεση με τη βάση δεδομένων. 64
67 Εκτελέστε συναλλαγές: 1. Συνδεθείτε στον πελάτη mysql και επιλέξτε τη βάση δεδομένων test. 2. Δημιουργήστε ένα νέο πίνακα με το όνομα accounts 65
68 3. Συμπληρώστε τον πίνακα. 4. Ξεκινήστε μια συναλλαγή και εμφανίστε τα τρέχοντα περιεχόμενα του πίνακα. 5. Αφαιρέστε 100$ από το λογαριασμό του David Sedaris 66
69 6. Προσθέστε 100$ στο λογαριασμό της Sarah Vowell 7. Ελέγξτε τα αποτελέσματα SELECT * FROM accounts; 8. Ανασκευάστε τη συναλλαγή ROLLBACK; 9. Ελέγξτε τα αποτελέσματα SELECT * FROM accounts; 10. Επαναλάβετε τα βήματα 4 έως Οριστικοποιήστε τη συναλλαγή και επαληθεύστε τα αποτελέσματα 67
TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραΒάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών
Βάσεις Δεδομένων Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 11Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ
ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER
Διαβάστε περισσότεραΕργαστήριο 6 ο 7 ο / Ερωτήματα Ι
Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο 2014-2015 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου
Διαβάστε περισσότεραΠεριεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27
Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...
Διαβάστε περισσότεραΣχεδιασμός Βάσεων Δεδομένων
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραΕνότητα. Σχεδίαση Βάσεων Δεδομένων
Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 2 3 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο. Όλα
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές II
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΛίγα λόγια από το συγγραφέα...7
Περιεχόμενα Λίγα λόγια από το συγγραφέα...7 Κεφάλαιο 1: Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα...9 Κεφάλαιο 2: Περαιτέρω τροποποίηση δομής πίνακα...41 Κεφάλαιο 3: Σχέσεις...84 Κεφάλαιο 4: Ερωτήματα...105
Διαβάστε περισσότεραΣχεδιασμός των Πινάκων μίας Βάσης Δεδομένων
Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων 3 ΚΥΡΙΑ ΣΗΜΕΙΑ ΤΟΥ ΚΕΦΑΛΑΙΟΥ Επιλογή τύπου δεδομένων και ιδιότητες πεδίων Δημιουργία πινάκων Συσχετισμός πινάκων ΑΡΧΕΙΑ ΕΡΓΑΣΙΑΣ ΠΑΡΑΓΓΕΛΙΕΣ, ΠΑΡΑΓΓΕΛΙΕΣ ΤΕΛΙΚΟ
Διαβάστε περισσότεραΟδηγίες Χρήσης της MySQL
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2
Διαβάστε περισσότεραΟρισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός
Διαβάστε περισσότεραΕργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων
Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε
Διαβάστε περισσότεραΟδηγίες Χρήσης της MySQL
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Απρίλιος 2007 1 Περιεχόμενα Εισαγωγή...2
Διαβάστε περισσότεραΣχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις
Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραTEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)
TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές II
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ενημέρωση βάσης δεδομένων με τις εντολές INSERT, DELETE, UPDATE Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες
Διαβάστε περισσότεραΗ SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.
Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.
Διαβάστε περισσότεραH SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων
Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.
Ενότητα 11: Τεχνικές Κατακερματισμού Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΟρισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL Ευαγγελία Πιτουρά 1 Τι έχουμε δει Μοντελοποίηση Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ
Διαβάστε περισσότεραΣχεδίαση Βάσεων Δεδομένων
Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:
Ενότητα 3: Σχεσιακό Μοντέλο. Από το ιδεατό στο λογικό (σχεσιακό) μοντέλο. Από το λογικό στο φυσικό (SQL) μοντέλο Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΟρισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραTEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)
TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά
Διαβάστε περισσότεραΤμήμα Διοίκησης Επιχειρήσεων
Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE
Διαβάστε περισσότεραΙατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι
Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/
Διαβάστε περισσότεραΙατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.
Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/
Διαβάστε περισσότεραA ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ
A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο
Διαβάστε περισσότεραΤεχνολογία Πολιτισμικού Λογισμικού
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Τεχνολογία Πολιτισμικού Λογισμικού Ενότητα 12: SQL και πολιτισμικά δεδομένα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και
Διαβάστε περισσότεραΠεριεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25
Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7β: SQL (Πρακτική Εξάσκηση 1) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
Ενότητα 7β: SQL (Πρακτική Εξάσκηση 1) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Μια βάση δεδομένων είναι μια οργανωμένη συλλογή πληροφοριών, οι οποίες είναι αποθηκευμένες σε κάποιο αποθηκευτικό μέσο (π.χ σκληρό δίσκο). Οι πληροφορίες τις οποίες καταχωρούμε και
Διαβάστε περισσότεραΙατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.
Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/
Διαβάστε περισσότεραΒασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)
Βασικές Εντολές SQL Θεωρία & Εντολές SQL Γραμμή Εντολών MS-DOS (MySQL) Ο καλός σχεδιασμός μιας Β.Δ είναι σημαντικός για την ανάπτυξη μιας εφαρμογής με υψηλή απόδοση. Γι αυτό τον λόγο μια Β.Δ θα πρέπει
Διαβάστε περισσότεραΕργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»
2 Ενότητα 5 Φίλτρα & Ερωτήματα 3 4 5.1 Φίλτρα Για να εμφανίσετε επιλεκτικά κάποιες εγγραφές που πληρούν κάποια κριτήρια μπορείτε να χρησιμοποιήσετε το φιλτράρισμα με βάση την επιλογή, φιλτράρισμα εκτός
Διαβάστε περισσότεραΙατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι
Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/
Διαβάστε περισσότεραΕισαγωγή στις Βάσεις Δεδομζνων II
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Εισαγωγή στη LibreOffice Base Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 8: SQL (Πρακτική Εξάσκηση 2) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
Ενότητα 8: SQL (Πρακτική Εξάσκηση 2) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου
Διαβάστε περισσότεραΕργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων
Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 17 18 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο.
Διαβάστε περισσότεραΟρισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 12Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές II
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II SQL Ερωτήματα ομαδοποίησης και συνάθροισης Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Το ευρετήριο (index) είναι ένα αντικείμενο δεδομένων μέσα στη βάση δεδομένων που καταγράφει τις γραμμές
Διαβάστε περισσότεραΕισαγωγή στην πληροφορική
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης
Διαβάστε περισσότεραΒάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015
Βάσεις Δεδομένων Εργαστήριο ΙV Τμήμα Πληροφορικής ΑΠΘ 2014-2015 2 Σκοπός του 4 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων σύνδεσης η μελέτη ερωτημάτων συνάθροισης 3 Εκφράσεις
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 2. Διαφάνεια 1. Κάπαρης Αναστάσιος
Βάσεις Δεδομένων Εργαστήριο 2 Διαφάνεια 1 Πώς να δημιουργήσω μια συσχέτιση ένα προς πολλά στην ACCESS; Η απάντηση στο παραπάνω θέμα, θα δοθεί μέσα από ένα παράδειγμα μιας μικρής βάσης δεδομένων. Το μοντέλο
Διαβάστε περισσότεραΕνότητα. Επεξεργασία πινάκων
Ενότητα 4 Επεξεργασία πινάκων 2 3 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε
Διαβάστε περισσότεραBlackBerry Internet Service. Οδηγός χρήστη
BlackBerry Internet Service Οδηγός χρήστη Δημοσίευση: 2014-01-08 SWD-20140108171026083 Περιεχόμενα 1 Γρήγορα αποτελέσματα... 7 Πληροφορίες για τα σχέδια υπηρεσίας ανταλλαγής μηνυμάτων της υπηρεσίας BlackBerry
Διαβάστε περισσότεραΑικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων
Αικατερίνη Καμπάση, PhD Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων Ζάκυνθος 2011 2 ΠΕΡΙΕΧΟΜΕΝΑ ΕΝΟΤΗΤΑ 1: ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 5 1.1 Βάσεις Δεδομένων 7 1.2
Διαβάστε περισσότεραΠληροφοριακά Συστήµατα
Nell Dale John Lewis Chapter 12 Πληροφοριακά Συστήµατα Στόχοι Ενότητας Η κατανόηση της έννοιας «Πληροφοριακό Σύστηµα» Επεξήγηση της οργάνωσης λογιστικών φύλλων (spreadsheets) Επεξήγηση της ανάλυσης δεδοµένων
Διαβάστε περισσότεραΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ
ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα Βιβλία 3 Σχεσιακές
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ Εισαγωγή στη MySQL Νικόλαος Ζ. Ζάχαρης Τι είναι η MySql Είναι ένα Σχεσιακό Σύστημα Διαχείρισης
Διαβάστε περισσότεραΠληροφορική 2. Βάσεις Δεδομένων (Databases)
Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν
Διαβάστε περισσότεραΤεχνολογία Πολιτισμικού Λογισμικού
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Τεχνολογία Πολιτισμικού Λογισμικού Ενότητα 10: Γλώσσα Ερωτημάτων SQL Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται
Διαβάστε περισσότεραΠεριεχόμενα. 1 Tο βιβλίο "με μια ματιά" Εισαγωγή στη Microsoft Access Γνωριμία με τις βάσεις δεδομένων της Access...
Περιεχόμενα Ευχαριστίες...11 1 Tο βιβλίο "με μια ματιά"... 13 Χωρίς τεχνικούς όρους!...13 Σύντομη παρουσίαση...14 Μερικές συμβάσεις...16 Μία τελευταία λέξη (ή και δύο)...16 2 Εισαγωγή στη Microsoft Access
Διαβάστε περισσότεραÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ
ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές II
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Εντολές ορισμού δεδομένων (DDL) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑνοικτά Ακαδημαϊκά Μαθήματα
Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Case Study: Σύστημα Διαχείρισης Βάσης Βιβλιοθήκης (Library Information System) - Μοντελοποίηση και Κανονικοποίηση - Υλοποίηση με χρήση
Διαβάστε περισσότεραΤα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη. χρήση συναρτήσεων ομαδοποίησης κατά την εκτέλεση ενός ερωτήματος προβολής
Εργαστήριο 8 ο Συγκεντρωτικά ερωτήματα Ερωτήματα διασταύρωσης Ερωτήματα Ενεργειών Συγκεντρωτικά ερωτήματα Τα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη χρήση συναρτήσεων ομαδοποίησης
Διαβάστε περισσότεραΟδηγός γρήγορης εκκίνησης του PowerSuite
Το PowerSuite είναι η ολοκληρωμένη λύση απόδοσης για τον υπολογιστή σας. Ενσωματώνοντας το RegistryBooster, το DriverScanner και το SpeedUpMyPC σε ένα ενιαίο περιβάλλον εργασίας σάρωσης, το PowerSuite
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΕργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης
Εργαστήριο 8o Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων Ερωτήματα Τα Ερωτήματα μας επιτρέπουν να βλέπουμε τα δεδομένα που επιθυμούμε, με τη σειρά που επιθυμούμε. Μας δίνουν
Διαβάστε περισσότεραKεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...
Μέρος 2 Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων... 211 Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων... 241 Kεφάλαιο 13 Ανάλυση δεδομένων... 257 Kεφάλαιο 14 Συναρτήσεις Μέρος Β... 285 Kεφάλαιο 15 Ευρετήριο
Διαβάστε περισσότεραΒάσεις Δεδομένων. Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 3: Σχεδιασμός και Διαχείριση Βάσεων Δεδομένων Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων Άδειες
Διαβάστε περισσότεραΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης
ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Καθ.: Νίκος Τσαπατσούλης ΥΠΟΔΕΙΓΜΑ
Διαβάστε περισσότεραΟψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων
Διαβάστε περισσότεραΕισαγωγή στις Βάσεις Δεδομζνων II
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Το Σχεσιακό Μοντζλο Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το
Διαβάστε περισσότεραKεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα
Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes
Διαβάστε περισσότεραΣυναρτησιακές Εξαρτήσεις και Κανονικοποίηση
Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Κανονικές Μορφές - Πρώτη κανονική μορφή (1NF) - Δεύτερη κανονική μορφή (2NF) - Τρίτη κανονική μορφή (3NF) 1 Κανονικοποίηση Κανονικές Μορφές Οι σχέσεις μπορούν
Διαβάστε περισσότεραΕργαστήριο Βάσεων Δεδομένων
Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. 3. Η υλοποίηση απλών ερωτημάτων mysql
Διαβάστε περισσότεραΕργαστήριο Βάσεων Δεδομένων
Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. Για το κείμενο των προδιαγραφών της
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...
Διαβάστε περισσότεραΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012
ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Εργαστηριακή Άσκηση 4 7/02/2012
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες
Διαβάστε περισσότεραΒάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Βασικά θέματα Βάσεων Δεδομένων Ένα Σύστημα Βάσης Δεδομένων
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Query by Example QBE Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos CMU)
Διαβάστε περισσότεραΒάσεις Δεδομένων 5η εργαστηριακή άσκηση
Βάσεις Δεδομένων 5η εργαστηριακή άσκηση SQL Δρ. Μαρία Ευθυμιοπούλου Εντολές sql Για να γράψετε ή να επικολλήσετε εντολές sql πηγαίνετε από το μενού SQL Workshop και επιλέγετε το SQL Commands 1. Δημιουργία
Διαβάστε περισσότεραΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) MASTER IN OFFICE microsoft access ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ
ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) MASTER IN OFFICE microsoft access ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ MASTER IN OFFICE Το Master in Office είναι κατάλληλο για άτομα που έχουν κάποια εμπειρία στο Office (πχ. κάτοχοι πτυχίου
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 7: Βάσεις Δεδομένων (Θεωρία) Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών Σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΒάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο
Βάσεις Δεδομένων Εισαγωγή Ανάλυση Απαιτήσεων Φροντιστήριο 1 ο 16-10-2008 Εισαγωγή - Ορισμοί Βάση Δεδομένων είναι μία συλλογή από σχετιζόμενα αντικείμενα Ένα σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ)
Διαβάστε περισσότεραΕισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων
ΕΣΔ516 Τεχνολογίες Διαδικτύου Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων Περιεχόμενα - Βιβλιογραφία Ενότητας Περιεχόμενα Ορισμοί Συστατικά στοιχεία εννοιολογικής σχεδίασης Συστατικά
Διαβάστε περισσότεραΒάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 3ο Μάθημα: Εισαγωγή στην SQL Δρ. Κωνσταντίνος Χ. Γιωτόπουλος SQL Background SQL Structured Query Language Standard query γλώσσα για
Διαβάστε περισσότεραwww.costaschatzinikolas.gr
ECDL CORE ΕΝΟΤΗΤΑ 5 Χρήση Βάσεων Δεδομένων Microsoft Access Επαναληπτικές Ερωτήσεις Εξετάσεων ECDL CORE ΕΝΟΤΗΤΑ 5 Χρήση Βάσεων Δεδομένων Microsoft Access Επαναληπτικές Ερωτήσεις Εξετάσεων Δημιουργία -
Διαβάστε περισσότεραΒενετόκλειο Λύκειο Ρόδου Εφαρμογές πληροφορικής Γ' Λυκείου. Εργαστηριακή Άσκηση
Βενετόκλειο Λύκειο Ρόδου Εφαρμογές πληροφορικής Γ' Λυκείου Εργαστηριακή Άσκηση 1. Καταχωρίστε τα παρακάτω δεδομένα στους πίνακες της βάσης δεδομένων Ταινίες ΚωδικόςΤαινίας Τίτλος Κατηγορία ΈτοςΠαραγωγής
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές II
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ερωτήματα SQL με σύζευξη πινάκων Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις 1) Ερωτήσεις Σωστού/Λάθους (ΣΛ) Το πακέτο λογισμικού Excel της Microsoft είναι λογισμικό διαχείρισης ΒΔ (ΣΛ) Το πακέτο λογισμικού Access της Microsoft είναι λογισμικό
Διαβάστε περισσότερα6 Εισαγωγή στο Wordpress 3.x
Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και
Διαβάστε περισσότεραΤο βιβλίο διευθύνσεων των Windows
Το βιβλίο διευθύνσεων των Windows Αν στέλνουμε email συχνά σε κάποιους, τότε για να μην πληκτρολογούμε τις διευθύνσεις τους κάθε φορά, τις αποθηκεύουμε στο Βιβλίο Διευθύνσεων. Έτσι όταν θα θέλουμε να τους
Διαβάστε περισσότεραPHP 3. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
PHP 3 Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότερα