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