Από τη διαχείριση πληροφορίας στη διαχε

Download Report

Transcript Από τη διαχείριση πληροφορίας στη διαχε

Από τη
διαχείριση πληροφορίας
στη
διαχείριση γνώσης
Χ. Παπαθεοδώρου, Μ. Γεργατσούλης, Σ. Καπιδάκης
Εργαστήριο Ψηφιακών Βιβλιοθηκών &
Ηλεκτρονικής Δημοσίευσης
Τμήμα Αρχειονομίας – Βιβλιοθηκονομίας,
Ιόνιο Πανεπιστήμιο
Μεταπτυχιακό Πρόγραμμα Σπουδών στην Ιστορική Δημογραφία
Τμήμα Ιστορίας, Ιόνιο Πανεπιστήμιο
1
Τι είναι το DBMS;
Βάσεις δεδομένων: Ιδιαίτερα μεγάλες
ολοκληρωμένες συλλογές δεδομένων.
 Αφορούν μοντέλα πραγματικών οργανισμών.
Καταχωρούν πληροφορία για:

Οντότητες (π.χ., φοιτητές, μαθήματα, διδάσκοντες).
 Συσχετίσεις (π.χ., Ο Νίκος έχει εγγραφεί στο
μάθημα Βάσεις Δεδομένων).


Το Σύστημα Διαχείρισης Βάσεων Δεδομένων
(DBMS) είναι λογισμικό ειδικά σχεδιασμένο για
να διευκολύνει την αποθήκευση και τη
διαχείριση βάσεων δεδομένων.
2
Γιατί να μελετούμε Βάσεις
Δεδομένων;
?
 Μετακίνηση
από τον υπολογισμό στην
πληροφορία
 Συλλογές δεδομένων με συνεχώς αυξανόμενη
ποικιλομορφία και όγκο.
 Ψηφιακές
Βιβλιοθήκες, αλληλεπιδραστικό βίντεο.
3
Μοντέλα Δεδομένων
Μοντέλο δεδομένων είναι μια συλλογή από
έννοιες για την περιγραφή των δεδομένων.
 Το σχήμα είναι η περιγραφή μιας
συγκεκριμένης συλλογής δεδομένων, με τη
χρήση δοσμένου μοντέλου δεδομένων.
 Το σχεσιακό μοντέλο δεδομένων είναι το πιο
διαδεδομένο μοντέλο σήμερα.

Βασική έννοια: σχέση, (ουσιαστικά είναι ένας
πίνακας με γραμμές και στήλες).
 Κάθε σχέση έχει ένα σχήμα το οποίο περιγράφει τις
στήλες ή πεδία ή γνωρίσματα ή χαρακτηριστικά.

4
Παράδειγμα

Σχήμα:

Φοιτητής (ΑΜ:string, Όνομα:string, Επώνυμο:string, Ηλικία: integer)
ΑΜ
Όνομα
53123
45123
93122
11234
99876
Νίκος
Πέτρος
Μαρία
Σοφία
Γιώργος
Επώνυμ
ο
Νικολάου
Γεωργίου
Πέτρου
Ανδρέου
Αντωνίου
Ηλικία
18
20
19
21
20
5
Επίπεδα Αφαίρεσης

Πολλές όψεις (εξωτερικό
σχήμα), ένα ιδεατό (λογικό)
σχήμα και ένα φυσικό σχήμα.



Οι όψεις περιγράφουν πως
βλέπουν τα δεδομένα οι χρήστες.
Το ιδεατό σχήμα ορίζει τη λογική
δομή.
Το φυσικό σχήμα περιγράφει τα
αρχεία και τα ευρετήρια που
χρησιμοποιούνται.
Όψεις 1 Όψεις 2
Όψεις 3
Ιδεατό Σχήμα
Φυσικό Σχήμα
* Τα σχήματα ορίζονται με τη βοήθεια της DDL,
*Τα δεδομένα τροποποιούνται / ερωτούνται με τη βοήθεια της DML.
6
Παράδειγμα: Βάση Δεδομένων
Πανεπιστημίου

Ιδεατό Σχήμα:
φοιτητές(ΑΜ: string, Όνομα: string, Επώνυμο: string,
Ηλικία: integer )
 μαθήματα(ΚΜ: string, Ονομασία:string,
Κατηγορία:integer)
 εγγραφές(ΑΜ:string, ΚΜ:string, Βαθμός:integer)


Φυσικό Σχήμα:
Σχέσεις αποθηκευμένες σαν μη ταξινομημένα αρχεία.
 Ευρετήριο πάνω στη πρώτη στήλη του πίνακα
φοιτητές.


Εξωτερικό Σχήμα (Όψη):

εγγεγραμμένοι(ΚΜ:string, Πλήθος:integer)
7
Τα Αιτήματα στο DBMS

Ευκολία ανάκτησης δεδομένων από τη βάση.


Ποιο είναι το ονοματεπώνυμο του φοιτητή με Αριθμό
Μητρώου (ΑΜ) 12345;
Πόσοι φοιτητές έχουν εγγραφεί στο μάθημα με
κωδικό C1234;
Γλώσσα αιτημάτων.
 Τυπικές Γλώσσες αιτημάτων:



Σχεσιακός Λογισμός: βασίζεται στη μαθηματική
λογική.
Σχεσιακή Άλγεβρα: χρήση συνόλου τελεστών.
8
Επισκόπηση του Σχεδιασμού
ΒΔ

Ανάλυση Απαιτήσεων.


Σχεδιασμός Ιδεατής ΒΔ.


Κατανόηση-καταγραφή είδους δεδομένων,
επισήμανση λειτουργιών που συμβαίνουν συχνότερα
και επηρεάζουν την απόδοση του συστήματος,
καταγραφή απαιτήσεων χρηστών.
Χρήση ER μοντέλου.
Σχεδιασμός της Λογικής ΒΔ.

Επιλογή DBMS (έχουν επικρατήσει τα σχεσιακά),
δημιουργία λογικού σχήματος.
Τελειοποίηση του Σχήματος.
 Σχεδιασμός του Φυσικού Σχήματος.
 Σχεδιασμός της Πολιτικής Ασφάλειας

9
Επισκόπηση Σχεδιασμού
Ιδεατής ΒΔ

Σχεδιασμός Ιδεατής ΒΔ : (σ’ αυτή τη φάση
χρησιμοποιείται το Μοντέλο ΟντότηταςΣυσχέτισης ή ER Μοντέλο.)
Ποιες είναι οι οντότητες και οι συσχετίσεις;
 Ποιες πληροφορίες σχετικές με αυτές τις οντότητες και
τις συσχετίσεις πρέπει να αποθηκεύσουμε στη βάση
δεδομένων;
 Ποιοι είναι οι περιορισμοί ακεραιότητας και οι
επιχειρηματικοί κανόνες λειτουργίας που ισχύουν;
 Ένα `σχήμα’ βάσης δεδομένων στο ER Μοντέλο
μπορεί να παρασταθεί γραφικά (ER διαγράμματα).
 Ένα ER διάγραμμα μπορεί να απεικονιστεί σε ένα
σχεσιακό σχήμα.

10
Το ER Μοντέλο
ss
n
name
lot
Employee
s
Οντότητα: Αντικείμενο του πραγματικού κόσμου
διακριτό από τα άλλα αντικείμενα. Μια οντότητα
περιγράφεται στη ΒΔ χρησιμοποιώντας ένα σύνολο
γνωρισμάτων.
 Σύνολο Οντοτήτων: Συλλογή ομοειδών οντοτήτων.
Π.χ., όλοι οι εργαζόμενοι (Employees).

Όλες οι οντότητες σε ένα σύνολο οντοτήτων έχουν το ίδιο
σύνολο γνωρισμάτων. (Τουλάχιστον μέχρι να μιλήσουμε
για ISA ιεραρχίες!)
 Κάθε σύνολο οντοτήτων έχει ένα κλειδί (ελάχιστος αριθμό
γνωρισμάτων που προσδιορίζουν μονοσήμαντα μια
οντότητα).
 Κάθε γνώρισμα έχει ένα πεδίο ορισμού.

11
name
Το ER Μοντέλο (Συνέχεια)
ssn
Employees
since
name
ssn
dname
lot
Employees
did
Works_In
lot
budget
Departments
supervisor
subordinate
Reports_To
Συσχέτιση: Διασύνδεση μεταξύ δύο ή περισσοτέρων
οντοτήτων. Π.χ. η Μαρία εργάζεται στο τμήμα
καλλυντικών.
 Σύνολο Συσχετίσεων: Συλλογή ομοειδών
συσχετίσεων.



Το ίδιο σύνολο οντοτήτων μπορεί να συμμετέχει σε διαφορετικά σύνολα
συσχετίσεων ή σε διαφορετικούς ‘ρόλους’ στο ίδιο σύνολο.
Μια συσχέτιση μπορεί να εμπεριέχει και περιγραφικά γνωρίσματα. 12
Βασικά δομικά στοιχεία του ER
μοντέλου
Από οντότητα προς
συσχέτιση. Απεικονίζει
περιορισμό κλειδιού (δηλ.
κάθε οντότητα συμμετέχει το
πολύ μια φορά στη
συσχέτιση). Π.χ. κάθε τμήμα
έχει το πολύ ένα διευθυντή.
Υποδηλώνει περιορισμό
συμμετοχής (π.χ. κάθε
υπάλληλος εργάζεται σε ένα
τμήμα
Περιορισμός κλειδιού +
περιορισμός συμμετοχής (π.χ.
κάθε τμήμα έχει ακριβώς ένα
διευθυντή)
οντότητα
γνώρισμα
συσχέτι
ση
Συνδέει γνωρίσματα
με την αντίστοιχη
οντότητα και
οντότητες με
συσχετίσεις
ISA
Ιεραρχίες Οντοτήτων
13
Οντότητα ή Γνωρίσματα
Θα έπρεπε η address να είναι γνώρισμα της
Employees ή οντότητα (συνδεμένη με την
Employees μέσω μιας συσχέτισης);
 Εξαρτάται από τη χρήση που θα κάνουμε στη
διεύθυνση, και τη σημασιολογία των δεδομένων:

Αν έχουμε πολλές διευθύνσεις ανά εργαζόμενο, η
address πρέπει να είναι οντότητα (αφού οι τιμές των
γνωρισμάτων δεν μπορεί να είναι σύνολα).
 Όταν η δομή της διεύθυνσης (πόλη, οδός, κ.λ.π.) μας
ενδιαφέρει, π.χ., επιθυμούμε να ανακτούμε αυτούς
που εργάζονται σε συγκεκριμένη πόλη, η address
πρέπει να παρασταθεί σαν οντότητα (αφού οι τιμές
των γνωρισμάτων είναι ατομικές).

14



Οντότητα ή Γνωρίσματα
Η Works_In2 δεν
to
from
επιτρέπει σε εργαζόμενο
name
dname
ssn
lot
did
να εργάζεται σε ένα
budget
τμήμα για δύο ή
Departments
Works_In2
περισσότερες περιόδους. Employees
Παρόμοιο πρόβλημα με
καταχώρηση πολλαπλών
διευθύνσεων για έναν
εργαζόμενο: θέλουμε να
name
dname
καταχωρούμε πολλαπλές
ssn
lot
did
budget
τιμές περιγραφικού
γνωρίσματος για κάθε
Works_In3
Departments
Employees
στιγμιότυπο της
συσχέτισης.
Duration
to
from
Αντιμετώπιση: Εισαγωγή
του συνόλου οντοτήτων
15
Duration.
Οντότητα ή Συσχέτιση


Το πρώτο ER διάγραμμα
ικανοποιεί αν ο
since dbudget
διευθυντής
name
lot
did
αντιστοιχίζεται σε έναν ssn
προϋπολογισμό για κάθε
Employees
Manages2
τμήμα που διευθύνει.
Τι γίνεται αν ο
προϋπολογισμός που
καταχωρείται καλύπτει
name
ssn
lot
did
όλα τα τμήματα που
διευθύνει ο
Manages3
Employees
συγκεκριμένος
διευθυντής;
dname
budget
Departments
dname
budget
Departments
since
apptnum
Mgr_Appt
s
dbudget
16
Περίληψη του ER Μοντέλου

Ο σχεδιασμός ιδεατής ΒΔ ακολουθεί την ανάλυση
απαιτήσεων.


Παρέχει υψηλού επιπέδου περιγραφή των δεδομένων
που πρόκειται να αποθηκευτούν.
Το ER μοντέλο είναι δημοφιλές για σχεδιασμό
ιδεατής ΒΔ.

Χρησιμοποιεί εκφραστικά δομικά στοιχεία, κοντά στον
τρόπο που σκέφτονται οι άνθρωποι για τις εφαρμογές.
Βασικά δομικά στοιχεία: οντότητες, συσχετίσεις, και
γνωρίσματα (οντοτήτων και συσχετίσεων).
 Επιπρόσθετα δομικά στοιχεία: αδύναμες οντότητες,
ISA ιεραρχίες, και συνυπολογισμός.
 Σημείωση: Υπάρχουν πολλές παραλλαγές του ER.17

Περίληψη του ER Μοντέλου
(Συνέχεια)

Διάφορα είδη περιορισμών ακεραιότητας
μπορούν να εκφραστούν στο ER μοντέλο:
περιορισμοί κλειδιού, περιορισμοί συμμετοχής, και
περιορισμοί επικάλυψης/κάλυψης για ISA
ιεραρχίες. Κάποιοι περιορισμοί ξένου κλειδιού
μπορούν επίσης να περιγραφούν έμμεσα στον
ορισμό ενός συνόλου συσχετίσεων.
Κάποιοι περιορισμοί (όπως οι, συναρτησιακές
εξαρτήσεις) δεν μπορούν να εκφραστούν στο ER
μοντέλο.
 Οι περιορισμοί παίζουν σημαντικό ρόλο στον
προσδιορισμό της βέλτιστης σχεδίασης της βάσης
δεδομένων ενός οργανισμού.

18
Περίληψη του ER Μοντέλου
(Συνέχεια)

Η σχεδίαση του ER διαγράμματος είναι
υποκειμενική. Υπάρχουν συνήθως πολλοί τρόποι
να μοντελοποιηθεί ένα σενάριο! Η ανάλυση των
εναλλακτικών λύσεων είναι περίπλοκη κυρίως για
μεγάλους οργανισμούς. Οι συνήθεις επιλογές
περιλαμβάνουν:


Οντότητα ή χαρακτηριστικά, οντότητα ή συσχέτιση,
δυαδική ή
ν-αδική συσχέτιση, χρήση ή όχι ιεραρχιών ISA, χρήση ή
όχι συνυπολογισμού.
Εξασφάλιση καλής σχεδίασης της ΒΔ: το σχεσιακό
μοντέλο που θα προκύψει πρέπει να αναλυθεί και
να βελτιωθεί παραπέρα.
19
ER-διάγραμμα:
παράδειγμα
eponimo
onoma
Kodikos_d
imera
didaskon
ora
Kodikos_m
didaskei
mathima
vathmida
onoma
eksamino
ethousa
Kodikos_e
typos
onoma
20
Γιατί Μελετάμε το Σχεσιακό
Μοντέλο;

Είναι το πιο διαδεδομένο μοντέλο.


Σχεσιακά DBMS: DB2 της IBM, Oracle, Informix,
MS-ACCESS και MS-SQLServer της Microsoft,
Sybase, κ.λ.π.
Τελευταίος ανταγωνιστής: αντικειμενοστραφές
μοντέλο.
ObjectStore, Versant, Ontos
 Πρόσφατη σύνθεση των δύο μοντέλων: αντικείμενοσχεσιακό μοντέλο


Informix Universal Server, UniSQL, O2, Oracle, DB2
21
Σχεσιακές Βάσεις Δεδομένων:
Ορισμοί
Σχεσιακή ΒΔ: ένα σύνολο σχέσεων (πινάκων)
 Σχέση: αποτελείται από 2 συστατικά:

Στιγμιότυπο : ένας πίνακας, με γραμμές και στήλες.
#Γραμμές = πληθυσμός, #πεδία = βαθμός.
 Σχήμα : προσδιορίζει το όνομα της σχέσης, και τα
ονόματα και τους τύπους κάθε στήλης.



Π.χ. Students(sid: string, name: string, login: string,
age: integer, gpa: real).
Μια σχέση μπορεί να θεωρηθεί ως σύνολο
γραμμών ή πλειάδων (οι γραμμές είναι
διαφορετικές μεταξύ τους).
22
Παράδειγμα: Στιγμιότυπο της Σχέσης
Students
sid
nam e
lo g in
age
gpa
53666
Jo n es
jo n es@ cs
18
3 .4
53688
S m ith
sm ith @ eecs
18
3 .2
53650
S m ith
sm ith @ m a th
19
3 .8
v Πληθυσμός = 3, βαθμός = 5, διακριτές γραμμές
v Πρέπει όλες οι στήλες σε ένα στιγμιότυπο μιας
σχέσης να είναι διακριτές;
23
Σχεσιακές Γλώσσες Αιτημάτων
Ισχυρό πλεονέκτημα του σχεσιακού μοντέλου:
υποστηρίζει την υποβολή απλών αλλά ισχυρών
αιτημάτων πάνω στα δεδομένα.
 Τα αιτήματα μπορούν να διατυπωθούν
διαισθητικά και το DBMS είναι υπεύθυνο για τον
αποδοτικό υπολογισμό τους.

Σημείο κλειδί: η ακριβής σημασιολογία των σχεσιακών
αιτημάτων.
 Επιτρέπει στο βελτιστοποιητή την εκτενή αναδιάταξη
των λειτουργιών, εξασφαλίζοντας παράλληλα ότι η
απάντηση δεν αλλάζει.

24
Η Γλώσσα Αιτημάτων SQL
Αναπτύχθηκε από την IBM (system R) τη
δεκαετία του 1970.
 Απαίτηση για πρότυπα αφού χρησιμοποιείται
από πολλούς κατασκευαστές λογισμικού.
 Πρότυπα:

SQL-86
 SQL-89 (μικρές βελτιώσεις)
 SQL-92 (σημαντικές βελτιώσεις, το τρέχον
πρότυπο)
 SQL-99 (ουσιαστικές επεκτάσεις)

25
Η Γλώσσα Αιτημάτων SQL
 Για
να βρούμε όλους τους φοιτητές
Αποτέλεσμα
ηλικίας 18 ετών γράφουμε:
SELECT *
FROM Students S
WHERE S.age=18
s id
nam e
lo g in
age gpa
53666
Jo n e s
jo n e s @ c s
18
3 .4
53688
S m ith
s m ith @ e e
18
3 .2
•Για να πάρουμε μόνο τα ονόματα και τα logins,
αντικαθιστούμε την πρώτη γραμμή με:
SELECT S.name, S.login
26
Δημιουργία Σχέσεων με την
SQL
Δημιουργεί τη σχέση
Students. Παρατηρήστε ότι
προσδιορίζεται και ο τύπος
(domain) κάθε πεδίου, και
επιβάλλεται από το DBMS
κάθε φορά που προστίθενται
ή τροποποιούνται πλειάδες.
 Άλλο παράδειγμα: ο πίνακας
Enrolled διατηρεί
πληροφορίες σχετικά με τα
μαθήματα που παίρνουν οι
φοιτητές.

CREATE TABLE Students
(sid CHAR(20),
name CHAR(20),
login CHAR(10),
age INTEGER,
gpa REAL)
CREATE TABLE Enrolled
(sid CHAR(20),
cid CHAR(20),
grade CHAR(2))
27
Ακύρωση και Μεταβολή
Σχέσεων
DROP TABLE Students

Ακυρώνει τη σχέση Students. Η πληροφορία
του σχήματος και οι πλειάδες διαγράφονται.
ALTER TABLE Students
ADD COLUMN firstYear integer
v
Το σχήμα της σχέσης Students μεταβάλλεται και
προστίθεται ένα νέο πεδίο. Κάθε πλειάδα στο
τρέχον στιγμιότυπο επεκτείνεται με τη τιμή null
στο νέο πεδίο.
28
Εισαγωγή και Διαγραφή
Πλειάδων

Μπορούμε να εισάγουμε μια πλειάδα ως εξής:
INSERT INTO Students (sid, name, login, age, gpa)
VALUES (53688, ‘Smith’, ‘smith@ee’, 18, 3.2)
v
Μπορούμε να διαγράψουμε όλες τις πλειάδες που
ικανοποιούν μια συνθήκη (π.χ., name = ‘Smith’):
DELETE
FROM Students S
WHERE S.name = ‘Smith’
* Παρέχονται επίσης ισχυρές παραλλαγές αυτών των εντολών.
Περισσότερα αργότερα!
29
Στιγμιότυπα του
Παραδείγματος


R1 sid
Στα παραδείγματα
S1 sid
μας θα
χρησιμοποιήσουμε
22
τα παρόντα
στιγμιότυπα των
31
σχέσεων Sailors και
58
Reserves.
Ποια θα ήταν η
S2 sid
διαφορά στη
28
σημασιολογία αν το
κλειδί της σχέσης
31
Reserves
44
περιελάμβανε μόνο
58
τα πεδία sid και bid;
22
58
b id
d ay
101
103
1 0 /1 0 /9 6
1 1 /1 2 /9 6
sn am e
ratin g
ag e
d u stin
7
4 5 .0
lu b b er
8
5 5 .5
ru sty
10
3 5 .0
ratin g
9
8
5
10
ag e
3 5 .0
5 5 .5
3 5 .0
3 5 .0
sn am e
yuppy
lu b b er
guppy
ru sty
30
Βασικό SQL Αίτημα
SELECT [DISTINCT] λίστα-επιλογής
FROM
λίστα-πινάκων
WHERE
καταλληλότητα




λίστα-πινάκων: λίστα ονομάτων πινάκων (καθένα από τα οποία
μπορεί να ακολουθείται από μια μεταβλητή διαστήματος).
λίστα-επιλογής: λίστα από ονόματα στηλών (ή παραστάσεις
που περιέχουν ονόματα στηλών) πινάκων που
περιλαμβάνονται στη λίστα-πινάκων.
καταλληλότητα: Συνθήκες της μορφής παράσταση op
παράσταση όπου το op μπορεί να είναι ένας από τους <, >, =,
<=, >=, <>.
παράσταση μπορεί να αποτελέσει το όνομα μιας στήλης, μια
σταθερά, μια αριθμητική παράσταση ή μια συμβολοσειρά. Οι
παραστάσεις συνδυάζονται με τους λογικούς τελεστές AND, OR
και NOT.
Η χρήση του όρου DISTINCT είναι προαιρετική και δείχνει ότι η
απάντηση δε θα πρέπει να περιέχει επαναλήψεις. Χωρίς το
DISTINCT οι πολλαπλές εμφανίσεις δεν απαλείφονται.
31
Ιδεατή Στρατηγική
Υπολογισμού
 Η σημασιολογία ενός αιτήματος SQL ορίζεται με βάση
την ακόλουθη ιδεατή στρατηγική υπολογισμού:
Υπολογισμός του καρτεσιανού γινομένου των πινάκων
στη λίστα-πινάκων.
 Απάλειψη των πλειάδων που προκύπτουν οι οποίες δεν
ικανοποιούν την καταλληλότητα.
 Διαγραφή στηλών που δεν βρίσκονται στην λίσταεπιλογής.
 Αν το αίτημα περιλαμβάνει το DISTINCT, απαλείφονται οι
πολλαπλές εμφανίσεις της ίδιας πλειάδας.


Η στρατηγική αυτή είναι πιθανά η λιγότερο αποδοτική
για τον υπολογισμό του αιτήματος! Ένας
βελτιστοποιητής θα έβρισκε πιο αποδοτικές
στρατηγικές για να υπολογίσει τις ίδιες απαντήσεις. 32
Παράδειγμα Ιδεατού
Υπολογισμού
SELECT S.sname
FROM Sailors S, Reserves R
WHERE S.sid=R.sid AND R.bid=103
(sid) snam e rating age
(sid) bid
day
22
dustin
7
45.0
22
101
10/10/96
22
dustin
7
45.0
58
103
11/12/96
31
lubber
8
55.5
22
101
10/10/96
31
lubber
8
55.5
58
103
11/12/96
58
rusty
10
35.0
22
101
10/10/96
58
rusty
10
35.0
58
103
11/12/96
33
Παραστάσεις και
Συμβολοσειρές
SELECT S.age, age1=S.age-5, 2*S.age AS age2
FROM Sailors S
WHERE S.sname LIKE ‘B_%B’
Δείχνει τη χρήση των αριθμητικών παραστάσεων και του
ταιριάσματος συμβολοσειρών: Να βρείτε τριάδες (ηλικία
ναυτικού και δύο πεδία που ορίζονται μέσω παραστάσεων) για
τους ναυτικούς που το όνομα τους αρχίζει και τελειώνει με B
και αποτελείται από τουλάχιστον τρεις χαρακτήρες.
 AS και = είναι δύο τρόποι να δώσουμε ονόματα στα πεδία του
αποτελέσματος.
 LIKE χρησιμοποιείται για το ταίριασμα συμβολοσειρών. Το `_’
αντιπροσωπεύει έναν χαρακτήρα ενώ το `%’ παριστάνει 0 ή
περισσότερους χαρακτήρες. Κάποια συστήματα
χρησιμοποιούν το `*’ αντί του `%’ και το `?’ αντί του `_’.

34
Περισσότερα Σχετικά με Τελεστές
Σύγκρισης Συνόλων



Έχουμε ήδη συναντήσει τους IN, EXISTS και UNIQUE.
Μπορούμε ακόμη να χρησιμοποιήσουμε τους NOT IN, NOT
EXISTS και NOT UNIQUE.
Υπάρχουν επίσης τα: op ANY, op ALL όπου op είναι ένα
από τα <, >, =, <=, >=, <>.
Να βρεθούν οι ναυτικοί με τιμή διατίμησης (rating)
μεγαλύτερη από εκείνη ενός ναυτικού με το όνομα Horatio:
SELECT *
FROM Sailors S
WHERE S.rating > ANY (SELECT S2.rating
FROM Sailors S2
WHERE S2.sname=‘Horatio’)
35
Τελεστές Συνάθροισης
SELECT COUNT (*)
FROM Sailors S
SELECT AVG (S.age)
FROM Sailors S
WHERE S.rating=10
COUNT (*)
COUNT ( [DISTINCT] A)
SUM ( [DISTINCT] A)
AVG ( [DISTINCT] A)
MAX (A)
MIN (A)
SELECT AVG ( DISTINCT S.age
SELECT COUNT (DISTINCT S.rating) FROM Sailors S
WHERE S.rating=10
FROM Sailors S
WHERE S.sname=‘Bob’
36
Να βρεθεί το όνομα και η ηλικία του
πλέον ηλικιωμένου ναυτικού
SELECT S.sname, S.age
FROM Sailors S
WHERE S.age =
(SELECT MAX (S2.age)
FROM Sailors S2)
SELECT S.sname, S.age
FROM Sailors S
WHERE (SELECT MAX (S2.age)
FROM Sailors S2)
= S.age
37
Να βρεθεί η ηλικία του νεώτερου ναυτικού
για κάθε τιμή διατίμησης (rating).

Με τη χρήση της
συνιστώσας
GROUP BY
διατυπώνεται ως
εξής:
SELECT S.rating, MIN (S.age)
FROM Sailors S
GROUP BY S.rating
sid
22
31
71
64
29
58
rating
1
7
8
10
sname rating age
dustin
7
45.0
lubber
8
55.5
zorba
10
16.0
horatio
7
35.0
brutus
1
33.0
rusty
10
35.0
33.0
35.0
55.5
35.0
Ο πίνακας της απάντησης
38
Να βρεθεί η ηλικία του νεότερου ενήλικα
ναυτικού (ηλικία >= 18), για κάθε τιμή
διατίμησης με τουλάχιστον 2 ενήλικες
ναυτικούς
sid sn am e
ratin g ag e
SELECT S.rating, MIN (S.age)
FROM Sailors S
WHERE S.age >= 18
GROUP BY S.rating
HAVING COUNT (*) > 1


22
31
71
64
29
58
d u stin
lu b b er
zo rb a
h o ratio
b ru tu s
ru sty
Μόνο τα S.rating και S.age
αναφέρονται στις συνιστώσες
rating age
SELECT, GROUP BY και HAVING.
1
33.0
Τα άλλα παιδία είναι `μη
7
45.0
αναγκαία’.
7
35.0
Η 2η στήλη του
8
55.5
αποτελέσματος είναι ανώνυμη
10 35.0
(Μπορεί να πάρει όνομα με τη
7
8
10
7
1
10
4 5 .0
5 5 .5
1 6 .0
3 5 .0
3 3 .0
3 5 .0
rating
7
35.0
Ο πίνακας της απάντησης
39
Πληροφοριακό Σύστημα

Ολοκληρωμένο σύστημα που περιλαμβάνει






Αρχές, διαδικασίες, οργανωτική δομή
Προσωπικό
δεδομένα
Υλικό, εγκαταστάσεις, δίκτυα επικοινωνιών και
λογισμικό
Που αλληλεπιδρούν μεταξύ τους και με το
περιβάλλον με σκοπό την παραγωγή και
διαχείριση πληροφορίας για την υποστήριξη
των λειτουργιών ενός οργανισμού.
40
Στοιχεία Πληροφοριακού
Συστήματος
Άνθρωποι
Δεδομένα
Λογισμικό
Υλικό
Διαδικασίες
41
Ο οργανισμός ως σύστημα
εντολές,
παραγγελίες
Υποσύστημα
Παραγωγής
Υποσύστημα
Διοίκησης
οδηγίες
πληροφορίες
Στόχοι, επιδιώξεις
λειτουργίας
Πληροφοριακό
υποσύστημα
στοιχεία απόδοσης και
λειτουργίας
42
Ο ρόλος του Π.Σ.

Φυσικό υποσύστημα



Υποσύστημα διοίκησης



Input: πρώτη ύλη, παραγγελίες, οδηγίες
Output: προϊόν
Input: πληροφορίες
Output: εντολές
Πληροφοριακό υποσύστημα: μεσάζων



Μετασχηματισμός δεδομένων από φυσικό
υποσύστημα σε πληροφορίες για τη διοίκηση
Διαβιβάζει τις οδηγίες της διοίκησης στο φυσικό
υποσύστημα
Ενδιάμεσο με το περιβάλλον
43
Συμπεράσματα

Το πληροφοριακό σύστημα




Είναι ο συνεκτικός κρίκος των υποσυστημάτων
ενός οργανισμού (απαίτηση για ευελιξία)
Λειτουργεί όπως το κυκλοφοριακό σύστημα σε ένα
οργανισμό
Στοχεύει στη βέλτιστη λειτουργία του όλου
συστήματος
Συνεισφέρει στη δημιουργία αλλαγών ώστε ο
οργανισμός να προσαρμόζεται στο περιβάλλον
του (απαίτηση για προσαρμοστικότητα)
44
Κύκλος ζωής Π.Σ. (1/3)
Φάση
Ενέργειες
Παρατηρήσεις
Διερευνητική
μελέτη
Ορισμός
Επιλογή λύσης
για μελέτη
Μελέτη
σκοπιμότητας
Εφικτότητα
Ανάλυση
απαιτήσεων
Λειτουργίες
συστήματος και
προβλήματος
Παρουσίαση εναλλακτικών
λύσεων
υλοποίησης λύσης
Περιγραφή
Εναλλακτικοί τρόποι υλοποίησης λύσης που θα
υλοποιηθεί
Ανάλυση κόστους/οφέλους
συστήματος
Περιγραφή ΤΙ θα
Ειδικές απαιτήσεις
κάνει το σύστημα
Κριτήρια επικύρωσης/αποδοχής
προϊόντων
45
Κύκλος ζωής Π.Σ. (2/3)
Φάση
Ενέργειες
Παρατηρήσεις
Σχεδιασμός
συστήματος
Δομή
συστήματος
Εξοπλισμός (υλικό/λογισμικό)
Απαιτούμενες Διαδικασίες
Προδιαγραφές δοκιμών ελέγχου
1. ΠΩΣ
Υλοποίηση
Εφικτότητα
Τεκμηρίωση
υλικού/λογισμικού
και διαδικασιών
υλοποίησης λύσης
Εναλλακτικοί τρόποι
υλοποίησης
Ανάλυση κόστους/οφέλους
θα
λειτουργεί το
σύστημα
(αναλυτικά)
2. Τεχνικές
προδιαγραφές
υλικού/λογισμικού
46
Κύκλος ζωής Π.Σ. (3/3)
Φάση
Ενέργειες
Παρατηρήσεις
Εγκατάσταση
Έλεγχος
1. Εγχειρίδια
Λειτουργία Συντήρηση
Ενέργειες για ομαλή λειτουργία
και συνεχή βελτίωση
(προσθήκες, αλλαγές,
βελτιώσεις)
λειτουργίας
συστήματος
Μετάπτωση από το παλαιό στο
νέο
οδηγιών
2. Παραλαβή
συστήματος
47
Ψηφιακές Βιβλιοθήκες
48
Παραδείγματα
49
50
biology
Canadian Biochemical Society
51
52
53
54
Παράδειγμα Ψηφιακής
Βιβλιοθήκης με Μουσική
PATRON – μια
Ψηφιακή
Βιβλιοθήκη
πολυμέσων για
μουσική …
http://www.lib.surrey.ac.uk/Patro
n2/
55
Εξαγωγή Χωρικής Πληροφορίας
Εξαγωγή ονομάτων οντοτήτων για
αναγνώριση, κωδικοποίηση και ευρετηρίαση
όλων των αναφερόμενων τοποθεσιών σε
κάθε άρθρο
 Αυτόματη δημιουργία χαρτών που
συνοψίζουν και ακολουθούν την εξέλιξη κάθε
άρθρου
 Κάνει δυνατή την αναζήτηση σε άρθρα που
αφορούν την περιοχή που οριοθετεί ο
χρήστης

56
Τι είναι «Βιβλιοθήκη» / «Αρχείο»

Τι είναι «Βιβλιοθήκη» ή «Αρχείο» ή …


Χώρος συγκέντρωσης, φύλαξης, διατήρησης,
περιφρούρησης, οργάνωσης και διάθεσης της
πληροφορίας
Τι είναι «Ψηφιακή Βιβλιοθήκη» ή …




Συγκέντρωση (ή εξασφάλιση πρόσβασης)
πληροφορίας (περιεχόμενο)
Σε ψηφιακά μέσα
Οργανωμένο για εύκολη πρόσβαση
Δεν είναι η «Αυτοματοποιημένη βιβλιοθήκη»
59
Ορισμοί Ψηφιακής Βιβλιοθήκης

Χαλαρός ορισμός:


Οποιαδήποτε online συλλογή τεκμηρίων
Αυστηρός ορισμός:




Πλήρη κείμενα (Full text) / υψηλή ποιότητα μέσων
Πλούσια μορφοποίηση τεκμηρίων
Εξελιγμένες δυνατότητες αναζήτησης
Αληθινή πλοήγηση υπερκειμένου
60
Η Έννοια της «Ψηφιακής
Βιβλιοθήκης»
«...η έννοια της "ψηφιακής βιβλιοθήκης" δεν
ισοδυναμεί απλά με μια ψηφιοποιημένη συλλογή
με εργαλεία διαχείρισης πληροφορίας. Αφορά
μάλλον ένα περιβάλλον το οποίο ενώνει
συλλογές, υπηρεσίες και ανθρώπους για την
υποστήριξη ολόκληρου του κύκλου ζωής της
δημιουργίας, διάχυσης, χρήσης και συντήρησης
δεδομένων, πληροφορίας και γνώσης.»
Santa Fe planning workshop on distributed knowledge work
environments, Digital Library Initiative (DLI), March 1997
61
Τι είναι οι «Ψηφιακές
Βιβλιοθήκες»

Είναι Βάσεις Δεδομένων που






Έχουν ψηφιακά αντικείμενα
Είναι περισσότερο κατανεμημένες
Έχουν περισσότερη ανομοιογένεια
Έχουν λιγότερες δυνατότητες αναζήτησης
Έχουν λιγότερες ενημερώσεις
Είναι μηχανές αναζήτησης που




Έχουν διαδικασία πρόσκτησης / καταχώρησης
Είναι λιγότερο κατανεμημένες
Έχουν περισσότερα μεταδεδομένα
Δεν περιέχουν παραπλανητικά μεταδεδομένα
62
Ανάμεσα σε Ιστό και ΒΔ
ΒΔ
Γνώση
Χρηστών &
Διαδικασιών
Ψηφιακές
Βιβλιοθήκες
Ιστός
Δόμηση δεδομένων
63
Ο Ιστός δεν είναι Ψηφιακή
Βιβλιοθήκη
Η πληροφορία στον Ιστό
 Δεν είναι (αρκετά)
δομημένη
 Έχει απλοϊκή διεπαφή
(μηχανές αναζήτησης)
 Είναι δύσκολο να
ανακτηθεί (πλήρως)
Αλλά συχνά μια Ψηφιακή
 Είναι παροδική
Βιβλιοθήκη είναι
 Είναι συχνά
προσπελάσιμη από τον
Ιστό
παραπλανητική
64
Χαρακτηριστικά Ψηφιακής
Βιβλιοθήκης
Ηλεκτρονικά – Ψηφιακά μορφότυπα
 Δικτυωμένη (διαμοιραζόμενη πληροφορία)
 Προφανής οργάνωση (βιβλιοθήκης, όχι
σωρού)



Πολιτική ανάπτυξης συλλογών
Συστηματική δόμηση και χαρακτηρισμός
δεδομένων
Χρήση πολιτικών (και «fair policy»)
 Μονιμότητα
 Καθοδήγηση και αναφορές

65
Ψηφιακό Αντικείμενο

Κάθε είδους ψηφιακή πληροφορία






Εικόνες
Ήχο – μουσική
Βίντεο
Προγράμματα υπολογιστών
Πολυμέσα
Αποθηκευμένο και μεταφερόμενο ψηφιακό
περιεχόμενο


Απλά αρχεία
Εξελιγμένα – περίπλοκα αντικείμενα
Πως θα είναι τα «ψηφιακά άπαντα του
Καβάφη»;
66
Έννοιες μιας Ψηφιακής
Βιβλιοθήκης





Τα συστατικά μιας ψηφιακής βιβλιοθήκης ονομάζονται
"ψηφιακά αντικείμενα" (digital objects)
Αυτά αποθηκεύονται σε "αποθετήρια δεδομένων"
(repositories)
Αναγνωρίζονται από τα "προσδιοριστικά" (handles)
Οι πληροφορίες που είναι αποθηκευμένες σε ένα
ψηφιακό αντικείμενο ονομάζεται "περιεχόμενο"
(content)
Αυτό διαχωρίζεται σε "δεδομένα" (data) και
πληροφορίες για αυτά, τις "ιδιότητες" (properties) ή
μεταδεδομένα
67
Βασικές Συνιστώσες Δομής
Τυπικής Ψηφιακής Βιβλιοθήκης
Διεπαφή με τον χρήστη (User interfaces)
 Αποθετήριο δεδομένων (Repository)
 Σύστημα προσδιορισμού (ή ονοματολογίας,
Handle system)
 Σύστημα αναζήτησης (Search system)

68
Ψηφιακή Βιβλιοθήκη – Σχηματικά
Χρήστες
Βιβλιοθήκης
Υπηρεσίες Ψηφιακών
Βιβλιοθηκών
Παροχείς
Υπηρεσιών
Ψηφιακών
Βιβλιοθηκών
Ψηφιακά αντικείμενα
εκτός Αποθετηρίων
Αποθετήριο 1
Ψηφιακά
αντικείμενα στα
Αποθετήριο
Αποθετήριο 2
Αποθετήριο N
Εκδότες
69
Μεταδεδομένα
70
Αναγκαιότητα Μεταδεδομένων

Ο Παγκόσμιος Ιστός είναι
περιβάλλον

αχανές

ετερογενές

κατανεμημένο

δυναμικά μεταβαλλόμενο
Πώς ενοποιείται η πρόσβαση σε πηγές
ψηφιακής βιβλιοθήκης;
 Τα μεταδεδομένα είναι κλειδί για τη λύση:
είναι η ταυτότητα του Ψηφιακού Αντικειμένου

71
Μεταδεδομένα
Είναι «Δομημένα δεδομένα για άλλα
δεδομένα»
 Δομημένα δεδομένα για πόρους, που μπορεί
να υποστηρίξουν ένα μεγάλο εύρος
λειτουργιών



Καταλογογράφηση, Απογραφή / Μητρώο …
Τα μεταδεδομένα καθιστούν δυνατή


Την ταξινόμηση του υλικού
Την οργάνωση και συσχέτιση αρχείων – πιθανά
σύνθετων, μη δομημένων και ενδεχόμενα
τεραστίου μεγέθους
72
Dublin Core simple
15 προαιρετικά και επαναλαμβανόμενα πεδία
 Σε 3 κατηγορίες:




Περιεχόμενο
Πνευματική Ιδιοκτησία
Στιγμιότυπο
Τα μεταδεδομένα συγκρίνονται άμεσα
 http://dublincore.org/documents/dces
 http://www.ionio.gr/dc/dublincore10.html
 Συστήνουν ανταλλαγή με RDF/XML

73
Dublin Core: Τα 15 Στοιχεία
Τίτλος / Title
 Θέμα / Subject
 Περιγραφή /
Description
 Πηγή / Source
 Γλώσσα / Language
 Σχέση / Relation
 Κάλυψη / Coverage









Δημιουργός / Creator
Εκδότης / Publisher
Συντελεστής / Contributor
Δικαιώματα / Rights
Ημερομηνία / Date
Τύπος / Type
Μορφότυπο / Format
Κωδικός / Identifier
74
Τα Στοιχεία Μεταδεδομένων του
Dublin Core

Διεπιστημονική ομοφωνία σε απλά σύνολα στοιχείων
για ανακάλυψη πόρων




Δεν προορίζεται για περιγραφή περίπλοκων πόρων



Η αρχική ιδέα των «απλών αντικειμένων – σαν τεκμήρια»
Απλότητα στη σημασιολογία, ευκολία χρήσης
Παρέχει βασική «σημασιολογική διαλειτουργικότητα»



15 στοιχεία (πεδία μεταδεδομένων)
όλα προαιρετικά
όλα επαναλαμβανόμενα
Μεταξύ επιστημονικών περιοχών, μεταξύ γλωσσών
Δεν παρέχει λεπτομερείς κανόνες καταλογογράφησης
Επιτρέπει επεκτασιμότητα – σε άλλες κατηγορίες
πόρων
75
Χρήση του Dublin Core
Είναι βασικός πυρήνας στοιχείων
 Δεν είναι υποκατάστατο σε πλουσιότερα
περιγραφικά πρότυπα
 Παρέχει 15 «παράθυρα» από πλουσιότερη
περιγραφή πόρων



Φανερώνει πλούσιες περιγραφές σε απλή μορφή
Σημασιολογικά σταυροδρόμια, αντιστοιχίσεις σε
υπάρχοντα δεδομένα
76
Περιγραφή σε Dublin Core
Πλούσια περιγραφή
Περιγραφή σε «DC Simple»
title
creator
date
desc
rights
Το Dublin Core είναι περισσότερο αντικείμενο
εξαγωγής – παρά δημιουργίας
77
Ανάκτηση Πληροφορίας
 ΠΩΣ εκφράζουμε ανάγκες πληροφόρησης
(queries)
 ΠΩΣ εντοπίζουμε και ανακτούμε
πληροφορίες που ικανοποιούν τις ανάγκες
 ΠΩΣ αξιολογούμε τα αποτελέσματα της
αναζήτησης
78
Information Retrieval System
I
n
p
u
t
Documents
queries
Document
classification
Output
Processor
Search strategy
feedback
79
Information retrieval process
ranked docs
User Interface
user feedback
user need
Text Operations (tokenization,
stopwords, stemming, etc.)
Query operations
Indexing
text
DB manager
query
Searching
Retrieved docs
Ranking
Index
Docs
database
80
Ανακεφαλαίωση
IR = < D, Q, F, R(qi, dj)>
D: documents
Q: queries
F: πλαίσιο αναπαράστασης κειμένων
R: συνάφεια query qi με κείμενο dj αριθμός  0-1
81