Esercitazione di Basi di Dati

Documenti analoghi
Esercitazione di Basi di Dati

Il modello Entità/Relazioni (ER)

Esercitazione di Basi di Dati

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

I database. Introduzione alla teoria delle basi di dati

Introduzione alla OOP Object Oriented Programming

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettazione di Database

SISTEMI INFORMATIVI E DATABASE

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Programmazione con Java

Traduzione dello schema E-R in modello logico relazionale

Modello Entità-Relazione

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Adattabilità fisica e inferenze nella visualizzazione

Progettazione di Basi di Dati

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Esercitazione: Dalle Specifiche alla Modellazione ER. Roberto Basili a.a. 2011/2012

SISTEMI OPERATIVI, RETI, INTERNET

Metodologie e modelli di progetto

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Componenti. Il modello di Protege. Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza

Il modello Entity-Relationship: elementi avanzati

Sommario. Introduzione... 13

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Ciclo di vita di un sistema informativo

MODELLO e RAPPRESENTAZIONE

Fondamenti VBA. Che cos è VBA

Function Block Diagram

Ingegneria del Software

Informatica per le Scienze Umane. Introduzione al corso: programma

Progettazione di basi di dati

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Web Application Engineering

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++

Elena Baralis, Claudio Demartini

Una Breve Introduzione alla Logica

RELAZIONI E BASI DI DATI

vero: metodi di sequenziali, linee di (lettura del disegno) 5. Utilizzare software di base di lavorazione per la

Logica Formale. Introduzione. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Logica Formale [1]

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

Principi di Progettazione del Software. Principi di Progettazione del Software a.a

Basi di Dati e Sistemi Informativi su Web

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Oggetti e classi. Cos è un oggetto

Ore settimanali di lezione: 3 h di cui 2 in compresenza con l insegnante di Lab. di Informatica prof.ssa E.De Gasperi

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa)

TRADUZIONE DI SCHEMI

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Progettazione di basi di dati

I.I.S. N. PELLATI Nizza Monferrato - Canelli

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Gestione di basi di dati in Access. SUISM Docente: Ugo de Liguoro a.a Asti

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

Comunicazione Digitale

BASI DATI INFORMATICA

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

Macchina Astratta: struttura e realizzazione.

2. Simulazione discreta: entità ed operazioni

REGIONE BASILICATA UFFICIO S. I. R. S.

Gestione della Conoscenza

Logiche descrittive Le logiche descrittive sono una famiglia di formalismi per la rappresentazione della conoscenza (KR) che descrivono ciò che è

Che cosa abbiamo fatto fin ora

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Elena Baralis 2007 Politecnico di Torino 1

Basi di dati Modelli e linguaggi di interrogazione

INTEGRAZIONE DI SCHEMI E/R

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Rappresentazione della Conoscenza. Lezione 1. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 1 0

Logica Formale. Introduzione. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Logica Formale [1]

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Metodologie di Programmazione. ovvero, Principi e Tecniche per la costruzione di programmi

Il modello Entity-Relationship

Programmazione di INFORMATICA e Laboratorio

PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

Modello Entità-Relazione (E-R)

Introduzione alla programmazione Object Oriented. Luca Lista

Il modello relazionale

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Open Database Connectivity (ODBC)

BASI DATI: Open Office BASE INFORMATICA

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

UML I diagrammi implementativi

Ereditarietà e Polimorfismo

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Corso di Linguaggi di Programmazione + Laboratorio

Ingegneria del Software

Informatica Generale Andrea Corradini I linguaggi di programmazione

Programmazione Orientata agli Oggetti

Il modello logico dei dati

Transcript:

Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 29 Aprile 2004 Da Access a Protégé Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035 (primo piano) Sommario Database Progettazione di un Database: 1. Diagramma Entità-Relazioni (ER) 1. Modellazione entità e attributi 2. Modellazioni relazioni (1-molti, molti-molti) 2. Da ER a Access 1. Implementazione delle entità e delle relazioni in tabelle 2. Query 3. Maschere 4. Implementazione di relazioni IS_A ER e DB 1

Relazione IS_A La relazione IS_A esprime un legame di generalizzazione/ specializzazione tra entità. L entità superclasse generalizza le sottoclassi. Le entità sottoclassi sono specializzazioni della superclasse. SUPERCLASSE attributo1 Le sottoclassi ereditano gli attributi della superclasse ISA Attributi di SOTTOCLASSE1 attributo2 attributo1 ereditato da SUPERCLASSE SOTTOCLASSE 1 attributo2 SOTTOCLASSE 2 attrinbuto3 IS_A Esempio eid data tipologia desc ingaggio partecipa_a EVENTO ARTISTA aid nome cognome arte voto ISA MUSICISTA ATTORE SCRITTORE ARTISTA VISIVO SPORTIVO genere strumento carattere genere best_seller arte specialità attivo Diagramma ER con IS_A 2

quando usare la IS_A in un ER? Alcune volte è naturale classificare concettualmente entità in una gerarchia IS_A o attributo? Se il concetto in questione che specifica l entità (es. arte in artista) è semplice e non strutturato si può usare un attributo. Se il concetto è invece strutturato si preferisce una IS_A. Non esiste una regola generale dipende dalle esigenze dell utente finale. IS_A IS_A in Access Due modalità per implementare la IS_A: 1. Creare una tabella per la superclasse ed una per ogni sottoclasse: nella tabella della superclasse sono rappresentati gli attributi comuni a tutte le sottoclassi; nelle tabelle delle sottoclassi sono rappresentati solo gli attributi specifici della sottoclasse. 2. Creare solo tabelle per le sottoclassi: in nella tabella di una sottoclasse sono rappresentati tutti gli attributi della sottoclasse, sia quelli specifici che quelli ereditati dalla superclasse. Il primo metodo è sempre utilizzabile. Il secondo metodo è utilizzabile solo nel caso in cui le sottoclassi partizionano completamente le superclassi. SUPERCLASSE SOTTOCL. 1 IS_A SOTTOCL. 2 3

Esercizio 1: creare una IS_A 1. Creare le tabelle Access che implementino la relazione IS_A dell ER precedente (artista musicista ) utilizzando entrambe le metodologie. 2. Implementare le seguenti queries: 1. A quali eventi partecipa un dato musicista? 2. Quali sono i nomi dei musicisti? IS_A in Access troppi problemi SVANTAGGI: Primo Metodo - Difficoltà nell inserimento delle entità: una entità va inserita sia nella tabella della superclasse che in quella della sottoclasse! - Difficoltà per eseguire particolari queries: ad esempio, come sapere se l artista è un musicista? Secondo metodo - Se esisto entità della superclasse che non appartengono a nessuna sottoclasse (ad es. un artista che non è né musicista, né artista visivo, né scrittore, né sportivo né attore) il metodo non è utilizzabile? CHE FARE? IS_A 4

Protégé CHE FARE? Utilizzare un tool che gestisca in maniera migliore le relazioni IS_A e l ereditarietà PROTEGE Protégé è un tool che consente di implementare un diagramma ER, gestendo in maniera efficace ed intuitiva le relazioni IS_A e l ereditarietà Protégé Protégé molto di più di un database ATTENZIONE! Protégé non è una Database, ma un tool per sviluppare ONTOLOGIA: una definizione operativa Una ontologia è una descrizione formale esplicita dei concetti di un dominio. Una ontologia rappresenta cioè il modello concettuale di un mondo. Il modello concettuale è la struttura formale di (un pezzo di) realtà percepita ed organizzata da chi modella. 5

Ontologie e Database Sia le che i Database sono metodologie di rappresentazione della conoscenza. Si differenziano però in molti aspetti. DIFFERENZE PRINCIPALI 1. Approccio alla realtà da modellare: con un Database si ha una visione più concreta e specifica del mondo; con una ontologia si cerca di modellare concettualmente il mondo (il DB si concentra più sulle istanze, l ontologia più sulle entità). 2. Le Ontologie consentono di ragionare sul mondo, ovvero di espandere la conoscenza sul mondo, utilizzando regole di inferenza, espresse in uno specifico linguaggio. 3. Le permettono una implementazione più naturale della relazione IS_A Ontologia cosa contiene Dovendo modellare un dominio, una ontologia deve essere in grado di esprimere: 1. Concetti (o classi) del dominio 2. Proprietà (o slot) dei concetti 3. Restrizioni sulle proprietà CORRISPONDENZE CON I DB ENTITA ATTRIBUTI + RELAZIONI RESTRIZIONI Una ontologia popolata di istanze e completata con delle regole di inferenza viene detta Base di Conoscenza. 6

Ontologia come ragionare Il ragionamento su una ontologia viene implementato attraverso regole di inferenza. Un ESEMPIO di 2000 anni fa SILLOGISMO Tutti gli uomini sono mortali. Socrate è un uomo. Quindi, Socrate è mortale. (Artistotele) La relativa regola di inferenza è: Uomo(Socrate) Uomo(x) => Mortale(x) NELL ONTOLOGIA E PRESENTE LA CLASSE UOMO CHE HA COME ISTANZA SOCRATE NELL ONTOLOGIA OGNI UOMO IS_A MORTALE Mortale(Socrate) DEDUZIONE E AUMENTO DELL ONTOLOGIA Riassumendo: un parallelo Database Ontologia livello di astrazione DIAGRAMMA ER SCHEMA DEL DATABASE DATABASE POPOLATO ONTOLOGIA BASE DI CONOSCENZA Un ER può essere tradotto in una ontologia. Inoltre, una ontologia permette di rappresentare più efficacemente di un ER domini particolarmente complessi. 7

Nella prossima puntata. Come si costruisce una ontologia? 8