Βάσεις Δεδομένων II 2000-2001 Ευαγγελία Πιτουρά 1 Ανικειμενοστραφής & Αντικειμενο-Σχεσιακές Βάσεις Δεδομένων.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Advertisements

Βασικές Συναρτήσεις Πινάκων
Βάσεις Δεδομένων II Περίληψη: Αντικειμενοστρεφείς Βάσεις Δεδομένων Πάνος Βασιλειάδης Νοέμβρης 2002
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας.
MySQL + Γλώσσα Προγραμματισμού
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασφάλεια και Δικαιοδοσία σε Βάσεις Δεδομένων.
Εντολες Επιλογης (Selection)
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Δρ. Παναγιώτης Συμεωνίδης
Ορισμοί Σχεσιακού Μοντέλου και (απλές)Τροποποιήσεις Σχέσεων στην SQL
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
1 4 Square Questions B A D C Κοιτάξτε προσεκτικά το διάγραμμα. Θα σας κάνω 4 ερωτήσεις γι’ αυτό το τετράγωνο. ΕΤΟΙΜΟΙ;
Νευρωνικά Δίκτυα Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων
Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
Αρχιτεκτονική Συστημάτων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
1 Ανικειμενοστραφής & Αντικειμενο-Σχεσιακές Βάσεις Δεδομένων.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
1919 Αντικειμενο-σχεσιακά ΣΔΒΔ  Εμφωλιασμένες Σχέσεις  Το Πρότυπο SQL:1999 (SQL3)  Σύγκριση Συστημάτων.
1 Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Επεξεργασία και βελτιστοποίηση ερωτήσεων Πάνος Βασιλειάδης Σεπτέμβρης.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Επεξεργασία και βελτιστοποίηση ερωτήσεων Πάνος Βασιλειάδης Σεπτέμβρης 2005.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Τα προϊόντα της EmGoldEx Τα προϊόντα της EmGoldEx Ράβδοι χρυσού 24k καθαρότητας 999,9 απο 1 έως 100 γραμμάρια Όλες οι ράβδοι χρυσού είναι πιστοποιημένες.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Εργαστήριο ΙΙI Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL.
MΑΘ 106/3122Ξενοφών Ζαμπούλης ΜΑΘ 106/3122 Γλώσσα Προγραμματισμού Δείκτες (Pointers)
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
3 Αρχιτεκτονική Συστημάτων  Κατηγορίες χρηστών ΣΔΒΔ  Αρχιτεκτονική ANSI/SPARC  Γλώσσες ερωτημάτων  Μοντέλα δεδομένων  Λειτουργίες ΣΔΒΔ.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Αντικειμενοστραφής Προγραμματισμός & JAVA
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Η Γλώσσα SQL.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Αρχιτεκτονική.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Βάσεις Δεδομένων Ι 4η διάλεξη
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Αρχιτεκτονική Συστημάτων
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Κλάσεις και αντικείμενα
Αρχιτεκτονική Συστημάτων
DREMEL: Interactive Analysis of Web-Scale Datasets
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
Αρχιτεκτονική Συστημάτων
Αντικειμενο-σχεσιακά ΣΔΒΔ
Σχεσιακεσ βασεισ δεδομενων
Ερωτήματα Επιλογής σε ACCESS
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ανικειμενοστραφής & Αντικειμενο-Σχεσιακές Βάσεις Δεδομένων

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Εισαγωγή zΣχεσιακό Μοντέλο (δεκαετία του 70): απλό yκατάλληλο για διαχειριστικά δεδομένα yόχι το ίδιο καλό για άλλα είδη δεδομένων (π.χ., πολυμέσα, δίκτυα, CAD) zΑντικειμενοστραφή Μοντέλα (δεκαετία του 80): περίπλοκα αλλά μερικές σημαντικές ιδέες yπολύπλοκοι τύποι δεδομένων yταυτότητα αντικειμένου (object identity)/ αναφορές (references) yADTs (encapsulation, behavior goes with data) yκληρονομικότητα (inheritance)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Εισαγωγή zΙδέα: Κατασκευή Συστημάτων Διαχείρισης Βάσεων Δεδομένων βασισμένα στο αντικειμενοστραφές μοντέλο zΔύο τάσεις: yαντικειμενο-σχεσιακά μοντέλα (επέκταση σχεσιακού μοντέλου) yαντικειμενο-στραφή μοντέλα (επέκταση αντικειμενο- στραφών γλωσσών προγραμματισμού)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 4 Ένα Παράδειγμα zDinkey Entertainment Corp. yπροϊόντα: cartoon videos, stills, sounds yΟι ταινίες του Herbert προβάλλονται διεθνώς yΗ Dinkey δίνει άδεια για τα videos, stills, sounds του Herbert για διάφορους σκοπούς xaction figures xvideo games xproduct endorsements Herbert the Worm

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 5 Ένα Παράδειγμα yΜια βάση δεδομένων που θα διαχειρίζεται τα προϊόντα της εταιρίας καθώς και τις εργασίες της

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 6 Παράδειγμα: Γιατί όχι ένα Σχεσιακό ΣΔΒΔ zΔυαδικά Μεγάλα Αντικείμενα (Binary Large Objects BLOBs) μπορούν να αποθηκευτούν και να προσπελαστούν zΚώδικας χρήστη για την επεξεργασία των BLOBs create table frames (frameno integer, image BLOB, category integer)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Παράδειγμα: Γιατί όχι ένα Σχεσιακό ΣΔΒΔ zΑπόδοση yΠαράδειγμα: ο πελάτης (Μηχανή A) ζητά μικρές εικόνες (“thumbnail”) για όλα τα frames στο ΣΔΒΔ (Μηχανή B) zΜη αποδοτικό, η διατύπωση ερωτήσεων είναι πολύ δύσκολη create table frames (frameno integer, image BLOB, category integer)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Αντικειμενο-Σχεσιακά ΣΔΒΔ zΙδέα: προσθήκη αντικειμενοστραφών χαρακτηριστικών στο σύστημα τύπων της SQL, δηλαδή SQL με προσθήκη: yστήλες (γνωρίσματα) ως νέοι τύποι δεδομένων (ADTs) yμέθοδοι ορισμένοι από τους χρήστες για τους τύπους δεδομένων yοι στήλες μπορεί να ανήκουν σε σύνθετους τύπους yτύποι αναφοράς (reference and “deref”)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Αντικειμενο-Σχεσιακά ΣΔΒΔ yΚληρονομικότητα yη παλιά SQL επίσης αποδεκτή zΤα σχεσιακά προϊόντα επεκτείνονται προς αυτήν την κατεύθυνση (SQL-99).

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 10 Αντικειμενο-Σχεσιακά ΣΔΒΔ create table frames (frameno integer, image jpeg, category integer); create table categories (cid integer, name text, lease_price float, comments text); create type theater_t row (tno integer, name text, address text, phone integer) create table theaters theater_t; create table nowshowing (film integer, theater ref(theater_t), start date, end date); create table films (filmno integer, title text, stars setof(text), director text, budget float); create table countries (name text, boundary polygon, population integer, language text) complex types reference types ADTs

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Αντικειμενο-Σχεσιακά ΣΔΒΔ zΧρήση κατασκευαστών τύπων (type constructors) για τη δημιουργία νέων τύπων ysetof(foo) yarrayof(foo) ylistof(foo) yrow (n1 t1,..., nk tk) zμπορεί να είναι εμφωλευμένοι: ysetof(arrayof(int)) Σύνθετοι (complex) τύποι

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 Αντικειμενο-Σχεσιακά ΣΔΒΔ zΟι built-in τύποι στην SQL (int, float, text, etc.) είναι περιορισμένοι yαλλά έχουν επίσης απλές μεθόδους (math, LIKE, etc.) zΑντικειμενο-σχεσιακά ΣΔΒΔ: επιτρέπουν τον ορισμό νέων τύπων και μεθόδων ycreate type jpeg (internallength = variable, y input = jpeg_in, output = jpeg_out); ADTs: Τύποι ορισμένοι από τους χρήστες

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Αντικειμενο-Σχεσιακά ΣΔΒΔ zΔεν αποτελούνται από built-in τύπους (όπως οι σύνθετοι τύποι) yνέοι απλοί (atomic ) τύποι zΧρειάζονται βασικές μεθόδους εισόδου & εξόδου yμετατροπή text στην εσωτερική αναπαράσταση και το ανάποδο yθα δούμε πως ορίζονται σε λίγο ADTs: Τύποι ορισμένοι από τους χρήστες

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Αντικειμενο-Σχεσιακά ΣΔΒΔ zΣτα περισσότερα αντικειμενο-σχεσιακά ΣΔΒΔ κάθε αντικείμενο έχει ένα OID zΜπορούμε να “δείχνουμε” σε ένα αντικείμενο -- τύποι αναφοράς (reference types)! yref(theater_t) Reference Types & Deref

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 15 Αντικειμενο-Σχεσιακά ΣΔΒΔ zΥπάρχει διαφορά ανάμεσα στους σύνθετους τύπους και στην αναφορά ymytheater row(tno integer, name text, address text, phone integer) ytheater ref(theater_t) zΤο αποτέλεσμα τους φαίνεται το ίδιο, αλλά διαφέρουν yδιαγραφή, ενημέρωση, μοίρασμα yδιαφορά αντίστοιχη με αυτήν ανάμεσα στο “by value” και “by reference” στις γλώσσες προγραμματισμού Reference Types & Deref

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 16 Αντικειμενο-Σχεσιακά ΣΔΒΔ create table frames (frameno integer, image jpeg, category integer); -- images from films create table categories (cid integer, name text, lease_price float, comments text); -- pricing create type theater_t tuple(tno integer, name text, address text, phone integer) create table theaters theater_t; -- theaters create table films (filmno integer, title text, stars setof(text), director text, budget float); -- Dinkey films create table nowshowing (film integer, theater ref(theater_t), start date, end date); create table countries (name text, boundary polygon, population integer, language text)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 17 SQL-99  Τα δημητριακά Clog θέλουν άδεια να χρησιμοποιήσουν την εικόνα του Herbert μπροστά από ένα ηλιοβασίλεμα: yη μέθοδος thumbnail επιστρέφει μια μικρή είκονα yη μέθοδος Sunrise επιστρέφει T αν υπάρχει ένα ηλιοβασίλεμα στην εικόνα yη μέθοδος Herbert επιστρέφει T αν ο Herbert είναι στην εικόνα select F.frameno, thumbnail(F.image), C.lease_price from frames F, categories C where F.category = C.cid and Sunrise(F.image) and Herbert(F.image);

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 18 SQL-99 zΕύρεση κινηματογράφων που προβάλλουν ταινίες του Herbert films σε απόσταση έως 100 km από την Andorra: yτο γνώρισμα theater του nowshowing: αναφέρεται σε ένα αντικείμενο σε άλλο πίνακα. Χρήση του -> ως συντομογραφία του deref(theater).name yη σύγκριση μεταξύ γνωρισμάτων τύπου set γίνεται μέσω μεθόδων του τύπου set select N.theater->name, N.theater->address, F.name from nowshowing N, frames F, countries C where N.film = F.filmno and Radius(N.theater->location, 100) || C.boundary and C.name = ‘Andorra’ and `Herbert the Worm’ IN F.stars

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 19 SQL-99 zΗ συνένωση των N και C είναι περίπλοκη yΗ Radius επιστρέφει ένα κύκλο ακτίνας με κέντρο το location yο τελεστής || ελέγχει circle,polygon αν τέμνονται select N.theater->name, n.theater->address, F.name from nowshowing N, frames F, countries C where N.film = F.filmno and Radius(N.theater->location, 100) || C.boundary and C.name = ‘Andorra’ and ‘Herbert the Worm’ IN F.stars

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 20 SQL-99 zBuilt-in πράξεις για σύνθετους τύπους yπ.χ., τις συνηθισμένες μεθόδους για σύνολα (sets), για πίνακες, κλπ yσυμβολισμός για τύπο πλειάδας zΥποστηρίζει τελεστές για τύπους αναφοράς yderef(foo) yσυντομογραφία για το deref(foo).bar: foo->bar. zΥποστηρίζει μεθόδους που ορίζονται από τους χρήστες για ADTs. zΗ σύνταξη εξαρτάται από το προϊόν

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Μέθοδοι Ορισμένοι από τους Χρήστες zΧρειάζεται να οριστούν μέθοδοι για το χειρσιμό των ADTs yπ.χ., για τον τύπο jpeg: thumbnail, crop, rotate, smooth, κλπ. yΟ χρήστης γράφει αυτές τις μεθόδους σε κάποια γλώσσα, π.χ., C, και τις μεταγλωτίζει yregister (εγγραφή) μεθόδων στο σύστημα create function thumbnail(jpeg) returns jpeg as external name ‘/a/b/c/Dinkey.o’ yΤο σύστημα δυναμικά κάνει link τις συναρτήσεις με τον server.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 22 Κληρονομικότητα zΌπως και στη C++, είναι χρήσιμο να “specialize” τύπους: create type theatercafe_t under theater (menu text); οι μέθοδοι του theater_t ισχύουν επίσης και στους subtypes zΙεραρχίες συλλόγων (“Collection hierarchies”): κληρονομικότητα σε πίνακες create table student_emp under emp (gpa float); οι ερωτήσεις στο emp επιστρέφουν πλειάδες και της σχέσης student_emp (εκτός αν προσδιοριστεί “emp only”)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 23 Κληρονομικότητα zΕπεκτάσεις Τύπων (“Type extents”) yόλα τα αντικείμενα ενός συγκεκριμένου τύπου μπορούν να επιλεγούν από μία μόνο όψη (e.g., select * from theater_t)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 Απαραίτητες τροποποιήσεις zParsing yέλεγχος τύπων (type-checking) για τις μεθόδους ιδιαίτερα περίπλοκος zΒελτιστοποίηση Ερωτήσεων yχρειάζονται νέοι αλγεβρικοί τελεστές για σύνθετους τύπους yοι εκφράσεις στο WHERE μπορεί να είναι ιδιαίτερα ακριβές xselect pushdown ίσως όχι καλή ιδέα

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Απαραίτητες τροποποιήσεις zΕκτέλεση ynew algebra operators for complex types yOID generation & reference handling ydynamic linking ysupport “untrusted” methods ysupport objects bigger than 1 page ymethod caching: much like grouping xf(x) for each x is like AVG(major) for each major

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Απαραίτητες τροποποιήσεις zΜέθοδοι προσπέλασεις yευρετήρια σε μεθόδους yευρετήρια σε συλλογικές ιεραρχίες (collection hierarchies) yneed indexes for new WHERE clause exprs (not just, =)! xGiST can help here. xhttp://gist.cs.berkeley.edu zΤοποθέτηση δεδομένων στο δίσκο yclustering of nested objects ychunking of arrays