SQL_Server2000示例數據庫NorthWind的分析
表名:Categories(食品類別表)
表結構:
字段名稱
數據類型
長度
允許為空
CategoryID(主鍵)
int
4
否
CategoryName
nvarchar
15
否
Description
ntext
是
Picture
image
是
主鍵:CategoryID
主鍵約束名稱:PK_Categories
關系說明:該表主要用來保存食品種類信息的數據。
表名:CustomerCustomerDemo(消費者表)
表結構:
字段名稱
數據類型
長度
允許為空
CustomerID(主鍵)
nchar
5
否
CustomerTypeID(主鍵)
nchar
10
否
組合主鍵:CustomerID、CustomerTypeID
主鍵約束名稱:PK_CustomerCustomerDemo
外鍵:
1.列 CustomerTypeID引用表CustomerDemographics(CustomerTypeID)
2.列 CustomerID引用表Customers(CustomerID)
外鍵約束名稱:
FK_CustomerCustomerDemo和
FK_CustomerCustomerDemo_Customers
關系說明:該表主要用來保存消費者ID和消費者類別ID信息的數據。
表名:CustomerDemographics(消費者類別說明表)
表結構:
字段名稱
數據類型
長度
允許為空
CustomerTypeID(主鍵)
nchar
10
否
CustomerDesc
ntext
16
是
主鍵:CustomerTypeID
主鍵約束名稱:PK_CustomerDemographics
關系說明:該表主要用來存儲消費者類別說明信息。
表名:Customers(消費者信息表)
表結構:
字段名稱
數據類型
長度
允許為空
CustomerID(主鍵)
nchar
5
否
CompanyName
nvarchar
40
否
ContactName
nvarchar
30
是
ContactTitle
nvarchar
30
是
Address
nvarchar
60
是
City
nvarchar
15
是
Region
nvarchar
15
是
PostalCode
nvarchar
10
是
Country
nvarchar
15
是
Phone
nvarchar
24
是
Fax
nvarchar
24
是
主鍵:CustomerID
主鍵約束名稱:PK_Customers
關系說明:該表主要用來存儲消費者詳細信息的數據表。
表名:Employees(雇員信息表)
表結構:
字段名稱
數據類型
長度
允許為空
EmployeeID(主鍵)
int
4
否
LastName
nvarchar
20
否
FirstName
nvarchar
10
否
Title
nvarchar
30
是
TitleOfCourtesy
nvarchar
25
是
BirthDate
datetime
8
是
HireDate
datetime
8
是
Address
nvarchar
60
是
City
nvarchar
15
是
Region
nvarchar
15
是
PostalCode
nvarchar
10
是
Country
nvarchar
15
是
HomePhone
nvarchar
24
是
Extension
nvarchar
4
是
Photo
image
16
是
Notes
ntext
16
是
ReportsTo
int
4
是
PhotoPath
nvarchar
255
是
主鍵:EmployeeID
主鍵約束名稱:PK_Employees
外鍵:
1.列 ReportsTo引用表Employees(EmployeeID)
外鍵約束名稱
FK_Employees_Employees
關系說明:該表主要用來存儲雇員的詳細信息數據表。
表名:EmployeeTerritories(雇員銷售區域表)
表結構:
字段名稱
數據類型
長度
允許為空
EmployeeID(主鍵)
int
4
否
TerritoryID(主鍵)
nvarchar
20
否
主鍵:EmployeeID、TerritoryID
主鍵約束名稱:PK_EmployeeTerritories
外鍵:
1.列 EmployeeID引用表Employees(EmployeeID)
2.列 TerritoryID引用表Territories (TerritoryID)
外鍵約束名稱:
FK_EmployeeTerritories_Employees和FK_EmployeeTerritories_Territories
關系說明:該表主要用來存儲雇員ID和其對應的銷售區域ID。
表名:Order Details(訂單價格表)
表結構:
字段名稱
數據類型
長度
允許為空
OrderID(主鍵)
int
4
否
ProductID(主鍵)
int
4
否
UnitPrice
money
8
否
Quantity
samllint
2
否
Discount
real
4
否
主鍵:OrderID、ProductID
主鍵約束名稱:PK_Order_Details
外鍵:
1.列 OrderID引用表Orders(OrderID)
2.列 ProductID引用表Products(ProductID)
外鍵約束名稱:
FK_Order_Details_Orders和FK_Order_Details_Products
關系說明:該表主要用來存儲訂單價格信息的數據表
1 組合、主鍵、聚集索引在 OrderID 和ProductID 上定義。
2 在 OrderID 上也有兩個非聚集索引。
3 在 ProductID 上也有兩個非聚集索引。
4 UnitPrice 的 CHECK 約束被定義為 (UnitPrice >= 0)。
5 Quantity 的 CHECK 約束被定義為 (Quantity > 0)。
表級別的 CHECK 約束被定義為 (Discount >= 0 和 Discount < = 1)。
表名:Orders(訂單表)
表結構:
字段名稱
數據類型
長度
允許為空
OrderID(主鍵)
int
4
否
CustomerID
nchar
5
是
EmployeeID
int
4
是
OrderDate
datetime
8
是
RequiredDate
datetime
8
是
ShippedDate
datetime
8
是
ShipVia
int
4
是
Freight
money
8
是
ShipName
nvarchar
40
是
ShipAddress
nvarchar
60
是
ShipCity
nvarchar
15
是
ShipRegion
nvarchar
15
是
ShipPostalCode
nvarchar
10
是
ShipCountry
nvarchar
15
是
主鍵:OrderID
主鍵約束名稱:PK_Orders
外鍵:
1.列 CustomerID引用表Customers(CustomerID)
2.列 EmployeeID引用表Employees(EmployeeID)
3. .列 ShipVia引用表Shippers(ShipperID)
外鍵約束名稱
FK_Orders_Customers,FK_Orders_Employees和FK_Orders_Shippers
關系說明:該表主要用來存儲訂單詳細信息的數據
1 在 CustomerID 上有兩個非聚集索引。
2 在 EmployeeID 上有兩個非聚集索引。
3 在 ShipVia 上也有一個非聚集索引。
表名:Products(產品信息表)
表結構:
字段名稱
數據類型
長度
允許為空
ProductID(主鍵)
int
4
否
ProductName
nvarchar
40
否
SupplierID
int
4
是
CategoryID
int
4
是
QuantityPerUnit
nvarchar
20
是
UnitPrice
money
8
是
UnitsInStock
samllint
2
是
UnitsOnOrder
samllint
2
是
ReorderLevel
samllint
2
是
Discontinued
bit
1
否
主鍵:ProductID
主鍵約束名稱:PK_Products
外鍵:
1.列 CategoryID引用表Categories(CategoryID)
2.列 SupplierID引用表Suppliers(SupplierID)
外鍵約束名稱
FK_Products_Categories和FK_Products_Suppliers
關系說明:該表主要用來存儲產品詳細信息的數據表。
1 在 SupplierID 上有兩個非聚集索引。
2 在 CategoryID 上有兩個非聚集索引。
3 UnitPrice 的 CHECK 約束被定義為 (UnitPrice >=)。
4 UnitsInStock 的 CHECK 約束被定義為 (UnitsInStock >=)
5 UnitsOnOrder 的 CHECK 約束被定義為 (UnitsOnOrder >=)。
6 ReorderLevel 的 CHECK 約束被定義為 (ReorderLevel >=)。
表名:Region(區域表)
表結構:
字段名稱
數據類型
長度
允許為空
RegionID(主鍵)
int
4
否
RegionDescription
nchar
50
否
主鍵:RegionID
主鍵約束名稱:PK_Region
關系說明:該表主要用來存儲區域信息數據。
表名:Shippers(托運信息表)
表結構:
字段名稱
數據類型
長度
允許為空
ShipperID(主鍵)
int
4
否
CompanyName
nvarchar
40
否
Phone
nvarchar
24
是
主鍵:ShipperID
主鍵約束名稱:PK_Shippers
關系說明:該表主要用來存儲托運公司的詳細信息數據。
表名:Suppliers(供應商信息表)
表結構:
字段名稱
數據類型
長度
允許為空
SupplierID(主鍵)
int
4
否
CompanyName
nvarchar
40
否
ContactName
nvarchar
30
是
ContactTitle
nvarchar
30
是
Address
nvarchar
60
是
City
nvarchar
15
是
Region
nvarchar
15
是
PostalCode
nvarchar
10
是
Country
nvarchar
15
是
Phone
nvarchar
24
是
Fax
nvarchar
24
是
HomePage
ntext
16
是
主鍵:SupplierID
主鍵約束名稱:PK_Suppliers
關系說明:該表主要用來存儲供應商詳細信息數據。
表名:Territories(銷售區域信息表)
表結構:
字段名稱
數據類型
長度
允許為空
TerritoryID(主鍵)
nvarchar
20
否
TerritoryDescription
nchar
50
否
RegionID
int
4
否
主鍵:TerritoryID
主鍵約束名稱:PK_Territories
外鍵:
1.列 RegionID引用表Region(RegionID)
外鍵約束名稱
FK_Territories_Region
關系說明:該表用來存儲銷售區域詳細說明信息的數據。
存儲過程分析:
1.CustOrderHist
參數:消費者編號
作用:用來顯示指定消費者購買各種商品的總數。
2.CustOrdersDetail
參數:訂單編號
作用:用來顯示指定訂單編號的銷售信息。
3.CustOrdersOrders
參數:消費者編號
作用:用來顯示指定消費者所有訂單銷售期限情況。
4.Employee Sales by Country
參數:起始時間、結束時間
作用:用來顯示在起始時間和結束時間之間的需要發貨訂單的負責人信息和訂單的詳細信息。
5.Sales by Year
參數:起始時間、結束時間
作用:用來查詢在起始時間和結束時間之間發貨的訂單信息及所屬年份(包括售價)。
6.SalesByCategory
參數:食品類別、年份
返回值:返回指定食品名稱、年份的銷售食品名稱和其售價。
7.Ten Most Expensive Products
作用:顯示Products表中食品單價排在前10位的食品名稱和食品單價。
視圖分析:
1.Alphabetical list of products未過期食品的詳細信息及其所屬的類別。
2.Category Sales for 1997顯示種類食品在1997年的實際銷售部。
3.Current Product List顯示未過期食品的信息。
4.Customer and Suppliers by City所有消費者和供貨商的信息。
5.Invoices 按照訂單發貨的詳細信息。
6.Order Details Extended訂單明細的詳細信息。
7.Order Subtotals 每單的實際銷售額
8.Orders Qry 有訂單的客戶的詳細訂單信息及客戶信息
9.Product Sales for 1997 每種食品在1997實際銷售額以及食品的詳細信息
10.Products Above Average Price單位售價大于所有食品平均售價的食品清單。
11.Products by Category 未過期食品的存貨情況(按照商品分類)
12.Quarterly Orders 1997年有訂單的客戶信息
13.Sales by Category 1997年訂單食品的詳細情況
14.Sales Totals by Amount 1997年每單銷售額大于2500的訂單的信息
15.Summary of Sales by Quarter1997年已發貨訂單的發貨時間
16.Summary of Sales by Year 1997年已發貨訂單的發貨時間
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。