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



Похожие документы
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.

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

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

Trasformazione DB Access In SQL Server. Michele De Nittis

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.

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

OSSIF WEB. Manuale query builder

Транскрипт:

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