Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
COTS.Analisi della possibilità di esternalizzare [outsourcing]
John Zachman definisce fondamentale l'uso di una architettura per descrivere il sistema informativo aziendale in quanto la tecnologia iniziava a consentire la distribuzione di applicazioni e dati su macchine diverse: a suo parere la decentralizzazione senza una struttura ben precisa avrebbe generato il caos. Propose così il framework per definire l'Enterprise Architecture: una tassonomia per organizzare documenti, specifiche e modelli architetturali. In questo caso, il blueprint è definito da una matrice che organizza in modo sistematico quelli che sono i modelli utilizzati per rappresentare singole componenti della Enterprise Architecture. Il framework di Zachman è organizzato in Colonne: definiscono gli aspetti da analizzare, in particolare
- Dati: si considerano i dati di cui l'organizzazione ha bisogno per operare.
- Funzioni: si analizzano le funzionalità eseguite
[fisico]: pensato per chi deve realizzare il sistema e deve tradurre il progetto logico in un progetto fisico.
Rappresentazione dettagliata: raccoglie le specifiche da dare ai programmatori per la realizzazione effettiva del sistema.
Funzionalità organizzativa: effettiva implementazione del sistema che è parte dell'organizzazione.
4MODELLO RELAZIONALE
Una base di dati è un insieme di dati organizzati in maniera strutturata
Grandi: possono avere grandi dimensioni e dunque il sistema deve limitare la dimensione di dati che possono essere gestiti.
Condivise: applicazioni e utenti diversi devono poter accedere a dati comuni.
Persistenti: hanno un tempo di vita che non è limitato a quello delle singole esecuzioni dei programmi che le utilizzano.
DBMS
Il Data Base Management System [ ] è un software che fa parte del sistema informativo e gestisce tutto il ciclo di vita della risorsa informazione.
Affidabili: il sistema conserva intatto il
contenuto della base di dati in caso di malfunzionamenti hardware o software. Garantiscono privatezza: ciascun utente viene abilitato a svolgere solo determinate azioni sui dati attraverso meccanismi di autorizzazione. Efficienti: le operazioni vengono svolte utilizzando un insieme di risorse che è accettabile per gli utenti. Efficaci: la base di dati rende produttive le attività dei suoi utenti.
Il modello relazionale è un modello dei dati, ovvero è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura. Nei database i dati sono organizzati per facilitarne l'inserimento e la ricerca.
Modello relazionale: è basato sul concetto matematico di relazione R × D × ... × Dn.
Modello gerarchico: basato sull'uso di strutture ad albero [scomodo per recuperare informazioni].
Modello reticolare: basato sull'uso dei graffi.
Modello a oggetti: estende le basi
- Il paradigma di programmazione ad oggetti è un modello di programmazione che si basa sulla creazione di oggetti, che sono istanze di classi, e sulla loro interazione tramite messaggi.
- Una relazione è un sotto-insieme del prodotto cartesiano tra due o più domini, rappresentato da una tabella.
- Il grado di una relazione corrisponde al numero di attributi presenti nella tabella.
- La cardinalità di una relazione corrisponde al numero di tuple, cioè di righe, presenti nella tabella.
- Una tupla è una funzione che associa a ciascun attributo un valore del dominio.
- Per rappresentare la non disponibilità di un valore, nelle rappresentazioni tabellari si utilizza il valore NULL.
- Esempi di relazioni in un modello logico-relazionale sono la tabella "Squadra" con gli attributi nome, stadio, allenatore e anno fondazione, la tabella "Partita" con gli attributi squadra casa, gol casa, squadra ospite e gol ospite, e la tabella "Studente" con gli attributi nome, cognome e media.
data nascita)Nome Cognom Media Datae nascita
Mario Rossi 25 14/08/96
Le strutture del modello relazionale ci permettono di organizzare le informazioni di interesse per le nostre applicazioni. Non è vero che qualsiasi insieme di tuple sullo schema rappresenti informazioni corrette per l'applicazione. È stato così introdotto il concetto di vincolo di integrità:
Vincolo intra-relazionale: se il suo soddisfacimento è definito rispetto a singole relazioni.
Vincolo di tupla: Considerano valori di una singola tupla ed esprimono condizioni sui valori di ciascuna tupla, indipendentemente dalle altre.
Vincolo di dominio: considerano valori di elementi di una singola tupla.
Esempio: Partita(squadra casa, gol casa, squadra ospite, gol ospite)
Il valore milano non ha senso perché nessuna squadra ha quel nome.
Il valore juventus non ha senso perché la squadra non può giocare contro se stessa.
Vincolo inter-relazionale: se coinvolge più
relazioni.‐ Vincolo di integrità referenziale [foreing‐ xkey]: fra un insieme di attributi di unaR Rrelazione e un'altra relazione è1 2xsoddisfatto se i valori di ciascunaRtupla dell'istanza compaiono come1valori della chiave primaria dell'istanzaR .2Nell’immagine non posso aggiungere la referenza studente a corsoperche esso non è riferito al singolo studente e, allo stesso modo, nonposso aggiungere corso a studente con la referenza corso perché ognistudente frequenta più di un corso. Dunque devo creare una terzarelazione frequenta che ha come chiavi matricola e codice [non cisono duplicazioni]. Si può anche usare la notazione puntata:frequenta.matricola -> studente.matricola / corso.docente ->docente.matricola frequenta.codice -> corso.codice / docente.nome <>docente.cognomeSe cambia istanza di un dominio target del vincolo di integritàreferenziale?Dandling reference: tengo l'attributo cheviene chiamato rollback. Un DBMS deve garantire la consistenza dei dati, ovvero che le operazioni eseguite sul database rispettino le regole di integrità definite. Le regole di integrità possono essere di diversi tipi, ad esempio: integrità referenziale, integrità di dominio, integrità di chiave primaria, ecc. Il DBMS si occupa di verificare che queste regole siano rispettate durante l'esecuzione delle operazioni sul database. Se una regola di integrità viene violata, il DBMS può impedire l'esecuzione dell'operazione o eseguire automaticamente delle azioni correttive, come ad esempio cancellare o aggiornare altre tuple per mantenere la consistenza dei dati.Corrisponde a un insieme di operazioni in un database con una serie di proprietà che devono coesistere [essere svolte contemporaneamente].
Atomicity: Tutte le operazioni devono essere eseguite, oppure nessuna.
Consistency: alla fine della transazione i vincoli devono essere rispettati.
Isolation: le transazioni devono essere eseguite in modo indipendente da altre.
Durability: il risultato delle transazioni è permanente.
ALGEBRA RELAZIONALE
L'algebra relazionale è basata sul modello logico relazionale ed è un insieme di operatori su relazioni per creare variazioni di relazioni e unire relazioni.
Unari
Ridenominazione: cambia il nome di un attributo e genera una relazione senza nome: ρ Ra → a 11 2 R con la stessa istanza intenzionale di .
1 R con un diverso schema estensionale di , dove i domini sono 1 rinominati.
Selezione: filtra le tuple di una relazione e genera una relazione senza nome: ¿ ¿ condizione > R
1σ ¿ R Con lo stesso schema estensionale di . 1 Con una diversa istanza intensionale, dove ogni tupla rispetto alla condizione. Proiezione: filtra i domini di una relazione genera una relazione senza nome:¿ >¿lista domini R 1Π ¿ R Con stessa istanza intenzionale di . 1 Con un diverso schema estensionale, con i domini elencati Binari Unione: unisce due relazioni con lo stesso schema e genera una relazione senza nome:∪R R1 2 ( ) + )cardinalità ≤ cardinalità R cardinalità(R1 2( ) =grado( )grado=grado R R1 2 R R Con lo stesso schema estensionale di e . 1 2 7R R Con l’unione delle istanze intensionale di e . 1 2 Intersezione: opera l'intersezione di due relazioni con lo stesso schema e genera una relazione senza nome:R ∩ R1 2 ( ) ( )[ +cardinalità ]cardinalità ≤ min cardinalità R R1 2( ) =grado( )grado=grado R R Con lo stesso schema estensionale di e. 1 2R RCon l'intersezione delle istanze intensionale di e . 1 2Sottrazione: opera la sottrazione insiemistica tra due relazioni con lo stesso schema e genera una relazione senza nome:∖R R1 2 ( )cardinalità ≤ cardinalità R 1( ) =grado( )grado=grado R R1 2 R RCon lo s