Ese1: DB-MAIN e modello E/R

Documenti analoghi
Esercitazione 1: DB-MAIN e modello E/R

Utilizzo delle Maschere in Microsoft Access

SCHEMA E/R DI UNA UNIVERSITA'

Esercitazione 3: progettazione logica

DB-MAIN CASE tool. Un tool per la progettazione di DB relazionali. DB-MAIN case-tool: funzionalità

Utilizzo delle Maschere in Microsoft Access

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

ESERCITAZIONI ACCESS

Relazioni. Microsoft Access. Relazioni. Relazioni

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Esercitazione 4: Trigger in DB2

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Soluzione esercitazione 01

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Filtri. Microsoft Access. Filtri. Filtri

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Modello Entità-Relazione

Database Modulo 6 CREAZIONE DI MASCHERE

Errore. Il segnalibro non è definito.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

ESAME di INFORMATICA e ARCHIVIAZIONE

Dichiarazione degli schemi in SQL DDL 1

GESTIONE ASSICURAZIONI AUTO

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

GESTIONE ABBONAMENTI RIVISTE

Cosa sono le maschere

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Modulo 3 - Elaborazione Testi 3.4 Oggetti

Inserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record

APVE in Rete Modulo 8 Excel nozioni di base e esercitazioni su economia domestica

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Gestione NARRATIVA del 900

L INTERFACCIA GRAFICA DI EXCEL

Inoltrare un messaggio.

I dati rappresentati (tutti di pura fantasia) sono contenuti in un file excel denominato Personale.xls.

Il modello Entity-Relationship: elementi avanzati

LA PROGETTAZIONE CONCETTUALE

Guida all uso della piattorma elearning QUICKPLACE

ESEMPIO GUIDATO 6. Verifica di una copertura in legno

LE MASCHERE CORSO ACCESS PARTE V

Manuale SQL. Manuale SQL - 1 -

Word Elaborazione di testi

Progettazione concettuale usando il modello Entità-Relazione (ER)

MODULO 5 ACCESS Basi di dati

Lezione 4. Dallo schema ER al relazionale

Fondamenti di informatica. Word Elaborazione di testi

CORSO ACCESS PARTE IV

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

CREAZIONE DI UNA CARTELLA

GESTIONE ABBONAMENTI RIVISTE

Operazioni preliminari: creare una cartella in Documenti

MICROSOFT OFFICE POWERPOINT Come creare presentazioni interattive di documenti.

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016

La Back Office Console consente di costruire lo scheletro degli schema.

Video Scrittura (MS Word) Prima Parte

Tutorial. Funzioni di personalizzazione dei software.

Access 2007 Colonna di ricerca

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

DESCRIZIONE ILLUSTRATA FUNZIONALITA' SOFTWARE ORAZIO WEB

CREAZIONE DI UNA CARTELLA

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Insert > Object > Chart

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

Esercitazione 1 SQL: DDL e DML di base

Disegno delle carpenterie di piano

3.4 Inserimento di immagini

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Figura 1 - Finestra Tabella

U.T.E Università della Terza Età

Basi di dati I Prova di autovalutazione 30 ottobre 2014

GESTIONE VOTI SCOLASTICI

La finestra principale di lavoro

Lena Cota Guido Corso di Informatica - II livello. Esplora Risorse. Lavorare con il file system

IL FOGLIO DI STILE WORD APPLICAZIONE ALLA STESURA DELLA TESI

ISCRIZIONI. Impostazioni form ECDL

Avviate Specifi dall icona presente sul vostro Desktop.

ESERCIZI SQL. Esercizio 1

Questo comando permette di riportare la mappa al livello di zoom e alle coordinate iniziali predefinite. Utilizzo: cliccare sul pulsante.

C3 IL DBMS MICROSOFT ACCESS

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

Guida per la personalizzazione dei modelli di stampa / salvataggio documenti

ScuolaWEB - Registri. Utilizzo procedura «ScuolaWEB» per l accesso ai registro elettronici scolastici con procedura da WEB (internet)

Transcript:

Esercitazione 1: DB-MAIN e modello E/R Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione1.pdf Sistemi Informativi L-B DB-MAIN: uno strumento di progettazione DB-MAIN è un tool di modellazione orientato ai dati Supporta diversi processi legati all ingegnerizzazione di DB, tra cui quello basato sulla metodologia del corso E stato sviluppato a partire dal 1991 dal LIBD Laboratory della University of Namur (Belgio) Dal 2004 è stato commercializzato da REVER S.A. Dal 2009 è freeware, si pagano solo l assistenza, la formazione e i plug-in aggiuntivi Sistemi Informativi L-B 2 1

DB-MAIN: Documentazione Home: http://www.db-main.eu Reference Manual: http://www-db.deis.unibo.it/courses/sil-b/docs/ Sistemi Informativi L-B 3 DB-MAIN: uno strumento grafico Sistemi Informativi L-B 4 2

Diagrammi E/R in DB-MAIN Sistemi Informativi L-B 5 L ambiente di lavoro Eseguire DB-main.exe Creare un nuovo progetto o aprire un progetto esistente Sistemi Informativi L-B 6 3

Creazione schema concettuale Creazione di un nuovo schema: Comando Product/New Schema Versione: Schema Concettuale Nel progetto viene aggiunta una linguetta in cui disegnare lo schema. Sistemi Informativi L-B 7 Definizione di entità Creazione di una nuova entità Definizione del nome Conferma Sistemi Informativi L-B 8 4

Definizione di attributi Selezionare l entità a cui aggiungere l attributo Sulla toolbar principale cliccare sul pulsante ( Next att ) Definizione del nome dell attributo Definizione della cardinalità La cardinalità di un attributo consente di esprimere se può assumere valore NULL Definizione del tipo Sistemi Informativi L-B 9 Definizione di attributi Diversi tipi di attributi: semplici ripetuti composti composti e ripetuti selezione del dominio su cui è definito l attributo (type= compound per attributi composti) Persona Cognome Nome 1 nome 2 nome Indirizzo[0-5] via numero città cap Telefono[0-5] permette di aggiungere sotto-attributi agli attributi composti cardinalità dell attributo Sistemi Informativi L-B 10 5

Definizione di associazioni (1) Selezionare lo strumento Role rel-type/link Trascinare un collegamento tra le due entità coinvolte. Trascinando il collegamento dall entità A all entità B esse di default parteciperanno all associazione rispettivamente con cardinalità (0, n) e (1, 1). Definire il nome dell associazione Sistemi Informativi L-B 11 Definizione di associazioni (2) Per aggiungere eventuali attributi cliccare su Definire le cardinalità degli attributi: è sufficiente selezionare il valore desiderato dal menu a discesa nel relativo campo. Se il valore desiderato non è disponibile lo si può inserire da tastiera. Sistemi Informativi L-B 12 6

Definizione di associazioni (3) Per modificare la cardinalità delle partecipazioni: Cliccare sulla cardinalità dell associazione e modificarla nel property box Sistemi Informativi L-B 13 Definizione degli identificatori Identificatori: Semplice: selezionare l attributo Composto interno: selezionare più attributi tenendo premuto il tasto shift Esterno: selezionare gli attributi dell entità e la cardinalità dell associazione che partecipa all identificatore Premere il pulsante Sistemi Informativi L-B 14 7

Definizione delle gerarchie Definire le entità coinvolte nella gerarchia Selezionare una delle entità figlie Nel property box utilizzare il pulsante della voce Supertypes per aggiungere l entità padre Sistemi Informativi L-B 15 Definizione delle gerarchie È possibile esprimere la tipologia della gerarchia nelle proprietà dell entità padre totale-parziale (total) esclusiva-sovrapposta (disjoint) Sistemi Informativi L-B 16 8

Tipi di gerarchie T = Total (totale e sovrapposta) P = Partition (totale ed esclusiva) D = Disjoint (parziale ed esclusiva) = (parziale e sovrapposta) Sistemi Informativi L-B 17 Creare il DB associato È possibile ottenere una traduzione in SQL dello schema concettuale Selezionare il comando Transform/Quick SQL Salvare il file di testo Il progetto contiene nel nuovo file le istruzioni SQL DDL per generare il DB Sistemi Informativi L-B 18 9

Documentare lo schema È possibile documentare lo schema inserendo un commento nella finestra Semantic Description associata a ciascun oggetto Nella property box selezionare la linguetta Sem Per visualizzare il report dello schema comprendente le descrizioni: Passare alla visualizzazione testuale con il menu View/Text Standard Selezionare File/Report Textual view Sistemi Informativi L-B 19 Tool Grafici Comandi grafici disponibili ( Window/Graphical Tools ) Gli oggetti attualmente selezionati nella vista principale possono essere copiati negli appunti di Windows come immagine utilizzando il pulsante Allineamento degli oggetti grafici: Spostamento indipendente degli oggetti (voce Independent in View/Graphical settings ) Gerarchie squadrate (check-box IS-A square in View/Graphical settings ) Utile da sapere: Cambiamento ordine degli attributi: tasti ALT+ Tasto destro del mouse su associazione: centratura rispetto alle entità su cardinalità di un ramo dell associazione: centratura rispetto ad associazione ed entità Sistemi Informativi L-B 20 10

Generazione automatica del DDL (1) Si consideri il seguente diagramma E/R nome Telefono (0,1) matricola data nome ciclo codc Studente SE Esame EC (1,1) (1,1) Corso indirizzo voto via città Sistemi Informativi L-B 21 Generazione automatica del DDL (2) e la relativa rappresentazione con DB-MAIN. Studente Matricola Nome Telefono[0-1] Indirizzo Via Citta id: Matricola 0-N SE 1-1 Esame Data Voto id: SE.Studente EC.Corso Data 1-1 EC 0-N Corso codc Nome Ciclo id: codc Generiamo automaticamente il codice SQL con il comando Transform/Quick SQL e controlliamo il codice generato Sistemi Informativi L-B 22 11

Generazione automatica del DDL (4) Controlliamo il codice generato da DB-MAIN: create database Studenti; create table Studente ( Matricola char(9) not null, Nome varchar(50) not null, Telefono char(10), Ind_Via varchar(50) not null, Ind_Citta varchar(20) not null, constraint ID_Studente_ID primary key (Matricola)); create table Esame ( Matricola char(9) not null, codc char(4) not null, Data date not null, Voto numeric(2) not null, constraint ID_Esame_ID primary key (Matricola, codc, Data)); create table Corso ( codc char(4) not null, Nome varchar(30) not null, Ciclo numeric(1) not null, constraint ID_Corso_ID primary key (codc)); Si noti come: La cardinalità 1-1 degli attributi sia tradotta come not null mentre gli attributi con cardinalità 0-1 permettono null (ad es. l attributo Telefono di Studente); Gli attributi composti (ad es. l attributo indirizzo) sono tradotti come diversi attributi aventi nome con prefisso comune; Il tipo per i valori numerici sia un generico tipo numeric ; Non sia ancora specificata alcuna foreign key. Sistemi Informativi L-B 23 Generazione automatica del DDL (5) Dopo la definizione delle tabelle DB-MAIN aggiunge il codice per definire i constraint, tra cui le foreign key e i check: alter table Esame add constraint FKEC_FK foreign key (codc) references Corso; alter table Esame add constraint FKSE foreign key (Matricola) references Studente; DB-MAIN aggiunge tutti i vincoli dopo aver creato le tabelle per evitare il problema delle foreign key circolari Sistemi Informativi L-B 24 12

Generazione automatica del DDL (6) Cosa accade cambiando il vincolo di cardinalità dell attributo Telefono per l entità studente trasformandolo in (1,3)? Il codice generato da DB-MAIN diventa: create table Studente (Matricola char(9) not null, Nome varchar(50) not null, Ind_Via varchar(50) not null, Ind_Citta varchar(20) not null, constraint ID_Studente_ID primary key (Matricola)); create table Telefono (Matricola char(9) not null, Telefono char(10) not null, constraint ID_Telefono_ID primary key (Matricola, Telefono)); alter table Telefono add constraint FKStu_Tel foreign key (Matricola) references Studente; alter table Studente add constraint ID_Studente_CHK check(exists(select * from Telefono where Telefono.Matricola = Matricola)); Attenzione! Il codice generato da DB-MAIN ha diversi problemi: non è valido per DB2 a causa del check complesso; introduce una dipendenza circolare tra Studente e Telefono senza possibilità di foreign key nulla; non esprime il vincolo di cardinalità massima dell attributo Telefono. Morale: non fidarsi ciecamente del codice di DB-MAIN! Sistemi Informativi L-B 25 Primi esercizi con DB-MAIN Rappresentare con DB-MAIN i seguenti schemi E/R: 1. cognome persona indirizzo codice matr via numero città cap stato (0,1) 2. dipartim. appart.. 0,n 1,1 dipendente PERSONA NOME CF 3. (t,e) MATRICOLA STUDENTE PROFESSORE DIPARTIMENTO Sistemi Informativi L-B 26 13

Lo schema Facoltà 4. Creare lo schema che segue (progetto Facolta.lun) generare il codice SQL e ragionare sul DB ottenuto modificare il file.ddl e generare le corrispondenti table in DB2 nome Studenti indirizzo via (1,1) città iscritti telefono data matricola Laureandi esami seguono voto (1,1) relatore titolo_tesi ciclo Corsi (3,5) commissioni (1,n) nome Professori nome (1,1) base avanz docenti (1,n) nome cognome datan propedeutici (1,1) CorsidiLaurea offrono (1,n) Sistemi Informativi L-B 27 Lo schema Persone 5. Rappresentare con DB-MAIN (progetto Persone.lun) lo schema derivante dalle seguenti specifiche: Le persone hanno CF, cognome ed età; gli uomini anche la posizione militare; gli impiegati hanno lo stipendio e possono essere segretari, direttori o progettisti (un progettista può essere anche responsabile di progetto); gli studenti (che non possono essere impiegati) un numero di matricola; esistono persone che non sono né impiegati né studenti (ma i dettagli non ci interessano) NB: In DB-MAIN non è possibile definire due o più gerarchie distinte con la stessa entità padre. Trovare una rappresentazione che permetta comunque di rappresentare le entità descritte e le loro relazioni di tipo gerarchico Sistemi Informativi L-B 28 14