Views

Non importa quante tabelle uno relazionale join attraversa, indipendentemente dal fatto che contiene una clausola GROUP BY (o qualsiasi altra cosa in questo caso), tutti i set di risultati della query si manifestano come una o più righe che contengono una collezione identica di uno o più colonne. Così, in un certo senso, i risultati delle query sono tabelle virtuali basati su tabelle sottostanti fisica dei dati. Ora immagina se tu potessi fare una dichiarazione di query e definire come un oggetto di formale database che può essere letta come una tabella può. Beh, è possibile, cioè quello che viene chiamato in vista. Il codice definisce una vista del database.

CREATE VIEW vwEmployee AS SELECT SSN, CompanyID, Nome, Cognome, DateOfBirth FROM Employee
  

Il codice in grassetto è solo un modello di scheda SELECT, il resto della lista incapsula semplicemente che SELECT, come uno formale, oggetto di database riutilizzabili-vista-con un nome formale. Ora, ogni volta che si desidera visualizzare tutti i dipendenti, senza i loro stipendi, si può semplicemente effettuare le seguenti operazioni:

SELECT * FROM vwEmployee

Allo stesso modo, è possibile eseguire le query più elaborata su una vista, come se fosse una tabella, come segue:

SELECT SSN, Cognome + '' + Nome AS Fullname, DateOfBirth vwEmployee DA DOVE DateOfBirth> '01 / 01/1960 'ORDER BY DateOfBirth DESC

In realtà, le opinioni possono essere filtrati, ordinati, e si unì così come qualsiasi tabella fisica può. Viste tipicamente nascondere gli elementi di dati in modo che ciò che viene restituito solo espone i dati che è necessario. Gli elementi si nascondevano le colonne possono essere specifiche di una tabella, le righe in quella tabella che non soddisfano una clausola WHERE, o una combinazione di entrambi. Fondamentalmente, un maschere di visualizzare i dati non necessari dalla vostra applicazione. Queste maschere possono essere sia verticale che orizzontale. Una maschera di scudi verticali specifiche colonne di una tabella di tornare ed è semplicemente la raccolta definite delle colonne della tabella sottostante, che contiene la sua opinione. Un scudi orizzontale maschera specifiche righe di una tabella di tornare ed è semplicemente la clausola WHERE che fornisce i criteri di filtro per la visualizzazione. È possibile combinare sia verticale che orizzontale di schermo nel medesimo parere. Il codice, ad esempio, restituisce solo il SalesOrderID, SaleDate, e le colonne di OrderTotal solo gli ordini di vendita con uno stato di 20.

CREATE VIEW vwFinishedSalesOrder AS SELECT SalesOrderID, SaleDate, Total FROM SalesOrder WHERE Status = 20

Parere non fermarsi a una sola tabella. In realtà, le opinioni sono spesso utilizzati per semplificare la complessa struttura relazionale si unisce in più tabelle in modo che gli sviluppatori di applicazioni non ha bisogno di preoccuparsi di tale complessità e può invece concentrarsi su solo la visualizzazione dei dati pertinenti. Il codice definisce tale punto di vista relazionale.

CREATE VIEW vwEmployeeCompany AS SELECT e.SSN, e.Firstname + '' + e.Lastname AS Fullname, e.DateOfBirth, c.CompanyName FROM Employee e INNER JOIN c Company e.CompanyID = c.CompanyID

Lo sviluppatore ColdFusion ora possibile selezionare tutti i lavoratori dipendenti nati prima del 1960, nascondere la colonna stipendio, e visualizzare il nome della società per la quale ogni opera, tutte semplicemente effettuando le seguenti operazioni:

SELECT * FROM vwEmployeeCompany

Allo stesso modo, supponiamo che si è tentato di eseguire una SELECT contro questo punto di vista che includeva la colonna Stipendio, come segue:

SELECT SSN, Fullname, DateOfBirth, CompanyName FROM VwEmployeeCompany WHERE Stipendio> 100000

INSERT INTO vwInventoryItem (ItemNumber, Descrizione, UnitPrice, AvailableToSell) VALUES ( 'CAS30-BLK',
'30-Minute Casette, Black Case ', 1,05, 100) UPDATE vwInventoryItem SET Description = '30-Minute Casette, Black Case', UnitPrice = 1.25, AvailableToSell = 90 WHERE ItemNumber = 'CAS30-BLK'

 SELECT CompanyName, ZipCode DA Azienda Dove Stato = '# trim (FORM.State) #' ORDER BY ZipCode ASC 

Per creare una stored procedure in Microsoft SQL Server dalla logica SQL all'interno di questa chiamata CFQUERY, si aggiunge il seguente codice ed eseguirlo sul server di database (utilizzando Query Analyzer o qualche altra utilità elaborazione batch).

CREATE PROCEDURE sp_GetCompanies (@ Stato CHAR (2)) AS SELECT
CREATE PROCEDURE sp_GetCompanies (@ Stato CHAR (2)) AS SELECT

Dopo aver eseguito il codice nel database, si dispone di un oggetto precompilato stored procedure, sp_GetCompanies, che è possibile chiamare dalla vostra applicazione ColdFusion.

un articolo presentato da Roger Arling


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo "Views" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 315 users browsing the articles directory