DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose...

23
DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo: -Semplice; -Efficiente, nell’ uso del processore e della memoria; -Efficace; -Sicuro; -Solido; -Condiviso. istema Informativo comprende strumenti automatici, risorse umane e riali, procedure manuali, norme organizzative orientate alla gestion rmazioni di un’ organizzazione. Un Sistema Informatico (SI), anche chiamato EDP, è un sottoinsieme del Sist. Informativo e si dedica alla gestione automatica delle informazioni, rappresentate da dati digitali. Componenti software: Archivio e Applicazione informatica . 1

Transcript of DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose...

Page 1: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

DATABASE

Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo:

-Semplice;

-Efficiente, nell’ uso del processore e della memoria;

-Efficace;

-Sicuro;

-Solido;

-Condiviso.

Un Sistema Informativo comprende strumenti automatici, risorse umane emateriali, procedure manuali, norme organizzative orientate alla gestione delle informazioni di un’ organizzazione.

Un Sistema Informatico (SI), anche chiamato EDP, è un sottoinsieme del Sist.Informativo e si dedica alla gestione automatica delle informazioni, rappresentate da dati digitali.

Componenti software: Archivio e Applicazione informatica.

1

Page 2: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

DATABASE

Possibili accessi multipli

La definizione dei dati e i dati stessi sono salvati all’interno dello stesso DB.

L’ applicazione e i suoi dati sono diventati indipendenti l’uno dall’altro.(Esempio)

Utente

DB

Definizione dati

Applicazione

Applicazione 1 Applicazione 2

Dati applicazione 1

Dati applicazione 2

2

Page 3: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

DBMS (DataBase Management System)

La teoria dei DB introduce una nuova metodologia di gestione degli archivi, con l’obiettivo di superare i limiti della metodologia precedente. Presenta caratteristiche di indipendenza logica ed indipendenza della struttura fisica dei dati.

E’ il sistema di gestione del database nel suo complesso. Funzioni:1.Gestire grandi quantità di dati con l’obiettivo dell’efficienza;2.Condivisione= necessità di coordinare gli accessi;3.Persistenza= assicurare l’affidabilità dei dati nel tempo.

3

Page 4: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

DBMS (DataBase Management System)

Progettare un DB consta di 5 passi:1.Analisi del problema;2.Progettazione concettuale, utilizzando il modello Entità-Relazione;3.Progettazione logica, utilizzando vari modelli: gerarchico, reticolare, relazionale, a oggetti, XML;4.Progettazione fisica e implementazione;5.Realizzazione applicazioni/ procedure, utilizzando linguaggi di programmazione e di interrogazione.

Modellazione dei dati comprende 1,2 e 3; consiste nella progettazione delle tabelle del DB.Modellazione funzionale comprende 4 e 5; consiste nell’ implementazione delle tabelle e nella creazione delle funzioni che accedono ai dati.

Modello E-R risponde a : ‘COSA deve essere rappresentato?’Modello logico risponde a : ‘COME sono organizzati i dati?’

4

Page 5: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLI LOGICI PER LE BASI DI DATI

Modello Gerarchico

I dati sono organizzati secondo strutture ad albero che rappresentano la gerarchia degli elementi dell’archivio.

La radice è il record principale da cui partono uno o più sottoalberi; ogni elemento è denominato segmento e il tipo di relazione realizzata tra segmenti padri e figli è 1:N (1 a molti).

«ogni padre può avere più figli, ma ogni figlio può avere solo un padre»

Dipendenti

Bianchi

Vittori

Zaccarian

Figli

Claudia

LuigiGiancarlo

MarioSimona

Dipendenti

Bianchi

Vittori

Zaccarian

Figli

ClaudiaClaudia

LuigiGiancarloGiancarlo

MarioSimona

5

Page 6: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLI LOGICI PER LE BASI DI DATI

Modello Reticolare

La base del modello è la struttura a grafo, dove mediante puntatori è possibile accedere ai dati più facilmente rispetto al modello gerarchico.

E’ rappresentato con un insieme di vertici (o nodi) e un insieme di coppie di vertici (o connessioni). È possibile stabilire connessioni N:N realizzate attraverso record connettori.

Paziente

Angelo

Giulio

Antonio

Esame clinico

Radiografia

Ecografia

TAC

6

6

5 6

5

4

Page 7: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLI LOGICI PER LE BASI DI DATI

Modello RelazionaleUsa come struttura dati la relazione (o tabella), che è composta da:-Le colonne sono i Campi (o proprietà);-Ogni riga corrisponde a un Record.L’informazione è contenuta nei campi e non in strutture fisiche come i puntatori. Realizza l’indipendenza dei dati; la rappresentazione logica dei dati non fa alcun riferimento a quella fisica.

ScontrinoNumero Data Importo

1 15/10/2012 5,002 16/10/2012 6,503 17/10/2012 12,00

EntitàCampi

Tracciato record

Record

7

Page 8: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLI LOGICI PER LE BASI DI DATI

Modello a oggetti di database (object-oriented)

Si fondano sugli stessi principi della programmazione ad oggetti, nella quale ogni oggetto può essere caratterizzato da proprietà e da metodi. Quindi memorizzano nel DB non solo i dati ma anche le operazioni che possono essere eseguiti su di essi.

Modello XMLXML è simile al HTML, da cui eredita i tag, che in questo linguaggio non sono preimpostati, sono molteplici e descrivono quanto racchiuso tra le parentesi <>, come definito dal programmatore. Ha una struttura di tipo gerarchico.

<?xml version="1.0" encoding="utf-8" ?><system.serviceModel> <services> <service name="MvcApplication1.RecuperaService"> <host> <baseAddresses> <add baseAddress="http://localhost:8732//RecuperaService/" /> </baseAddresses> </host> </service> </services></system.serviceModel>

8

Page 9: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLO ENTITA’ - RELAZIONE

Entità : oggetto principale di interesse per la realtà che vogliamo modellare. Può essere classificata definendo il tipo di entità attraverso un nome. Viene rappresentata graficamente con un rettangolo, nel quale l’intestazione è il nome dell’entità, mentre le relazioni sono linee che collegano i rettangoli.

Entità forte: non ha bisogno di altre entità per essere identificata.Entità debole: richiede altre entità per essere identificata.Esempio. Paziente --> e. forte; Esame clinico --> e. debole.

Entità associativa: è usata per associare 2 o più entità allo scopo di risolvere un’associazione multipla (es. una relazione N:N).Esempio. Paziente ed Esame clinico; Referto è e.associativa.

Istanza : riferita ad un’entità, consiste in un singolo oggetto descritto dall’entità.E’ l’analogo di un singolo record all’interno di un file.

Attributi : descrivono le entità con le quali sono associati. Una particolare istanza di un attributo è detta valore.

9

Page 10: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLO ENTITA’ - RELAZIONE

Dominio di un attributo : collezione di tutti i possibili valori, omogenei tra loro, che un attributo può avere. I diversi valori assunti dagli attributi determinano le diverse istanze dell’entità. Per ogni attributo è necessario individuare:

1.Il formato;

2.La dimensione;

3.L’ opzionalità a. obbligatorio : esempio è nome di Persona;

a. facoltativo : è ammesso il valore nullo (es. titolo universitario);

Gli attributi sono classificati in :

•Identificatori: sono detti chiavi e permettono di distinguere fra loro le istanze di una stessa entità;

•Descrittori: descrivono una caratteristica non unica di un’istanza di un’entità.

Scontrino

Numero {PK} Data Importo

Entità

Identificatorechiave

Descrittori10

Page 11: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLO ENTITA’ - RELAZIONE

Relazione: rappresenta un’ associazione tra una o più entità. Ha 2 versi con specifici significati. Ogni verso ha un’entità di partenza, una di arrivo e una descrizione dell’ associazione.

Studente Cellulare(E’ posseduto)

Possiede

Le relazioni sono classificate in termini di grado, cardinalità, direzione, esistenza.

Grado: n° di entità associate nella relazione; si ottengono rel. binarie, ternarie, n-arie. Esempio binaria ricorsiva:

Giocatori Capitano

Cardinalità:

1:1

1:N (N grande)

N:N (o M)

Donna Figlio

Atleta Gara

Nazione Capitale

11

Page 12: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLO ENTITA’ - RELAZIONE

Direzione: indica l’entità ‘padre’ da cui trae origine la relazione con l’entità ‘figlio’.

Esistenza: obbligatoria: se un’istanza di un’entità deve necessariamente esserci affinché sia inclusa nella relazione.

opzionale: se l’istanza di un’entità non è richiesta.

Persona Automobile

facoltativa

obbligatoria

I nomi degli attributi devono essere scritti al singolare, così come il nome dell’entità !

Studente Scuola

PadreFiglio

Ospitare

12

Page 13: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

CHIAVI PRIMARIE E CHIAVI ARTIFICIALI

13

Una chiave primaria è un attributo o un insieme di attributi che identifica univocamente una specifica istanza di un’entità.

Per identificarla, un attributo deve avere le seguenti caratteristiche:

•Deve essere specificato il suo valore per ogni istanza dell’entità;

•Il valore deve essere unico per ogni istanza dell’entità;

•Il valore non deve cambiare o diventare nullo nel corso del tempo utile.

Le chiave candidate diventano, con la scelta, chiave primaria e chiavi alternative.

Chiave primaria si indica con (pk) a fianco della chiave.

Esempio. (schema relazionale)

Impiegati (CodFiscale(pk), Nome, Telefono)

Impiegati (CodFiscale, Nome, Telefono)

Impiegati (CodFiscale, Nome, Telefono)

Una chiave artificiale è formata da un attributo privo di un significato proprio che viene aggiunto agli altri per ottenere un codice univoco per ogni istanza.Esempio: attributo di tipo contatore.È ammessa quando nessun attributo ha tutte le proprietà di una chiave primaria e quando quest’ultima è grande e complessa.

Page 14: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MIGRAZIONE DI CHIAVI, CHIAVI ESTERNE E COMPOSTE

14

• Migrazione di chiave primaria

Le entità deboli ereditano l’ intera chiave primaria dall’ entità padre.

Scrittura nello schema relazionale: Esami (ID_Esame(pk), ID_Paziente(pk))

Paziente

ID_Paziente(pk)

Esame

ID_Esame(pk)ID_Paziente(pk)

Entità forte Entità debole

Una chiave esterna è un attributo che completa una relazione attraverso l’identificazione dell’ entità padre. Fornisce un metodo per mantenere l’integrità referenziale dei dati e per navigare tra le diverse istanze di un’ entità. Utilizza la notazione (fk) iniziali di «foreign key». Ogni relazione «1 a molti» nel modello deve essere supportata da una chiave esterna.

Una chiave composta è una chiave primaria formata da due o più attributi.

Page 15: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLO ENTITA’ - RELAZIONE

Persona

Cod. Fiscale (pk)NomeCognomeData_NascitaIndirizzo

Automobile

Modello (pk)ProduttoreCilindrataPrezzo_Listino

Acquistare

Data_AcquistoPrezzo_Acquisto

Nome_associazione

attributi_associazione

15

Page 16: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

MODELLO ENTITA’ - RELAZIONE

16

L’ entità Acquisto eredita le chiavi primarie di Persona e Automobile ed assume significato solo in abbinamento alle altre due entità. Per evitare di avere entità deboli si aggiunge un attributo, in genere un numero progressivo assegnato automaticamente (es.: Contatore).

Persona

Cod. Fiscale(pk)NomeCognomeData_NascitaIndirizzo

Automobile

Modello(pk) ProduttoreCilindrataPrezzo_Listino

Acquisto

Cod.Fiscale(pk)Modello(pk)Data_AcquistoPrezzo_Acquisto

Entità debole

Entità forte Entità forte

Page 17: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

CHIAVI ESTERNE

17

Nel caso di chiavi primarie artificiali si scrive: ID + <nome entità>.Nel caso di chiavi esterne artificiali si scrive: id + <nome entità>.

Nel caso di p.k. definita con «codice», la f.k. si scrive: cod + <nome entità>.Nel caso di p.k. definita con un generico codice, la f.k.si scrive: cod + <p.k.>.Esempio: p.k. = alunno; f.k. = codAlunno.

Città

ID_Città(pk)id_Nazione(fk)id_Continente(fk)

Continente

ID_Continente(pk)

appartiene

Nazione

ID_Nazione(pk)id_Continente(fk)appartiene forma

Il tipo di dato, la lunghezza e il formato della chiave esterna devono essere uguali a quelli della corrispondente chiave primaria.

Page 18: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

NOMI DELLE CHIAVI

18

Impiegato

ID_Impiegato(pk)

Solo con chiave primaria

Impiegato

ID_Impiegato(pk)id_Reparto(fk)

Con chiave primaria e c. esterna

Entità con chiavi artificiali

Entità con chiavi non artificiali

Impiegato

CodFiscale(pk)

Entità con chiave primaria

Impiegato

CodFiscale(pk)Nazionalità(fk)

Entità con chiave primaria e c. esterna

Schema relazionale Impiegati [ID_Impiegato(pk),……, id_Reparto(fk)]

Schema relazionale Impiegati [CodFiscale(pk),……., Nazionalità(fk)]

Schema relazionale Impiegati [ID_Impiegato,……, id_Reparto*]

Schema relazionale Impiegati [CodFiscale,……, Nazionalità*]

Page 19: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

ATTRIBUTI CHE DESCRIVONO RELAZIONI

19

Utente

Utente(pk)

Libro

Libro(pk)

Prende in prestito

Utente

Utente(pk)

Libro

Libro(pk)

Prestito

CodLibro(pk)CodUtente(pk)Data_InizioData_Fine

Eseguire Trattare

Page 20: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

Esercizi.1)Descrivere graficamente l’associazione Coordinare tra le entità Docente e Classe, il grado, la cardinalità, la direzione e l’esistenza delle relazioni ed inserendo gli attributi alle entità.2)Descrivere graficamente l’associazione Effettuare tra le entità ContoCorrente e Movimento, il grado, la cardinalità, la direzione e l’esistenza delle relazioni ed inserendo gli attributi alle entità.3)Proporre e descrivere graficamente associazioni valide tra le entità Artista, Città, Museo e Opera, inserendo gli attributi, una chiave primaria per ogni entità, inoltre il grado, la cardinalità, la direzione e l’esistenza delle relazioni.

20

Page 21: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

REGOLE PRATICHE PER PROGETTARE UN DATABASE

21

Un’ entità è considerata un qualunque oggetto per il quale è necessario salvare alcuni attributi oppure che deve essere rappresentato in un DB.I nomi delle entità da rappresentare devono:1)essere unici;2)avere un significato per l’ utente finale;3)contenere un numero minimo di parole per la descrizione.

Gli attributi sono oggetti che descrivono un’ entità. Devono essere atomici, ovvero presentare un singolo fatto o una singola informazione.

MATRICI TRA ENTITA’ E ATTRIBUTI•Matrice entità – entità: indica le relazioni occorrenti tra le entità selezionate. •Matrice entità – attributo: indica l’assegnazione degli attributi alle entità. E’ possibile individuare il tracciato record.

A partire dalla matrice e-e si devono individuare le relazioni tra entità e classificarle in termini di: cardinalità, opzionalità, direzione, dipendenza (grado).

Page 22: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

LE REGOLE DI LETTURA

OGNI +

<nome dell’entità di partenza> + { deve ; può } +

<nome dell’associazione> + { un solo ; uno o più } +

<nome dell’entità di arrivo>.

Esempio.

Persona AutomobileAcquistare

Ogni persona può acquistare una o più automobili.

Ogni automobile deve essere acquistata da una sola persona.

EntitàOpzionalitàCardinalità

22

Page 23: DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un organizzazione, in modo: -Semplice;

AFFINARE LO SCHEMA DI BASE

23

1) Le entità devono partecipare alle relazioni

2) Unificare le relazioni uno a uno: esempio Cittadino – Tessera Sanitaria

3) Semplificare le relazioni molti a molti: sostituirle con un’entità associativa;

esempio Utente – Libro.

4) Eliminare le relazioni ridondanti: esempio Città – Nazione – Continente.

5) Trasformare relazioni complesse in relazioni binarie: sostituirle con un’entità

associativa, le entità originali vengono relazionate a questa nuova entità.

Conoscenza Progettonecessita

Impiegato

possiede impegna

Conoscenza ProgettoImpiegato

Conos/Impieg/Prog