• Save
SQL Server2000
Upcoming SlideShare
Loading in...5
×
 

SQL Server2000

on

  • 1,772 views

Corso SQL Server 2000

Corso SQL Server 2000

Statistics

Views

Total Views
1,772
Views on SlideShare
1,756
Embed Views
16

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 16

http://www.mfarina.it 11
http://www.slideshare.net 4
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Presentation Title in Footer

SQL Server2000 SQL Server2000 Presentation Transcript

  • Microsoft SQL Server 2000 Maurizio Farina Web: http://www.mfarina.it Mail: admin@mfarina.it Padova, Giugno 2008
  • Teoria – I Database
    • Database
    • Archivio di dati strutturato in modo da consentirne la loro
    • gestione
    • DBMS
    • Sistema di gestione dei dati
    • RDBMS
    • I dati sono rappresentati come relazioni in modo da evitare la
    • ridondanza delle informazioni.
  • Teoria – I Database – Concetti Fondamentali
    • Tabella
    • Insieme di oggetti dello stesso tipo
    • Record
    • Insiemi di informazioni relative allo stesso oggetto
    • Campi
    • Ciascuno degli elementi che compongono i record
    • Report
    • Risultato Stampabile dell’elencazione dei dati contenuti o della
    • loro elaborazione
    • Vista:
    • Una vista serve a limitare le righe e le colonne visibili di una
    • tabella ma può servire anche per combinare più righe e
    • colonne di più tabelle e farle apparire come un unica tabella.
  • Teoria – I Database – Chiavi ed Indici
    • Indice
    • Un indice è una struttura associata ad una tabella o una vista
    • che accelera il recupero dei dati.
    • Chiave
    • Una chiave è una colonna o un gruppo di colonne che identifica
    • univocamente una riga (PRIMARY KEY) definisce la relazione
    • tra 2 tabelle (FOREIGN KEY) o si usa per creare un indice.
  • Teoria – I Database - Normalizzazione
    • Si applica per eliminare le ridondanze
    • Se una relazione presenta più concetti tra loro indipendenti, la
    • si decompone in relazioni più piccole, una per ogni concetto.
    • Inconsistenza
    • Deve essere sempre possibile ricostruire l’informazione
    • Forma normale
    • Proprietà di un Database che ne descrive la qualità
    • Prima Forma Normale
    • Ogni attributo è definito in un dominio con valori atomici.
    • Esiste una chiava primaria
  • Analisi e Progettazione di un Database - Magazzino Merci
    • Esempio reale: gestire un magazzino merci
  • Analisi e Progettazione di un Database - Requisiti
    • Integrità referenziale
    • Sicurezza
    • Prestazioni
    • Multiutenza
    • Atomicità
    • Consistenza
  • Analisi e Progettazione di un Database – Oggetti
    • Tabelle
    • Colonne
    • Chiavi primarie ed indici
    • Relazioni
  • Installare ed usare Sql Server 2000 - Edizioni
    • SQL Server 2000 Enterprise Edition Per database medio-grandi . Supporta OLTP e OLAP
    • SQL Server 2000 Standard Edition Non supporta il Clustering Fail-Over
    • SQL Server 2000 Personal Edition Non supporta la replica transazionale
    • SQL Server 2000 Windows CE Edition
    • SQL Server 2000 Developer Edition
    • ChoosEdition.doc
  • Installare ed usare Sql Server 2000 - Componenti
    • Servizio SQL Server
    • E’ il motore di SQL
    • Servizio Microsoft SQL Server 2000 Analysis Services
    • OLAP Service implementato in MS.SQL
    • Servizio Agente SQL Server
    • Agente per l’esecuzione delle attività amministrative sul SQL
    • 2000
    • Servizo Microsoft Search
    • Implementa un motore di ricerca full-text
    • Servizio Microsoft Distribuited Transaction Coordinator (MDTC)
    • Gestisce Transazioni distribuite su istanze SQL diverse
  • Installare ed usare Sql Server 2000 - Tools
    • SQL Server Enterprise Manager
    • Strumento primario per l’amministrazione di server database
    • SQL Query Analyzer
    • Usato per interrogare il DB tramite linguaggio T-SQL
    • SQL Profiler
    • Usato per monitorare e catturare determinati eventi SQL Server
    • Gestione servizi SQL Server
    • Usato per arrestare o restartare servizi SQL
    • Configurazione di rete Client
    • Usato per gestire le librerie di rete per la connessione dei client
    • al server database
    • Configurazione di rete SQL Server
    • Usato per gestire le librerie di rete del server e attivare la
    • crittografia SSL
  • Installare ed usare Sql Server 2000 – SQL Server Agent
    • Jobs
    • consistono di uno o più azioni da eseguire. Ogni azione è uno
    • statement SQL. I Jobs possono essere schedulati a specifici
    • intervalli temporali o eseguiti ad un determinato orario
    • Alerts
    • sono un set di azioni da eseguire quando si verifica un
    • determinato evento. Alerts possono includere l’invio di mail,
    • eseguire un job, etc.
    • Operators
    • Operatori sono le persone a cui possono essere indirizzati I
    • problemi.
  • Installare ed usare Sql Server 2000 – Service Manager
    • Avviare
    • Sospendere
    • Interrompere
  • Installare ed usare Sql Server 2000 - Installazione
    • Server e Client Tools
    • Il nome dell’istanza
    • Scelta dei componenti
    • Services Account
    • Authentication Mode
    • Network Libraries
  • Installare ed usare Sql Server 2000 – Enterprise Manager
    • Tutte le attività di configurazione e manutenzione
  • Installare ed usare Sql Server 2000 - Management Console
    • include gli strumenti di amministrazione utilizzabili per gestire reti, computer, servizi e altri componenti di sistema.
    • Snap-in
    • Il tipo principale di strumento che normalmente viene aggiunto
    • Modalità
      • Utente
      • Modifica
    • Gestione configurazione SQL Server è uno snap-in disponibile
    • dal menu di avvio. Per aprire SQL Server Configuration
    • Manager, Microsoft Management Console (mmc.exe) utilizza il
    • file SQLServerManager.msc nella cartella System32 di
    • Windows.
  • Installare ed usare Sql Server 2000 - Query Analyzer
  • Progettare database - Enterprise Manager
  • Progettare database - Indici
    • SQL supporta di 2 tipi di indice:
    • Indice Cluster
    • Indice non Cluster
    • Nel caso di indice Cluster quando si inserisce un nuovo record
    • SQL in base al valore chiave usato per l’ordinamento ( ad es.
    • l’ordine alfabetico in base ad un cognome ) scorre tutte le
    • pagine dati finchè non trova la posizione esatta per inserire il
    • record.
  • Progettare database - Constraints
    • Entity Integrity
    • Garantisce che non ci siano duplicati in tabella
    • Domain Integrity
    • Garantisce che I dati inseriti in colonna rispettino un
    • determinato tipo, formato o appartengano ad un intervallo di
    • valori.
    • Referential integrity
    • Garantisce che le righe non possano essere cancellate in
    • quanto utilizzate da altre righe in altre tabelle.
    • User-Defined Integrità
    • Regole definite dall’utente
  • Progettare database - Constraints
    • Microsoft SQL Server supporta I seguenti constraints:
    • PRIMARY KEY
    • Identificatore univoco per una riga all’interno della tabella.
    • UNIQUE
    • Garantisce che non ci siano duplicati all’interno di un set di
    • caratteri
    • FOREIGN KEY
    • Garantisce l’integrità referenziale fra I valori di tabelle diverse
    • CHECK
    • Limita I valori che possono essere inseriti in una colonna
    • NOT NULL
    • Garantisce che la colonna non possa assumere valori nulli
  • Progettare database – Constraints esempio
    • CREATE TABLE employee(
    • EmployeeId INT NOT NULL,
    • LName VARCHAR(30) NOT NULL,
    • FName VARCHAR(30) NOT NULL,
    • Address VARCHAR(100) NOT NULL,
    • HireDate DATETIME NOT NULL,
    • Salary MONEY NOT NULL
    • CONSTRAINT check_sale CHECK (salary > 0)
    • )
    • ALTER TABLE employee
    • ADD CONSTRAINT pk_employee PRIMARY KEY (EmployeeId)
    • ALTER TABLE employee DROP CONSTRAINT pk_employee
  • Progettare database – Constraints esempio
    • ALTER TABLE employee
    • ADD CONSTRAINT fk_EmployeeId
    • FOREIGN KEY (EmployeeId)
    • REFERENCES EmployeeList(EmployeeId)
  • Progettare database – Constraints – Enterprise Manager
    • … .
  • Progettare database – Query Analyzer
  • Progettare database – Query Analyzer
    • …… .
  • Ritirare i valori con il Select – Enterprise Manager
    • Selezionare i dati con l’enterprise manager
  • Ritirare i valori con il Select - query analyzer
    • Ritirare i dati con il query analyzer
  • Ritirare i valori con il Select
    • Assegnare il valore ad una variabile
    • SELECT DISTINCT * INTO #tabella_record_unici FROM tabella_con_duplicati
    • Selezionare dati da ACCESS o EXCEL
    • Grazie alla parola chiave INTO possiamo clonare una tabella creandone una copia identica sia nella struttura che nei contenuti.
    • Grazie alla clausola TOP possiamo definire con precisione il numero di righe ritornate da una SELECT. La clausola TOP può essere utilizzata in due modi, in valore assoluto:
    • SQL Server ci fornisce numerose funzioni scalari che ritornano numerose informazioni sul database e sugli oggetti del database. L'istruzione SELECT anche in questo caso ci è utile per recuperare queste informazioni, come esempio esaminiamo e funzioni molto comuni come DB_NAME() e USER_NAME().
    • SELECT DB_NAME() AS [Nome database corrente], USER_NAME() AS [Nome username corrente]
  • Ritirare i valori con il Select – Funzioni Scalari
    • Sono funzioni predefinite in SQL Server che possono essere
    • utilizzate all’interno degli statement SQL
    • Stringhe
    • Date
    • Matematiche
    • Ex.
    • SELECT Upper(nome) FROM tab_utenti WHERE id = 1
  • Ritirare i valori con il Select – Sommare e Raggruppare
    • Tabella di Esempio
    • Sommare
    • Select sum(campo1) …..
    • Raggruppare
    • Select sum(campo1) from
    • table1 group by campo1
    • HAVING
    • i campi richiesti possono essere sia quelli delle funzioni di
    • aggregazione sia quelli indicati nelle clausole GROUP BY.
  • Lavorare con i dati in SQL Server - Join
    • Utilizzata per mettere in relazione tra di loro le righe di due o più
    • tabelle.
    • Tipi di Join:
    • Inner Join
    • Le Outer Join ( left, right, full )
      • Left join
      • Right join
      • Full join
    • Cross join
  • Lavorare con i dati in SQL Server – Inner Join
    • Consente di recuperare le righe di una tabella che
    • hanno un riferimento nell’altra tabella
      • SELECT A.Autore, O.Titolo
      • FROM autori A INNER JOIN Opere O
      • on a.idAutore = o.IdAutore
      • ORDER BY autore
  • Lavorare con i dati in SQL Server – Outer Join
    • Consente di recuperare tutte le righe di una tabella anche se
    • non hanno un riferimento nell’altra tabella.
    • Left Join
    • SELECT A.Autore, O.Titolo
    • FROM autori A LEFT JOIN Opere O
    • on a.idAutore = o.IdAutore ORDER BY autore
    • Right
    • SELECT A.Autore, O.Titolo
    • FROM autori A RIGHT JOIN Opere O
    • on a.idAutore = o.IdAutore ORDER BY Autore
    • Full Join
    • SELECT A.Autore, O.Titolo
    • FROM autori A FULL JOIN Opere O
    • on a.idAutore = o.IdAutore ORDER BY Autore
  • Lavorare con i dati in SQL Server – Cross Join
    • Restituisce tutte le righe della tabella di sinistra, ciascuna delle quali
    • viene combinata con tutte le righe della tabella di destra.
    • SELECT Autore, Titolo
    • FROM autori A CROSS JOIN Opere
    • ORDER BY Autore
  • Lavorare con i dati in SQL Server - Subquery
    • Ex.
    • SELECT au_id, au_fname, au_lname, city
    • FROM authors
    • WHERE state IN
    • ( SELECT state FROM authors WHERE state = 'CA' )
  • Lavorare con i dati in SQL Server - Unions
    • Struttura
    • SQL Statement 1
    • UNION
    • SQL Statement 2
    • Ex.
    • SELECT E_Name FROM Employees_Norway
    • UNION
    • SELECT E_Name FROM Employees_USA
  • Lavorare con i dati in SQL Server - full-text search
    • consente di eseguire ricerche testuali sui campi di tipo CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, IMAGE, VARBINARY(MAX) e XML in maniera molto efficiente.
    • La ricerca è di tipo Linguistica e quindi non è di tipo Like
    • Full-Text Index
  • Lavorare con i dati in SQL Server - full-text index
    • E’ necessario specificare il campo e la lingua utilizzata
    • Il Word Breaker è un modulo utilizzato per suddividere il testo in token basandosi sulle regole lessicali della lingua specificata.
  • Lavorare con i dati in SQL Server - full-text index - Contains
    • Il predicato CONTAINS consente di ricercare:
      • Una parola, una frase o un prefisso
      • Una parola "vicina" ad un'altra (la cosiddetta ricerca per prossimità)
      • Una parola generata da un'altra per flessione (ad esempio, le parole giochi e giocare derivano dalla radice comune gioco)
      • Un sinonimo di una parola
    • CONTAINS( { column_name | (column_list) | * } ,
    • '< contains_search_condition >'
    • [ , LANGUAGE language_term ])
    • SELECT Autore, Titolo
    • FROM Libri
    • WHERE CONTAINS(Riassunto, '&quot;Renzo&quot; OR &quot;Michele&quot;');
    • SELECT Autore, Titolo
    • FROM Libri
    • WHERE CONTAINS(Riassunto, '&quot;innamor*&quot;');
  • Lavorare con i dati in SQL Server - full-text index - Contains
    • Utilizzo dello Stemmer
    • SELECT Autore, Titolo
    • FROM Libri
    • WHERE CONTAINS(Riassunto, 'FORMSOF (INFLECTIONAL, morire)');
    • Il comportamento dello stemmer dipende dalle regole di analisi
    • morfologica della lingua utilizzata. Questa interrogazione
    • restituisce tutti i libri in cui compare il verbo morire, qualunque
    • sia la sua forma e coniugazione: ad esempio, tra gli altri
    • otteniamo &quot;Il signore della mosche&quot;, dove è utilizzato muoiono.
  • Lavorare con i dati in SQL Server - Views
    • Le viste sono delle QUERY memorizzate con un proprio nome
    • che possono essere considerate simili a tabelle virtuali.
    • CREATE VIEW [ < nome_ database > . ] [ < proprietario > . ] nome_vista
    • [ ( colonna [ ,... n ] ) ]
    • [ WITH < attributi_vista > [ ,...n ] ]
    • AS istruzione_ SELECT [ WITH CHECK OPTION ]
    • CREATE VIEW V_ProdottiPerCategoria AS
    • SELECT  Categories.CategoryName AS NomeCategoria,
    • Products.ProductName AS NomeProdotto, Products.QuantityPerUnit AS Quantità
    • FROM Categories
    • INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
  • Modificare i dati con SQL Server
    • Inserire i dati nel database
    • Effettuare l’update di dati nel database
    • Cancellare i dati nel database
    • Analisi dei potenziali ostacoli nella gestione dei dati
  • Programmare T-SQL
    • Fondamenti di t-sql
    • T-SQL batches
    • Dichiarazioni di variabili in T-SQL
    • Condizioni if, while, goto
    • Lavorare con i cursori
  • Creare Stored Procedures, funzioni User Defined e Trigger
    • Cosa sono le stored procedure
    • Creare una stored procedure
    • Passare dati ad una stored procedure
    • Intercettare i valori ritornati ad una stored procedure
    • Cosa sono le funzioni User Defined
    • Creare un trigger
  • Riferimenti
    • Guida ufficiale SQL Server
    • http://www.microsoft.com/italy/server/sql/previous/default.mspx
    • Service Packs
    • http://www.microsoft.com/sql/downloads/servicepacks.asp
    • guida di riferimento di T-SQL.
    • http://msdn2.microsoft.com/it-it/library/ms187787.aspx
    • Full-Text Search
    • http://msdn2.microsoft.com/it-it/library/ms178823.aspx
    • Full-Text Search Approfondimenti
    • http://msdn2.microsoft.com/it-it/library/ms142541.aspx
    • Advanced Services per SQL Server 2000 Express(comprende Full-Text Search)
    • http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5b5528b9-13e1-4db9-a3fc-82116d598c3d