Βάσεις Δεδομένων 5η εργαστηριακή άσκηση SQL Δρ. Μαρία Ευθυμιοπούλου
Εντολές sql Για να γράψετε ή να επικολλήσετε εντολές sql πηγαίνετε από το μενού SQL Workshop και επιλέγετε το SQL Commands 1. Δημιουργία πίνακα Τον κώδικα για τη δημιουργία πίνακα τον γράφουμε στο παρακάτω παράθυρο Στο παραπάνω παράθυρο μπορούμε να πληκτρολογήσουμε ή να επικολλήσουμε τον κώδικα ορισμού του πίνακα που επιθυμούμε. Το όνομα του πίνακα μπορεί να έχει μήκος μόνο μέχρι 30 χαρακτήρες οι οποίοι μπορεί να είναι γράμματα της αλφαβήτου, αριθμοί ή ένα από τα τρία σύμβολα _, #, $, όμως ο πρώτος χαρακτήρας του ονόματος του πίνακα χρειάζεται οπωσδήποτε να είναι γράμμα της αλφαβήτου. Το όνομα ενός πίνακα μπορεί να γραφεί είτε στα Αγγλικά είτε στα Ελληνικά. 2
Αφού πληκτρολογήσουμε τον SQL κώδικα ορισμού του πίνακα και πατήσουμε το κουμπί RUN που βρίσκεται στην επάνω και δεξιά πλευρά του παραθύρου, ο κώδικας θα εκτελεστεί και εφόσον δεν υπάρχουν σφάλματα ο πίνακας θα δημιουργηθεί. Εάν βρεθούν σφάλματα στον κώδικα τότε ένα επεξηγηματικό σχόλιο μαζί με τον κωδικό του σφάλματος (πχ ORA- 00922) θα εμφανιστούν στο κατώτερο τμήμα του παραθύρου εάν έχουμε ενεργή την καρτέρα RESULTS. Η CREATE TABLE χρησιμοποιείται για τη δημιουργία πινάκων στη βάση δεδομένων. Η σύνταξη της CREATE TABLE είναι: CREATE TABLE table_name ( column1 datatype null/not null, column2 datatype null/not null,... CONSTRAINT constraint_name PRIMARY KEY (column1, column2,... column_n) ); Παράδειγμα CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id) ); 2. Διαγραφή πίνακα Η διαγραφή ενός πίνακα γίνεται με την εντολή drop H drop συντάσσεται ως εξής: drop table table_name 3
3. Τροποποίηση δομής πίνακα Μπορούμε να αλλάξουμε τη δομή ενός πίνακα, δηλαδή να προσθέσουμε, να διαγράψουμε και να τροποποιήσουμε κάποια στήλη με την εντολή alter alter table table_name add modify drop column_name datatype Παραδείγματα alter table professor add address varchar (70) not null alter table professor drop column address alter table professor modify proedros varchar(100) not null 3.α. Μετονομασία πίνακα alter table palio_onoma_pinaka rename to neo_onoma_pinaka 3.β. Εισαγωγή πρωτεύοντος κλειδιού σε πίνακα alter table table_name add constraint constraint_name primary key(primary_key_column) 3.γ. Εισαγωγή ξένου κλειδιού σε πίνακα alter table table_name add constraint constraint_name foreign key(column_name) references table's_primary_key_name(primary_key_column) 4. Εισαγωγή δεδομένων σε πίνακα Η εισαγωγή μιας εγγραφής σε πίνακα γίνεται με την εντολή insert insert into table_name values (value1, value2,...) Βάζουμε μονά αυτάκια σε όλες τις τιμές που είναι κείμενο ή και ημερομηνία Όπου δεν θέλουμε να βάλουμε τιμή γράφουμε NULL (εφόσον έχει ήδη δηλωθεί πως το πεδίο δέχεται NULLS) 5. Τροποποίηση δεδομένων πίνακα H ανανέωση μιας εγγραφής σε πίνακα γίνεται με την εντολή update update table_name set column1=value1, column2=value2,... where some_column=some_value Η συνθήκη where προσδιορίζει ποιες εγγραφές θα ανανεωθούν Παράδειγμα 4
update καθηγητής set Όνομα= Γιώργος, Επώνυμο = Ανδρέου where Επώνυμο = Παπαδόπουλος 6. Διαγραφή δεδομένων πίνακα Η διαγραφή μιας εγγραφής σε πίνακα γίνεται με την εντολή delete delete from table_name where some_column=some_value Η συνθήκη where προσδιορίζει ποια/ποιες εγγραφές θα διαγραφούν Παραδείγματα: delete from καθηγητής where Επώνυμο= Παπαδόπουλος ΑΣΚΗΣΕΙΣ 1. Δημιουργείστε τον παραπάνω πίνακα με τη βοήθεια της εντολής create table. Ορίστε σαν πρωτεύον κλειδί την στήλη ΚΩΔ_ΦΟΙΤ. Εφόσον η στήλη ΚΩΔ_ΦΟΙΤ θα αποτελέσει το πρωτεύον κλειδί του πίνακα θα πρέπει να εισάγω τον αντίστοιχο περιορισμό ώστε να μην παίρνει ποτέ μηδενικές τιμές 2. Αλλάξτε (ALTER) το πεδίο ΤΑΧ_ΚΩΔ από αριθμό (έτσι θα το δηλώσετε στην αρχή) σε VARCHAR(20) 3. Αλλάξτε (ALTER) το όνομα του πίνακα σε FOITITES_TMHMATOS 4. Εισάγετε τις εγγραφές που βλέπετε (INSERT) 5. Αλλάξτε (UPDATE) στην εγγραφή με ΚΩΔ_ΦΟΙΤ=2 τη διεύθυνση σε Μαιζώνος 12 6. Αλλάξτε (UPDATE) τις εγγραφές με πόλη Πάτρα σε πόλη Τρίπολη 7. Διαγράψτε (DELETE) την εγγραφή με κωδικό 2 8. Διαγράψτε τις εγγραφές με ΗΜ_ΓΕΝΝΗΣΗΣ > 31/5/1995 9. Δημιουργείστε μια νέα στήλη με όνομα ΣΗΜΕΙΩΣΕΙΣ στην οποία θα κρατάμε σημειώσεις σχετικές με τον κάθε φοιτητή 5
Για κάθε ένα από τα παραπάνω ερωτήματα να ελέγξτε γραφικά το αποτέλεσμα που προέκυψε 6