SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server



Documenti analoghi
Basi di dati (7) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: stored procedure (1.

Basi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.

Microsoft SQL Server

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Capitolo 7. Esercizio 7.1

Definizione di domini

ROUTINE E PROGRAMMAZIONE

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

DBMS (Data Base Management System)

Basi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: T-SQL (1.

Viene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE

Oracle PL/SQL. Motivazioni

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Laboratorio di Basi di Dati e Web

Volumi di riferimento

Basi di Dati: Corso di laboratorio

Lezione 8. Metadati, Viste e Trigger

Gestione delle tabelle

MySQL Database Management System

SQL Server. Applicazioni principali

Informatica per le discipline umanistiche 2 lezione 10

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL PER LA DEFINIZIONE DI BASI DI DATI

Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso:

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Basi di Dati Corso di Laura in Informatica Umanistica

SQL (STRUCTURED QUERY LANGUAGE)

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

SQL Sintassi Dei Comandi

Introduzione a MySQL

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

MAX, SUM, AVG, COUNT)

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Concetti fondamentali dei database database Cos'è un database Principali database

Laboratorio di Basi di Dati

Dispensa di database Access

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Istruzioni DML di SQL

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Trasformazione DB Access In SQL Server. Michele De Nittis

Università degli Studi di Catania Dipartimento di Matematica e Informatica Compilatori 2014/15

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Informazioni generali sul corso

Corso di Informatica Generale 1 IN1. Linguaggio SQL

DUE GRUPPI DI COMANDI

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

SQL Server Integration Services. Integration Services Project

Basi di Dati. S Q L Lezione 5

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE

SQL. Alcune note sulla definizione dei dati

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture

GERARCHIE RICORSIVE - SQL SERVER 2008

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

I parametri passati sono lo username e la password dell utente.

IL DAT A B A S E DI ALGE B R A N D O

2104 volume III Programmazione

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Corso di Laboratorio di Basi di Dati

Interrogazioni complesse. SQL avanzato 1

PHP e Structured Query Language

User Tools: DataBase Manager

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

Al giorno d oggi, i sistemi per la gestione di database

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

Capitolo 13. Interrogare una base di dati

PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle

APPENDICE. Procedure in SQL (1)

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Il linguaggio SQL: viste e tabelle derivate

Come trattare il risultato di un comando SQL (relazioni) che

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Database Manager Guida utente DMAN-IT-01/09/10

Vincoli e Triggers. Vincoli. Tipo di vincoli. Chiavi esterne

Lorenzo Braidi. Database design. Libro_datadesign.indb :06:17

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

PROGRAMMA DI CLASSE 5AI

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Introduzione. Dicom in Oracle 11g: gestione e vantaggi

Cap. 5 Basi di dati attive

CORSO DI SQL SERVER 7

OSSIF WEB. Manuale query builder

Transcript:

SQL Server 7.0 1

SQL Server SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server 2

Strumenti per la gestione Enterprise Manager Query Analyzer 3

Enterprise Manager Registrazione del Server Metodi di autenticazione Creazione di un database Gli strumenti del database 4

Enterprise Manager Creazione di una tabella Tipi base/tipi definiti dall utente Rule» Range» List» Pattern 5

Esempio DATA MAT PROF MATR NOME COG APPELLO (1,N) ESAME (1,1) (1,1) (1,N) STUDENTE RISULTATO NLISTA 6

Query Manager Collegamento al database Inserimento dati nelle tabelle attraverso query Semplici query di selezione 7

Enterprise Manager Uso dei diagrams per creare nuove tabelle e per modificare l architettura del database Creazione di viste 8

Transact-SQL Generalita Le variabili globali: @@variabile_globale Definizione e uso di nuove variabili DECLARE @variabile tipo SET @variabile = valore 9

Stored Procedures Sono supportati 5 tipi si stored procedures: System Stored Procedures (sp_) Local Stored Procedures Temporary Stored Procedures Remote Stored Pocedures Extended Stored Procedures 10

Stored Procedures La sintassi: CREATE PROC[EDURE] procedure_name [;number] [ {@parameter data_type} [VARYING] [= default] [OUTPUT] ] [,...n] [WITH { RECOMPILE ENCRYPTION RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS sql_statement [...n] 11

Stored Procedures Esempio: CREATE PROCEDURE [Aggiorna] @data char(10), @materia char(30), @matricola char (10), @numero int AS UPDATE esame set numlista= @numero where esame.data=@data and esame.matricola= @matricola and esame.materia= @materia 12

Trigger CREATE TRIGGER trigger_name ON table [WITH ENCRYPTION] { {FOR { [DELETE] [,] [INSERT] [,] [UPDATE] } [WITH APPEND][NOT FOR REPLICATION] AS sql_statement [...n]} {FOR { [INSERT] [,] [UPDATE] } [WITH APPEND] [NOT FOR REPLICATION] AS { IF UPDATE (column) [{AND OR} UPDATE (column)] [...n] IF (COLUMNS_UPDATED() {bitwise_operator} updated_bitmask) { comparison_operator} column_bitmask [...n] } sql_statement [...n] }} 13

Trigger I Trigger sono reattivi I Constraints sono controllati prima della esecuzione di trigger Le tabelle possono avere molteplici trigger per ogni azione Solo i proprietari delle tabelle possono avere il permesso di gestire i trigger I trigger non possono essere creati ne su viste ne su tabelle temporanee I trigger non dovrebbero ritornare nessun risultato I trigger possono gestire azioni su piu tabelle 14

Trigger di inserimento Puo essere definito un trigger che si attivi a causa di una operazione di INSERT Tabella logica inserted:e una tabella che conserva una copia delle righe che sono state inserite Le righe di una tabella inserted sono sempre dei duplicati di una o piu righe nella tabella del trigger 15

Trigger di cancellazione Quando viene attivato un trigger di cancellazione, le righe cancellate vengono poste nella tabella deleted. La tabella deleted e una tabella logica che conserva una copia di tutte le righe che sono state cancellate La tabella deleted e la tabella del trigger non hanno righe in comune 16

Trigger di update Una operazione di Update puo essere pensata come una operazione a due passi: La fase di DELETE che seleziona le immagini dei dati precedenti all aggiornamento La fase di INSERT che contiene i dati dopo la fase di aggiornamento Il trigger puo esaminare sia la tabella inserted sia la tabella deleted 17

Esempio CREATE TRIGGER [aggiornanumerolistadef] ON dbo.esame FOR INSERT AS DECLARE @maxnum int DECLARE @data char (10) DECLARE @materia char (30) DECLARE @matricola char (10) if (SELECT COUNT (*) from esame) > 1 SELECT @maxnum = (SELECT MAX(numLista)+1 FROM esame) if (SELECT COUNT (*) from esame) = 1 SELECT @maxnum = 1 Select @data = (Select data from esame where numlista is NULL) Select @materia = (Select materia from esame where numlista is NULL) Select @matricola = (Select matricola from esame where numlista is NULL) EXEC Aggiorna @data, @materia, @matricola, @maxnum 18

Esempio CREATE TRIGGER aggiorna ON [Esame] FOR INSERT AS declare @lista int set @lista =( select max (numlista) from Esame where materia = (select mater from inserted ) and data = (select data from inserted )) if @lista is Null set @lista = 0 set @lista = @lista + 1 update Esame set numlista = @lista where materia = (select materia from inserted ) and data = (select data from inserted ) and matr = (select matr from inserted ) 19

Esempio CREATE TRIGGER [delete] ON [Esame] FOR DELETE AS declare @lista int set @lista = (select numlista from deleted where materia = (select materia from deleted ) and data = (select data from deleted )) Update Esame set numlista = numlista -1 where numlista>@lista and materia = (select materia from deleted ) and data = (select data from deleted ) 20