Condividi tramite


Tipi di dati in AdventureWorks

In questo argomento verrà fornito un elenco dei tipi CLR definiti dall'utente di Microsoft.NET Framework, dei tipi di dati di sistema di MicrosoftSQL Server, nonché dei tipi di dati alias Transact-SQL rappresentati nel database di esempio AdventureWorks.

Tipi CLR definiti dall'utente

Nella tabella seguente vengono elencati gli esempi inclusi in AdventureWorks in cui vengono utilizzati tipi CLR definiti dall'utente. Gli esempi possono essere scaricati dalla home page relativa agli esempi e ai progetti di community di Microsoft SQL Server. Per ulteriori informazioni sui tipi CLR definiti dall'utente, vedere Tipi CLR definiti dall'utente.

Esempio

Descrizione

Esempi SQL Server Database Engine

Viene definito un tipo di dati Currency definito dall'utente mediante C#. Questo tipo di dati definito dell'utente consente di incapsulare sia un valore sia la lingua e di stabilire in che modo è possibile visualizzare correttamente il valore di valuta nella lingua indicata. Nell'esempio viene inoltre fornita una funzione di conversione valuta tramite cui viene restituita un'istanza del tipo Currency definito dall'utente.

UDT Utilities

Sono incluse funzioni per esporre metadati di assembly in Transact-SQL, ovvero esempi di funzioni valutate a livello di tabella di flusso per restituire i tipi inclusi in un assembly in forma di tabella e funzioni per restituire campi, metodi e proprietà in un tipo definito dall'utente.

Esempio User-Defined Data Type (UDT)

Vengono mostrati la creazione e l'utilizzo di un semplice tipo di dati definito dall'utente da Transact-SQL e da un'applicazione client in cui viene utilizzato System.Data.SqlClient.

UTF8 String User-Defined Data Type (UDT)

Viene illustrata l'implementazione di un tipo di dati UTF-8 definito dall'utente che consente di estendere il sistema dei tipi del database per assicurare l'archiviazione di valori con codifica UTF-8. Questo tipo consente inoltre di implementare il codice per convertire stringhe Unicode in UTF-8 e viceversa.

Calendar-Aware Date/Time UDT

Vengono illustrati due tipi di dati definiti dall'utente, ovvero CADatetime e CADate, che consentono la gestione di date e orari in base al calendario.

Esempio Array Parameter

Viene passata una matrice di informazioni da un client a una stored procedure CLR nel server mediante un tipo di dati CLR definito dall'utente.

Tipi di dati di sistema

Nella tabella seguente vengono elencati i tipi di dati di sistema di SQL Server e le tabelle e colonne che li utilizzano. Per ulteriori informazioni sui tipi di dati di sistema, vedere Tipi di dati (Transact-SQL).

Tipo di dati

Utilizzato in schema.tabella.colonna

bigint

Non utilizzato.

bit

Vedere Flag e NameStyle nella sezione successiva relativa ai tipi di dati degli alias.

char oppure nchar

HumanResources.Employee.Gender

HumanResources.Employee.MaritalStatus

Person.StateProvince.StateProvinceCode

Production.BillOfMaterials.UnitMeasureCode

Production.Culture.CultureID

Production.Document.Revision

Production.Product.Class

Production.Product.ProductLine

Production.Product.SizeUnitMeasureCode

Production.Product.Style

Production.Product.WeightUnitMeasureCode

Production.ProductModelProductDescriptionCulture.CultureID

Production.TransactionHistory.TransactionType

Production.TransactionHistoryArchive.TransactionType

Production.UnitMeasure.UnitMeasureCode

Purchasing.ProductVendor.UnitMeasureCode

Sales.CountryRegionCurrency.CurrencyCode

Sales.CurrencyRate.FromCurrencyCode

Sales.CurrencyRate.ToCurrencyCode

Sales.Customer.CustomerType

Sales.Currency.CurrencyCode

datetime

Colonna ModifiedDate in tutte le tabelle

dbo.AWBuildVersion.VersionDate

dbo.DatabaseLog.PostTime

HumanResources.Employee.BirthDate

HumanResources.Employee.HireDate

HumanResources.EmployeeDepartmentHistory.EndDate

HumanResources.EmployeeDepartmentHistory.StartDate

HumanResources.EmployeePayHistory.RateChangeDate

HumanResources.Shift.EndTime

HumanResources.Shift.StartTime

Production.BillOfMaterials.EndDate

Production.BillOfMaterials.StartDate

Production.Product.DiscontinuedDate

Production.Product.SellEndDate

Production.Product.SellStartDate

Production.ProductCostHistory.EndDate

Production.ProductCostHistory.StartDate

Production.ProductListPriceHistory.EndDate

Production.ProductListPriceHistory.StartDate

Production.TransactionHistory.TransactionDate

Production.TransactionHistoryArchive.TransactionDate

Production.WorkOrder.DueDate

Production.WorkOrder.EndDate

Production.WorkOrder.StartDate

Production.WorkOrderRouting.ActualEndDate

Production.WorkOrderRouting.ActualStartDate

Production.WorkOrderRouting.ScheduledEndDate

Production.WorkOrderRouting.ScheduledStartDate

Purchasing.ProductVendor.LastReceiptDate

Purchasing.PurchaseOrderDetail.DueDate

Purchasing.PurchaseOrderHeader.OrderDate

Purchasing.PurchaseOrderHeader.ShipDate

Sales.SalesCurrencyRate.CurrencyRateDate

Sales.SalesOrderHeader.DueDate

Sales.SalesOrderHeader.OrderDate

Sales.SalesOrderHeader.ShipDate

Sales.SalesPersonQuotaHistory.QuotaDate

Sales.SalesTerritoryHistory.EndDate

Sales.SalesTerritoryHistory.StartDate

Sales.ShoppingCartItem.DateCreated

Sales.SpecialOfferEndDate

Sales.SpecialOfferStartDate

decimal

Production.BillOfMaterials.PerAssemblyQty

Production.Location.Availability

Production.Product.Weight

Purchasing.PurchaseOrderDetail.ReceivedQty

Purchasing.PurchaseOrderDetail.RejectedQty

Purchasing.PurchaseOrderDetail.StockedQty

Production.WorkOrderRouting.ActualResourcesHrs

float

Non utilizzato.

image

Non utilizzato. Vedere varbinary(max).

int

Tutte le tabelle

money

HumanResources.EmployeePayHistory.Rate

Production.Product.ListPrice

Production.Product.StandardCost

Production.ProductCostHistory.StandardCost

Production.ProductListPriceHistory.ListPrice

Production.TransactionHistory.ActualCost

Production.TransactionHistoryArchive.ActualCost

Production.WorkOrderRouting.PlannedCost

Production.WorkOrderRouting.ActualCost

Purchasing.ProductVendor.LastReceiptCost

Purchasing.ProductVendor.StandardPrice

Purchasing.PurchaseOrderDetail.LineTotal

Purchasing.PurchaseOrderDetail.UnitPrice

Purchasing.PurchaseOrderHeader.Freight

Purchasing.PurchaseOrderHeader.SubTotal

Purchasing.PurchaseOrderHeader.TaxAmt

Purchasing.PurchaseOrderHeader.TotalDue

Purchasing.ShipMethod.ShipBase

Purchasing.ShipMethod.ShipRate

Sales.CurrencyRate.AverageRate

Sales.CurrencyRate.EndOfDayRate

Sales.SalesOrderDetail.UnitPrice

Sales.SalesOrderDetail.UnitPriceDiscount

Sales.SalesOrderHeader.Freight

Sales.SalesOrderHeader.SubTotal

Sales.SalesOrderHeader.TaxAmt

Sales.SalesOrderHeader.TotalDue

Sales.SalesPerson.Bonus

Sales.SalesPerson.SalesLastYear

Sales.SalesPerson.SalesYTD

Sales.SalesPersonQuotaHistory.SalesQuota

Sales.SalesTerritory.CostLastYear

Sales.SalesTerritory.CostYTD

Sales.SalesTerritory.SalesLastYear

Sales.SalesTerritory.SalesYTD

numeric

Sales.SalesOrderDetail.LineTotal

smallint

HumanResources.Department.DepartmentID

HumanResources.Employee.SickLeaveHours

HumanResources.Employee.VacationHours

HumanResources.EmployeeDepartmentHistory.DepartmentID

Production.BillOfMaterials.BOMLevel

Production.Location.LocationID

Production.Product.SafetyStockLevel

Production.Product.ReorderPoint

Production.ProductInventory.Quantity

Production.ProductInventory.LocationID

Production.WorkOrder.ScrappedQty

Production.WorkOrder.ScrapReasonID

Production.WorkOrderRouting.OperationSequence

Production.WorkOrderRouting.LocationID

Purchasing.PurchaseOrderDetail.OrderQty

Sales.CreditCard.ExpYear

Sales.SalesOrderDetail.OrderQty

smallmoney

Production.Location.CostRate

Sales.SalesPerson.CommissionPct

Sales.SalesTaxRate.TaxRate

Sales.SpecialOffer.DiscountPct

sysname

dbo.DatabaseLog.DatabaseUser

dbo.DatabaseLog.Event

dbo.DatabaseLog.Schema

dbo.DatabaseLog.Object

text oppure ntext

Non utilizzato. Vedere varchar(max) o nvarchar(max).

tinyint

dbo.AWBuildVersion.SystemInformationID

HumanResources.EmployeePayHistory.PayFrequency

HumanResources.EmployeeDepartmentHistory.ShiftID

HumanResources.EmployePayHistory.Rate

Production.Document.Status

Production.ProductInventory.Bin

Purchasing.PurchaseOrderHeader.RevisionNumber

Purchasing.PurchaseOrderHeader.Status

Purchasing.Vendor.CreditRating

Sales.CreditCard.ExpMonth

Sales.SalesOrderHeader.RevisionNumber

Sales.SalesOrderHeader.Status

Sales.SalesTaxRate.TaxType

uniqueidentifier

(GUID)

Vedere la colonna ROWGUID nelle tabelle incluse negli schemi seguenti:

  • Person

  • Sales

  • Product

In AdventureWorks, la colonna ROWGUID viene utilizzata negli esempi di replica.

varbinary(max)

Production.Document.Document

Production.ProductPhoto.LargePhoto

Production.ProductPhoto.ThumbnailPhoto

varchar oppure nvarchar

Tutte le tabelle.

varchar(max) oppure

nvarchar(max)

Production.Document.DocumentSummary

dbo.DatabaseLog.TSQL

xml

dbo.DatabaseLog.XmlEvent

HumanResources.JobCandidate.Resume

Person.Contact.AdditionalContactInfo

Production.Illustration.Diagram

Production.ProductModel.CatalogDescription

Production.ProductModel.Instructions

Sales.Individual.Demographics

Sales.Store.Demographics

Tipi di dati alias

Nella tabella seguente vengono elencati i tipi di dati alias, i tipi di dati Transact-SQL definiti dall'utente e le tabelle e colonne che li utilizzano. Per ulteriori informazioni sui tipi di dati alias, vedere Utilizzo dei tipi di dati alias.

Nome del tipo di dati

Definito come

Utilizzato in schema.tabella.colonna

AccountNumber

nvarchar(15)

Sales.SalesOrderHeader.AccountNumber

Purchasing.Vendor.AccountNumber

Flag

bit

HumanResources.Employee.CurrentFlag

HumanResources.Employee.SalariedFlag

Person.StateProvince.IsOnlyStateProvinceFlag

Production.Product.FinishedGoodsFlag

Production.Product.MakeFlag

Production.ProductProductPhoto.Primary

Purchasing.Vendor.ActiveFlag

Purchasing.Vendor.PreferredVendorStatusFlag

Sales.SalesOrderHeader.OnlineOrderFlag

NameStyle

bit

Person.Contact.NameStyle

Name

nvarchar(50)

HumanResources.Department.GroupName

HumanResources.Department.Name

HumanResources.Shift.Name

Person.AddressType.Name

Person.Contact.FirstName

Person.Contact.LastName

Person.Contact.MiddleName

Person.ContactType.Name

Person.CountryRegion.Name

Person.StateProvince.Name

Production.Culture.Name

Production.Location.Name

Production.Product.Name

Production.ProductCategory.Name

Production.ProductModel.Name

Production.ProductReview.ReviewerName

Production.ProductSubcategory.Name

Production.ScrapReason.Name

Production.UnitMeasure.Name

Purchasing.ShipMethod.Name

Purchasing.Vendor.Name

Sales.Currency.Name

Sales.SalesReason.Name

Sales.SalesReason.ReasonType

Sales.SalesTaxRate.Name

Sales.SalesTerritory.Name

Sales.Store.Name

OrderNumber

nvarchar(25)

Sales.SalesOrderHeader.SalesOrderNumber

Phone

nvarchar(25)

Person.Contact.Phone