SQL_Server2000示例資料庫NorthWind的分析(轉)
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年已發貨訂單的發貨時間
※遠程連接mysql8.0的相關問題
※手把手告訴你如何安裝多個版本的node
TAG:程序員小新人學習 |