Basi Di Dati 05

50 %
50 %
Information about Basi Di Dati 05

Published on August 22, 2007

Author: magafr

Source: slideshare.net

BASI DI DATI ESERCITAZIONI -05- MSSQL - SQL Email: francesco.magagnino@ewave.it Università di Trento Corso di Laurea in Ingegneria dell’Informazione e dell’Organizzazione

Subquery Le subquery permettono di esprimere delle condizioni basate sul risultato di interrogazioni

Le subquery permettono di esprimere delle condizioni basate sul risultato di interrogazioni

Subquery selezionare tutti i dati relativi ai cd di lagabue (senza join) SELECT * FROM tCd WHERE (cd_cantante_id = ( SELECT cantante_id FROM tCantante WHERE cantante_nome = 'ligabue') )

selezionare tutti i dati relativi ai cd di lagabue (senza join)

SELECT *

FROM tCd

WHERE

(cd_cantante_id =

(

SELECT cantante_id

FROM tCantante

WHERE cantante_nome = 'ligabue')

)

Subquery inserire dati di Ella con genere di tipo "soul" INSERT INTO tCantante (cantante_genere_id, cantante_nome, cantante_sitointernet, cantante_descrizione) select genere_id, 'Ella', 'www.ella.it', 'Ella Fitzgerald' from tGenere where genere_tipo = 'soul '

inserire dati di Ella con

genere di tipo "soul"

INSERT INTO tCantante (cantante_genere_id, cantante_nome, cantante_sitointernet, cantante_descrizione)

select genere_id, 'Ella', 'www.ella.it', 'Ella Fitzgerald' from tGenere where genere_tipo = 'soul '

Subquery inserire dati di Ella con genere di tipo "soul“ label con di id 2 INSERT INTO tCantante ( cantanti_nome, cantanti_sitointernet, cantanti_descrizione, cantanti_genere_id ) SELECT ‘ ella ', 'www. ella .it', ( SELECT label_nome FROM tLabel WHERE Label_id = '2' ), ( SELECT generi_id FROM tGenere WHERE generi_tipo = 'soul' ) ;

inserire dati di Ella con

genere di tipo "soul“

label con di id 2

INSERT INTO tCantante (

cantanti_nome, cantanti_sitointernet,

cantanti_descrizione, cantanti_genere_id )

SELECT ‘ ella ', 'www. ella .it',

( SELECT label_nome FROM tLabel WHERE Label_id = '2' ),

( SELECT generi_id FROM tGenere WHERE generi_tipo = 'soul' ) ;

Stored procedure: Vantaggi Evitare al client di riscrivere query complesse offrendo la possibilità di richiamare una procedura archiviata all'interno del database. Quantità informazioni scambiate tra client e server sarà minore a tutto vantaggio delle prestazioni. Mantenere librerie di funzioni da utilizzare all'interno del database stesso. Potenzialmente si potrebbe eseguire ogni operazione richiamando una diversa procedura, senza conoscere la struttura di un database magari complesso, o avendone una conoscenza limitata. Possibilità di assegnare permessi di modifica o di lettura limitati sulle tabelle concedendo solo permesso di eseguire le sp.

Evitare al client di riscrivere query complesse offrendo la possibilità di richiamare una procedura archiviata all'interno del database.

Quantità informazioni scambiate tra client e server sarà minore a tutto vantaggio delle prestazioni.

Mantenere librerie di funzioni da utilizzare all'interno del database stesso. Potenzialmente si potrebbe eseguire ogni operazione richiamando una diversa procedura, senza conoscere la struttura di un database magari complesso, o avendone una conoscenza limitata.

Possibilità di assegnare permessi di modifica o di lettura limitati sulle tabelle concedendo solo permesso di eseguire le sp.

Stored procedure: Svantaggi Le stored procedure aumentano il carico di lavoro per il server SLQ . A volte non si può utilizzare il linguaggio che si vorrebbe utilizzare, perché il DBMS non lo supporta. La logica del programma viene spostata sul server SQL; (incompatibilità con il modello logico di applicativi a tre livelli) (dati|logica|applicativo  dati-procedure|logica|applicativo)

Le stored procedure aumentano il carico di lavoro per il server SLQ .

A volte non si può utilizzare il linguaggio che si vorrebbe utilizzare, perché il DBMS non lo supporta.

La logica del programma viene spostata sul server SQL; (incompatibilità con il modello logico di applicativi a tre livelli) (dati|logica|applicativo  dati-procedure|logica|applicativo)

Una view.. SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM dbo.Orders WHERE (CustomerID = N'VINET')

SELECT OrderID, OrderDate, RequiredDate, ShippedDate

FROM dbo.Orders

WHERE (CustomerID = N'VINET')

..una stored procedure! set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 ) AS SELECT OrderID, OrderDate,RequiredDate, ShippedDate FROM Orders WHERE CustomerID = @CustomerID ORDER BY OrderID

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 )

AS

SELECT OrderID, OrderDate,RequiredDate, ShippedDate

FROM Orders

WHERE CustomerID = @CustomerID

ORDER BY OrderID

(Per eseguirla dentro SQLServer) USE [Northwind] GO DECLARE @return_value int EXEC @return_value = [dbo].[CustOrdersOrders] @CustomerID = N'VINET' SELECT 'Return Value' = @return_value GO

USE [Northwind]

GO

DECLARE @return_value int

EXEC @return_value = [dbo].[CustOrdersOrders]

@CustomerID = N'VINET'

SELECT 'Return Value' = @return_value

GO

Sp 1 ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 ) AS SELECT OrderID, OrderDate, RequiredDate=CONVERT(datetime, RequiredDate + 1), ShippedDate FROM Orders WHERE CustomerID = @CustomerID ORDER BY OrderID

ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 )

AS

SELECT OrderID, OrderDate,

RequiredDate=CONVERT(datetime, RequiredDate + 1),

ShippedDate

FROM Orders

WHERE CustomerID = @CustomerID

ORDER BY OrderID

Sp 2 ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 ) AS SELECT OrderID, OrderDate, RequiredDate AS RequiredDateORIGINALE, RequiredDate=DATENAME(mm,CONVERT(datetime, RequiredDate + 1)), ShippedDate FROM Orders WHERE CustomerID = @CustomerID ORDER BY OrderID

ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 )

AS

SELECT OrderID, OrderDate,

RequiredDate AS RequiredDateORIGINALE,

RequiredDate=DATENAME(mm,CONVERT(datetime, RequiredDate + 1)),

ShippedDate

FROM Orders

WHERE CustomerID = @CustomerID

ORDER BY OrderID

Sp 3 ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 ) AS SET ROWCOUNT 2 SELECT OrderID, OrderDate, RequiredDate AS RequiredDateORIGINALE, RequiredDate=DATENAME(mm,CONVERT(datetime, RequiredDate + 1)), ShippedDate FROM Orders WHERE CustomerID = @CustomerID ORDER BY OrderID

ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 )

AS

SET ROWCOUNT 2

SELECT OrderID, OrderDate,

RequiredDate AS RequiredDateORIGINALE,

RequiredDate=DATENAME(mm,CONVERT(datetime, RequiredDate + 1)),

ShippedDate

FROM Orders

WHERE CustomerID = @CustomerID

ORDER BY OrderID

Sp 4 ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 ) AS SET ROWCOUNT 2 SELECT OrderID, OrderDate, RequiredDat e , RequiredDate MODIF =DATENAME(mm,CONVERT(datetime, RequiredDate + 1)), ShippedDate FROM Orders WHERE CustomerID = @CustomerID ORDER BY OrderID

ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5 )

AS

SET ROWCOUNT 2

SELECT OrderID, OrderDate,

RequiredDat e ,

RequiredDate MODIF =DATENAME(mm,CONVERT(datetime, RequiredDate + 1)),

ShippedDate

FROM Orders

WHERE CustomerID = @CustomerID

ORDER BY OrderID

Add a comment

Related presentations

Related pages

UniNettuno Basi di Dati Lez 05 - YouTube

UniNettuno Basi di Dati Lez 05 Ryo Saeba. Subscribe Subscribed Unsubscribe 7,689 7K. ... Standard YouTube License; Loading... Advertisement
Read more

Basi di dati e World Wide Web - Roma Tre University

3 30/05/2003 Basi di dati e World Wide Web 23 Indipendenza dei dati negli ipertesti: stessi dati e stessa struttura ipertestuale, diversa presentazione
Read more

UniNettuno - Basi Di Dati - YouTube

UniNettuno - Basi Di Dati Ryo Saeba; 30 videos; 12,170 views; Last updated on Sep 25, 2013; ... UniNettuno Basi di Dati Lez 05 by Ryo Saeba. 41:54.
Read more

Basi di Dati - di.unisa.it

2 20/05/02 Prof. Carlo Blundo 3 Fondamenti dell’Informatica A.A. 2000-2001 Esempi di Basi di Dati ØAgenda Telefonica ØArchivio Clienti di una Videoteca
Read more

ING-INF/05 14AFQPI : Basi di dati - Politecnico di Torino

Here is the best resource for homework help with ING-INF/05 14AFQPI : Basi di dati at Politecnico Di Torino. Find ING-INF/0514AFQPI study guides, notes, and
Read more

02AFQDI - Basi di dati - Risultati 05-02-10 - dbdmg.polito.it

02AFQDI - Basi di dati Appello del 05-02-'10 Prof.ssa Elena Baralis MATRICOLA Voto scritto Quaderno Voto Finale 99645 20.5 21 106828 INS INS 108511 INS INS
Read more

Laboratorio Di Basi Di Dati 05 Architettura Del Web ...

1. Corso di Basi di Dati e LaboratorioIntroduzione al Web Alfio Ferrara - Stefano MontanelliA.A. 2005/2006 Basi di Dati e Laboratorio 1 Architettura del ...
Read more

Basi di dati II – Prova parziale del 24/05/2011

Basi di dati II – Prova parziale del 24/05/2011 Tempo a disposizione: 1 ora (libri chiusi) Domanda 1 (40%) Si vogliono gestire una base di dati XML in ...
Read more

Progettazione di basi di dati - DB&KB Group

1 Progettazione di basi di dati Sistemi Informativi T Versione elettronica: 05.progettazioneDB.pdf Progettazione DB Sistemi Informativi T 2 Progettazione ...
Read more