Sei sulla pagina 1di 22

Universit di Trento Corso di Laurea in Ingegneria dellInformazione e dellOrganizzazione

BASI DI DATI
ESERCITAZIONI -1MSSQL - SQL
Email: francesco.magagnino@ewave.it

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

DBMS
Data Base Management System Un DBMS un sistema software in grado di gestire efficientemente le informazioni necessarie ad un sistema informativo, rappresentandone i dati in forma integrata e garantendone la persistenza.
Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino) 2

Architettura a 3 livelli del DBMS [1]

3 2 1

Schema ESTERNO

Schema ESTERNO

Schema LOGICO
Schema INTERNO
DB (Memoria fisica)
3

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Architettura a 3 livelli del DBMS [1]

Il livello fisico consiste di una serie di file, residenti su memorie di massa che contengono dati. Il livello logico consiste nellastrazione logica con cui i dati vengono resi disponibili allutente. Il livello esterno viene costruito a partire dallo schema logico integrato mediante la definizione di viste ad hoc che descrivono parte dello schema logico.

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Panorama mercato DBMS [1]

Mercato dei DB nel 2004


incremento 11,6% 14,9 miliardi di dollari

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Panorama mercato DBMS [1]


Access, Informix, Microsoft Sql Server, mSql, MySql, Oracle, PostgreSql, Sybase..

linguaggio

SQL
Structured Query Language
Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino) 6

Panorama mercato DBMS [2]

Microsoft Sql Server (2000 sp3): http://www.microsoft.com/sql Microsoft.public.it.sql MySql (4.0 [Alpha: 5.0]): http://www.mysql.com http://www.aspitalia.com/guida/tutorial_MySQL.aspx Free.it.comp.database.mysql MySQL-Front per GUI DBDesigner 4 per GUI ByteFx per ASP.NET Access http://www.microsoft.com/office/access/ http://scuolesarde.cettolini.it/tutorial/msaccess/ Basi di dati: modelli e linguaggi di interrogazione http://www.ateneonline.it/atzeni
Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino) 7

Definizioni [1a]
Le informazioni gestite da un DBMS sono strutturate.

Schema
Descrive la struttura dei dati (parte intensionale)

Istanza
I dati veri e propri (parte estensionale) Lo schema permette di interpretare i dati dellistanza. Generalmente unistanza varia nel tempo, lo scema tende a restare invariato.

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

SCHEMA

Definizioni [1b]

ISTANZA

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Definizioni [2a]

IN ISTANZA Campo
Unit minima di informazione dotata di significato. Detto anche attributo

Record (o tupla) Chiave

Raggruppamento di campi relativi ad un medesimo oggetto. I campi vengono usati per descrivere propriet e caratteristiche delloggetto.
Primaria (Colonna o set di colonne che identificano in modo univoco tutte le righe di una tabella) Straniera (Corrispondenza tra una colonna o gruppo di colonne di una tabella e la colonna o il gruppo di colonne chiave primaria di unaltra tabella)

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

10

Definizioni [2b]
CAMPO

RECORD
Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino) 11

Microsoft SQL Server - MSSQL


Client per definizione ed esecuzione di query SQL

Client di amministrazione

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

12

SERVER

DATABASES

OPZIONI di DB

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

13

NORTHWIND DIAGRAM

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

14

Uno/Uno

ID
NOME COGNOME

ID DATA DI NASCITA RESIDENZA CF

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

15

Uno/

ID
ID NOME SETTORE COGNOME DISLOCAZIONE SETTORE

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

16

/
ID
NOME COGNOME

ID
HOBBY SPECIFICHE DELL HOBBY

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

17

NORTHWIND DIAGRAM

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

18

NORTHWIND DIAGRAM

/
1/

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

19

Sintassi per i nomi delle tabelle


Una sintassi ottimizzata dovrebbe essere univoca In un db con molte decine di tabelle e consigliabile utilizzare la sintassi abbreviata: 4 lettere, le prime 4 consonanti del nome della tabella, in assenza di sufficienti consonanti si utilizzano anche le vocali. ES:

Tabella Clienti tCliente


Id Cliente Clienti_Id (CLNT_Id) Nome Cliente Clienti_Nome (CLNT_Nome)

Tabella Ordini tOrdine


Id Ordine Ordini_Id (ORDN_Id) Titolo Ordine Ordini_Titolo (ORDN_Titolo) Id Cliente di quellordine Ordini_Clienti_Id (ORDN_CLNT_Id)
Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino) 20

ESERCIZIO

Costruire tabelle per inserimento delle circolari:


Nome Utente che ha effettuato upload Descrizione Utente che ha effettuato upload Email Utente che ha effettuato upload Descrizione File uploadato File uploadato Data Inserimento del file uploadato Descrizione Anno per cui rivolto il file Nome dello studente che visualizzer quel file Cognome dello studente che visualizzer quel file Matricola dello studente che visualizzer quel file

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

21

ESERCIZIO

Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

22