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 &quot;vicina&quot; 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

SQL Server2000

  • 1.
    Microsoft SQL Server2000 Maurizio Farina Web: http://www.mfarina.it Mail: admin@mfarina.it Padova, Giugno 2008
  • 2.
    Teoria – IDatabase 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.
  • 3.
    Teoria – IDatabase – 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.
  • 4.
    Teoria – IDatabase – 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.
  • 5.
    Teoria – IDatabase - 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
  • 6.
    Analisi e Progettazionedi un Database - Magazzino Merci Esempio reale: gestire un magazzino merci
  • 7.
    Analisi e Progettazionedi un Database - Requisiti Integrità referenziale Sicurezza Prestazioni Multiutenza Atomicità Consistenza
  • 8.
    Analisi e Progettazionedi un Database – Oggetti Tabelle Colonne Chiavi primarie ed indici Relazioni
  • 9.
    Installare ed usareSql 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
  • 10.
    Installare ed usareSql 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
  • 11.
    Installare ed usareSql 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
  • 12.
    Installare ed usareSql 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.
  • 13.
    Installare ed usareSql Server 2000 – Service Manager Avviare Sospendere Interrompere
  • 14.
    Installare ed usareSql Server 2000 - Installazione Server e Client Tools Il nome dell’istanza Scelta dei componenti Services Account Authentication Mode Network Libraries
  • 15.
    Installare ed usareSql Server 2000 – Enterprise Manager Tutte le attività di configurazione e manutenzione
  • 16.
    Installare ed usareSql 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.
  • 17.
    Installare ed usareSql Server 2000 - Query Analyzer
  • 18.
    Progettare database -Enterprise Manager
  • 19.
    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.
  • 20.
    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
  • 21.
    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
  • 22.
    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
  • 23.
    Progettare database –Constraints esempio ALTER TABLE employee ADD CONSTRAINT fk_EmployeeId FOREIGN KEY (EmployeeId) REFERENCES EmployeeList(EmployeeId)
  • 24.
    Progettare database –Constraints – Enterprise Manager … .
  • 25.
  • 26.
    Progettare database –Query Analyzer …… .
  • 27.
    Ritirare i valoricon il Select – Enterprise Manager Selezionare i dati con l’enterprise manager
  • 28.
    Ritirare i valoricon il Select - query analyzer Ritirare i dati con il query analyzer
  • 29.
    Ritirare i valoricon 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]
  • 30.
    Ritirare i valoricon 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
  • 31.
    Ritirare i valoricon 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.
  • 32.
    Lavorare con idati 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
  • 33.
    Lavorare con idati 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
  • 34.
    Lavorare con idati 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
  • 35.
    Lavorare con idati 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
  • 36.
    Lavorare con idati 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' )
  • 37.
    Lavorare con idati 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
  • 38.
    Lavorare con idati 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
  • 39.
    Lavorare con idati 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.
  • 40.
    Lavorare con idati in SQL Server - full-text index - Contains Il predicato CONTAINS consente di ricercare: Una parola, una frase o un prefisso Una parola &quot;vicina&quot; 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;');
  • 41.
    Lavorare con idati 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.
  • 42.
    Lavorare con idati 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
  • 43.
    Modificare i daticon 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
  • 44.
    Programmare T-SQL Fondamentidi t-sql T-SQL batches Dichiarazioni di variabili in T-SQL Condizioni if, while, goto Lavorare con i cursori
  • 45.
    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
  • 46.
    Riferimenti Guida ufficialeSQL 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

Editor's Notes

  • #2 Presentation Title in Footer