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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM