Lezione 8 - Teoria - Progettare una base di dati

10
PROGETTARE UNA BASE DI DATI – TEORIA GIUSEPPE CRAMAROSSA ALTERNANZA SCUOLA-LAVORO @ LICEO SCIENTIFICO «G. GALILEI» BITONTO 4 FEBBRAIO 2017

Transcript of Lezione 8 - Teoria - Progettare una base di dati

Page 1: Lezione 8 - Teoria - Progettare una base di dati

PROGETTARE UNA BASE DI DATI – TEORIAGIUSEPPE CRAMAROSSAALTERNANZA SCUOLA-LAVORO @ LICEO SCIENTIFICO «G. GALILEI» BITONTO4 FEBBRAIO 2017

Page 2: Lezione 8 - Teoria - Progettare una base di dati

SOMMARIO

Generalità I database Tipi di database Entità Campi Relazioni Per capire: facciamo un gioco – nomi, cognomi e

città

Page 3: Lezione 8 - Teoria - Progettare una base di dati

GENERALITÀ

La necessità di salvare informazioni è diventata molto importante Data mining Profilazione degli utenti Salvataggio di dati

Tali informazioni devono essere organizzati in modo tale da essere facilmente usufruibili e in poco tempo, anche da più utenti A quali informazioni può accedere l’utente? E a quali

non può accedere?

Page 4: Lezione 8 - Teoria - Progettare una base di dati

I DATABASE

I database permettono di gestire grandi quantità dati in maniera efficiente e semplice

Gestiscono l’accesso simultaneo ai dati, sia in lettura che in scrittura

Gestiscono gli utenti che possono usufruire dei dati Permettono di essere interrogati attraverso un

linguaggio di interrogazione (SQL) Permettono di fare ricerche nei dati secondo certi

parametri Verrà visto più tardi

Page 5: Lezione 8 - Teoria - Progettare una base di dati

TIPI DI DATABASE

Esistono vari tipi di database Ad oggetti Reticolari Gerarchici Relazionali

La scelta dipende dal tipo di applicazione da sviluppare Studieremo un database di tipo relazionale (RDBMS)

MySQLOpen source (gratuito)Robusto (maturo)

Page 6: Lezione 8 - Teoria - Progettare una base di dati

ENTITÀ

Rappresentano classi di oggetti che hanno elementi comuni tra loro Persone Lingue

Sono le tabelle del database Contengono campi, che determinano gli elementi da inserire Le entità possono essere collegate tra loro attraverso relazioni

Un’entità può anche essere relazionata a se stessa (relazione riflessiva)

Ogni entità deve avere una chiave primaria

Page 7: Lezione 8 - Teoria - Progettare una base di dati

CAMPI

Indicano i dati da inserire nella tabella L’insieme dei campi costituisce un record (o tupla) Possono essere di vari tipi

Intero, stringa, enumerativo, booleano, … I campi possono avere anche delle proprietà

Autoincremento Indice Unica

Page 8: Lezione 8 - Teoria - Progettare una base di dati

RELAZIONI

Permettono di collegare più tabelle tra loro Bisogna fare attenzione all’integrità referenziale Esistono vari tipi di relazioni

Uno a uno (1:1) A un record di una tabella è associato un solo record di un’altra

tabella Uno a molti (1:N)

A un record di una tabella sono associati più record di un’altra tabella Molti a molti (N:N)

A ogni record di una tabella sono associati più record di un’altra tabella e viceversa

Page 9: Lezione 8 - Teoria - Progettare una base di dati

PER CAPIRE: FACCIAMO UN GIOCO - NOMI, COGNOMI E CITTÀ (1/2)

NOMI COGNOMI CITTÀCarlo Rossi Padova

Giovanna Bianchi MantovaGiulio Verdi PadovaMario Gialli Padova

Giovanni Arancioni TriesteTizio Caio Matera

Sempronio Scipione Aosta

Facciamo il gioco di nomi, cognomi e città Prendiamo come esempio i dati riportati

nella tabella a sinistra Trasformiamo la tabella in una base di

dati I dati devono essere organizzati in modo

tale da eliminare le rindondanze Tale operazione viene definita

normalizzazione e viene fatta anche sui campi della tabella

I nomi e cognomi sono tipici delle persone. Verrà creata quindi la tabella persone con questi campi

Le città costituiranno un entità a parte DA RICORDARE: Ogni tabella deve avere

una chiave primaria (verrà sottolineata)

Page 10: Lezione 8 - Teoria - Progettare una base di dati

PER CAPIRE: FACCIAMO UN GIOCO - NOMI, COGNOMI E CITTÀ (2/2)

PERSONEIDPERSON

A NOME COGNOME EXTIDCITTA

1 Carlo Rossi 12 Giovanna Bianchi 23 Giulio Verdi 14 Mario Gialli 15 Giovanni Arancioni 36 Tizio Caio 47 Sempronio Scipione 5

CITTAIDCITTA NOMECITT

A1 Padova2 Mantova3 Trieste4 Matera5 Aosta