SQL_server中创建订单数据库

Posted 可爱小夫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL_server中创建订单数据库相关的知识,希望对你有一定的参考价值。

 

任务描述:

  • 关系模型

1、代理商(代理商编号、姓名、地址、邮政编码、提成金额、提成比例)

其中代理商编号为primary key(主码)

 

2、客户(客户编号、姓名、地址、邮政编码、收支差额、贷款限额、代理商编号)

其中客户编号为primary key(主码)

  

3.产品(产品编号、描述信息、库存量、类别、仓库的编号、价格)

其中产品的编号为primary key(主码)

  

4.订单(订单编号、订货日期、客户编号)

  

5.订货项目(订单编号、产品编号、订购数量、订购单价)

  

 

  • 原始数据

1.对于代理商(代理商编号、姓名、地址、邮政编码、提成金额、提成比例)

01、联邦、东环路1号、541001、30000.00、40

02、惠普、东环路2号、541002、4000.00、10

03、三洋、东环路3号、541003、10000.00、30

04、联想、东环路4号、541004、100000.00、60

05、海尔、东环路5号、541005、200000.00、60

2.客户(客户编号、姓名、地址、邮政编码、收支差额、贷款限额、代理商编号)

100、张三、西环路1号、100001、10.00、100.00、02

200、李四、西环路2号、100001、-10.00、10.00、04

300、王五、西环路3号、100001、100.00、1000.00、02

400、赵六、西环路4号、100001、600.00、2000.00、01

500、洪七、西环路5号、100001、300.00、900.00、05

600、李明、西环路6号、100001、20.00、300.00、03

700、张进、西环路7号、100001、400.00、1000.00、03

3.产品(产品的编号、描述信息、库存量、类别、仓库的编号、价格)

0011、药物,单位(瓶)、1000、12、1001、40.00

0022、机器,单位(件)、300、3、1002、50000.00

0033、中药,单位(包)、800、12、1001、300.00

0044、软件,单位(套)、1500、10、1003、2000.00

0055、家具,单位(件)、6000、3、1002、1000.00

0066、小型机,单位(台)、10000、3、1002、200000.00

4.订单(订单编号、订货日期、客户编号)

111、2000-10-01、200

222、2000-09-01、200

333、2001-01-01、500

444、2002-02-02、300

555、2003-03-03、100

5.订货项目(订单编号、产品编号、订购数量、订购单价)

111、0033、200、280.00

222、0066、6000、150000.00

333、0033、100、280.00

444、0011、300、39.00

555、0055、5500、950.00

444、0044、1000、1900.00

  • 相关知识

1、创建数据库

create database stuDB
 on  primary  -- 默认就属于primary文件组,可省略
  (
 /*--数据文件的具体描述--*/
     name=\'stuDB_data\',  -- 主数据文件的逻辑名称
     filename=\'D:\\stuDB_data.mdf\', -- 主数据文件的物理名称
     size=5mb, --主数据文件的初始大小
     maxsize=100mb, -- 主数据文件增长的最大值
     filegrowth=15%--主数据文件的增长率
 )
 log on
 (
 /*--日志文件的具体描述,各参数含义同上--*/
     name=\'stuDB_log\',
     filename=\'D:\\stuDB_log.ldf\',
    size=2mb,
    filegrowth=1mb
 )

2、删除数据库

use studentdb
go
if exists(select * from sysobjects where name=\'stuMarks\')
drop table stuMarks
create table stuMarks
(
    ExamNo      int     identity(1,1) primary key,
    stuNo       char(6) not null,
    writtenExam int     not null,
    LabExam     int     not null
)
Go

3、创建数据表

use studentdb
go
if exists(select * from sysobjects where name=\'stuMarks\')
drop table stuMarks
create table stuMarks
(
    ExamNo      int     identity(1,1) primary key,
    stuNo       char(6) not null,
    writtenExam int     not null,
    LabExam     int     not null
)
Go

4、删除数据表

/*--删除数据表--*/
use StuDB
go 
if exists(select * from sysobjects where name=\'stuMarks\')
drop table stuMarks
go
/*--创建数据表--*/
create table stuMarks
(
    ExamNo      int     identity(1,1) primary key,
    stuNo       char(6) not null,
    writtenExam int     not null,
    LabExam     int     not null
)

5、数据库备份

backup database studentdb to disk = \'D:\\mybackupdb.bak\'
go

6、数据库还原

restore database mybackup
from disk= \'D:\\mybackupdb.bak\'
with move \'stuDB_data\'-- 原数据库的主数据文件的逻辑名称
to \'D:\\stuDB_data_org.mdf\',
move \'stuDB_log\'
to \'D:\\stuDB_log_org.ldf\'
go

 

 

SQL订单数据库创建源码:

/***********注意:只是在适当的位置根据提示填写代码,请不要删除现有代码**********/

/***********BEGIN:删除现存订单数据库**********/
use master
go
if exists(select * from sysdatabases WHERE name = \'orderdb\')
drop database orderdb
go
/***********END:删除现存订单数据库**********/


/*****TODO: 请在下面创建名为orderdb的订单数据库*******************/
/*   该订单数据库的数据文件具体描述如下
     name=\'orderdb_data\',  -- 主数据文件的逻辑名称
     filename=\'/home/orderdb_data.mdf\', -- 主数据文件的物理名称
     size=5mb, --主数据文件的初始大小
     maxsize=100mb, -- 主数据文件增长的最大值
     filegrowth=15%--主数据文件的增长率

     该订单数据库的日志文件具体描述为
     name=\'orderdb_log\',
     filename=\'/home/orderdb_log.ldf\',
     size=2mb,
     filegrowth=1mb
*/
/*******************BEGIN:创建订单数据库**********************/
create database orderdb
on primary
(
    name=\'orderdb_data\',   -- 主数据文件的逻辑名称
    filename=\'D:\\代码\\数据库查询表\\SQL_DATA\\orderdb_data.mdf\',    -- 主数据文件的物理名称
    size=5mb,        --主数据文件的初始大小
    maxsize=100mb,  -- 主数据文件增长的最大值
    filegrowth=15%        --主数据文件的增长率
    
)
log on 
(
    name=\'orderdb_log\',
    filename=\'D:\\代码\\数据库查询表\\SQL_DATA\\orderdb_log.ldf\',
    size=2mb,
    filegrowth=1mb
)


/*********************END:订单数据库orderdb创建结束 *******************/

/********************  支持中文 **********************/
ALTER DATABASE orderdb SET SINGLE_USER WITH ROLLBACK IMMEDIATE
go
ALTER DATABASE orderdb COLLATE Chinese_PRC_90_CI_AS
go
ALTER DATABASE orderdb SET MULTI_USER
go


/********使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息*********/
SET NOCOUNT ON
go

/************************使用orderdb*********************/
USE orderdb
go

/***************TODO: 请在下面创建5张数据表************************/
/*
例子1:订单表
create table  订单
(
订单编号 char(4) ,
订货日期 smalldatetime ,
客户编号 char(4),
primary key(订单编号),--在表级定义实体完整性
foreign key(客户编号) references 客户(客户编号)--在表级定义参照完整性
)
go
*/
/**************BEGIN:创建数据表**************/
/*TODO:1、创建名为代理商的数据表*/
create table 代理商
(
    代理商编号 char(4),
    姓名    nvarchar(10),
    地址    nvarchar(20),
    邮政编码    char(6),
    提成金额    smallmoney,
    提成比例     tinyint,
    primary key(代理商编号)
)
go

/*TODO:2、创建名为客户的数据表*/
create table 客户
(
    客户编号 char(4),
    姓名    nvarchar(10),
    地址    nvarchar(20),
    邮政编码    char(6),
    收支差额    smallmoney,
    贷款限额    smallmoney,
    代理商编号    char(4),
    primary key(客户编号),
    foreign key(代理商编号) references 代理商(代理商编号)
)
go

/*TODO:3、创建名为产品的数据表*/
create table 产品
(
    产品编号    char(4),
    描述信息    nvarchar(20),
    库存量    int,
    类别    tinyint,
    仓库编号    char(4),
    价格    smallmoney,
    primary key(产品编号)
)
go

/*TODO:4、创建名为订单的数据表*/
create table 订单
(
    订单编号    char(4),
    订货日期    smalldatetime,
    客户编号    char(4),
    primary key(订单编号),
    foreign key(客户编号) references 客户(客户编号)
)
go


/*TODO:5、创建名为订货项目的数据表*/
create table 订货项目
(
    订单编号 char(4),
    产品编号 char(4),
    订购数量 smallint,
    订购单价 smallmoney,
    primary key(订单编号,产品编号),
    foreign key(订单编号) references 订单(订单编号),
    foreign key(产品编号) references 产品(产品编号)

)
go


/**************    END:创建数据表结束 ****************/

/***************TODO: 请在下面给表中插入数据************************/
/*
例子1,插入一条记录:
insert into  订货项目
VALUES 
(\'444\',\'0044\',1000,1900.00)
go
例子2,插入多条记录:
insert into  订货项目
VALUES 
(\'555\',\'0055\',5500,950.00),
(\'444\',\'0044\',1000,1900.00)
go
*/
/**************BEGIN:插入数据**************/
/*TODO:1、插入数据到名为代理商的数据表中*/
insert into 代理商
VALUES
(\'01\',\'联邦\',\'东环路1号\',\'541001\',30000.00,40),
(\'02\',\'惠普\',\'东环路2号\',\'541002\',4000.00,10),
(\'03\',\'三洋\',\'东环路3号\',\'541003\',10000.00,30),
(\'04\',\'联想\',\'东环路4号\',\'541004\',100000.00,60),
(\'05\',\'海尔\',\'东环路5号\',\'541005\',200000.00,60)
go


/*TODO:2、插入数据到名为客户的数据表中*/
insert into 客户
VALUES
(\'100\',\'张三\',\'西环路1号\',\'100001\',10.00,100.00,\'02\'),
(\'200\',\'李四\',\'西环路2号\',\'100001\',-10.00,10.00,\'04\'),
(\'300\',\'王五\',\'西环路3号\',\'100001\',100.00,1000.00,\'02\'),
(\'400\',\'赵六\',\'西环路4号\',\'100001\',600.00,2000.00,\'01\'),
(\'500\',\'洪七\',\'西环路5号\',\'100001\',300.00,900.00,\'05\'),
(\'600\',\'李明\',\'西环路6号\',\'100001\',20.00,300.00,\'03\'),
(\'700\',\'张进\',\'西环路7号\',\'100001\',400.00,1000.00,\'03\')
go


/*TODO:3、插入数据到名为产品的数据表中*/
insert into 产品
VALUES
(\'0011\',\'药物,单位(瓶)\',1000,12,\'1001\',40.00),
(\'0022\',\'机器,单位(件)\',300,3,\'1002\',50000.00),
(\'0033\',\'中药,单位(包)\',800,12,\'1001\',300.00),
(\'0044\',\'软件,单位(套)\',1500,10,\'1003\',2000.00),
(\'0055\',\'家具,单位(件)\',6000,3,\'1002\',1000.00),
(\'0066\',\'小型机,单位(台)\',10000,3,\'1002\',200000.00)
go



/*TODO:4、插入数据到名为订单的数据表中*/
insert into 订单
VALUES
(\'111\',\'2000-10-01\',\'200\'),
(\'222\',\'2000-09-01\',\'200\'),
(\'333\',\'2001-01-01\',\'500\'),
(\'444\',\'2002-02-02\',\'300\'),
(\'555\',\'2003-03-03\',\'100\')
go


/*TODO:5、插入数据到名为订货项目的数据表中*/
insert into 订货项目
VALUES
(\'111\',\'0033\',200,280.00),
(\'222\',\'0066\',6000,150000.00),
(\'333\',\'0033\',100,280.00),
(\'444\',\'0011\',300,39.00),
(\'555\',\'0055\',5500,950.00),
(\'444\',\'0044\',1000,1900.00)
go



/****************END:插入数据结束**********************/

/****************TODO:请在下面写SQL语句备份orderdb数据库***********************/
backup database orderdb to disk = \'D:\\代码\\数据库查询表\\SQL_DATA\\mybackupdb.bak\'
go


/****************END:完成订单数据库备份********************************/

/**************TODO:请在下面写SQL语句还原orderdb数据库为mybackup*************/
restore database mybackup 
from disk=\'D:\\代码\\数据库查询表\\SQL_DATA\\mybackupdb.bak\' 
with move \'orderdb_data\'
to \'D:\\代码\\数据库查询表\\SQL_DATA\\orderdb_data_backup.mdf\',
move \'orderdb_log\'
to \'D:\\代码\\数据库查询表\\SQL_DATA\\orderdb_log_backup.ldf\'
go

/****************END:完成还原数据库备份********************************/

/***************  测试 ,请不要删除下面代码********/
SELECT name FROM sys.databases WHERE name=\'mybackup\'
go
USE mybackup
go
select * from 代理商
go
select * from 客户
go
select * from 产品
go
select * from 订单
go
select * from 订货项目
go

 

以上是关于SQL_server中创建订单数据库的主要内容,如果未能解决你的问题,请参考以下文章

在片段android中创建listview

在片段中创建自定义列表视图时出错。必需的活动,找到的片段

在片段中创建自定义列表视图时出错所需活动,找到片段

SQL_server用户角色创建,权限授予

Android App 在片段中创建 ListView 引用时关闭

如何获取用于在 WooCommerce 中创建自定义订单返回 url 的订单密钥