Governo Digitale a.a. 2007/08
|
|
- Stefania Marrone
- 8 anni fa
- Visualizzazioni
Transcript
1 Governo Digitale a.a. 2007/08 Lezioni 21/5 Titolare: Salvatore Tucci Corso integrativo: Mariateresa Celardo Gli strumenti Tecnologici Basi di dati e sistemi documentali Protocollo informatico Sistemi di workflow Sicurezza & Privacy Firma digitale marche temporali Carte multiservizi certificati di firma e di cifra Posta certificata I sistemi web-based Il ruolo dell OSS Metodologie di progettazione
2 Sistema Informativo Un Sistema Informativo (SI) è un insieme di persone, apparecchiature, applicazioni, procedure e dati che permettono all azienda di disporre delle informazioni necessarie nel posto giusto e al momento giusto. Un SI non necessariamente fa ricorso a strumenti propri delle tecnologie dell informazione e delle comunicazioni (ICT, Information and Communication Technology). Il SI è, infatti, concettualmente indipendente da qualsiasi automatizzazione. Informazioni e dati informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica: elementi di informazione costituiti da simboli che debbono essere elaborati)
3 Dati e Informazioni Dati fatti grezzi che descrivono un particolare fenomeno. Informazioni dati che hanno un significato particolare in uno specifico contesto. Esempio: Dato: la temperatura dell' atmosfera Informazione: se dovete decidere cosa indossare, la temperatura esterna rappresenta un'informazione, poiché è pertinente alla decisione immediata (cosa indossare) L INFORMAZIONE Le informazioni si distinguono dai dati gestiti da un sistema informativo per le differenti finalità che vengono loro attribuite dai diversi utenti. Es: l 80% dei prodotti venduti sono stati sviluppati da meno di 2 anni informa l imprenditore che la sua impresa per poter continuamente proporre prodotti innovativi, dovrà puntare su una competenza flessibile, evolutiva e orientata al mercato. informa il fornitore che ci sono stati repentini cambiamenti che possono essere una minaccia alla sua posizione
4 Informazioni: una risorsa chiave Informazione dimensione temporale Tempestività: accesso alle informazioni solo quando è necessario ( una informazione può diventare obsoleta e in tal caso non essere più utile ) disporre di informazioni che descrivono il periodo temporale preso in considerazione. dimensione spaziale Indipendenza dal luogo: consultare le informazioni desiderate indipendentemente dal luogo in cui ci si trova formato: formato, comprensibile e semplice da utilizzare (audio, testo, video, animazione, grafica e altro), accuratezza: le informazioni devono essere prive di errori.
5 Gestione delle informazioni Raccolta, acquisizione Archiviazione, conservazione Elaborazione, trasformazione, produzione Distribuzione, comunicazione, scambio le informazioni vengono rappresentate in modo essenziale attraverso i dati Base di dati Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda/amministrazione, ufficio, persona) insieme di dati gestito da un DBMS
6 Sistema di gestione di basi di dati DataBase Management System (DBMS) Sistema che gestisce collezioni di dati: grandi : dimensioni maggiori della memoria centrale dei sistemi di calcolo utilizzati persistenti : tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano condivise: Attivita' diverse su dati condivisi (concorrenza) garantendo privacy: meccanismi di autorizzazione affidabilità : resistenza a malfunzionamenti hardware e software efficienza : utilizzare al meglio le risorse di spazio di memoria (principale e secondaria) e tempo (di esecuzione e di risposta) efficacia : offrendo funzionalità articolate, potenti e flessibili per rendere produttive le attività dei loro utilizzatori, Affidabilità e gestione delle transazioni Affidabilità :resistenza a malfunzionamenti hardware e software Tecnica fondamentale: gestione delle transazioni Transazione: insieme di operazioni da considerare indivisibile ("atomico"), corretto anche in presenza di concorrenza e con effetti definitivi
7 Le transazioni sono atomiche La sequenza di operazioni sulla base di dati viene eseguita per intero o per niente: trasferimento di fondi da un conto A ad un conto B: o si fanno il prelevamento da A e il versamento su B o nessuno dei due Le transazioni sono concorrenti L'effetto di transazioni concorrenti deve essere coerente (ad esempio "equivalente" all'esecuzione separata) se due assegni emessi sullo stesso conto corrente vengono incassati contemporaneamente si deve evitare di trascurarne uno
8 I risultati delle transazioni sono permanenti La conclusione positiva di una transazione corrisponde ad un impegno (in inglese commit) a mantenere traccia del risultato in modo definitivo, anche in presenza di guasti e di esecuzione concorrente Organizzazione dei dati in database Permette di rendere i dati indipendenti dai singoli programmi che vi accedono e dal supporto fisico sul quale sono memorizzati, grazie alla netta separazione tra la strutturazione logica e la memorizzazione fisica
9 Organizzazione dei dati orientato ai file Fino all avvento dei linguaggi di programmazione di terza generazione gli archivi di una qualsiasi procedura informatica erano costituiti da insiemi di file sequenziali in cui l organizzazione fisica dei dati ricalcava in modo molto rigoroso quella logica La struttura dei file fisici era strettamente correlata al tipo di problema che la procedura automatizzata intendeva risolvere e possedeva una ridotta flessibilità nei confronti di nuove applicazioni Organizzazione dei dati orientato ai file: svantaggi ridondanza indesiderata: gli stessi dati sono ripetuti più volte in più archivi; aggiornamento dei dati: ogni volta che un record in un archivio viene aggiornato, è necessario apportare coerentemente la stessa modifica in tutti gli altri archivi che lo contengono. In caso contrario si rischia di generare dati inconsistenti, vale a dire contradditori dal punto di vista logico; dipendenza dei dati dai processi: ogni procedura automatizzata vede i dati in una precisa forma che può essere diversa rispetto a quella adottata in altre applicazioni.
10 L indipendenza dal supporto fisico Uno degli obiettivi principali dell organizzazione dei dati, è la creazione di una struttura che renda indipendente il livello logico da quello fisico. In modo che le modifiche alla struttura logica non comportino cambiamenti nelle modalità di accesso e di memorizzazione e viceversa organizzazione logica: la strutturazione sistematica e logica dei dati e delle loro relazioni; organizzazione fisica: la memorizzazione fisica di determinate strutture di dati su supporti di memoria di massa Organizzazione dei dati
11 Architettura standard (ANSI/SPARC) a tre livelli per DBMS utente utente utente utente utente Schema esterno Schema esterno Schema esterno Schema logico Schema fisico BD Una vista Corsi Corso Docente Basi di dati Rossi Sistemi Neri Reti Bruni Controlli Bruni Aula DS3 N3 N3 G Aule Nome DS1 N3 G Edificio OMI OMI Pincherle Piano Terra Terra Primo CorsiSedi Corso Aula Sistemi N3 Reti N3 Controlli G Edificio Piano OMI Terra OMI Terra Pincherle Primo
12 Indipendenza logica il livello esterno è indipendente da quello logico aggiunte o modifiche alle viste non richiedono modifiche al livello logico modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti Modello concettuale È un insieme di regole atte a costruire uno schema di rappresentazione della realtà di interesse in modo indipendente dalla tecnologia informatica utilizzata. Lo schema concettuale fornisce una descrizione dei tipi delle informazioni e delle corrispondenze che costituiscono il database, in modo indipendente dal modello di dati.
13 Modello logico È un modello per la costruzione degli schemi attraverso i quali il singolo utente vede i dati Al livello logico si ha una descrizione dei dati e dei loro rapporti secondo il punto di osservazione dell utente Il linguaggio di manipolazione dati viene utilizzato per creare connessioni tra il sistema di database, gli utenti e le applicazioni impiegate Modello fisico Il modello fisico comprende una descrizione formale, detta anche modello o schema fisico, di come devono essere archiviati i dati e delle modalità con cui sarà possibile accedervi. L implementazione informatica della struttura dei dati con l aiuto del linguaggio di descrizione per la memorizzazione dei dati (data storage description language). Leregole di trasformazione stabiliscono le modalità con cui un determinato oggetto appartenente a un modello può essere rappresentato attraverso uno o più oggetti di un modello di livello inferiore
14 Modelli logici Gerarchico e reticolare utilizzano riferimenti espliciti (puntatori) fra record Relazionale "è basato su valori" anche i riferimenti fra dati in strutture (relazioni) diverse sono rappresentati per mezzo dei valori stessi Ad oggetti Una base di dati a oggetti è una collezione di oggetti; ciascun oggetto ha un identificatore, uno stato, e un comportamento Linguaggi per le basi di dati Linguaggio di Definizione dei Dati (DDL Data Definition Language ) Per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali Linguaggio per la Manipolazione dei Dati (DML Data Manipulation Language ) Per l interrogazione e l aggiornamento di (istanze di) basi di dati
15 Linguaggi per le basi di dati Linguaggio per il controllo dei Dati (DCL Data Control Language ) Per definire i diritti di accesso ai dati, i profili degli utenti che accedono alla base di dati Linguaggio di descrizione per la memorizzazione dei dati (DSDL Data Storage Description Language). SQL SQL è un acronimo per Structured Query Language. Fu sviluppato originalmente come linguaggio per il DBMS System R dall IBM Research Laboratory (San Jose, California) nei tardi anni settanta. oggi è ormai considerato uno standard per i database relazionali.
16 SQL L ANSI (American National Standards Institute) e l ISO (International Standardization Organization) hanno provveduto a definire una versione di riferimento di SQL fin dal Da allora vi sono le seguenti versioni: SQL-89 (1989): obsoleta con funzionalità minimali SQL-2 (1992): versione di riferimento per i sistemi commerciali SQL-3 (1999): include nuove caratteristiche SQL permette di interagire con un database relazionale in modo indipendente dalle particolarità dell interfaccia di quest ultimo SQL
17 Personaggi e interpreti progettisti e realizzatori di DBMS progettisti della base di dati e amministratori della base di dati DBA: Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell affidabilità, delle autorizzazioni (anche progettazione) progettisti e programmatori di applicazioni utenti utenti finali (terminalisti): eseguono applicazioni predefinite (transazioni) utenti casuali: eseguono operazioni non previste a priori, usando linguaggi interattivi Proprietà dei DBMS Indipendenza logica e fisica dei dati Ridondanza dei dati pianificata e controllata Consistenza dei dati Integrità semantica e operazionale del database (esattezza e completezza dei dati) Sicurezza dei dati
18 Progettazione del Data Base Progettazione concettuale Diagramma E/R Requisiti Progettazione logica Realizzazione nel DBMS Implementazione Modello relazionale
19 I prodotti della varie fasi Schema concettuale: risultato della fase di analisi della realtà da rappresentare (diagramma Entità/Relazione) È indipendente dalla Base dati utilizzata Schema logico: insieme di informazioni così come sono viste dall utente È dipendente dal modello logico della base dati che si vuole utilizzare (modello relazionale) Realizzazione della base dati: attività per la creazione della base dati nel DBMS utilizzato Occorre utilizzare linguaggi del DBMS con l eventuale ausilio di strumenti visuali Analisi dei requisiti Comprende attività (interconnesse) di acquisizione dei requisiti analisi dei requisiti costruzione del glossario
20 Fonti di Requisiti Possibili fonti: utenti, attraverso: interviste documentazione apposita documentazione esistente: normative (leggi, regolamenti di settore) regolamenti interni, procedure aziendali realizzazioni preesistenti modulistica Acquisizione per interviste utenti diversi possono fornire informazioni diverse utenti a livello più alto hanno spesso una visione più ampia ma meno dettagliata le interviste portano spesso ad una acquisizione dei requisiti per raffinamenti successivi
21 Interazione con gli utenti Spunti: effettuare spesso verifiche di comprensione e coerenza verificare anche per mezzo di esempi (generali e relativi a casi limite) richiedere definizioni e classificazioni far evidenziare gli aspetti essenziali rispetto a quelli marginali Progettazione concettuale Diagramma E/R Requisiti Progettazione logica Realizzazione nel DBMS Implementazione Modello relazionale
22 Modello concettuale dei dati Modello Entità-Relazioni Il modello Entità-Relazioni: le entità Entità una qualsiasi cosa che può essere distintamente identificata e che abbia rilevanza per il sistema considerato. Fatti, persone, cose della applicazione di interesse con proprietà comuni e con esistenza autonoma impiegato, città, conto corrente, ordine, fattura Gli Attributi sono le proprietà delle entità. I valori che possono assumere servono a descrivere le singole entità es nome, cognome Occorrenza (o istanza) è un elemento dell entità Mario Rossi Attributi Identificatori: attributi che permettono di identificare in modo univoco una occorrenza
23 Rappresentazione grafica entità Targa Automobile Modello Data Nascita Persona Indirizzo Cognome Nome Il modello Entità-Relazioni: le relazioni Relazione: legame logico fra due o più entità, rilevante nell applicazione di interesse Ogni relazione ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare sostantivi invece che verbi (se possibile)
24 Il modello Entità-Relazioni: le relazioni Cardinalità: specifica il numero massimo di occorrenze delle relazioni cui ciascuna occorrenza di una entità può partecipare Cardinalità Dire che tra le entità A e B esiste una relazione R con cardinalità 1:1 indica che ad ogni istanza di A corrisponde 0 o 1 istanza di B e viceversa 1:n indica che ad ogni istanza di A possono corrispondere più istanze di B ed ad ogni istanza di B può corrispondere al più una istanza di A n:m ad ogni istanza di A possono corrispondere più istanze di B e viceversa
25 Esempi di occorrenze C1 C2 C3 C4 Cliente O1 O2 O3 O4 Ordine Ad ogni istanza di cliente corrispondono n istanze di ordini Esempio ER
26 Terminologia e notazioni La terminologia e le notazioni del diagramma ER non sono standard Entità (istanza entità), tipo di entità (entità), tipo di relazione (relazione), relazione (istanza di relazione) Notazione cardinalità 1 n cliente impartisce ordine (1,1) (0,n) cliente impartisce ordine C1 C2 C3 C4 Cliente O1 O2 O3 O4 Ordine 1:n indica che ad ogni istanza di cliente possono corrispondere più istanze di ordini ed ad ogni istanza di Ordine può corrispondere al più una istanza di Cliente Terminologia e notazioni cliente cliente n (0,n) impartisce impartisce 1 (1,1) ordine ordine La cardinalità indica quante volte in una relazione un occorrenza dell entità cliente può essere legata a occorrenze dell entità ordini Il cliente può fare (è legato a) n ordini Un ordine è di un solo cliente Quindi in tal caso il numero accanto alla entità indica il numero di istanze partecipanti alla relazione C1 C2 C3 C4 Cliente O1 O2 O3 O4 Ordine
27 Esercizio Cardinalità cliente n prenota m viaggio cittadino 1 possiede 1 Carta di identità libro n riposto 1 scaffale puzzle 1 composto n pezzo Progettazione concettuale Diagramma E/R Requisiti
28 Esercizio Rappresentare le seguenti realtà con il modello E-R: Uno studente è iscritto ad un corso di laurea e deve sostenere la tesi con un relatore Un professore può avere più tesisti ed afferisce ad un dipartimento dell università Disegnare solo le entità le relazioni e le cardinalità senza attributi Professore 1 tesi n studente n n afferenza iscrizione 1 1 Dipartimento Corso di laurea
29 Esercizio Rappresentare le seguenti realtà con il modello E-R: Un azienda di noleggio auto ha un insieme di veicoli. Ogni auto ha un numero di registrazione, un colore e appartiene ad una certa categoria. Ogni categoria è associata ad una tariffa di noleggio identificata da un codice ed avente un determinato costo Costo Nome tariffa 1 prezzo 1 categoria Codice 1 appartenenza Numero Registrazione Colore auto n
30 Modello logico dei dati Modello Relazionale Modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati Disponibile in DBMS reali nel 1981 (difficoltà ad implementare l indipendenza con efficienza e affidabilità) IL MODELLO: I dati sono rappresentati tramite tabelle, chiamate relazioni (da non confondere con le relazioni del modello E/R) Ogni relazione è definita dalle colonne (campi) e da una serie di righe (record)
31 Modello relazionale L ordine dei record e dei campi non è importante Ogni record ha lo stesso numero di informazioni Non possono esistere record identici Per ogni tabella deve esistere una chiave primaria: insieme di campi che identificano le ennuple di una relazione Tabelle e relazioni Una tabella rappresenta una relazione se i valori di ogni colonna sono fra loro omogenei le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro In una tabella che rappresenta una relazione l ordinamento tra le righe è irrilevante l ordinamento tra le colonne è irrilevante
32 Schema e istanza In ogni base di dati esistono: lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura es.: le intestazioni delle tabelle l istanza, i valori attuali, che possono cambiare anche molto rapidamente es.: il corpo di ciascuna tabella Basi di dati: schema e istanza Orario Lo schema della base di dati Insegnamento Docente Aula Ora Analisi matem. I Luigi Neri N1 8:00 Basi di dati Piero Rossi N2 9:45 Chimica Nicola Mori N1 9:45 Fisica I Mario Bruni N1 11:45 Fisica II Mario Bruni N3 9:45 Sistemi inform. Piero Rossi N3 8:00 L'istanza della base di dati
33 Modello ER e modello Relazionale Il modello ER usa 2 costrutti diversi entità e relazioni Il modello relazionale usa un solo costrutto la relazione Le relazioni nel modello ER sono espresse nel modello relazionale tramite l uguaglianza dei valori di attributi corrispondenti a 2 relazioni(tabelle) diverse studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/ Neri Paolo 03/11/ Verdi Luisa 12/11/ Rossi Maria 01/02/1978 esami Studente Voto Corso corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi
34 Importanza delle chiavi L esistenza delle chiavi garantisce l accessibilità a ciascun dato della base di dati Una relazione non può contenere ennuple distinte ma uguali (le chiavi devono assumere valori distinti) Le chiavi permettono di correlare i dati in relazioni diverse (il modello relazionale è basato su valori) In presenza di valori nulli, i valori della chiave non permettono di identificare le ennuple di realizzare facilmente i riferimenti da altre relazioni Chiavi esterne Si dice che un campo Fk di una relazione R è una chiave esterna rispetto ad un altra relazione S, con riferimento ad una sua chiave, se, in qualunque stato del DB e per ogni tupla di R, il valore di Fk, a meno di non essere null, coincide con il valore della chiave di qualche tupla di S Si dice che la relazione S è riferita o referenziata dalla relazione R tramite la chiave esterna Fk
35 studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/ Neri Paolo 03/11/ Verdi Luisa 12/11/ Rossi Maria 01/02/1978 esami Studente Voto Corso Chiave 3456 esterna rispetto 24 la relazione 02 studenti corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni Chiave esterna rispetto la relazione corsi 04 Chimica Verdi Vincolo di integrità referenziale Un vincolo di integrità referenziale ( foreign key ) fra gli attributi X di una relazione R 1 e un altra relazione R 2 impone ai valori su X in R 1 di comparire come valori della chiave primaria di R 2 Integrità referenziale: informazioni in relazioni diverse sono correlate attraverso valori comuni in particolare, valori delle chiavi (primarie) le correlazioni debbono essere coerenti
36 Vincoli di integrità referenziale È opportuno fissare 2 vincoli sulle chiavi esterne: Non è possibile inserire una chiave esterna di un record di una tabella se non esiste il relativo valore tra i record della tabella correlata Non è possibile cancellare un record di una tabella se esistono in altre tabelle chiavi esterne che fanno riferimento e tale record studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/ Neri Paolo 03/11/ Verdi Luisa 12/11/ Rossi Maria 01/02/1978 esami Studente Voto Corso Chiave 3456 esterna rispetto 24 la relazione 02 studenti corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni Chiave esterna rispetto la relazione corsi 04 Chimica Verdi
37 Esempio: Azioni compensative Viene eliminata una ennupla causando una violazione Comportamento standard : Rifiuto dell'operazione Azioni compensative: Eliminazione in cascata Introduzione di valori nulli Vincoli semantici Vincoli che pongono restrizioni sui possibili valori che gli attributi possono assumere nell ambito del tipo di dati specifico del loro dominio Esempio: Il voto è un numero compreso tra 18 e 30 Matricola è di tipo alfanumerico con il vincolo di non utilizzare caratteri speciali e di iniziare cono 2 lettere
38 Progettazione concettuale Diagramma E/R Requisiti Progettazione logica Modello relazionale Diagramma E/R Modello relazionale Entità Tabelle Attributi Colonne tabelle (campi) Dominio: insieme di valori che il campo può assumere Fisico: tipo di dato che può essere accolto in un campo (nome= testo di 40 caratteri) Logico: insieme di informazioni associabili a quel campo (20052 è un CAP valido se di 5 cifre e cap esistente) Occorrenze Record (tuple): righe della tabella Identificatori Chiavi primarie: insiemi di campi il cui valore identifica univocamente il record No valori ripetuti No valori nulli
39 Diagramma E/R Modello relazionale Relazioni (E/R) Tabelle + chiavi esterne Relazioni 1 a 1: 1 si inserisce tra i campi di una entità la chiave primaria dell entità ad essa collegata e viceversa Relazioni 1 a n: n si inserisce nella tabella relativa all entità della parte molti il campo chiave primaria della tabella relativa all entità della parte 1 Relazioni n a m: m si divide la relazione in 2 relazioni più semplici di tipo 1 a n introducendo una entità associativa Esempio relazione 1 a 1 Studente Tessera
40 Diagramma E/R Modello relazionale Relazioni (E/R) Tabelle + chiavi esterne Relazioni 1 a 1: 1 si inserisce tra i campi di una entità la chiave primaria dell entità ad essa collegata e viceversa Relazioni 1 a n: n si inserisce nella tabella relativa all entità della parte molti il campo chiave primaria della tabella relativa all entità della parte 1 Relazioni n a m: m si divide la relazione in 2 relazioni più semplici di tipo 1 a n introducendo una entità associativa Esempio relazione 1 a n Professore Studente
41 Diagramma E/R Modello relazionale Relazioni (E/R) Tabelle + chiavi esterne Relazioni 1 a 1: 1 si inserisce tra i campi di una entità la chiave primaria dell entità ad essa collegata e viceversa Relazioni 1 a n: n si inserisce nella tabella relativa all entità della parte molti il campo chiave primaria della tabella relativa all entità della parte 1 Relazioni n a m: m si divide la relazione in 2 relazioni più semplici di tipo 1 a n introducendo una entità associativa Esempio relazione n a m
42 Esempio relazione n a m Prenotazione Esempio relazione n a m Passeggeri Voli
43 studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/ Neri Paolo 03/11/ Verdi Luisa 12/11/ Rossi Maria 01/02/1978 esami Studente Voto Corso corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/ Neri Paolo 03/11/ Verdi Luisa 12/11/ Rossi Maria 01/02/1978 esami Studente Voto Corso corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi
44 Esercizio Relationship uno a molti Cognome Data Ingaggio nascita Città Nome n 1 Giocatore Contratto Squadra Ruolo Colori sociali Giocatore(Cognome, DataNascita, Ruolo, Squadra, Ingaggio) Squadra(Nome, Città, ColoriSociali) con vincolo di integrità referenziale fra Squadra in Giocatore e la chiave di Squadra se la cardinalità minima della relationship è 0, allora Squadra in Giocatore deve ammettere valore nullo
45 Entità e relationship molti a molti Cognome Matricola Data inizio Codice Nome Impiegato n Partecipazione m Progetto Stipendio Budget Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) Entità e Relazioni molti a molti Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) con vincoli di integrità referenziale fra Matricola in Partecipazione e (la chiave di) Impiegato Codice in Partecipazione e (la chiave di) Progetto
46 Nomi più espressivi per gli attributi della chiave della relazione che rappresenta la relationship Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) Partecipazione(Impiegato, Progetto, DataInizio) Relationship ricorsive Quantità (0,N) (0,N) Composizione Composto Prodotto Componente Costo Nome Codice Prodotto(Codice, Nome, Costo) Composizione(Composto, Componente, Quantità)
47 Nome Relationship n-arie Partita IVA Quantità Genere Codice Fornitore (0,N) Fornitura (1,N) Prodotto (1,N) Dipartimento Nome Telefono Fornitore(PartitaIVA, Nome) Prodotto(Codice, Genere) Dipartimento(Nome, Telefono) Fornitura(Fornitore, Prodotto, Dipartimento, Quantità) Un buon progetto Definire il diagramma E/R Definire le entità del modello E/R Definire gli attributi delle singole entità Determinare le relazioni tra entità nel modello E/R Definire il modello relazionale Convertire le entità e gli attributi in tabelle e campi Definire le chiavi primarie Convertire le relazioni del modello E/R (i campi di collegamento) Definire i vincoli di integrità referenziale e i vincoli semantici Valutare lo schema relazionale realizzato
48 Anomalie e normalizzazione Un buon progetto I passi visti per la progettazione permettono di costruire lo schema logico di un data base (modello relazionale) consistente: riducendo la ridondanza dei dati Assenza di anomalie Cancellazione Inserimento Aggiornamento
49 Anomalie Anomalia di cancellazione: comporta la perdita non voluta di dati Anomalia di inserimento: comporta la presenza di record non coerenti Anomalia di aggiornamento: comporta la ripetizione delle operazioni di aggiornamento a causa della ridondanza dei dati o la presenza di incoerenze qualora l aggiornamento non viene fatto per tutti i record interessati dall aggiornamento Esempio ridondanza dei dati Ogni volta che uno studente sostiene un esame vengono ripetuti i dati relativi (Matricola cognome nome indirizzo)
50 Anomalia di cancellazione i dati dell esame di economia sono presenti solo in tale record la cancellazione implica la perdita di informazione sull esame Anomalia di aggiornamento Se il nome dell esame di Inglese2 diventa Inglese finale Occorre modificare tutti i record in cui compare Inglese2
51 Anomalia di inserimento Per inserire un nuovo corso occorre inserire i dati di un esame Esempio dipendenza funzionale Anomalia di inserimento e di aggiornamento: Persona( Cognome, Nome, DataNascita, Onomastico) Rossi, Giuseppe, 3/7/83, 2 aprile Errore: S.Giuseppe è il 19 marzo Persona( Cognome, Nome, DataNascita, CittàNascita, Regione) Rossi Giuseppe 3/7/83 Roma Lazio Molla Alberto 23/8/77 Roma Campania Errore Roma non è in Campania
52 Dipendenza Funzionale Data una relazione R e due suoi campi X e Y si dice che Y dipende funzionalmente da X se i valori di X determinano univocamente i valori di Y Esempio Persona( Cognome, Nome, DataNascita, Onomastico) Dipendenza funzionale tra Nome ed Onomastico Persona( Cognome, Nome, DataNascita, CittàNascita, Regione) Dipendenza funzionale tra CittàNascita e Regione Normalizzazione Processo suddiviso in fasi denominate forme normali con l obbiettivo di ottimizzare la struttura della Base Dati ottenendo: Modello dei dati consistente Eliminazione delle anomalie di cancellazione, inserimento, aggiornamento Riduzione della ridondanza
53 Normalizzazione Prima forma normale Occorre eliminare i gruppi di dati ripetitivi. I passi da seguire: 1. Individuare gli attributi che si ripetono per valore in record differenti all interno della stessa tabella 2. Creare una tabella con i campi non ripetitivi 3. Creare una tabella usando gli attributi che si ripetono + il campo di collegamento con la prima tabella (chiave esterna)
54 Normalizzazione Seconda forma normale: Occorre verificare che i campi non chiave primaria dipendono dall intera chiave primaria e non da parte di essa 1. Identificare dipendenze parziali 2. Creare una tabella usando i campi collegati in modo parziale 3. Creare una tabella togliendo dalla tabella di partenza i campi che dipendevano in modo parziale
55 Normalizzazione Terza forma normale Occorre verificare che i campi non chiave primaria dipendono direttamente dalla chiave primaria e non da qualche altro campo all interno della tabella 1. Identificare le dipendenze transitive 2. Creare una tabella usando i campi in dipendenza transitiva 3. Creare una tabella con i campi rimanenti Iterare i passi fino ad eliminare tutte le dipendenze transitive
56 Implementazione DB SQL
57 Linguaggi per le basi di dati Linguaggi di Definizione dei Dati (DDL Data Definition Language ) Per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali Linguaggi per la Manipolazione dei Dati (DML Data Manipulation Language ) Per l interrogazione e l aggiornamento di (istanze di) basi di dati Linguaggi per il controllo dei Dati (DCL Data Control Language ) Per definire i diritti di accesso ai dati, i profili degli utenti che accedono alla base di dati SQL Linguaggio testuale interattivo
58 Linguaggi per basi di dati Un altro contributo all efficacia: disponibilità di vari linguaggi e interfacce linguaggi testuali interattivi (SQL) comandi (SQL) immersi in un linguaggio ospite (Pascal, Java, C...) comandi (SQL) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate) con interfacce amichevoli (senza linguaggio testuale) SQL, un linguaggio interattivo "Trovare i corsi tenuti in aule a piano terra" Corsi Corso Docente Basi di dati Rossi Sistemi Neri Reti Bruni Controlli Bruni Aula DS3 N3 N3 G Aule Nome DS1 N3 G Edificio OMI OMI Pincherle Piano Terra Terra Primo
59 SQL, un linguaggio interattivo SELECT Corso, Aula, Piano FROM Aule, Corsi WHERE Nome = Aula AND Piano = "Terra" Corso Sistemi Reti Aula N3 N3 Piano Terra Terra SQL immerso in linguaggio ospite write('nome della citta''?'); readln(citta); EXEC SQL DECLARE P CURSOR FOR SELECT NOME, REDDITO FROM PERSONE WHERE CITTA = :citta ; EXEC SQL OPEN P ; EXEC SQL FETCH P INTO :nome, :reddito ; while SQLCODE = 0 do begin write('nome della persona:', nome, 'aumento?'); readln(aumento); EXEC SQL UPDATE PERSONE SET REDDITO = REDDITO + :aumento WHERE CURRENT OF P EXEC SQL FETCH P INTO :nome, :reddito end; EXEC SQL CLOSE CURSOR P
60 SQL in linguaggio ad hoc (Oracle PL/SQL) declare Stip number; begin select Stipendio into Stip from Impiegato where Matricola = '575488' for update of Stipendio; if Stip > 30 then update Impiegato set Stipendio = Stipendio * 1.1 where Matricola = '575488'; else update Impiegato set Stipendio = Stipendio * 1.15 where Matricola = '575488'; end if; commit; exception when no_data_found then insert into Errori values('matricola inesistente',sysdate); end; Interazione non testuale (Access)
61 SQL come DDL Definizione dello schema CREATE TABLE, esempio CREATE TABLE Studente( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, )
62 Domini elementari Carattere: singoli caratteri o stringhe, anche di lunghezza variabile Bit: singoli booleani o stringhe Numerici, esatti e approssimati Data, ora, intervalli di tempo Introdotti in SQL:1999: Boolean BLOB, CLOB (binary/character large object): per grandi immagini e testi Definizione di domini Istruzione CREATE DOMAIN: definisce un dominio (semplice), utilizzabile in definizioni di relazioni, anche con vincoli e valori di default Esempio CREATE DOMAIN Voto AS SMALLINT DEFAULT NULL CHECK ( value >=18 AND value <= 30 )
63 Chiave primaria Si possono utilizzare due sintassi equivalenti: Matricola CHAR(6) PRIMARY KEY, Matricola CHAR(6),, PRIMARY KEY (Matricola) Vincoli intrarelazionali NOT NULL UNIQUE definisce chiavi PRIMARY KEY: chiave primaria (una sola, implica NOT NULL)
64 Vincoli interrelazionali REFERENCES e FOREIGN KEY permettono di definire vincoli di integrità referenziale di nuovo due sintassi per singoli attributi su più attributi E' possibile definire politiche di reazione alla violazione Infrazioni Codice Data Vigile Prov Numero /2/ MI 39548K /3/ TO E /4/ PR /2/ PR Vigili Matricola Cognome Nome 3987 Rossi Luca 3295 Neri Piero 9345 Neri Mario 7543 Mori Gino
65 Infrazioni Codice Data Vigile Prov Numero /2/ MI 39548K /3/ TO E /4/ PR /2/ PR Auto Prov Numero Cognome Nome MI 39548K Rossi Mario TO E39548 Rossi Mario PR Neri Luca CREATE TABLE, esempio CREATE TABLE Infrazioni( Codice CHAR(6) NOT NULL PRIMARY KEY, Data DATE NOT NULL, Vigile INTEGER NOT NULL REFERENCES Vigili(Matricola), Provincia CHAR(2), Numero CHAR(6), FOREIGN KEY(Provincia, Numero) REFERENCES Auto(Provincia, Numero) )
66 ALTER DOMAIN ALTER TABLE DROP DOMAIN DROP TABLE... Modifiche degli schemi SQL come DML Inserimenti modifiche cancellazioni di dati Variazione dell istanza del DB
67 SQL, operazioni sui dati (DML) interrogazione: SELECT ListaAttributi FROM ListaTabelle [ WHERE Condizione ] modifica: INSERT, DELETE, UPDATE Maternità Paternità Madre Luisa Luisa Anna Anna Maria Maria Figlio Maria Luigi Olga Filippo Andrea Aldo Padre Figlio Sergio Franco Luigi Olga Luigi Filippo Franco Andrea Franco Aldo Persone Nome Età Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 Luigi 50 Franco 60 Olga 30 Sergio 85 Luisa 75 Reddito
68 Nome e reddito delle persone con meno di trenta anni select nome, reddito from persone where eta <= 30 Persone Nome Reddito Età Reddito Andrea Aldo Filippo Maria Anna Filippo Luigi Franco Olga Sergio Luisa Condizione complessa select * from persone where reddito > 25 and (eta < 30 or eta > 60) Seleziona le persone che hanno un reddito maggiore di 25 ed un età minore di 30 o maggiore di 60 select * from persone where nome like 'A_d%' Seleziona le persone che hanno un nome che inizia per 'A' e ha una 'd' come terza lettera
69 Operazioni di aggiornamento operazioni di inserimento: INSERT INTO Tabella [ ( Attributi ) ] VALUES( Valori ) eliminazione: DELETE FROM Tabella [ WHERE Condizione ] modifica: update di una o più ennuple di una relazione sulla base di una condizione che può coinvolgere anche altre relazioni Esempi INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52) INSERT INTO Persone(Nome, Reddito) VALUES('Lino',55)
70 Eliminazione di ennuple DELETE FROM Tabella [ WHERE Condizione ] DELETE FROM Persone WHERE Eta < 35 SQL come DCL Come definire i privilegi
71 Controllo dell'accesso In SQL è possibile specificare chi (utente) e come (lettura, scrittura, ) può utilizzare la base di dati (o parte di essa) Oggetto dei privilegi (diritti di accesso) sono di solito le tabelle, ma anche altri tipi di risorse, quali ad esempio singoli attributi, domini,... Un utente predefinito _system (amministratore della base di dati) ha tutti i privilegi Il creatore di una risorsa ha tutti i privilegi su di essa Privilegi Un privilegio è caratterizzato da: la risorsa cui si riferisce l'utente che concede il privilegio l'utente che riceve il privilegio l'azione che viene permessa la trasmissibilità del privilegio
72 Tipi di privilegi offerti da SQL insert: permette di inserire nuovi oggetti (ennuple) update: permette di modificare il contenuto delete: permette di eliminare oggetti select: permette di leggere la risorsa references: permette la definizione di vincoli di integrità referenziale verso la risorsa (può limitare la possibilità di modificare la risorsa) usage: permette l'utilizzo in una definizione (per esempio, di un dominio) grant e revoke Concessione di privilegi: grant < Privileges all privileges > on Resource to Users [ with grant option ] grant option specifica se il privilegio può essere trasmesso ad altri utenti grant select on Department to Stefano Revoca di privilegi revoke Privileges on Resource from Users [ restrict cascade ]
73 Transazione Insieme di operazioni da considerare indivisibile ("atomico"), corretto anche in presenza di concorrenza e con effetti definitivi Proprietà ("acide"): Atomicità Consistenza Isolamento Durabilità (persistenza) Istruzioni fondamentali Transazioni in SQL begin transaction: specifica l'inizio della transazione (le operazioni non vengono eseguite sulla base di dati) commit work: le operazioni specificate a partire dal begin transaction vengono eseguite rollback work: si rinuncia all'esecuzione delle operazioni specificate dopo l'ultimo begin transaction
74 Una transazione in SQL begin transaction; update ContoCorrente set Saldo = Saldo 10 where NumeroConto = ; update ContoCorrente set Saldo = Saldo + 10 where NumeroConto = ; commit work;
SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"
SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliSistema di Gestione di Basi di Dati DataBase Management System DBMS
Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,
DettagliLezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliChe cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati
Che cos è un DBMS? Capitolo 1 Introduzione ai sistemi di basi di dati Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni
DettagliInformatica (Basi di Dati)
Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati
DettagliSQL Laboratorio di Basi di Dati a.a. 2002/2003
1 SQL Laboratorio di Basi di Dati a.a. 2002/2003 dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 2 Cos'è SQL? Linguaggio di riferimento per le basi di dati relazionali
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliBASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone
BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell
DettagliBasi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007
Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DettagliBasi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati
Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza
DettagliElena Baralis 2013 Politecnico di Torino 1
Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica
DettagliBASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA
BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza
DettagliSistemi Informativi e Basi di Dati
Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli
DettagliBasi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti
Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo
DettagliI Sistemi Informativi
I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliBasi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS
Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)
DettagliLe Basi di Dati. Le Basi di Dati
Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per
DettagliTecnologia di un Database Server (centralizzato) Introduzione generale
Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliAlessandra Raffaetà. Basi di Dati
Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati
DettagliLo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.
Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei
DettagliIntroduzione al data base
Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli
DettagliTEORIA sulle BASI DI DATI
TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere
DettagliArchivi e Basi di Dati
Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati
DettagliGestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliInformatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
DettagliModello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli
Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliMODELLO RELAZIONALE. Introduzione
MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliBasi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011
Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse
DettagliCardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni
e identificatori Codice (0,1) (1,1) Dirige Informatica Lezione 8 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Cognome
DettagliFacoltà di Farmacia - Corso di Informatica
Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliBase di dati e sistemi informativi
Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per
DettagliBASI DI DATI - : I modelli di database
BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliVincoli di integrità
Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?
DettagliInformatica Documentale
Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,
DettagliAl giorno d oggi, i sistemi per la gestione di database
Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,
DettagliDATABASE RELAZIONALI
1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.
DettagliL architettura di un DBMS
L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze
DettagliIntroduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei
Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con
DettagliBasi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2
Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980
DettagliMODELLO E/R. Modellazione dei dati
MODELLO E/R Maria Mirto Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti
DettagliProgramma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione
Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni
Dettaglidatabase: modello entityrelationship
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi
DettagliInformatica 2 Basi di dati
Informatica 2 Basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it DB - Introduzione 1 Recapiti Prof. Giuffrida Giovanni Email: giovanni.giuffrida@dmi.unict.it Info sul corso:
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
DettagliSQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:
SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition
DettagliSISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione
SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi
DettagliDatabase. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014
Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche
DettagliI database. Cosa sono e a cosa servono i Database
I database Estratto dal Modulo 1 - I database Prof. Piero GALLO 1 Cosa sono e a cosa servono i Database Un database(o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di
DettagliData Base. Prof. Filippo TROTTA
Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono
DettagliInformatica (Basi di Dati)
Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliIL SISTEMA INFORMATIVO
IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme
DettagliLinguaggio SQL: fondamenti D B M G. Gestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
DettagliBASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015
BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliLABORATORIO. 2 Lezioni su Basi di Dati Contatti:
PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle
DettagliBasi di Dati e Microsoft Access
Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliProgettazione di una base di dati Ufficio della Motorizzazione
Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliMODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
MODELLO E/R Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata individuandone
DettagliCorso di Informatica Generale 1 IN1. Linguaggio SQL
Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:
DettagliARCHIVI E DATABASE (prof. Ivaldi Giuliano)
ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
DettagliInformatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati
Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità
DettagliLe Basi di dati: generalità. Unità di Apprendimento A1 1
Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono
DettagliProgettazione Logica. Progettazione Logica
Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Tabelle per ogni concetto Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it Passaggio al modello logico (1)
DettagliLinguaggio SQL. Structured Query Language
Linguaggio SQL Structured Query Language Creato negli anni 70 presso IBM Inizialmente solo linguaggio di interrogazione Ora linguaggio di riferimento per DB relazionali Standardizzato grazie al lavoro
DettagliBasi di Dati Relazionali
Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica
DettagliBasi di Dati Relazionali
Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare
DettagliDB - Modello relazionale dei dati. DB - Modello Relazionale 1
DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito
DettagliLinguaggio SQL: costrutti avanzati
Linguaggio SQL: costrutti avanzati Gestione delle transazioni Introduzione Transazioni in SQL Proprietà delle transazioni 2 Pag. 1 1 Gestione delle transazioni Esempio applicativo Operazioni bancarie operazione
DettagliPartite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni
Perché studiare il Modello Relazionale? Capitolo 2 Il modello relazionale È il modello più largamente usato Produttori: IBM, Informix, Microsoft, Oracle, Sybase, etc. Sistemi proprietari nei modelli più
DettagliCorso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati
Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
DettagliCorso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale
Corso di Basi di Dati Linguaggi per basi di dati: lgebra Relazionale Donatella Gubiani Linguaggi per basi di dati Si possono distinguere diversi tipi di linguaggi per la gestione dei dati: Linguaggio di
DettagliOrganizzazione delle informazioni: Database
Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)
DettagliDatabase: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro
Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe
DettagliPag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo
Gestione delle transazioni Introduzione Transazioni in SQL Linguaggio SQL: costrutti avanzati 2 applicativo Operazioni bancarie operazione di prelievo dal proprio conto corrente mediante bancomat Gestione
DettagliModello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi
Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliDIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età
PROGETTAZIONE LOGICA 7í0 Progettazione logica Obiettivo: ëtradurre" lo schema concettuale in uno schema logico che rappresenti gli stessi dati in maniera corretta ed eæciente Input: Output: æ schema concettuale
Dettagli