Diapositiva 1 - corsi tenuti dal prof. m. bochicchio e dalla prof.ssa a

Università del Salento
Facoltà di Ingegneria
DBMS
Corso di Basi di dati I
a.a. 2008-2009
Premessa
I contenuti di questa presentazione si
riferiscono a materiale del testo
“Fundamental of Database Systems”di
Elmasri e Navathe e materiale estratto dalle
dispense tratte dal sito del prof. Tosoni
dell'Univ. di Venezia, che si ringrazia
2
I DBMS
3
Typical DBMS Functionality



Define a particular database in terms of its data types,
structures, and constraints
Construct or Load the initial database contents on a
secondary storage medium
Manipulating the database:




Retrieval: Querying, generating reports
Modification: Insertions, deletions and updates to its content
Accessing the database through Web applications
Processing and Sharing by a set of concurrent users and
application programs – yet, keeping all data valid and
consistent
4
Typical DBMS Functionality

Other features:




Protection or Security measures to prevent unauthorized
access
“Active” processing to take internal actions on data
Presentation and Visualization of data
Maintaining the database and associated programs over
the lifetime of the database application
 Called database, software, and system maintenance
5
Example of a Database
(with a Conceptual Data Model)

Mini-world for the example:


Part of a UNIVERSITY environment.
Some mini-world entities:





STUDENTs
COURSEs
SECTIONs (of COURSEs)
(academic) DEPARTMENTs
INSTRUCTORs
6
Example of a Database
(with a Conceptual Data Model)

Some mini-world relationships:






SECTIONs are of specific COURSEs
STUDENTs take SECTIONs
COURSEs have prerequisite COURSEs
INSTRUCTORs teach SECTIONs
COURSEs are offered by DEPARTMENTs
STUDENTs major in DEPARTMENTs
7
Example of a simple database
8
Example of a simplified database
catalog
9
10
Aprire o creare un database con
Access
• Lanciare Access
• Scegliere il file dall’opzione Apri file esistente oppure Database di
Access vuoto dall’opzione Crea nuovo database
• Se si sta creando un nuovo database, nominare il file e salvarlo
prima di iniziare a lavorarci.
11
La visualizzazione del database
Finestra Access
Barra degli strumenti Database
Finestra Database
Oggetti esistenti
Tipo di Oggetti
12
Creare una tabella (1)
Oltre alla possibilità di importare una tabella da un altro database o da
un foglio elettronico, si possono utilizzare 3 opzioni:
1. Creare una tabella mediante l’immissione dei dati con le stesse modalità
previste per un foglio di lavoro. I nomi dei campi verranno successivamente
inseriti.
L’indicatore segnala
il record in scrittura
13
Aprire una tabella, modificarla, inserire
nuovi dati
Mediante i tasti
e
della Finestra Database si apre una tabella nelle
modalità Foglio dati e Struttura. Nel primo caso è possibile spostarsi tra i record
tramite il mouse, la tastiera o i tasti posti nella parte bassa della finestra (
). Per inserire o modificare un record di una tabella è sufficiente cliccare
all'interno di un campo e digitare dalla tastiera. Le modifiche vengono
automaticamente salvate appena lasciato il campo. Se in una tabella compare
un campo che è una chiave esterna bisognerebbe inserire il valore
corrispondente. Per far ciò si può creare un collegamento fra tabelle, per poi
scegliere da un elenco.
In modalità Struttura non si modificano i dati, quanto la loro natura. È possibile
indicare il nome e la tipologia del campo, oltre ad indicare una serie di
caratteristiche aggiuntive.
14
Creare una tabella (2)
2. Creare una tabella mediante una creazione guidata
seguendo le indicazioni forniteci da Access.
3. Creare una tabella in visualizzazione struttura definendone I
campi e le proprietà degli stessi. I record saranno inseriti in un
secondo momento.
Tipo di dati: Testo, numerico,
contatore, Sì/No, Data/Ora, ecc.
Qui
inseriremo
i nomi dei
campi
Qui è possibile inserire una
sintetica descrizione del campo
Qui leggeremo le
caratteristiche del
campo
15
database corso di studi
tabella corsi
IdCorso
IdDocente
….
….
Nome
….
tabella docenti
IdDocente
Cognome
….
Nome
….
….
tabella studenti
Matricola
Cognome
….
….
Nome
….
tabella esami
IdRisultato Matricola
Studente
….
….
IdCorso
….
Data
….
Voto
….
16
La visualizzazione struttura (1)
1. Nome Campo può contenere fino ad un massimo di 64 caratteri (lettere,
numeri, spazi) esclusi . ! [ ] . Non si può iniziare con uno spazio.
2. Tipo dati definisce la caratteristica dei dati nel campo:
a. Testo: una qualunque combinazione di lettere, numeri, spazi,
punteggiatura. Fino a 50 caratteri (espandibili fino a 255).
b. Memo: come Testo ma fino a 65635 caratteri.
c. Numerico: un numero
d. Data/Ora: data e/o ora.
e. Valuta: utilizzabile per le somme di denaro.
f. Contatore: un numero univoco gestito da Access.
Qui è possibile inserire una
g. Sì/No: solo una delle due condizioni.
descrizione del campo
h. Oggetto OLE: un foglio sintetica
Excel, un
documento Word, …
3. Proprietà dei tipi di dato:
a. Dimensione campo: la dimensione massima di un campo di tipo
Testo (tra 0 e 255), Contatore (Intero lungo o ID replica), Numerico.
b. Formato: è la modalità di visualizzazione.
17
c. Etichetta: è il nome del campo che sarà visualizzato.
La visualizzazione struttura (2)
Impostazione
Descrizione
cifre decimali
Byte
Decimale
Numeri interi tra 0 e 255
Numeri tra -10^38 e 10^38
nessuna
28
1 byte
12 byte
Numeri interi tra -32.768 e 32768
nessuna
2 byte
Intero
Intero
lungo
Precisione
singola
Precisione
singola
Numeri interi tra
nessuna
-2.147.483.648 e 2.147.483.648
Qui è possibile inserire una
Numeri trasintetica descrizione del campo
7
-3,402823E38 e 3,402823E38
Numeri tra -1.79769313486231E308
15
Memoria
4 byte
4 byte
8 byte
e 1.79769313486231E308
18
La visualizzazione struttura (3)
4. Proprietà dei campi: definiscono il modo in cui i dati vengono
immessi, memorizzati, visualizzati:
a. Indicizzato: permette la creazione di un indice .
b. Posizioni decimali: relative alla visualizzazione dei numeri.
c. Nuovi valori: per Contatore. Incremento o Casuale.
d. Maschera di input: formato dei valori da immettere.
e. Valore predefinito: valore immesso automaticamente salvo
modifiche.
Qui è possibile inserire una
f. Valido se: regola di convalida.
sintetica descrizione del campo
g. Messaggio errore: appare se il dato viola la regola di convalida.
h. Richiesto: indica se è obbligatoria l’immissione del dato.
i. Consenti lunghezza zero: specifica se è richiesto almeno un
carattere.
19
j. Compressione Unicode: consente di risparmiare memoria.
La visualizzazione struttura (3)
5. Campi di ricerca (lookup): agevola l’inserimento dei dati creando
un elenco di valori da un’altra tabella o da un elenco
personalizzato. Occorre legare il campo alla chiave primaria di
un’altra tabella passando da casella di testo a casella combinata e
specificando la tabella. In alternativa si può creare un campo di
ricerca partendo dal menu Inserisci/Ricerca guidata…
6. Regole di validazione: impostano condizioni per l’ammissibilità
Qui è possibile inserire una
dei dati da inserire.
sintetica descrizione del campo
7. maschere di input: mostrano un modello per l’immissione dei dati
e non accettano dati di tipo diverso.
20
Definire la chiave primaria e gli indici
Mediante il tasto
della barra degli strumenti Database si indica,
partendo dalla visualizzazione struttura, il campo che avrà il ruolo di
chiave primaria. Automaticamente il campo non accetterà duplicati. La
chiave primaria è obbligatoria e può contenere più campi.
Gli indici servono ad ordinare i dati di una tabella per facilitarne la
ricerca. L'indice può essere assegnato anche a uno o più campi. Dalla
modalità struttura, selezionare un campo e nella scheda Generale cliccare
su Indicizzato e scegliere Sì.
Si può creare anche un indice multicampo. Per far ciò occorre aprire la
tabella degli indici ( ) della barra degli strumenti oppure sul menu
Visualizza/Indici; appare la tabella degli indici impostati.
21
Definire le relazioni tra tabelle
Access facilita estremamente l’individuazione di relazioni tra tabelle.
Con il tasto
(oppure da Strumenti/Relazioni)si apre la finestra delle
relazioni, poi fare click con il tasto destro del mouse e scegliere dal menu
che si apre Mostra tabella. Aggiungere tutte le tabelle desiderate, quindi
trascinare il campo chiave primaria sul campo relativo della tabella che si
vuol collegare.
Per evidenziare il tipo di
relazione occorre selezionare
applica integrità referenziale (i
dati inseriti vengono controllati).
Create le relazioni le tabelle sono
collegate, come si può vedere
visualizzandole in modalità foglio
dati.
22
Relazioni del database corso di studi
tabella corsi
IdCorso
IdDocente
….
….
Nome
….
tabella docenti
IdDocente
Cognome
….
Nome
….
….
tabella studenti
Matricola
Cognome
….
….
Nome
….
tabella esami
IdRisultato Matricola
Studente
….
….
IdCorso
….
Data
….
Voto
….
23
MySQL DBMS

Installare il pacchetto EasyPhP:
www.easyphp.org

Per un tutorial su MySQL 5:
http://www.dis.uniroma1.it/~lenzerin/didattica/basidid
ati/materiale/TutorialDBMS/
24