• Non ci sono risultati.

DATABASE 1

N/A
N/A
Protected

Academic year: 2021

Condividi "DATABASE 1"

Copied!
17
0
0

Testo completo

(1)
(2)

Sistemi di gestione di basi di dati (DBMS)

I database (basi di dati) sono degli insiemi organizzati di dati.

Un sistema di gestione delle basi di dati (DBMS - Data Base Management System ) è un gestore di basi di dati che ha lo scopo di effettuare sul database particolari operazioni che gli vengono richieste, ad esempio:

- definire gli archivi specificandone i dati e le regole per il loro utilizzo

- inserire, modificare o cancellare dati

- effettuare ricerche di diversa natura per reperire rapidamente i dati che interessano, visualizzare, stampare i dati, ecc.

(3)

Modelli e caratteristiche dei database

I database possono essere strutturati in diversi modi: • Modello gerarchico. Si basa su una struttura ad albero • Modello reticolare. Elementi caratterizzanti sono i grafi.

• Modello Object Oriented. Fondato sulle proprietà degli oggetti. • Modello Relazionale. Si organizzano i dati in tabelle in

relazione tra di loro.

• Inconsistenza e ridondanza dei dati • Riservatezza

• Integrità (assicurata dai vincoli di consistenza sui campi) • Concorrenza

(4)

Noi utilizzeremo ed analizzeremo il modello relazionale:

Modello relazionale di database

e sistemi RDBMS

un modello relazionale di un database è un particolare modello in cui tutti i dati che compongono il database e le relazioni che intercorrono fra di essi sono rappresentati attraverso delle tabelle.

Il sistema di gestione di un database relazionale è chiamato

(5)

tramite un

RDBMS

si può:

creare nuove basi di dati specificandone la struttura

logica,

memorizzare una grossa quantità di dati,

interrogare e modificare i dati,

controllare che l’accesso contemporaneo di più

utenti agli stessi dati non li danneggino.

(6)

Tabelle

Esempio: tabella CALCIATORI

Nome CodGioc 3001 3002 3003 …… Buffon Gianluigi Totti Francesco Trezeguet David Ruolo Portiere Attaccante Attaccante Nazione Italia Italia Francia …… …… ……

Una tabella è formata da righe (record, tupla) e colonne (campi, attributi)

- Non è significativo l’ordine delle righe in una tabella - Non devono esistere due righe uguali

(7)

Chiavi

Sono dei campi speciali all’interno di una tabella. Una chiave è costituita da un sottoinsieme di attributi che garantisce unicità (da due record differenti non si può costruire la medesima chiave) e minimalità (non si possono sottrarre campi alla chiave mantenendo l’identificazione del record).

Chiave primaria (primary key): campo che identifica in modo univoco ogni record all’interno della tabella.

Chiave esterna (foreign key): campo di una tabella che

rappresenta una copia della chiave primaria di un’altra tabella (permette di stabilire relazioni fra tabelle).

(8)

• Relazione uno a uno

• Relazione uno a molti

• Relazione molti a molti

Relazioni

Indicano le associazioni tra i record di una

tabella con quelli di un’altra tabella

(9)

Relazione uno a uno (“di tipo 1:1”)

Si ha una relazione uno a uno quando un unico record

della prima tabella è legato ad un unico record della

seconda tabella e viceversa.

CodProf 01 02 03 04 Tabella professori Tosoni Pesenti Borghesan De Nadai Nome CodCorso 01 02 03 04 Tabella corso A-Ga Gb-Sc Sd-Z Portogruaro Lettere Esempio: chiave primaria tabella professori chiave primaria tabella corso 05 Luccio 05 Treviso

(10)

CodProf 01 02 03 04 Tabella professori Tosoni Nome

Per collegare le due tabelle

CodCorso Si aggiunge come chiave

esterna alla tabella professori, l’attributo che costituisce la chiave primaria della tabella corso 04 01 03 05 chiave primaria tabella professori chiave esterna tabella professori 05 Pesenti Borghesan De Nadai Luccio 02

(11)

CodCorso 01 02 03 04 Tabella corso A-Ga Gb-Sc Sd-Z Portogruaro Lettere

II) Si aggiunge come chiave esterna alla tabella corso, l’attributo che costituisce la chiave primaria della tabella professori CodProf 02 05 03 01

La tabella la cui chiave primaria viene inserita nell’altra tabella è detta tabella principale, mentre l’altra tabella è detta secondaria.

oppure chiave primaria tabella corso chiave esterna tabella corso Treviso 05 04

(12)

Relazione uno a molti (“di tipo 1:N”)

Si ha una relazione uno a molti tra due tabelle

quando ciascun record della prima tabella può

essere associato a molti record della seconda

tabella, mentre ciascun record della seconda

tabella può essere associato ad un solo record della

prima tabella.

(13)

Ad ogni squadra possono corrispondere più giocatori

ma un calciatore gioca in una sola squadra: si ha una

relazione “uno a molti”

Squadra CodSq. 01 02 03 04 Juventus Milan Inter Roma C.T. CodGioc Nome 3001 3002 3003 3004 Buffon Gianluigi Trezeguet David Maldini Paolo Ruolo Portiere Attaccante Attaccante Difensore Ranieri Ancelotti Mourinho Spalletti

Tabella SQUADRE Tabella CALCIATORI

(14)

Nome CodGioc 3001 3002 3003 Buffon Gianluigi Totti Francesco Trezeguet David Ruolo Portiere Attaccante Attaccante Nazione Italia Italia Francia Maldini Paolo Difensore Italia

Tabella CALCIATORI Squadra CodSq 01 02 03 04 Milan Inter Roma C.T. Tabella SQUADRE CodSq 01 04 01 02 Chiave esterna tabella calciatori Chiave primaria tabella calciatori Chiave primaria tabella squadre 3004 Juventus Ranieri Ancelotti Mourinho Spalletti

(15)

Nella

tabella

CALCIATORI

l’attributo

CodSq

corrisponde

alla

chiave

primaria

della

tabella

SQUADRA esprimendo in questo modo la relazione

che sussiste tra CALCIATORI e SQUADRA. CodSq è

quindi una

chiave esterna

per la tabella CALCIATORI.

Qualora si osservi che due tabelle possono avere una

relazione, normalmente si stabilisce la relazione

inserendo in una delle due tabelle una copia della

chiave primaria dell’altra, dove diviene chiave esterna.

(16)

Relazione molti a molti (“di tipo N:N”)

Una relazione molti a molti si realizza quando un singolo record della prima tabella è legato a molti record della seconda tabella e viceversa.

Nell’esempio precedente si avrebbe una relazione “molti a molti” nell’ipotesi che si vogliano determinare le squadre in cui un giocatore ha militato in carriera: ad ogni squadra possono corrispondere più giocatori e un calciatore può aver giocato in più squadre.

In questo caso, per realizzare una relazione fra le due tabelle occorre costruire una terza tabella (detta tabella di collegamento), i cui attributi sono quelli che compongono le chiavi primarie delle due tabelle.

I singoli elementi di questa terza tabella CALCIATORI-SQUADRA sono costituiti da tutte le possibili coppie di elementi in relazione fra di loro.

(17)

Nome CodGioc 3004 3005 3006 …… Maldini Paolo Cannavaro Fabio Zambrotta Gianluca Ruolo Difensore Difensore Difensore Nazione Italia Italia Italia …… …… …… Tabella CALCIATORI Squadra CodSq 01 02 03 …… Milan Inter C.T. …… …… Tabella SQUADRA Tabella CALCIATORI-SQUADRA CodSq CodGioc 3005 3005 3006 102 3006 3006 02 101 02 01 05 Juventus Ranieri Ancelotti Mourinho 3006 25 101 …… ……Bari ……

Real Madrid Ramos Conte 3004

01

Figura

Tabella SQUADRE Tabella CALCIATORI
Tabella CALCIATORI SquadraCodSq01020304MilanInterRoma C.T.Tabella SQUADRE CodSq 01 04 01 02 Chiave esterna  tabella calciatoriChiave primaria  tabella calciatoriChiave primaria  tabella squadre3004JuventusRanieriAncelottiMourinhoSpalletti

Riferimenti

Documenti correlati

In altri termini, le procedure di record linkage si configurano come procedure di decisione, o meglio di classificazione delle diverse coppie (a, b) nelle coppie che sono match

PARTE III - CATALOGO DELLA CARTOGRAFIA GEOLOGICA PER PRIMO AUTORE .» 169 PARTE IV - CATALOGO DELLA CARTOGRAFIA GEOLOGICA PER

a Torino tra la popolazione carceraria transitata nell’anno 2012 sono stati effettuati 1726 screening per l’Epatite B , che hanno individuato 77 soggetti portatori di HBV (56

Left Join - concatenazione di tutti i record della prima tabella con quelli della seconda tabella in associazione 1:N, anche di quelli che non hanno record correlati nella

F SETLKW Effettua un locking su un file, va in sleep se il lock ` e bloccato da un lock precedentemente effettuato da un altro processo.... Uso della system call fcntl per il

• i parametri formali passati per valore relativamente ad un vettore, si esprimono nelle tre forme equivalenti:. tipobase

descrizione del modello di record dichiarazione di un array di variabili secondo il modello. Descrizione del Modello

Nel caso di un campo di lunghezza variabile non opzionale (ogni record ha un valore per tale campo, ma non ` e possibile conoscere a priori la lunghezza esatta del (valore di