Basi Di Dati 02

Click here to load reader

download Basi Di Dati 02

of 25

  • date post

    17-Jun-2015
  • Category

    Technology

  • view

    1.248
  • download

    2

Embed Size (px)

Transcript of Basi Di Dati 02

  • 1. BASI DI DATI ESERCITAZIONI -2- MSSQL - SQL Email: francesco.magagnino@ewave.it Universit di Trento Corso di Laurea in Ingegneria dellInformazione e dellOrganizzazione

2. NORTWINDTABLES MSSQL 2000 3. NORTWINDTABLES MSSQL 2005 4. MSSQL 2000 NORTWINDTABLE Orders Table Design Table Per impostare un contatore Identity = Yes Per impostare Primary Key Pulsante dx -> Set Primary Key 5. Per impostare un contatore Identity = Yes Per impostare Primary Key Pulsante dx -> Set Primary Key MSSQL 2005 NORTWINDTABLE Orders Table Design Table 6. Vincoli

  • 5 classi di vincoli:
    • NOT NULLspecifica che la colonna non accetta valori NULL
    • I vincoliCHECKassicurano lintegrit di dominio tramite la limitazione dei valori che e possibile inserire in una colonna (Sesso pu essere solo M o F)
    • I vincoliUNIQUEgarantiscono lunivocit dei valori in un set di colonne (in un 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 vincoliPRIMARY KEYidentificano la colonna o il set di colonne contenente 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 vincoliFOREIGN KEYidentificano le relazioni tra le tabelle (Non e possibile 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 )

7. Data types -1-

  • Numeri esatti
    • Bigint
    • Int
    • Smallint
    • Tinyint
    • Bit
    • Decimal e Numeric
    • Money e Smallmoney
  • Numeri approssimati
    • Float
    • Real
    • Datetimee Smalldatetime
  • Stringhe di caratteri
    • Char
    • Varchar
    • Text
  • Stringhe di carattere unicode
    • Nchar
    • Nvarchar
    • Ntext
  • Stringhe binarie
    • Binary
    • Varbinary
    • Image
  • Altri tipi di dati
    • Cursor
    • Sql_variant
    • Table
    • Timestamp
    • Uniqueidentifier
  • Definite dallutente

8. Data types -2-

  • IntDati Integer compresi tra -2.147.483.648 e 2.147.483.647 [-2 31e (2 31 -1)]Le dimensioni di archiviazione sono pari a 4 byte.
  • Bit Tipo di dati Integer con valori possibili 1 o 0 In MSSQL implementata unarchiviazione 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)

9. Data types -3- TextArea tipico campo da NText TextField tipico campo da Nvarchar 10. A globally unique identifier uniqueidentifier A database-wide unique number that gets updated every time a row gets updated timestamp A special data type used to store a result set for later processing table A data type that stores values of various data types, except text, ntext, timestamp, and sql_variant sql_variant A reference to a cursor cursor Variable-length binary data with a maximum length of 2^31 - 1 bytes image Variable-length binary data with a maximum length of 8,000 bytes varbinary Fixed-length binary data with a maximum length of 8,000 bytes binary Variable-length Unicode data with a maximum length of 2^30 - 1 characters ntext Variable-length Unicode data with a maximum length of 4,000 characters nvarchar Fixed-length Unicode data with a maximum length of 4,000 characters nchar Variable-length data with a maximum length of 2^31 - 1 characters text Variable-length data with a maximum of 8,000 characters varchar Fixed-length character data with a maximum length of 8,000 characters char Date and time data from January 1, 1900, through June 6, 2079, with an accuracy of one minute smalldatetime Date and time data from January 1, 1753, through December 31, 9999, with an accuracy of 3.33 milliseconds datetime Floating precision number data from -3.40E + 38 through 3.40E + 38 real Floating precision number data from -1.79E + 308 through 1.79E + 308 float Monetary data values from -214,748.3648 through +214,748.3647 smallmoney Monetary data values from -2^63 through 2^63 - 1 money 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 decimal Integer data with either a 1 or 0 value bit Integer data from 0 through 255 tinyint Integer data from -2^15 through 2^15 - 1 smallint Integer data from -2^31 through 2^31 - 1 int Integer data from -2^63 through 2^63-1 bigint Description Data Types 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 didati 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

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.

13.

  • Le Views permettono di applicare selects SQL. Sono richiamabili dallapplicazione esterna. In questo modo la stringa direttamente sul server.

NORTWINDVIEWS Design View 14. 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.

16. Le Stored Procedures permettono di togliere tutto il carico di lavoro dallapplicazione esterna. Lapplicazione non fa altro che passare le variabili alla SP. 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

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

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

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