去查阅相关的书籍。正是这样给了我更多了解编程语言的机会,同时也锻炼了我的自学能力,为以后的学习奠定了基础。在这个过程中,我们学会了很多知识,在以后的学习中,我们会更加努力地学会专业知识,并将所学知识投入到社会实践中去,以便更好地掌握。
7、附录
7.1创建触发器
1、创建订货日期大于注册日期的触发器 create Trigger tri_c
on 订购表 after insert,update as
if exists(select * from 订购表 d join 顾客表 c on d.顾客ID=c.顾客ID WHERE d.订货日期<=c.注册日期) rollback
2、创建顾客id的级联更新的触发器 create trigger tri_d on 顾客表 after update as
update 顾客表 set 顾客ID= (
SELECT 顾客ID FROM INSERTED) WHERE 顾客ID IN ( select 顾客ID from deleted )
3、创建订购数量大于或等于库存量的触发器 create Trigger tri_w
on 订购表 after insert,update as
if exists(select * from 订购表 d join 商品信息表 c on d.商品ID=c.商品ID
第 15 页
WHERE d.订购数量<=c.库存量) rollback
4、创建商品ID级联更新的触发器 USE [网上订购明细库] GO
/****** Object: Trigger [dbo].[tri_s] Script Date: 12/26/2015 23:39:57 ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
ALTER trigger [dbo].[tri_s] on [dbo].[订购表] after update as
update 商品信息表 set 商品ID= (
SELECT 商品ID FROM INSERTED) WHERE 商品ID IN ( select 商品ID from deleted )
5、创建订购日期大于或等于交货日期的触发器 USE [网上订购明细库] GO
/****** Object: Trigger [dbo].[tri_v] Script Date: 12/26/2015 23:40:57 ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
ALTER Trigger [dbo].[tri_v]
第 16 页
on [dbo].[订购表] after insert,update as
if exists(select * from 订购表 d WHERE d.订货日期>=d.交货日期) rollback 7.2创建索引 1、创建索引
create index ename_ind on 订购表(订货日期) 7.3创建视图 1、创建视图
create view v_is_s1(商品名称,库存量,售价,生产日期,保质期) as
select c.商品名称,库存量,售价,生产日期,保质期 from 订购表 c join 商品信息表 d
on c.商品ID=d.商品ID 7.4创建存储过程 1、创建存储过程
create procedure 商品信息表_商品ID @商品ID char(15) as
select c.商品名称,进价,售价,订购数量 from 商品信息表 c join 订购表 d on c.商品ID=d.商品ID where c.商品ID=@商品ID exec 商品信息表_商品ID '2' 2、创建存储过程
create procedure 商品信息表_订货日期 @订货日期 varchar(20) as
第 17 页
select c.商品ID,进价,售价,订购数量 from 商品信息表 c join 订购表 d on c.商品ID=d.商品ID where 订货日期=@订货日期
exec 商品信息表_订货日期 '20141209' 7.5、完整性约束
1、创建顾客表的电话约束 alter table 顾客表 add constraint ck_o
check(电话 like '[0-9][0-9][0-9][-][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') 2、创建地址默认值约束 alter table 顾客表 add constraint df_c
default 'UNKNOWN'for 地址 3、创建订购数量的约束 alter table 订购表 add constraint ch_O check(订购数量>0)
4、创建订货日期和交货日期的约束 alter table 订购表 add constraint ch_w check(订货日期<交货日期) 5、创建唯一值约束 alter table 顾客表 add constraint un_o unique (社会保险号码) 6、修改唯一值的约束 alter table 订购表 add constraint df_p
第 18 页
default '未处理' for 处理状态 7、修改商品id的约束 alter table 商品信息表 add constraint chk_商品ID
check (商品ID like'[c][0-9][0-9][0-9]') 8、修改顾客id的约束 alter table 顾客表 add constraint chk_顾客ID check (顾客ID like'[0-9][0-9][0-9]')
参考文献:
1. 萨师炫等《数据库系统概论(第三版)》.北京高等教育出版社,2001 2. 施伯乐等.《数据库技术》.北京科学出版社,2002
3. 王珊等.《数据库系统原理教程》.北京清华大学出版社,1998 4. 张龙祥等.《数据库原理与设计》.北京人民邮电出版社,2002 5. 陈志泊等.《数据库原理及应用教程》.北京人民邮电出版社,2002 6. 徐洁磐.《现代数据库系统教程》.北京北京希望电子出版社,2002 7. 周志逵等.《数据库理论与新技术》.北京北京理工大学出版社,2001 8. 李建中等.《数据库系统原理》.北京电子工业出版社,1998 9. 刘方鑫等.《数据库原理与技术》.北京电子工业出版社,2002 10.高阳.《计算机实用软件》.北京电子工业出版社,1995
第 19 页