università del salento facoltà di ingegneria dbms corso di basi di dati i a.a. 2008-2009

24
Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

Upload: angelica-fumagalli

Post on 02-May-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

Università del Salento Facoltà di Ingegneria

DBMSCorso di Basi di dati I

a.a. 2008-2009

Page 2: Università del Salento Facoltà di Ingegneria DBMS Corso 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

Page 3: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

3

I DBMS

Page 4: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 5: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 6: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 7: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 8: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

8

Example of a simple database

Page 9: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

9

Example of a simplified database catalog

Page 10: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

10

Page 11: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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.

Page 12: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

12

La visualizzazione del database

Barra degli strumenti Database

Finestra Access

Finestra Database

Tipo di Oggetti

Oggetti esistenti

Page 13: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 14: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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.

Page 15: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 16: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

…. …. ….

…. …. ….

…. …. ….

…. …. …. …. ….

Page 17: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 18: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 19: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 20: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

Page 21: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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.

Page 22: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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.

Page 23: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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

…. …. ….

…. …. ….

…. …. ….

…. …. …. …. ….

Page 24: Università del Salento Facoltà di Ingegneria DBMS Corso di Basi di dati I a.a. 2008-2009

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/