ΑΤΕΙ-Θ
Τμήμα Μηχανικών Πληροφορικής
Χειμερινό Εξάμηνο 2013-14
Συστήματα Διαχείρισης Βάσεων Δεδομένων

Οι διαλέξεις της θεωρίας του μαθήματος


Τετάρτη 09/10/2013
:
Εισαγωγή στα συστήματα διαχείρισης βάσεων δεδομένων: σελ. 1- 8
Εισαγωγή στη σχεσιακή άλγεβρα: σελ 1-12
Το περιβάλλον της εικονικής μηχανής DBTechNet DebianVM (από το φυλλάδιο του πρώτου εργαστηρίου)
Οι εντολές (SQL) CREATE TABLE, DROP TABLE, INSERT INTO TABLE, και SELECT * FROM <table> του παραδείγματος της βάσης των ναυτικών που νοικιάζουν σκάφη

Τετάρτη 16/10/2013:
Το σχεσιακό μοντέλο: σελίδες 1-21 (εκκρεμεί να σχολιαστούν οι όψεις στην SQL).
Σχολιάστηκαν τα επιμέρους του κώδικα (DDL και DML) που δημιουργεί και εσιάγει δεδομένα στη βάση των ναυτικών που νοικιάζουν σκάφη (Sailors_Example_DDL.doc). Αφού δημιουργήθηκε η βάση, εξετάστηκαν και σχολιάστηκαν μία σειρά από παραδείγματα σύνταξης κώδικα (DML) SQL.

Τετάρτη 23/10/2013:
Αιτήματα SQL: Σελίδες 1-12.
Στο σχεσιακό σχήμα της βάσης των ναυτικών παρουσιάστηκαν, εξετάστηκαν και σχολιάστηκαν ένα σύνολο από περιπτώσεις σύνταξης κώδικα SQL.
Εξετάστηκε επίσης μία βελτιωμένη έκδοση του γνωστού σχεσιακού σχήματος της βάσης των ναυτικών όπου:

(α) ο πίνακας Sailor έχει μία επιπλέον στήλη, την age_updated η οποία είναι τύπου timestamp (χρονοσφραγίδα) και καταχωρεί την τρέχουσα τιμή του ρολογιού του υπολογιστή:

create table sailor
(sid integer not null constraint c_sid primary key,
sname char(50),
rating integer
constraint c_rating check (rating between 1 and 10),
age real constraint
c_age check (age < 18 OR age = 18),
age_updated timestamp);

β) έχει προστεθεί κώδικας που δημιουργεί δύο εναύσματα (triggers) που ενημερώνουν το περιεχόμενο της στήλης age_updated συγκεκριμένης γραμμής με την τρέχουσα τιμή της ώρας του συστήματος κάθε φορά που γίνονται ενέργειες insert και update στον πίνακα Sailor και πιο συγκεκριμένα: ενεργειες που επικαιροποιούν το περιεχόμενο της στήληςage συγκεκριμένης γραμμής του πίνακα:

create trigger sailor1
after insert on sailor
referencing new as N
for each row mode db2sql
update sailor set age_updated = current timestamp
where sid = N.sid;

create trigger sailor2
after update of age on sailor
referencing new as N
for each row mode db2sql
update sailor set age_updated = current timestamp
where sid = N.sid;


Τετάρτη 30/10/2013:
Το (μοναδικό) θέμα της σημερινής διάλεξης: Η ΣΥΖΕΥΞΗ.
Στο σχεσιακό σχήμα της βάσης των ναυτικών παρουσιάστηκαν, εξετάστηκαν και σχολιάστηκαν ένα σύνολο από περιπτώσεις σύνταξης κώδικα SQL.
Για τις διάφορες εκδοχές του JOIN (ως τελεστή της σχεσιακής άλγεβρας και ως εντολή SQL στην IBM DB2) μπορείτε να διαβάσετε από το ηλεκτρονικό βιβλίο Database Fundamentals τις ενότητες 2.4.7 (σελ. 54-) και 5.4 (σελ. 125-). Στο βιβλίο των Ramakrishnan και Gehrke (3η Ελληνική έκδοση) το θέμα παρουσιάζεται στις ενότητες 4.2.4 (σελ. 99) και 5.6.4 (Σελ. 151)


Τετάρτη 06/11/2013:
Ημέρα 24-ωρης απεργίας του Ο.Α.Σ.Θ.: δεν πραγματοποιήθηκαν μαθήματα στο ΑΤΕΙ-Θ.

Τετάρτη 13/11/2013:
Από τις διαφάνειες του πέμπτου κεφαλαίου του βιβλίου των R&G: Σελ. 1-18.
Στο σχεσιακό σχήμα της βάσης των ναυτικών παρουσιάστηκαν, εξετάστηκαν και σχολιάστηκαν ένα σύνολο από περιπτώσεις σύνταξης κώδικα SQL.
Έως σήμερα, έχει καλυφθεί η ακόλουθη ύλη από το πέμπτο κεφάλαιο του βιβλίου των Ramakrishnan και Gehrke (R&G): Ενότητες 5.1, 5.1.1, 5.2, 5.2.1, 5.2.2., 5.3, 5.4, 5.4.1, 5.4.2, 5.4.3, (απομένει να εξεταστεί η συνιστώσα/τελεστής EXCEPT), 5.6.1, 5.6.2, 5.6.3, 5.6.4, 5.6.5.


Τετάρτη 20/11/2013:
Από τις διαφάνειες του πέμπτου κεφαλαίου του βιβλίου των R&G: Σελ. 19-τέλος.
Από τις διαφάνειες του έκτου κεφαλαίου του βιβλίου των R&G: Σελ. 1-6.
Στο σχεσιακό σχήμα της βάσης των ναυτικών παρουσιάστηκαν, εξετάστηκαν και σχολιάστηκαν ένα σύνολο από περιπτώσεις σύνταξης κώδικα SQL.

Τετάρτη 27/11/2013:
Από τις διαφάνειες του έκτου κεφαλαίου του βιβλίου των R&G: Σελ. 7-τέλος.
Στο σχεσιακό σχήμα της βάσης των ναυτικών παρουσιάστηκαν, εξετάστηκαν και σχολιάστηκαν ένα σύνολο από περιπτώσεις σύνταξης κώδικα SQL.

Τετάρτη 04/12/2013:
Μοντέλα δεδομένων, διαγράμματα ER. Από τις διαφάνειες Intro_DB_2010_03.pdf: Σελ. 9-21.
Υποδειγματική εφαρμογή "Ο Πόλεμος του Παγωτού Μέρος Α": Σελ. 1-11 (το συγκεκριμένο τμήμα της διάλεξης είναι διαθέσιμο και σε βίντεο).

Τετάρτη 11/12/2013:
Υποδειγματική εφαρμογή "Ο Πόλεμος του Παγωτού Μέρος Β": Σελ. 1-24
(το συγκεκριμένο τμήμα της διάλεξης είναι διαθέσιμο και σε βίντεο).
Μοντέλα δεδομένων, διαγράμματα ER. Από τις διαφάνειες Intro_DB_2010_03.pdf: Σελ. 22-31.

Τετάρτη 18/12/2013:
Υποδειγματική εφαρμογή "Ο Πόλεμος του Παγωτού Μέρος Γ": Σελ. 1-16 (το συγκεκριμένο τμήμα της διάλεξης είναι διαθέσιμο και σε βίντεο) και "Ο Πόλεμος του Παγωτού Μέρος Δ": Σελ. 1-13 (το συγκεκριμένο τμήμα της διάλεξης είναι διαθέσιμο και σε βίντεο).


Τετάρτη 8/1/2014:
Προετοιμασία για τις επικείμενες εξετάσεις: (α) εξηγήθηκαν περιπτώσεις λαθών στη σύνταξη κώδικα SQL από τις εξετάσεις του εργαστηριακού μέρους του μαθήματος που διεξάγονται αυτήν την περίοδο, και (β) εξετάστηκαν θέματα προηγουμένων εξεταστικών περιόδων και συζητήθηκαν οι λύσεις τους.

Τετάρτη 15/1/2014:
Η τελευταία διάλεξη του μαθήματος. Θέματα προηγούμενων εξεταστικών περιόδων: (α) κανονικοποίηση με διάσπαση όταν οι συναρτησιακές εξαρτήσεις και η ΜΚΜ δίνονται με γενικά σύμβολα (Α,Β,Γ, κλπ.), (β) παραδείγματα λαθών στη σύνταξη κώδικα SQL που παρατηρήθηκαν στην πρόσφατη εξεταστική των εργαστηρίων (αντίστοιχες περιπτώσεις στη βάση των ναυτικών που νοικιάζουν σκάφη). Σχεσιακή άλγεβρα: το υπόλοιπο της σχετικής διάλεξης της 9ης Οκτωβρίου 2013 (σελ. 13-21), με παραδείγματα αντιστοίχισης παραστάσεων σεχσιακής άλγεβρας σε κώδικα SQL.