LA TECHNOLOGY TRANSFER PRESENTA CHRIS DATE OBJECTS, RELATIONS AND OBJECT/RELATIONAL: IL FUTURO DEL DATABASE MANAGEMENT ROMA 14-16 GIUGNO 2000 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 OBJECTS, RELATIONS AND OBJECT/RELATIONAL DESCRIZIONE “Coloro i quali sono innamorati della pratica senza la teoria sono come un navigatore che conduce una nave senza timone o bussola e non ha mai la certezza di dove sta andando. La pratica si dovrebbe sempre basare su una solida conoscenza della teoria.” Leonardo da Vinci (1452-1519) Le domande che seguono hanno a che fare con i databases Object e Object/Relational. Siete in grado di rispondere? • Cosa è un oggetto? • Cosa vuol dire gli oggetti sono incapsulati? • Un Object DBMS può supportare una “query ad hoc”? Se sì, come? • Cosa sono “polimorfismo” e “sostituibilità”? • I mutators sono necessari? • Qual è la strada giusta per integrare oggetti e relazioni? • Cosa sono “overloading” e “delegation”? • Qual è la differenza fra un object ID e un surrogato? • Cosa c’è di sbagliato con “subtables e supertables”? • Qual è la differenza fra “IS A” e “HAS A”? • Cosa sono “result covariance” e “argument contravariance”? • Perché un object DBMS non può supportare in maniera appropriata la type inheritance? Negli ultimi anni si è parlato moltissimo di oggetti e di database ad oggetti, in particolare abbiamo ascoltato proclami che dicevano che i tradizionali databases relazionali avevano grandi difficoltà nella gestione di particolari “dati complessi” che si ritrovano in aree applicative come hardware e software design, scienza e medicina, document processing, ingegneria elettrica e meccanica, etc. E proprio queste sono le aree verso le quali i databases ad oggetti si vogliono indirizzare, anche se gli avvocati di questa causa dicono che questi sistemi sono adatti anche per i più tradizionali tipi di applicazioni commerciali e di business. Più recentemente abbiamo sentito parlare di un nuovo tipo di DBMS chiamato Object/Relational DBMS (conosciuto anche con il nome di universal server). I DBMS Object/Relational dovrebbero combinare i tradizionali benefici dei sistemi relazionali con la possibilità di gestire dati complessi, una sorta di soluzione “one size fits all” al problema del database management. Ma cosa sono esattamente gli Object e gli Object/Relational databases? Questo seminario tecnico discute questa questione in maniera approfondita. Comincia con lo spiegare i concetti e la terminologia fondamentale di oggetti e databases ad oggetti, descrivendo cosa comporta usare questa tipologia di DBMS, offrendo opinioni su diversi aspetti molto importanti come la questione del supporto dei vincoli di integrità e l’importantissimo aspetto della ereditarietà. Questo argomento introduce il Terzo Manifesto, una proposta precisa e dettagliata per integrare la tecnologia Object e la tecnologia Relazionale per formare un sistema “Object-Relational”; in particolare il seminario mostra che esistono una via giusta e una via profondamente sbagliata per fare questo lavoro. Nota: Il seminario è basato più su concetti e teoria che su prodotti specifici. I fondamenti e non le chiacchiere o le mode passeggere, sono le cose importanti. Anche se la realtà ci impone compromessi, questi dovrebbero essere fatti da una posizione di grande forza concettuale. Alla fine del seminario i partecipanti: • capiranno le principali caratteristiche e significati dei sistemi OODB • riconosceranno l’esigenza di un matrimonio fra la tecnologia Relazionale e Object-Oriented • sapranno distinguere fra il modo giusto e quello sbagliato di ottenere certi risultati (in particolare capiranno perché molti degli attuali prodotti fanno le cose in maniera errata) • capiranno cosa è e cosa non è l’ereditarietà e cosa implica il suo supporto • acquisiranno le conoscenze per capire, analizzare e valutare i prodotti commerciali OODB e ORDB • sapranno prendere decisioni ragionate nella loro quotidiana attività sul database Il seminario è molto intenso e non è indicato per principianti. I partecipanti dovrebbero avere una conoscenza base del modello relazionale e una comprensione di semplice codice SQL. Non è richiesta nessuna conoscenza della tecnologia Object-Oriented. PARTECIPANTI • Progettisti ed implementatori database • Data administrator • Database administrator • Programmatori di applicazioni database • Consulenti database • Management di Information Technology • Professori e studenti di Computer Science • Professionisti di IT responsabili della valutazione e acquisizione di DBMS DOCUMENTAZIONE In aggiunta alla documentazione tecnica contenente la copia della presentazione del docente i partecipanti riceveranno una copia dell’ultimo libro di Date e Darwen “Foundation for Object/Relational Databases: The Third Manifesto” Addison Wesley, 1998. DOCENTE CHRIS DATE È uno dei nomi più importanti nell’intero campo del computing. Il suo libro “An Introduction to Database Systems: Vol. I”, che è il testo standard in questo campo, ha venduto più di 500.000 copie in tutto il mondo. Il suo ultimo libro, scritto con Hugh Darwen, “The Third Manifesto: Foundation for Object/Relational Databases” (pubblicato nel 1998), propone, definisce e descrive un solido fondamento per il futuro dei database management systems e farà parte della documentazione fornita ai partecipanti. È autore di molti autorevoli libri sulla tecnologia database. Ha la grandissima abilità di comunicare soggetti tecnici complessi in maniera chiara e comprensibile. PROGRAMMA I. OBJECT DATABASE SYSTEMS: TUTORIAL E ANALISI 1. Preliminari • Linguaggi OO e sistemi OO • L’idea base di OODB • Quanto è grande questo business? • Un importante ammonimento • Modello verso implementazione • Propositi di questo seminario 2. Mancanze nei prodotti SQL di oggi • Un esempio • Usabilità, produttività, performance • Nuove aree applicative • Qual è il problema reale? 3. Concetti base di OODB • Oggetti e classi • Metodi e messaggi • Instance variables • Identità dell’oggetto • Gerarchie di contenimento • Classe verso instance verso collection • Gerarchie di classe • Miscellanea di problemi 4. Un esempio • Definizione del database • Popolare il database • Retrieval • Update • Alcune osservazioni 5. Altri concetti e problemi • Versioni e configurazioni • Long e nested transactions • Evoluzione dello schema • Linguaggi di programmazione DB • Problematiche di performance • Vincoli di integrità • Referential Integrity • Views • N-adic operators • Il catalogo 6. Analisi di OODB • Esame e valutazione • Object IDs • Funzioni di constructor • Incapsulazione • Possibili rappresentazioni • OO è OK! O no? II. OBJECT/RELATIONAL DATABASE SYSTEMS: Introduzione al Terzo Manifesto 1. Preliminari • Il Terzo Manifesto • Arte precedente • Quale è il problema? • La questione fondamentale • Alcuni principi guida 2. Relations verso relvars • Valori e variabili • Una importante differenza logica • Relazioni verso domini • Relvars verso domini • L’importanza dei predicati 3. Domini verso classi • Cosa è un dominio? • “Domain check override” • Strong typing • Atomicità • Definizione di un dominio 4. Relvars verso classi • Estensioni proposte al DDL • Estensioni proposte al DML • Cosa va male? 5. Uno sguardo ravvicinato al Manifesto • RM prescriptions • RM proscriptions • OO prescriptions • OO proscriptions • RM suggestions • OO suggestions • Un dilemma di design? 6. Considerazioni conclusive • Da dove viene il primo grande errore? • Alcuni punti da chiarire III. TYPE INHERITANCE 1. Preliminari • Qual è il punto? • Alcune assunzioni cruciali • Strategia 2. L’idea base • Supertipi e sottotipi • Ereditarietà singola • Ereditarietà strutturale • Ereditarietà comportamentale 3. Polimorfismo e sostituibilità • Polimorfismo di inclusione • Sostituibilità del valore • Run-time binding • Type testing 4. Alcune implicazioni di queste idee • Assegnazione • Comparazione • Covarianza e controvarianza • TREAT UP e TREAT DOWN • TREAT verso CAST • Changing type 5. Mutabilità • Operatori Read-only verso operatori di aggiornamento • Versioni di implementazione 6. Alcune domande • Cosa significa ereditarietà? • Il “3 out of 4 rule” • Operatori Read-only • Operatori di aggiornamento • Riusabilità del codice e immunità del programma 7. Firme • Tipi di firma • Run time binding rivisitato • Selfish Methods 8. Union Types • Definizione e scopo • Proprietà speciali • Dummy Types • Il problema di Tony Blair • Due dummy types cruciali 9. Specializzazione da vincolo • Un’ellisse è un cerchio? • Implementazione • La 3 out of 4 “rule” • Vantaggi e svantaggi • Un cerchio colorato è un cerchio? • Object IDs minano l’ereditarietà! 10. Subtables e Supertables • L’idea base (?) • Semantica • No Type inheritance! • Vantaggi (?) • Perché? INFORMAZIONI QUOTA DI PARTECIPAZIONE 12. Ereditarietà della tupla e della relazione • Richiesta logicamente! • IM prescription additions • Types più specifici IV. UN ESAME SULLO SCENARIO • The OO Database System Manifesto • Third Generation Database System Manifesto • “Next great wave” di Stonebraker • SQL3 • ODMG • Osservazioni conclusive Objects, Relations and Object/Relational Lire 2.500.000 (+iva) - € 1291,14 (+iva) La quota comprende documentazione, colazioni di lavoro e coffee breaks. CONDIZIONI GENERALI In caso di rinuncia con preavviso inferiore a 15 giorni verrà addebitato il 50% della quota di partecipazione, in caso di rinuncia con preavviso inferiore ad una settimana verrà addebitata l'intera quota. In caso di cancellazione del seminario, per qualsiasi causa, la responsabilità della Technology Transfer si intende limitata al rimborso delle quote di iscrizione già pervenute. MODALITÀ DI ISCRIZIONE Il pagamento della quota, IVA inclusa, dovrà essere effettuato tramite: bonifico sul c/c N. 4889027/01/10 della COMIT Ag. 3 di Roma CAB 03203 - ABI 02002 intestato alla Technology Transfer S.r.l. e la ricevuta di versamento inviata insieme alla scheda di iscrizione a: TECHNOLOGY TRANSFER S.r.l. Piazza Cavour, 3 - 00193 ROMA - Tel. 06-6832227 - Fax 06-6871102 entro il 30 Maggio 2000 Vi consigliamo di far precedere la scheda di iscrizione da una prenotazione telefonica. LUOGO Roma, Residenza di Ripetta - Via di Ripetta, 231 DURATA ED ORARIO 3 giorni: 9.30-13.00 14.30-17.30 È previsto il servizio di traduzione simultanea TUTELA DATI PERSONALI Ai sensi dell’art. 10 della legge n. 675/96, il partecipante è informato che i suoi dati personali acquisiti tramite la scheda di partecipazione al seminario saranno trattati da Technology Transfer anche con l’ausilio di mezzi elettronici, con finalità riguardanti l’esecuzione degli obblighi derivati dalla Sua partecipazione al seminario, per finalità statistiche e per l’invio di materiale promozionale dell’attività di Technology Transfer. Il conferimento dei dati è facoltativo ma necessario per la partecipazione al seminario. Il titolare del trattamento dei dati è Technology Transfer, Piazza Cavour, 3 - 00193 Roma, nei cui confronti il partecipante può esercitare i diritti di cui all’art. 13 della legge n. 675/96. ✂ 11. Ereditarietà multipla • Richiesta logicamente! • Type graphs • IM prescription extensions • Intersection Types • Principali implicazioni CHRIS DATE OBJECTS, RELATIONS AND OBJECT/RELATIONAL Roma 14-16 Giugno 2000 Residenza di Ripetta - Via di Ripetta, 231 Quota di iscrizione Lire 2.500.000 (+iva) - € 1291,14 (+iva) È previsto il servizio di traduzione simultanea In caso di rinuncia o di cancellazione dei seminari valgono le condizioni generali riportate sopra. nome ............................................................. cognome ....................................................... Timbro e firma funzione aziendale ........................................ azienda ......................................................... partita iva ...................................................... codice fiscale ................................................ indirizzo ......................................................... città ............................................................... cap ................................................................ provincia ........................................................ telefono ......................................................... fax ................................................................. e-mail ............................................................. Da restituire compilato a: Technology Transfer S.r.l. P.zza Cavour, 3 - 00193 Roma Tel. 06-6832227 - Fax 06-6871102