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 studentdbgoif exists(select * from sysobjects where name=stuMarks)drop table stuMarkscreate 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 studentdbgoif exists(select * from sysobjects where name=stuMarks)drop table stuMarkscreate 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 StuDBgo if exists(select * from sysobjects where name=stuMarks)drop table stuMarksgo/*--创建数据表--*/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.bakgo

6、数据库还原

restore database mybackupfrom disk= D:\mybackupdb.bakwith move stuDB_data-- 原数据库的主数据文件的逻辑名称to D:\stuDB_data_org.mdf,move stuDB_logto D:\stuDB_log_org.ldfgo

 

 

SQL订单数据库创建源码:

/***********注意:只是在适当的位置根据提示填写代码,请不要删除现有代码**********//***********BEGIN:删除现存订单数据库**********/use mastergoif exists(select * from sysdatabases WHERE name = orderdb)drop database orderdbgo/***********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 orderdbon 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 IMMEDIATEgoALTER DATABASE orderdb COLLATE Chinese_PRC_90_CI_ASgoALTER DATABASE orderdb SET MULTI_USERgo/********使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息*********/SET NOCOUNT ONgo/************************使用orderdb*********************/USE orderdbgo/***************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.bakgo/****************END:完成订单数据库备份********************************//**************TODO:请在下面写SQL语句还原orderdb数据库为mybackup*************/restore database mybackup from disk=D:\代码\数据库查询表\SQL_DATA\mybackupdb.bak with move orderdb_datato D:\代码\数据库查询表\SQL_DATA\orderdb_data_backup.mdf,move orderdb_logto D:\代码\数据库查询表\SQL_DATA\orderdb_log_backup.ldfgo/****************END:完成还原数据库备份********************************//*************** 测试 ,请不要删除下面代码********/SELECT name FROM sys.databases WHERE name=mybackupgoUSE mybackupgoselect * from 代理商goselect * from 客户goselect * from 产品goselect * from 订单goselect * from 订货项目go

 

相关文章