Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

Basi Di Dati 02

From magafr, 11 months ago

815 views  |  0 comments  |  0 favorites  |  49 downloads
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 815
on Slideshare: 815
from embeds: 0* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Università di Trento Corso di Laurea in Ingegneria dell’Informazione e dell’Organizzazione BASI DI DATI ESERCITAZIONI -2- MSSQL - SQL Email: francesco.magagnino@ewave.it 1 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 2: NORTWIND TABLES MSSQL 2000 2 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 3: NORTWIND TABLES MSSQL 2005 3 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 4: Per impostare Primary Key Pulsante dx -> Set Primary Key MSSQL 2000 NORTWIND TABLE Orders Table Design Table Per impostare un contatore Identity = Yes 4 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 5: Per impostare Primary Key Pulsante dx -> Set Primary Key MSSQL 2005 NORTWIND TABLE Per impostare un contatore Orders Table Identity = Yes Design Table 5 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 6: Vincoli 5 classi di vincoli:  NOT NULL specifica che la colonna non accetta valori NULL 1. I vincoli CHECK assicurano l’integrità di dominio tramite la limitazione dei valori 3. che e possibile inserire in una colonna (Sesso può essere solo M o F) I vincoli UNIQUE garantiscono l’univocità dei valori in un set di colonne (in un 5. vincolo UNIQUE non e consentito che due righe della stessa tabella contengano gli stessi valori diversi da Null per le colonne. L'univocità viene garantita anche dalle chiavi primarie che pero non consentono valori Null) I vincoli PRIMARY KEY identificano la colonna o il set di colonne contenente 7. valori che identificano in modo univoco una riga in una tabella (Non e possibile immettere un valore NULL per una colonna di chiave primaria) I vincoli FOREIGN KEY identificano le relazioni tra le tabelle (Non e possibile 9. inserire una riga con un valore di chiave esterna, ad eccezione di NULL, se non e presente una chiave candidata con tale valore = INTEGRITA’ REFERENZIALE) 6 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 7: Data types -1- Numeri esatti Stringhe di carattere unicode   Bigint Nchar   Int  Nvarchar  Smallint  Ntext  Tinyint Stringhe binarie   Bit  Binary  Decimal e Numeric   Varbinary Money e Smallmoney   Image Numeri approssimati  Altri tipi di dati  Float  Cursor   Real Sql_variant   Datetime e Smalldatetime Table  Stringhe di caratteri  Timestamp  Char Uniqueidentifier    Varchar Definite dall’utente   Text 7 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 8: Data types -2- Int  Dati Integer compresi tra -2.147.483.648 e 2.147.483.647 [-231 e (231-1)] Le dimensioni di archiviazione sono pari a 4 byte. Bit  Tipo di dati Integer con valori possibili 1 o 0 In MSSQL è implementata un’archiviazione ottimizzata per i dati di tipo bit; se una tabella contiene più colonne di tipo bit, le colonne vengono archiviate 8 in 8 in un singolo byte. Datetime  Dati relativi alla data e all'ora dal 1° gennaio 1753 al 31 dicembre 9999, con un margine di precisione di tre centesimi di secondo. I valori di tipo datetime vengono archiviati internamente in MSSQL come due valori integer a 4 byte. Nei primi 4 byte viene archiviato il numero di giorni precedente o successivo alla data di base. Negli altri 4 byte viene archiviata l'ora del giorno espressa come numero di millisecondi dopo la mezzanotte. NText  E’ un tipo dati a lunghezza variabile, che può memorizzare fino a 2.147.483.647 caratteri. Nvarchar  La domensione massima della colonna corrisponde a 4000 caratteri Ha una lunghezza variabile e può contenere fino a 4000 caratteri UNICODE (cioè 8000 bytes, nei caratteri UNICODE servono 2 bytes per memorizzare un carattere) 8 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 9: Data types -3- TextArea tipico campo da NText TextField tipico campo da Nvarchar 9 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 10: Data Types Description bigint Integer data from -2^63 through 2^63-1 int Integer data from -2^31 through 2^31 - 1 smallint Integer data from -2^15 through 2^15 - 1 tinyint Integer data from 0 through 255 bit Integer data with either a 1 or 0 value decimal Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1 numeric Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1 money Monetary data values from -2^63 through 2^63 - 1 smallmoney Monetary data values from -214,748.3648 through +214,748.3647 float Floating precision number data from -1.79E + 308 through 1.79E + 308 real Floating precision number data from -3.40E + 38 through 3.40E + 38 datetime Date and time data from January 1, 1753, through December 31, 9999, with an accuracy of 3.33 milliseconds smalldatetime Date and time data from January 1, 1900, through June 6, 2079, with an accuracy of one minute char Fixed-length character data with a maximum length of 8,000 characters varchar Variable-length data with a maximum of 8,000 characters text Variable-length data with a maximum length of 2^31 - 1 characters nchar Fixed-length Unicode data with a maximum length of 4,000 characters nvarchar Variable-length Unicode data with a maximum length of 4,000 characters ntext Variable-length Unicode data with a maximum length of 2^30 - 1 characters binary Fixed-length binary data with a maximum length of 8,000 bytes varbinary Variable-length binary data with a maximum length of 8,000 bytes image Variable-length binary data with a maximum length of 2^31 - 1 bytes cursor A reference to a cursor sql_variant A data type that stores values of various data types, except text, ntext, timestamp, and sql_variant table A special data type used to store a result set for later processing 10 timestamp A database-wide unique number that gets updated everyF. Magagnino) updated Basi di Dati - 2006-2007 (L. Colazzo - time a row gets uniqueidentifier A globally unique identifier

Slide 11: Da sapere Cosa è lo standard UNICODE ?  Lo standard UNICODE a differenza dello standard ANSI mira a supportare tutti i caratteri dei linguaggi e alfabeti del mondo. UNICODE è ben supportato nei programma che girano nella galassia Windows: NT, W 95, 98 ME, 2000, XP ma non efficacemente nei sistemi UNIX, IBM, e DOS. La memoria necessaria per memorizzare un carattere UNICODE è doppia (2 byte per carattere) rispetto a quella per i caratteri ANSI (1 byte per carattere) I caratteri codificabili con UNICODE sono oltre 65.000 con ANSI solo 256. Le colonne di dati binari (binary, varbinary, image), permettono di  archiviare documenti binari (Word, Excel, Jpg, Gif..). Nel caso superino gli 8kb si utilizza esclusivamente image Image come anche text e ntext permette di archiviare fino a 2GB 11 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 12: Views La View è una tabella virtuale il cui contenuto è  definito da una Query. La View eredita la stessa struttura dei campi  delle tabelle che la compongono La View ha una funzione di filtro sulle tabelle che  la compongono La View risulta come una tabella virtuale. Non  esiste realmente come set di valori archiviati nel db. 12 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 13: Le Views permettono di applicare selects SQL. Sono richiamabili dall’applicazione esterna. In questo modo la stringa è direttamente sul server. NORTWIND VIEWS Design View 13 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

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

Slide 15: Stored Procedures Sviluppando un software che si interfacci con SqlServer si  possono utilizzare 2 differenti approcci: Archiviare i programmi a livello locale e creare applicazioni  (funzioni) che inviino i comandi a SqlServer e ne elaborino i risultati Archiviare i programmi come Stored Procedure dentro SqlServer  e creare applicazioni che richiamino le Stored Procedure stesse e ne elaborino poi i risultati In SqlServer esistono Stored Procedures definite di  Sistema che permettono la gestione del DB e la visualizzazione delle sue caratteristiche. 15 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 16: Le Stored Procedures permettono di togliere tutto il carico di lavoro dall’applicazione esterna. L’applicazione non fa altro che passare le variabili alla SP. 16 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 17: Sintassi tabelle “t” seguito dal nome della tabella con la prima lettera maiuscola. Nome legato alla rappresentazione del suo significato. Sempre in forma singolare. tUtente tCliente 17 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 18: Sintassi tabelle di relazione “t” seguito da una dicitura stabilita (Lk o Rel) e i nomi delle tabelle relazionate distinte dalla lettera maiuscola o da “_”. tRelUtenteCliente tRel_Utente_Cliente tLk_Utente_Cliente 18 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 19: Sintassi Views e Stored Procedures La stessa logica della sintassi delle tabelle. Le View precedute dalla lettera minuscola “v” al posto di “t” Le Stored Procedure precedute dalle due lettere minuscole “sp” spCancellaUtente vListaIscritti 19 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 20: Riassunto sulla sintassi in SQL 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 quell’ordine  Ordini_Clienti_Id (ORDN_CLNT_Id)  View “Ordini” con “Clienti”  vOrdiniClienti  20 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 21: ESERCIZIO Realizzare un DB per raccolta CD  CDs  Titolo  Prezzo  Anno  Immagine Copertina  Canzoni (La stessa canzone può essere in più CD)  Titolo  Testo  Cantanti/Gruppi (Informazioni riferite ai CD)  Nome  Descrizione  Sito internet  Generi (Informazioni riferite ai Cantanti)  Tipo genere  Label  Nome  Immagine Logo  21 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 22: ESERCIZIO 22 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

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

Slide 24: Lavorando sulle Views (e iniziando a guardare Sql) Visualizzare tutti i titoli dei cd e i rispettivi titoli delle  canzoni Cambiare nome alle colonne: “Titoli miei cd” & “Titoli  canzoni nei miei cd” Visualizzare il risultato in ordine ascendente rispetto la  colonna “Titoli miei cd” Aggiungere nella visualizzazione la colonna dell’anno del  cd. Chiamarla “Anno miei cd” Visualizzare il risultato in ordine ascendente rispetto alla  colonna del “Anno miei cd” Tenendo l’ordine corrente, non visualizzare la colonna  “Anno miei cd” 24 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)

Slide 25: Lavorando sulle Views (e iniziando a guardare Sql) Aggiungere tabelle cantanti e generi.   Aggiungere alla visualizzazione il nome del cantante e il suo genere.  Filtrare la visualizzazione per il genere. Il filtro deve fare riferimento al valore Identity del genere senza farlo visualizzare. 25 Basi di Dati - 2006-2007 (L. Colazzo - F. Magagnino)