Sale数据库
--(创建数据库)
--创建名为Sale的销售数据库。该数据表有一个名为Sale.mdf的主数据文件和名字为Sale_log.ldf的事务日志文件。
--主数据文件容量为4MB,事务日志文件容量为10MB,数据文件和日志文件的最大容量为20MB,文件增量为1MB。
USE master
GO
CREATE DATABASE Sale
ON
PRIMARY
(NAME = Sale,
FILENAME = 'D:\Sale.mdf',
SIZE = 5MB,
MAXSIZE = 20MB,
FILEGROWTH = 1MB)
LOG ON
(NAME = Sale_log,
FILENAME = 'D:\Sale_log.ldf',
SIZE = 10MB,
MAXSIZE = 20MB,
FILEGROWTH = 1MB
)
--(创建数据表)
--创建客户信息表Customer
USE Sale
GO
CREATE TABLE Customer
(CusNo nvarchar(3) NOT NULL,
CusName nvarchar(10) NOT NULL,
Address nvarchar(20) NULL,
Tel nvarchar(20) NULL
)
--创建产品表信息Product
USE Sale
GO
CREATE TABLE Product
(ProNo nvarchar(5) NOT NULL,
ProName nvarchar(20) NOT NULL,
Price Decimal(8,2) NOT NULL,
Stocks Decimal(8,0) NOT NULL
)
--创建入库表信息ProIn
USE Sale
GO
CREATE TABLE ProIn
(InputDate DateTime NOT NULL,
ProNo nvarchar(5) NOT NULL,
Quantity Decimal(6,0) NOT NULL
)
--创建销售表ProOut结构
USE Sale
GO
CREATE TABLE ProOut
(SaleDate DateTime NOT NULL,
CusNo nvarchar(3) NOT NULL,
ProNo nvarchar(5) NOT NULL,
Quantity Decimal(6,0) NOT NULL
)
create table Categories
(
CategoryID int identity(1,1) primary key, --类别ID [PK]
CategoryName nvarchar(15) not null, --类别名称
[Description] ntext, --说明
Picture image --图片
)
create table Products
(
ProductID int identity primary key, --产品ID『PK』
ProductName nvarchar(40) not null, --产品名称
CategoryID int foreign key references Categories(CategoryID), --类别ID
QuantityPerUnit nvarchar(20), --单位数量
UnitPrice money, --单价
UnitsInStock smallint default(0) check(UnitsInStock>=0), --库存量
UnitsOnOrder smallint default(0) check(UnitsOnOrder>=0), --订购量
ReorderLevel smallint default(0) check(ReorderLevel>=0), --再订购量
Discontinued bit --中止:0=正常;1=中止
)
create table Suppliers
(
SupplierID int identity(1,1) primary key, --供应商ID [PK]
CompanyName nvarchar(40) not null, --公司名称
ContactName nvarchar(30), --联系人姓名
ContactTitle nvarchar(30), --联系人头衔
[Address] nvarchar(60), --地址
City nvarchar(15), --城市
Region nvarchar(15), --地区
PostalCode nvarchar(15), --邮政编码
Country nvarchar(24), --国家
Phone nvarchar(24), --电话
Fax nvarchar(24), --传真
HomePage ntext --主页
)
create table Shippers
(
ShipperID int identity primary key, --运货商ID【PK】
CompanyName nvarchar(40) not null, --公司名称
Phone nvarchar(24) --电话
)
CREATE TABLE [dbo].[MyProducts]
(
[ProductId] INT NOT NULL PRIMARY KEY IDENTITY,
[ProductName] NVARCHAR(50) NOT NULL,
[CategoryId] INT NULL,
[QuantityPerUnit] NVARCHAR(50) NULL,
[UnitPrice] MONEY NULL,
[UnitsInStock] INT NULL ,
[UnitsInOrder] INT NULL ,
[ReorderLevel] INT NULL,
[Discontinued] BIT NULL,
CONSTRAINT [CK_Products_UnitsInStock] CHECK (UnitsInStock>=0),
CONSTRAINT [CK_Products_UnitsInOrder] CHECK (UnitsInOrder>=0),
CONSTRAINT [CK_Products_ReorderLevel] CHECK (ReorderLevel>=0),
CONSTRAINT [FK_Products_Categories] FOREIGN KEY (CategoryId) REFERENCES Categories(CategoryId)
)
数据库中字段类型对应C#中的数据类型:
|
SQL SERVER类型 |
|
C#类型 |
精确数字 |
bigint |
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 |
Int64 |
int |
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为integer。 |
Int32 |
smallint |
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。 |
Int16 |
tinyint |
从 0 到 255 的整型数据。存储大小为 1 字节。 |
System.Byte |
bit |
1 或 0 的整数数据。 |
Boolean |
decimal |
从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。 |
System.Decimal |
numeric |
功能上等同于 decimal。 |
System.Decimal |
money |
货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。 |
System.Decimal |
smallmoney |
货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。 |
System.Decimal |
近似数字 |
float |
从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。 |
System.Double |
real |
从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。 |
System.Single |
|
datetime |
从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。 |
System.DateTime |
smalldatetime |
从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。 |
System.DateTime |
字符串 |
char |
固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。 |
String |
varchar |
可变长度的非 Unicode 数据,最长为 8,000 个字符。 |
String |
text |
可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。 |
String |
Unicode 字符串 |
nchar |
固定长度的 Unicode 数据,最大长度为 4,000 个字符。 |
String |
nvarchar |
可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于nvarchar(128),用于引用数据库对象名。 |
String |
ntext |
可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。 |
String |
二进制字符串 |
binary |
固定长度的二进制数据,其最大长度为 8,000 个字节。 |
System.Byte[] |
varbinary |
可变长度的二进制数据,其最大长度为 8,000 个字节。 |
System.Byte[] |
image |
可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。 |
System.Byte[] |
其它数据类型 |
timestamp |
数据库范围的唯一数字,每次更新行时也进行更新。 |
System.DateTime |
uniqueidentifier |
全局唯一标识符 (GUID)。 |
System.Guid |
Variant |
|
Object |
|