Πεξηερόκελν Γηάιεμεο Σηόρνη Μαζήκαηνο, Τη θαιύπηεη ην ΔΠΛ446, Σπκβόιαην Μαζήκαηνο, Minibase. Πεξίιεςε Βαζηθώλ Δλλνηώλ (Κεθ. 1 R & G) Μνληέια Γεδνκέλσλ Δπίπεδα Αθαηξεηηθόηεηαο Αλεμαξηεζία Γεδνκέλσλ Πεξηιεπηηθή επηζθόπεζε επηιεγκέλσλ ζεκάησλ πνπ ζα κειεηήζνπκε ζην ΔΠΛ446 Γνζνιεςίεο, Έιεγρνο Ταπηνρξνλίαο, θηι. 1-1
Τη θαιύπηεη ην ΔΠΛ446; Πξνρσξεκέλεο έλλνηεο Σπζηεκάησλ Βάζεσλ Γεδνκέλσλ Σηόρνη: Καηαλόεζε θαη Υινπνίεζε πξνρσξεκέλσλ ελλνηώλ πνπ αθνξνύλ ηελ εζσηεξηθή ιεηηνπξγία κηαο ζρεζηαθήο βάζεο δεδνκέλσλ Έθζεζε ζε Πξνρσξεκέλα θαη Αλεξρόκελα Θέκαηα ζην πεδίν ησλ βάζεσλ δεδνκέλσλ. Να επηηξέςεη ζηνπο θνηηεηέο λα απνθηήζνπλ έλα γεξό ππόβαζξν ζηηο Βάζεηο Γεδνκέλσλ θαζηζηώληαο ηνπο ζε ζέζε λα εθαξκόζνπλ ηηο ηερληθέο απηέο ζε άιια πεδία ηεο Πιεξνθνξηθήο. 1-2
Τη θαιύπηεη ην ΔΠΛ446; Α) Δζσηεξηθή Λεηηνπξγία κηαο DB Η αξρηηεθηνληθή κηαο ζρεζηαθήο βάζεο δεδνκέλσλ Άπεηξνη Φξήζηεο Έκπεηξνη Φξήζηεο ΔΠΛ342 Έλλνηεο Γνζνιεςηώλ θαη Τερληθέο Διέγρνπ Ταπηνρξνλίαο Γνκή Δπξεηεξίσλ Γεπηεξεύνπζαο Μλήκεο (Hash, B+) Απνζήθεπζε Γεδνκέλσλ θαη Μεηα-πιεξνθνξηώλ Αιγόξηζκνη Βειηηζηνπνίεζεο Δπεξσηήζεσλ Τερληθέο Αλάθακςεο (ζε πεξηπηώζεηο ζθαικάησλ) Δλδόκλεκε Γηαρείξηζε Γεδνκέλσλ ΔΠΛ446 1-3
Τη θαιύπηεη ην ΔΠΛ446; B) Άιια Πξνρσξεκέλα Θέκαηα Καηαλεκεκέλεο Βάζεηο Γεδνκέλσλ (Distributed DB) Αλάθηεζε Γεδνκέλσλ (Information Retrieval) Η επηζηήκε ηεο αλαδήηεζεο πιεξνθνξηώλ κέζα ζε «αδόκεηα» αξρεία θεηκέλνπ (βηβιία, WWW, θηι.) Ηκη-δνκεκέλα Γεδνκέλα (XML/XQuery) Φσξηθέο Βάζεηο Γεδνκέλσλ (Spatial Databases) Αλαδπόκελεο Τερλνινγίεο Βάζεσλ Γεδνκέλσλ θαη Βάζεηο ζε Νέα Πεξηβάιινληα: In-Memory Databases, Sensor Databases, Streaming Databases, Cloud Databases, 1-4
Σε πνηνύο απεπζύλεηαη ην ΔΠΛ446; Άηνκα πνπ ζέινπλ λα αζρνιεζνύλ επαγγεικαηηθά κε ηηο βάζεηο δεδνκέλσλ (π.ρ., σο DBA - Database Administrator, σο Database Analyst θαη Database Designer) + Πνηεο νη επζύλεο ελόο DBA; α) Μνληεινπνίεζε (ινγηθά/θπζηθά ζρήκαηα) β) Γηαρεηξίδεηαη Γηαζεζηκόηεηα δεδνκέλσλ (Data availability) Αλάθακςε από ζθάικαηα (Crash recovery) Δπίδνζε ηεο ΒΓ (DB tuning) Aζθάιεηα (Security) & Eμνπζηνδόηεζε (Authorization) Άηνκα πνπ ζέινπλ λα αθνινπζήζνπλ κεηαπηπρηαθέο ζπνπδέο ή/θαη αθαδεκατθή θαξηέξα. 1-5
Σπκβόιαην Μαζήκαηνο Δπίπεδν: Πξνπηπρηαθό Πεξηνξηζκέλεο Δπηινγήο: Γεληθή Καηεύζπλζε Πίζησζε: 7.5 κνλάδεο ECTS Πξναπαηηνύκελα: ΔΠΛ342: Βάζεηο Γεδνκέλσλ ΔΠΛ231: Γνκέο Γεδνκέλσλ & Αιγόξηζκνη ΔΠΛ111: Γηαθξηηέο Γνκέο ζηελ Πιεξνθνξηθή θαη ηνλ Υπνινγηζκό ΔΠΛ132: Αξρέο Πξνγξακκαηηζκνύ ΙΙ Μέζνδνη Γηδαζθαιίαο Γηαιέμεηο (3 ώξεο εβδνκαδηαίσο) Φξνληηζηήξην/Δξγαζηήξην (1 ώξα εβδνκαδηαίσο) 1-6
Σπκβόιαην Μαζήκαηνο Αμηνιόγεζε 40% Τειηθή Δμέηαζε (1) 20% Δλδηάκεζε Δμέηαζε (1) Τξίηε 1/3! 40% Αζθήζεηο 30% Πξνγξακκαηηζηηθέο/Θεσξεηηθέο Αζθήζεηο (4) 10% Παξνπζίαζε ραξαθηεξηζηηθώλ θαη αξρηηεθηνληθήο αλαδπόκελεο βάζεο δεδνκέλσλ (π.ρ., Stream Databases, Sensor Databases, Main-Memory Databases, Cloud Databases, θηι). Σεκείσζε: Τν κάζεκα δίλεη ηδηαίηεξε έκθαζε ζηελ πινπνίεζε ζπζηαηηθώλ κηαο βάζεο δεδνκέλσλ (ηεο Minibase) θαη ν θνηηεηήο θαιείηαη λα έρεη πνιύ θαιέο πξνγξακκαηηζηηθέο ηθαλόηεηεο ζηε C++/C. 1-7
Βηβιηνγξαθία Βαζηθή Βηβιηνγξαθία - Database Management Systems, 3rd Edition R. Ramakrishnan, & Johannes Gehrke, 1104 pp. McGraw-Hill Publisher, ISBN 0-07-123057-2,2003. - Σεκεηώζεηο Μαζήκαηνο θαη Σπλνδεπηηθό Υιηθό Βνεζεηηθή Βηβιηνγξαθία - Fundamentals of Database Systems, 6/E Ramez Elmasri, Shamkant B. Navathe ISBN: ISBN-10: 0136086209, Addison-Wesley, 2011, 1200 pp, 03/30/2010 - Database Systems Concepts, 5th Edition, Abraham Silberschatz, Henry F. Korth, S. Sudarshan Hardcover, 1168 pages, McGraw-Hill Publisher, ISBN 0072958863, 2006. 1-8
WWW Όιεο νη πιεξνθνξίεο ζρεηηθά κε ην κάζεκα βξίζθνληαη ζην αθόινπζν URL http://www.cs.ucy.ac.cy/courses/epl446 1-9 1-9
WWW Γηα ηηο εθπαηδεπηηθέο δξαζηεξηόηεηεο ηνπ καζήκαηνο (ππνβνιή εξγαζηώλ, θόξνπκ αλαθνηλώζεσλ, εξσηεκαηνιόγηα, βαζκνινγίεο εξγαζηώλ, θηι) ζα ρξεζηκνπνηεζεί ην Moodle. http://moodle.cs.ucy.ac.cy/ 1-10 1-10
Minibase (Πξνγξακκαηηζηηθέο Δξγαζίεο) H Minibase είλαη έλα ζύζηεκα δηαρείξηζεο δεδνκέλσλ ην νπνίν πξννξίδεηαη γηα εθπαηδεπηηθή ρξήζε. Πεξηιακβάλεη έλα Αναλςηή Δπεπωηήζεων (Parser), ένα Βεληιζηοποιηηή Δπεπωηήζεων (Query Optimizer), Γιασειπιζηή Δνδιάμεζηρ Μνήμηρ (Buffer Pool Manager), Μησανιζμούρ Αποθήκεςζηρ (heap files, secondary indexes based on B+ Trees), και Γιασειπιζηή Μαγνηηικού Γίζκος (Disk Space Manager). Επιηπέπει ζηο θοιηηηή να ππογπαμμαηίζει ζςζηαηικά μιαρ βάζηρ με σπήζη ηηρ C++. Αναπηύσθηκε παπάλληλα με ηο βιβλίο ηος μαθήμαηορ μαρ! Χπηζιμοποιείηαι ζαν ειζαγυγικό επγαλείο εκπαίδεςζηρ ηος πποζυπικού από εηαιπείερ καηαζκεςήρ βάζευν δεδομένυν (π.σ., oracle). 1-11
Minibase (Πξνγξακκαηηζηηθέο Δξγαζίεο) 1-12
The MySQL Server Architecture Default Transaction Semantics User chosen storage engine 1-13
The Oracle Architecture 1-14
Πεξίιεςε Βαζηθώλ Δλλνηώλ Βάζε Γεδνκέλσλ (Database): Μηα κεγάιε ζπιινγή από ενοποιημένα (integrated) δεδνκέλα. Μνληεινπνηνύλ ηνλ πξαγκαηηθό θόζκν, κέζσ Οληνηήησλ (Entities): π.ρ., θνηηεηέο, καζήκαηα, θηι. Σρέζεσλ (Relationships): π.ρ., Ο Κώζηαο έρεη εγγξαθεί ζην EPL446. DBMS (DataBase Management System Σύζηεκα Γηαρείξηζεο Γεδνκέλσλ) : Έλα ινγηζκηθό παθέην ην νπνίν έρεη ζρεδηαζηεί γηα λα απνζεθεύεη θαη λα δηαρεηξίδεηαη βάζεηο δεδνκέλσλ 1-15
Μνληέια Γεδνκέλσλ Μνληέιν Γεδνκέλσλ (Data Model): Μηα ζπιινγή από έλλνηεο νη νπνίεο πεξηγξάθνπλ πσο αλαπαξίζηαηαη θαη πξνζπειαύλεηαη ε πιεξνθνξία, π.ρ., Γικηςακό (Condasyl 1969) και Ιεπαπσικό (π.σ., IBM IMS 1966, Sabre): H πληποθοπία οπγανώνεηαι ζε ένα γπάθημα (και ιεπαπσία ανηίζηοισα) και πποζπελαύνεηαι μέζυ σειποκίνηηηρ πλοήγηζηρ (manual navigation), απγόηεπα ονομάζηηκαν και navigational databases. - Σρεζηαθό (Edgar Codd 70): - Φξεζηκνπνηείηαη ζήκεξα ζρεδόλ απ όινπο ηνπο θαηαζθεπαζηέο DBs (Oracle, IBM, Microsoft, MySQL, θηι) - Βαζηθή έλλνηα ε ζρέζε (relation), νπζηαζηηθά έλαο πίλαθαο κε ραξαθηεξηζηηθά (ζηήιεο) θαη γξακκέο (εγγξαθέο). - Κάζε ζρέζε έρεη έλα ζρήκα (schema) ην νπνίν πεξηγξάθεη ηηο ζηήιεο θαη ηηο γξακκέο (πεξηνξηζκνύο, ηύπνπο, θηι) - Αληηθεηκελνζηξεθέο: πεξηγξαθή δεδνκέλσλ κε ρξήζε object-oriented ελλνηώλ όπσο θιεξνλνκηθόηεηα, πνιπκνξθία, θηι θαη Σρέζην-Αληηθεηκελνζηξεθέο (ζπλδπαζκόο ηνπ ζρεζηαθνύ θαη Αληηθεηκελνζηξεθνύο κνληέινπ από SQL 1999) 1-16
Δπίπεδα Αθαηξεηηθόηεηαο Πνιιέο Όςεηο (views), αιιά κνλάρα έλα Λνγηθό ζρήκα (Conceptual (logical) schema) θαη έλα Φπζηθό ζρήκα (Physical schema). View 1 View 2 View 3 Conceptual Schema Δμσηεξηθό Σρήκα (Όςεηο), πεξηγξάθνπλ πσο ν ρξήζηεο βιέπεη ηα δεδνκέλα (π.ρ., Physical Schema εγγξαθέο ρσξίο ηαπηόηεηεο). Λνγηθό Σρήκα, νξίδεη ηε ινγηθή δνκή κηαο βάζεο (ηα ραξαθηεξηζηηθά θάζε ζρέζεο, θηι) Φπζηθό Σρήκα, νξίδεη ηελ νξγάλσζε ησλ αξρείσλ, ηνλ ηύπνπ ηνπ αξρείνπ δεδνκέλσλ αξρείσλ, ηα επξεηήξηα, θηι. * Τα ζσήμαηα πεπιγπάθονηαι με μια Γλώζζα Γήλωζηρ Γεδομένων (Data Definition language DDL); ενώ ηα δεδομενα ηποποποιούνηαι με μια Γλώζζα Δπεξεπγαζίαρ Γεδομένων (Data Manipulation Language (DML). 1-17 * Η SQL EPL446: όπσο Advanced είλαη ζήκεξα Database Systems θάλεη -θαη Demetris ηηο δπν Zeinalipour ιεηηνπξγίεο! (University of Cyprus)
Παξάδεηγκα: Δγγξαθέο Φνηηεηώλ Λνγηθό Σρήκα (Conceptual schema): Students(sid: string, name: string, login: string, age: integer, gpa:real) Courses(cid: string, cname:string, credits:integer) Enrolled(sid:string, cid:string, grade:string) Φπζηθό Σρήκα (Physical schema): Σρέζεηο απνζεθεύνληαη ζε κε-ηαμηλνκεκέλα αξρεία. Δπξεηήξην πάλσ ζηε πξώηε ζηήιε ηνπ Students. Δμσηεξηθό Σρήκα (External schema): Μια ότη (view) πος αποκπύπηει οπιζμένερ ζηήλερ. Course_info(cid:string,enrollment:integer) 1-18
Αλεμαξηεζία Γεδνκέλσλ (Data Independence)* * Οη εθαξκνγέο δελ ρξεηάδεηαη λα γλσξίδνπλ πσο δνκνύληαη (structured) θαη απνζεθεύνληαη (stored) ηα δεδνκέλα. Ένα από ηα ζημανηικόηεπα πλεονεκηήμαηα ηος να σπηζιμοποιεί κάνειρ μια DBMS! Λογική Ανεξαπηηζία Δεδομένυν (Logical data independence): Πξνζηαζία από αιιαγέο ζηε ινγηθή δνκή ησλ δεδνκέλσλ. Π.ρ., έζησ όηη ε νληόηεηα PERSON γίλεηαη PERSON_PRIVATE θαη PERSON_PUBLIC καδί κε ηηο θαηάιιειεο πξνζαξκνγέο ζηε ρξήζε απηώλ ησλ πηλάθσλ. Τα ςειόηεξα επίπεδα δελ αληηιακβάλνληαη ηελ αιιαγή! Φςζική Ανεξαπηηζία Δεδομένυν (Physical data independence): Πξνζηαζία από αιιαγέο ζηε θπζηθή δνκή ησλ δεδνκέλσλ. Π.ρ., εάλ ηα δεδνκέλα απνζεθεύνληαη ηαμηλνκεκέλα ή όρη δελ επεξεάδεη ην πώο ν ρξήζηεο αιιειεπηδξά κε ηελ βάζε δεδνκέλσλ. Η αλεμαξηεζία δεδνκέλσλ επηηπγράλεηαη κέζσ ησλ ηξηώλ επίπεδσλ αθαηξεηηθόηεηαο πνπ αλαθέξακε. 1-19
Βειηηζηνπνίεζε Δπεξσηήζεσλ (Query Optimization) Αλαιπηήο (Parser): Αλαιύεη ηα SQL επεξσηήκαηα ηνπ ρξήζηε θαη ηα κεηαθέξεη ζηνλ Βειηηζηνπνηεηή Βειηηζηνπνηεηήο (Optimizer): Κάλεη ρξήζε κέηα-πιεξνθνξηώλ ζηνλ θαηάινγν ζπζηήκαηνο (system catalog) γηα λα γλσξίδεη ηα δηαζέζηκα επξεηήξηα, ηνλ αξηζκό ησλ πιεηάδσλ ζε έλα πίλαθα. Όια απηά γηα λα βξεη ην θαιύηεξν (γξήγνξν) πιάλν εθηέιεζεο! Δθηειεζηήο Πιάλνπ (Plan Executor): Δύξεζε θαη εθηέιεζε θζελόηεξνπ πιάλνπ από όια ηα δέλδξα ζρεζηαθώλ ηειεζηώλ. SELECT S.sname FROM Reserves R, Sailors S WHERE R.sid=S.sid AND (Scan; write to temp T1) Πιάλν A: Αθξηβό! Πιάλν Β: Καιύηεξν! bid=100 rating > 5 Reserves bid=100 Reserves sid=sid sname sid=sid Sailors EPL446: R.bid=100 Advanced AND Database S.rating>5 Systems - Demetris Zeinalipour (University of Cyprus) Sailors sname (On-the-fly) (Sort-Merge Join) rating > 5 (Scan; write to temp T2) 1-20
Γνζνιεςία (Transaction): Η εθηέιεζε ελόο Πξνγξάκκαηνο Β.Γ. Γνζνιεςία (transaction), κηα αηνκηθή (atomic, δηλ. allor-nothing) αθνινπζία από ελέξγεηεο (read / write) ζηε βάζε δεδνκέλσλ. Κάζε δνζνιεςία, ε νπνία νινθιεξώλεηαη, πξέπεη λα αθήλεη ηελ DB ζε κηα ζπλεπή θαηάζηαζε (consistent state). Οη ρξήζηεο κπνξεί λα νξίζνπλ θαλόλεο αθεξαηόηεηαο (integrity constraints) πάλσ ζηα δεδνκέλα, θαη ε DBMS ζα επηβάιεη απηνύο ηνπο πεξηνξηζκνύο (π.ρ., ζηελ Oracle : Primary Key, Foreign Key, Check, Not Null, Unique, ) Πέξα από απηό, κηα DBMS δελ αληηιακβάλεηαη ηε ζεκαζηνινγία (semantics) ησλ δεδνκέλσλ (π.ρ., δελ θαηαιακβάλεη γηαηη ην επηηόθην ελόο ινγαξηαζκνύ ππνινγίδεηαη κε έλα ζπγθεθξηκέλν ηύπν, απιά μέξεη λα ην ππνινγίδεη!). 1-21
Έιεγρνο Ταπηνρξνλίαο (Concurrency Control) Η παξάιιειε εθηέιεζε ησλ δνζνιεςηώλ είλαη απαξαίηεηε γηα λα έρεη έλα DBMS θαιή επίδνζε Απηό δηόηη ε πξόζβαζε ζηε δεπηεξεύνπζα κλήκε (δίζθν) είλαη ζπρλή, θαη ζρεηηθά αξγή, ζπλεπώο είλαη ζεκαληηθό λα θξαηάκε ηνλ επεμεξγαζηή απαζρνιεκέλν! Παξεκβάιινληαο (Interleaving) ηηο δνζνιεςηώλ κπνξεί λα πξνθαιέζεη αζπλέπεηα (inconsistency): π.ρ., κηα επηηαγή απνπιεξώλεηαη ελώ ππνινγίδεηαη ην ηζνδύγην ηνπ ινγαξηαζκνύ. ην απνηέιεζκα ηνπ ηζνδπγίνπ είλαη ιαλζαζκέλν! Τν DBMS δηαζθαιίδεη όηη ηέηνηα πξνβιήκαηα δε ζα πξνθύςνπλ: Οι σπήζηερ έσοςν ηην ενηύπυζη όηι οι δοζολητίερ ηοςρ εκηελούνηαι ζειπιακά! 1-22
Έιεγρνο Ταπηνρξνλίαο κε Κιείδσκα Η DBMS δηαζθαιίδεη όηη κηα εθηέιεζε T1,..., Tn δνζνιεςηώλ είλαη ηζνδύλακε (equivalent) κε κηα ζεηξηαθή (serial) εθηέιεζε T1... Tn. Απηό δηαζθαιίδεηαη κέζσ θάπνησλ εηδηθώλ πξσηνθόιισλ Παξάδεηγκα κε Κιείδσκα (Strict 2PL locking) Πξηλ ηελ αλάγλσζε/γξαθή ζε έλα αληηθείκελν, κηα δνζνιεςία αηηείηαη ην θιείδσκα (locking) ελόο αληηθεηκέλνπ θαη πεξηκέλεη κέρξη λα παξαρσξεζεί απηό ην lock από ηελ DBMS. Όια ηα θιεηδώκαηα (locks) ειεπζεξώλνληαη ζην ηέινο κηαο δνζνιεςίαο. 1-23
Τερληθέο Αλάθακςεο Μηα DBMS δηαζθαιίδεη ηελ αηνκηθόηεηα - atomicity (all-or-nothing) αθόκε θαη εάλ ην ζύζηεκα θαηαξξεύζεη ζηε κέζε κηαο δνζνιεςίαο. Ιδέα: Να δηαηεξείηαη έλα log (history) από όιεο ηηο πξάμεηο πνπ εθηειεί ε DBMS θαζώο εθηειεί έλα ζύλνιν δνζνιεςηώλ: Πξνηνύ νπνηαδήπνηε αιιαγή γίλεη ζηελ DB, ην αληίζηνηρν log entry εγγξάθεηαη ζε αζθαιέο ζεκείν. (WAL protocol) Μεηά ηελ θαηάξξεπζε, νη επηδξάζεηο ησλ αηειείσησλ δνζνιεςηώλ αθπξώλνληαη (undone) κε ηε ρξήζε ηνπ log (εάλ δελ απνζεθεύηεθε ην log entry ηόηε ε αιιαγή δελ εθαξκόζηεθε ζηε DB!) 1-24
Storage & Indexing Απνζήθεπζε θαη Δπξεηήξηα Αλαιπηηθό Πξόγξακκα Δλόηεηα A Δβδ. 1-2: Απνζήθεπζε / Γηαρείξηζε Γεδνκέλσλ Φαξαθηεξηζηηθά Μέζσλ Απνζήθεπζεο (δίζθνη, flash, ηαηλίεο, θηι), Οξγάλσζε RAID, Οξγάλσζε Αξρείσλ, Σύγθξηζε Οξγάλσζεο Αξρείσλ, Μνληέια Κόζηνπο, Δλδόκλεκε Γηαρείξηζε Γεδνκέλσλ θαη Γεπηεξεύνπζαο Μλήκεο. Δβδ. 3-4: Δπξεηήξηα Γεπηεξεύνπζαο Μλήκεο Hash-based Indexes (Static, Linear and Extendible Hashing), Tree-based Hashing (ISAM, B+ Trees) Πξαθηηθά Θέκαηα (bulk loading, key compression, ordering, θηι.) Πξνγξακκαηηζηηθέο Αζθήζεηο ζε Minibase θαη C++! 1-25
Query Optimization: Βειηηζηνπνίεζε Δπεξσηεκάησλ Αλαιπηηθό Πξόγξακκα Δλόηεηα Β Πξνγξακκαηηζηηθέο Αζθήζεηο ζε Minibase θαη C++! Δβδ. 4-5: Απνηίκεζε Δπεξσηεκάησλ Δηζαγσγηθέο Έλλνηεο, Απνηίκεζε Σρεζηαθώλ Τειεζηώλ (select, project, join, set θαη aggregates), Δμσηεξηθή Ταμηλόκεζε (2-way merge sort, External Merge-sort, Φξήζε B+trees γηα ηαμηλόκεζε) Δβδ. 5-6: Βειηηζηνπνίεζε Δπεξσηεκάησλ Μεηάθξαζε SQL ζε Σρεζηαθή Άιγεβξα, Απνηίκεζε Κόζηνπο ελόο Πιάλνπ Δθηέιεζεο, Σρεζηαθέο (Αιγεβξηθέο) Ιζνδπλακίεο, Δπεμεξγαζία Δλζέησλ Δπεξσηήζεσλ. MIDTERM: Δβδ. 7 Τξίηε 1/3 1-26
Transaction Management: Γηαρείξηζε Γνζνιεςηώλ Αλαιπηηθό Πξόγξακκα Δλόηεηα Γ Δβδ. 8-9: Γνζνιεςίεο & Έιεγρνο Ταπηνρξνλίαο Δηζαγσγηθέο Έλλνηεο, Ιδηόηεηεο ACID, Lockbased Concurrency Control (2PL θαη Αδηέμνδα), Concurrency Control without Locking (Optimistic, Timestamp, Multi-granular), Δμεηδηθεπκέλνη Έιεγρνη Ταπηνρξνλίαο Δβδ. 10: Τερληθέο Αλάθακςεο Δηζαγσγή θαη επεμήγεζε ηεο δνκήο θαηάζηηρσλ (log) θαη άιισλ ζρεηηθώλ δνκώλ, Πξσηόθνιιν Write-Ahead-Log, Check-pointing, Αλάθακςε κεηά από ζθάικα (Analysis, Redo, Undo), Media Recovery, θ.α. 1-27
Advanced Topics: Πξνρσξεκέλα Θέκαηα Αλαιπηηθό Πξόγξακκα Δλόηεηα Γ Δβδ. 11: Καηαλεκεκέλεο Βάζεηο Αξρηηεθηνληθέο, Απνζήθεπζε, Γηαρείξηζε Καηαιόγνπ θαη Δπεμεξγαζία Δπεξσηεκάησλ Δβδ. 11: Αλάθηεζε Γεδνκέλσλ (Α.Γ.) Δηζαγσγή ζηε Α.Γ., Δπξεηήξηα γηα αλαδήηεζε, Web Search, Γηαρείξηζε θεηκέλνπ ζε κηα DBMS. Δβδ. 12: Ηκηδνκεκελα Γεδνκελα (ΦΜL/XQuery) Δηζαγσγηθέο Έλλνηεο, Οξηζκνί θαη Παξαδείγκαηα Δβδ. 12: Φσξηθέο Βάζεηο Γεδνκέλσλ Δθαξκνγέο, Rtrees θαη Grid Files Δβδ. 13: Παξνπζηάζεηο Φνηηεηώλ Streaming Databases, In-Memory Databases, Sensor Databases, Cloud Databases, 1-28