Estratto del documento

Sistemi di gestione dati e processi

Modulo I: basi di dati

Prof.ssa Anisa Rula, corso ITID anno 2021/2022

Elisa Soldi 1

Introduzione database

  • Dato 4
  • Base di dati 4
  • Ruoli 4
  • Rappresentazione dei dati 4
  • Architettura di un DBMS 5

Modello ER

  • Vincolo di cardinalità (Modello ER) 5
  • Relazione IS-A tra entità 5
  • Generalizzazione tra entità 5
  • Classificazione relazioni 5
  • Identificatori 6

Modello relazionale

  • Relazione 6
  • Definizioni: 6
  • Schema di relazione: 6
  • Schema di base di dati 6
  • Ennupla 6
  • Istanza di relazione 6
  • Istanza di base di dati 6
  • Vincoli di integrità 6
  • Chiave 7
  • Vincoli di integrità referenziale 7
  • Valori null 7
  • Progettazione concettuale 7
  • Fasi progettazione base di dati 7
  • Caratteristiche dello schema concettuale 7
  • Strategie 7
  • Progettazione logica 8
  • Caratteristiche dello schema logico 8
  • Ristrutturazione schema concettuale 8
  • Traduzione relationship e entità 8

SQL

  • Qualità di un’interrogazione 9
  • Select 9
  • Parole chiave 9
  • Operatore join 9
  • Operatori aggregati 10
  • Operatori di unione, intersezione e differenza 10
  • Select nidificate 10
  • Operatori any, all, in, not in, exists, not exists 10
  • Valutazione select nidificate 10

Sistemi informativi

  • Sistema informativo 10
  • Risorsa 11
  • Gli strati del sistema informativo 11
  • I processi 12
  • I modelli del sistema informativo 12
  • Efficienza ed efficacia dei sistemi informativi 13
  • Tecnologie IT 14
  • Classificazione Sistemi informativi 14

Enterprise system

  • Processo aziendale 15
  • Enterprise System 15
  • Modello del portafoglio applicativo 15

3

Introduzione database

1. Dato

Un dato è un fatto o una misura di evento espressa tramite numeri o a parole in modo oggettivo, che se interpretato consente di ottenere un'informazione.

I dati vengono raccolti e organizzati all'interno di una base di dati, utilizzata per lo svolgimento di determinate attività.

La base di dati è una componente di un sistema informatico, che sfrutta la tecnologia per gestire e automatizzare l'informazione. A sua volta il sistema informatico è una parte del sistema informativo di un'organizzazione o di un suo specifico settore/attività.

2. Base di dati

La base di dati ha due caratteristiche importanti: è integrata e condivisa tra i settori di un'organizzazione. Per questo motivo possono sorgere delle problematiche, che vanno opportunamente risolte. La prima problematica è la possibilità che esistano dati ripetuti (o ridondanti) ed eventualmente incoerenti tra più archivi di dati. Una soluzione a questo consiste proprio nella condivisione di parte delle informazioni tra gli archivi presenti. Tuttavia, così facendo si innescano altre due problematiche: la prima la si incontra nel caso di attività su diversi dati che sono condivisi, anche solo in parte, la seconda si ha quando le attività sono svolte sulla stessa porzione di dati da parte di più utenti.

Nel primo caso si risolve la questione introducendo dei meccanismi di autorizzazione di accesso alle informazioni, cioè non tutti possono accedere a tutti i dati, mentre la seconda con l'introduzione di controlli di concorrenza.

Queste operazioni necessitano di un sistema di gestione, cioè di un prodotto software che riesca a gestire collezioni di dati di grandi dimensioni, condivisi e persistenti nel tempo, garantendo l'affidabilità dell'hardware e del software, sicurezza e quindi un controllo agli accessi alle informazioni ed efficienza, ossia un utilizzo bilanciato di risorse, spazio e tempo.

3. Ruoli

Ad una base di dati contribuiscono sia i progettisti e gli amministratori del database stesso, sia i programmatori delle applicazioni che si appoggiano sul database, sia gli utenti. Questi ultimi in particolare si dividono tra utenti casuali, che utilizzano i data manipulation languages (es. SQL), ossia linguaggi interattivi di manipolazione dei dati che consentono di trovare e/o aggiornare i dati all'interno del database, e utenti finali, ossia i veri e propri utilizzatori delle applicazioni.

4. Rappresentazione dei dati

Come vengono rappresentati i dati all'interno di un database management system?

Ci sono diversi livelli di astrazione. Questo consente di separare la rappresentazione fisica dei dati, da quella logica, consentendo la modifica di entrambe le parti in modo indipendente, ossia la modifica della parte fisica non richiede una riprogettazione logica del database.

In prima approssimazione possiamo distinguere lo schema, ossia l'insieme dei concetti e delle relazioni tra di essi, che rappresenta la parte intensionale del database e sostanzialmente invariante nel tempo, dalle istanze, che sono invece i dati veri e propri, che rappresentano la parte estensionale e che possono subire modifiche.

Esistono poi dei modelli di dati, ossia dei costrutti che consentono di organizzare i dati in concetti e di descriverne la dinamica, ossia come variano nel tempo, mediante i data description languages, ossia linguaggi di descrizione dei dati.

I principali modelli di dati sono quello logico e quello concettuale.

Nel modello logico troviamo ad esempio il modello relazionale, che sfrutta le relazioni o tabelle per definire record di dati omogenei, tenendo separate la parte logica dalla rappresentazione fisica.

4

Nel modello concettuale invece si cerca di descrivere direttamente i concetti del mondo reale, sfruttando per esempio il modello di entità relazione.

5. Architettura di un DBMS

Finora abbiamo visto la suddivisione a due livelli, quello logico, in cui si descrivono i dati con strutture di alto livello, e quello fisico, in cui si porta al livello fisico con strutture di memorizzazione quanto si è individuato a livello logico.

L'architettura di un DBMS, ossia l'insieme dei componenti funzionali che interagiscono per rispondere alle esigenze degli utenti, se composta da soli questi due livelli presenta una problematica.

Infatti, gli utenti sono costretti a modificare la loro applicazione ogni qual volta un aspetto del livello logico, anche se non di interesse dell'utente, viene cambiato.

Si aggiunge quindi un terzo livello tra l'utente e lo schema logico, chiamato schema esterno, che descrive solo una porzione del modello logico che è di particolare interesse per l'utente.

Così facendo si garantiscono sia l'indipendenza dello schema logico da quello fisico e viceversa, in quanto possiamo modificare la realizzazione fisica senza dover cambiare i programmi software e possiamo utilizzare una relazione allo stesso modo a prescindere da come è realizzata a livello fisico, ma non solo, perché con l'introduzione del terzo livello, esiste un'indipendenza anche tra questo schema esterno e il livello logico, dal momento che possiamo modificare l'uno senza dover cambiare l'altro.

Modello ER

1. Vincolo di cardinalità (Modello ER)

Vincolo di cardinalità: un vincolo di cardinalità tra un’entità E e una relazione R esprime un limite minimo (cardinalità minima) e un limite massimo (cardinalità massima) di istanze della relazione R a cui può partecipare ogni istanza dell’entità E.

2. Relazione IS-A tra entità

Due entità E1 ed E2 sono in relazione IS-A se ogni istanza dell’entità E1 è anche istanza dell’entità E2. L’entità E2 è detta Entità padre, mentre l’entità E1 è detta entità figlia. Graficamente è rappresentata con una freccia vuota che punta verso l’entità padre.

Proprietà -> principio di ereditarietà: tutti gli attributi dell’entità padre vengono ereditati dall’entità figlia. L’entità figlia può avere anche attributi aggiuntivi.

3. Generalizzazione tra entità

Si parla di generalizzazione quando un’entità, detta entità padre, generalizza più sottoentità figlie rispetto ad un unico criterio. Se la generalizzazione è completa, ossia se l’unione delle sottoentità è uguale all’insieme delle istanze dell’entità padre, allora la si indica con una freccia piena che dalle sottoentità punta verso l’entità padre. Se invece è incompleta, la si indica con una freccia bianca.

4. Classificazione relazioni

Una relazione si definisce su due o più entità e rappresenta un legame logico fra di esse.

Le relazioni si classificano come:

  • Relazione 1 a 1: quando le cardinalità massime di entrambe le entità coinvolte sono pari a 1;
  • Relazione 1 a molti: quando la cardinalità massima di una delle due entità è pari a 1 e la cardinalità massima dell’altra entità è pari a n;
  • Relazione molti a molti: quando le cardinalità massime di entrambe le entità coinvolte è pari a n.

5

Anche il numero di entità coinvolte, detto grado, è un indice di classificazione:

  • Relazione binaria: sono coinvolte due entità
  • Relazione n-aria: sono coinvolte più di due entità
  • Relazione definita sulla stessa entità: in questo caso dato che la relazione è definita su un’unica entità si aggiungono delle etichette, dette ruoli, che servono per identificare appunto i ruoli, il significato delle due istanze di entità nella relazione.

5. Identificatori

Un identificatore è una proprietà o un insieme di proprietà di un’entità che permette di identificare in modo univoco le istanze dell’entità.

Un identificatore può essere:

  • Interno: se è costituito dagli attributi dell’entità su cui è definito
  • Esterno: se è formato da relazioni che coinvolgono l’entità su cui è definito e/o dagli attributi dell’entità.

Modello relazionale

1. Relazione

Una relazione o tabella nel modello relazionale rappresenta una relazione matematica in cui i valori di colonna, detti attributi, sono tra loro omogenei, le righe, dette tuple, sono diverse tra loro e le intestazioni di colonna, detti nomi di attributi, sono diversi tra loro. L’ordinamento di righe e colonne è irrilevante.

2. Definizioni

A. Schema di relazione:

Un nome R con un insieme di attributi A1…An. R(A1…An)

B. Schema di base di dati

Insieme di schemi di relazione: R = {R1(X1)...Rn(Xn)}

C. Ennupla

Una ennupla su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio A.

D. Istanza di relazione

È l’insieme r di ennuple su X.

E. Istanza di base di dati

È l’insieme di relazioni r = {r1…rn}.

3. Vincoli di integrità

Un vincolo di integrità è una funzione booleana che associa ad ogni istanza r il valore vero se l’istanza è corretta, oppure falso se è scorretta.

Tipologie:

A. Vincoli intrarelaz

Anteprima
Vedrai una selezione di 5 pagine su 16
Sistemi di gestione dati e processi - modulo Basi di dati Pag. 1 Sistemi di gestione dati e processi - modulo Basi di dati Pag. 2
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Sistemi di gestione dati e processi - modulo Basi di dati Pag. 6
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Sistemi di gestione dati e processi - modulo Basi di dati Pag. 11
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Sistemi di gestione dati e processi - modulo Basi di dati Pag. 16
1 su 16
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ES_01 di informazioni apprese con la frequenza delle lezioni di Sistemi di gestione dati e processi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Brescia o del prof Rula Anisa.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community