università del salento facoltà di ingegneria dbms corso di basi di dati i a.a. 2008-2009
TRANSCRIPT
Università del Salento Facoltà di Ingegneria
DBMSCorso di Basi di dati I
a.a. 2008-2009
2
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
3
I DBMS
4
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
5
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
6
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
7
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
8
Example of a simple database
9
Example of a simplified database catalog
10
11
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.
12
La visualizzazione del database
Barra degli strumenti Database
Finestra Access
Finestra Database
Tipo di Oggetti
Oggetti esistenti
13
Creare una tabella (1)
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.
Oltre alla possibilità di importare una tabella da un altro database o da un foglio elettronico, si possono utilizzare 3 opzioni:
L’indicatore segnala il record in scrittura
14
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.
15
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.
Qui inseriremo i nomi dei
campi
Tipo di dati: Testo, numerico, contatore, Sì/No, Data/Ora, ecc.
Qui leggeremo le caratteristiche del
campo
Qui è possibile inserire una sintetica descrizione del campo
16
database corso di studitabella corsi
IdCorso IdDocente Nome
tabella docentiIdDocente Cognome Nome
Matricola Cognome Nome
tabella studenti
tabella esami
IdRisultato Matricola Studente
IdCorso Data Voto
…. …. ….
…. …. ….
…. …. ….
…. …. …. …. ….
17
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 numerod. Data/Ora: data e/o ora.e. Valuta: utilizzabile per le somme di denaro.f. Contatore: un numero univoco gestito da Access.g. Sì/No: solo una delle due condizioni.h. Oggetto OLE: un foglio 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.c. Etichetta: è il nome del campo che sarà visualizzato.
Qui è possibile inserire una sintetica descrizione del campo
18
La visualizzazione struttura (2)
Qui è possibile inserire una sintetica descrizione del campo
Impostazione Descrizione cifre decimali Memoria
Byte Numeri interi tra 0 e 255 nessuna 1 byte
Decimale Numeri tra -10^38 e 10^38 28 12 byte
Intero Numeri interi tra -32.768 e 32768 nessuna 2 byte
Intero Numeri interi tra nessuna 4 byte lungo -2.147.483.648 e 2.147.483.648
Precisione Numeri tra 7 4 byte singola -3,402823E38 e 3,402823E38
Precisione Numeri tra -1.79769313486231E308 15 8 byte singola e 1.79769313486231E308
19
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.
f. Valido se: regola di convalida.
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.
j. Compressione Unicode: consente di risparmiare memoria.
Qui è possibile inserire una sintetica descrizione del campo
20
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à dei dati da inserire.
7. maschere di input: mostrano un modello per l’immissione dei dati e non accettano dati di tipo diverso.
Qui è possibile inserire una sintetica descrizione del campo
21
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.
22
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.
23
Relazioni del database corso di studitabella corsi
IdCorso IdDocente Nome
tabella docentiIdDocente Cognome Nome
Matricola Cognome Nome
tabella studenti
tabella esami
IdRisultato Matricola Studente
IdCorso Data Voto
…. …. ….
…. …. ….
…. …. ….
…. …. …. …. ….
24
MySQL DBMS
Installare il pacchetto EasyPhP:www.easyphp.org
Per un tutorial su MySQL 5:http://www.dis.uniroma1.it/~lenzerin/didattica/basididati/materiale/TutorialDBMS/