数据库系统原理课程设计-订单销售数据库管理系统.doc

上传人:小小飞 文档编号:3277246 上传时间:2019-08-07 格式:DOC 页数:21 大小:333.51KB
返回 下载 相关 举报
数据库系统原理课程设计-订单销售数据库管理系统.doc_第1页
第1页 / 共21页
数据库系统原理课程设计-订单销售数据库管理系统.doc_第2页
第2页 / 共21页
数据库系统原理课程设计-订单销售数据库管理系统.doc_第3页
第3页 / 共21页
数据库系统原理课程设计-订单销售数据库管理系统.doc_第4页
第4页 / 共21页
数据库系统原理课程设计-订单销售数据库管理系统.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数据库系统原理课程设计-订单销售数据库管理系统.doc》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计-订单销售数据库管理系统.doc(21页珍藏版)》请在三一文库上搜索。

1、长 沙 学 院 课程设计说明书 题目 _ 系(部) _ 专业(班级) _ 姓名 _ 学号 _ 指导教师 _ 起止日期 _ 课程设计任务书 课程名称:数据库系统原理课程名称:数据库系统原理 设计题目:设计题目: 销售订单数据库管理系统 1、某销售商的订单系统需要如下信息: 每个供应商包含供应商编号、名称、地址、联系电话等信息。 每种产品包含产品号、产品名称、产品类别等信息。 每个供应商可供应多种产品,每种产品可由多个供应商供应。 客户包含编号、姓名、通信地址、电话等信息。 雇员包括编号、姓名、联系电话等信息。 订单包括订单号等信息。 一个客户可下多个订单,每个订单只能由一个客户下。 一个雇员可管

2、理多个订单,每个订单只能由一个雇员管理。 一个订单订购多种产品,每种产品可在不同的订单中订购 2、系统功能基本要求: 按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品。能够模拟完成一个订单交易全 过程。 设计工作量:设计工作量: 40 课时 工作计划:工作计划: 班级周次节次教室内容指导教师 15 周周 一 1-4XXX布置任务 15 周周 三 1-4XXX上机 15 周周 四 9-12XXX答疑 15 周周 五 9-12XXX答疑 15 周周 六 1-4XXX上机 16 周周 一 9-12XXX答疑 16 周周 二 1-2XXX上机 16 周周 三 1-2XXX上机 16 周周

3、四 9-12XXX答疑 16 周周 五 1-4XXX上机 10 软件 7 班 16 周周 六 1-4XXX答辩 XXX 指导教师签名: 日期: 教研室主任签名: 日期: 系主任签名: 日期: 长沙学院课程设计鉴定表 姓名学号专业班级 设计题目指导教师 指导教师意见: 评定等级: 教师签名: 日期: 答辩小组意见: 评定等级: 答辩小组长签名: 日期: 教研室意见: 教研室主任签名: 日期: 系(部)意见: 系主任签名: 日期: 说明 课程设计成绩分“优秀” 、 “良好” 、 “及格” 、 “不及格”四类; 目 录 一、引言一、引言 5 1.1编写目的5 1.2参考资料5 二、二、需求规约需求规

4、约6 2.1 业务描述6 2.2 需求分析6 三、三、数据库环境说明数据库环境说明7 四、四、数据库的命名规则数据库的命名规则7 4.1 数据库对象命名规则7 4.2 数据项编码规则7 五、五、逻辑设计逻辑设计8 5.1 ER 图8 5.2 关系模型8 六、六、物理设计物理设计9 6.1 表汇总9 6.2 表1: SUPPLIERS表(供应商表)9 6.3 表2: PRODUCT表(产品表) .10 6.4 表3: SP 表(供应商产品供应表)10 6.5 表4: ORDERS表(订单表)11 6.6 表5: PO 表(产品订购表)12 6.7 表6: EMPLOYEE表(雇员表) .12 6

5、.8 表7: CUSTOMER表(客户表).13 6.9 视图的设计13 6.10 存储过程的设计14 6.11 触发器的设计18 6.12 函数的设计18 七、七、安全性设计安全性设计19 7.1 防止用户直接操作数据库的方法19 7.1.1 用户标识和鉴定.19 7.1.2 存取控制.19 7.1.3 数据加密.19 7.2 用户帐号密码的加密方法19 7.3 角色与权限19 八、八、数据库管理与维护说明数据库管理与维护说明20 九、九、总结总结21 一、引言一、引言 1.1编写目的编写目的 本文档是销售订单数据库管理系统设计文档的组成部分,编写数据库设计文档的目的是:明确数 据库的表名、

6、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循SQL SERVER 2008 数据库设计和开发规范 。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。 设计该数据库的目的是为了能够模拟完成一次订单销售流程。 1.2参考资料参考资料 资料名称作者文件编号、版 本 数据库系统概论 王珊、萨师煊2006 年 5 月第 4 版 数据库设计入门 经典 鲍威尔2007 年 3 月第 1 版 数据库原理克罗恩科2005 年 6 月第 1 版 二、二、需求规约 2.1 业务描述业务描述 销售订单数据库管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的 软件,配置

7、一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界 面的销售订单数据库管理系统,实现订单销售的自动化的计算机系统,为商品供应商提供准确、精细、 迅速的订单销售信息。具体功能为供应商供应产品、请假的申请,出差的记录输入到系统中,系统将 为员工记录这些信息。 2.2 需求分析需求分析 本销售订单数据库管理系统,能够完成插入产品,供应记录,订购记录等等这些信息,以能够模 拟完成一次订单销售的过程,此外,在一个完整的订单销售流程中,本数据库系统还提供查询某供应 商供应的产品信息,询某产品信息,查询某客户信息,查询某订单订购的产品的信息。对于客户而言, 还提供了查询订单最多的

8、客户的功能。 总的来说,本数据库系统能够达到模拟完成一次订单销售流程的要求。在本销售订单数据库管理 系统中,有一些限制性条件,比如一个客户可以下多个订单,但一个订单只能由一个客户下,一个订 单可以订购多种产品,每种产品可被不同订单订购等等,这些限制条件的加入能够使本数据库管理系 统的功能更加完善,能够满足更高的要求。 三、三、数据库环境说明 数据库实 例 数据库系 统 数据库部 署环境 数据库设计 工具 数据库存放位 置 说明 销售订单 数据库管 理系统 Sql Server 2008 Windows XP Sql Server存放位置,绝 对路径/相对 路径 用于订单销售管理 四、四、数据库

9、的命名规则数据库的命名规则 4.1 数据库对象命名规则数据库对象命名规则 数据库对象命名规则备注 表S 功能描述字符串例如:Suppliers 供应商表 视图view_功能描述字符串例如:view_Product 产品视图 触发器insert_功能描述字符串例如:insert_PO 更改库存触发器 存储过程Procedure_功能描述字符串例如:pro_insertSuppliers 存储过程 4.2 数据项编码规则数据项编码规则 数据项命名规则数据类型长度范围备注 供应商 编号 两位整数序号 (0099) 定长字符串12 位无 产品号两 位 整 数 序 号 (0099) 定长字符串12 位无

10、 订单号两位整数序号 (0099) 定长字符串12 位无 雇员号两位整数序号 (0099) 定长字符串12 位无 客户号两位整数序号 (0099) 定长字符串12 位无 五、五、逻辑设计逻辑设计 5.1 ER 图图 供应商 供应 产品 订购 订单 管理 雇员 下发客户 名称 地址 联系电话 客户编号 姓名 通信地址 电话 产品编号 供应商编号 产品 编号 产品名称产品类型 产品编号 订单编号 订单编号 雇员编号 姓名 联系电话 供应商编号 售价 出厂价 存货量 数量 日期 雇员编号 工资 客户编号 5.2 关系模型关系模型 供应商(供应商编号,名称,地址,联系电话) 产品(产品编号,产品名称,

11、产品类别,售价,出厂价,存货量) 供应(供应商编号,产品编号) 订购(产品编号,订单编号,数量) 客户(客户编号,姓名,通信地址,电话) 订单(订单编号,日期,客户编号,雇员编号) 雇员(雇员编号,姓名,联系电话,工资) 注:有下划线的表示该属性为主码。 六、六、物理设计 6.1 表汇总表汇总 表名功能说明 表 Suppliers供应商表,存储供应商的编号等信息 表 Product产品表,存储产品的编号、数量等信息 表 SP供应商产品供应表,存储供应商所供应的产品对应信息 表 Orders订单表,存储订单的编号、日期等信息 表 PO产品订购表,存储产品订购的对应信息 表 Employee雇员表

12、,存储雇员的编号等信息 表 Customer客户表,存储客户的编号等信息 6.2 表表1: Suppliers 表表(供应商表供应商表) 表名Suppliers(供应商表) 数据库用户 Sa 主键 Snumber 其他排序字段无 索引字段无 序号字段名称数据类型 (精度范围) 允许为 空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1Snumberchar(12)NY高无主键/供应商号 2Snamechar(30)NN中无供应商名称 3Saddresschar(30)YN中无供应商地址 4StelnumintYN高无供应商电话 sql 脚本-建立供应商表 create table Sup

13、pliers -供应商表 (Snumber char(12) primary key,-供应商编号,主码 Sname char(30) not null,-姓名 Saddress char(30), -地址 Stelnum int -电话 ); 6.3 表表2: Product 表表(产品表产品表) 表名Product(产品表) 数据库用户sa 主键 Pnumber 其他排序字段无 索引字段无 序号字段名称数据类型(精 度范围) 允许 为空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1Pnumberchar(12)NY 高无主键/产品编号 2Pnamechar(30)NY高无产品名称

14、3Pcategorychar(15)YN低无产品类别 4PpriceintYN中无产品售价 5Pex_pricerealYN中无产品出厂价 6PinventoryrealYN中无产品库存量 sql 脚本-建立产品表 create table Product -产品表 (Pnumber char(12) primary key, -产品编号,主码 Pname char(30) not null, -产品名称 Pcategory char(15), -产品类别- Pprice int, -售价- Pex_price real, -出厂价- Pinventory real -存货量- ); 6.4

15、表表3: SP 表表(供应商产品供应表供应商产品供应表) 表名SP(供应商产品供应表) 数据库用户sa 主键 Snumber,Pnumber 其他排序字段无 索引字段无 序号字段名称数据类型(精 度范围) 允许 为空 唯一 Y/N 区别度默认值约束条件/说明 Y/N 1Snumberchar(12)NY高无主键/供应商号 2Pnumberchar(12)NY高无主键/产品编号 sql 脚本-建立供应商产品供应表 create table SP-供应商供应产品表- (Snumber char(12),-供应商编号,外码 Pnumber char(12),-产品编号,外码 primary key(

16、Snumber,Pnumber),-联合主码 foreign key (Pnumber) references Product(Pnumber) on delete cascade on update cascade, foreign key (Snumber) references Suppliers(Snumber) on delete cascade on update cascade ); 6.5 表表4: Orders 表表(订单表订单表) 表名Orders(订单表) 数据库用户sa 主键 Onumber 其他排序字段无 索引字段无 序号字段名称数据类型(精 度范围) 允许 为空 Y

17、/N 唯一 Y/N 区别度默认值约束条件/说明 1Onumberchar(12)NY高无主键/订单号 2OdatedateNN低无订单日期 3Enumberchar(12)YN中无雇员号 4Cnumberchar(12)NN高无客户号 sql 脚本-建立订单表 create table Orders-订单表 (Onumber char(12)primary key,-编号,主码 Odate date,-日期 Enumber char(12),-设置雇员号,外码 Cnumber char(12),-设置客户号,外码 foreign key (Cnumber) references Custome

18、r(Cnumber) on delete cascade on update cascade, foreign key (Enumber) references Employee(Enumber) on delete cascade on update cascade ); 6.6 表表5: PO 表表(产品订购表产品订购表) 表名PO(产品订购表) 数据库用户sa 主键 Pnumber,Onumber 其他排序字段无 索引字段无 序号字段名称数据类型(精 度范围) 允许 为空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1Pnumberchar(12)NY高无主键/产品号 2Onumb

19、erchar(12)NY高无主键/订单号 3QuantityintNN低无订购产品数量 sql 脚本-建立产品订购表 create table PO-产品订购表 (Pnumber char(12),-产品编号 Onumber char(12),-订单编号 Quantity int,-产品数量 primary key(Pnumber,Onumber),-联合主码 foreign key (Pnumber) references Product(Pnumber)-外码 on delete cascade on update cascade, foreign key (Onumber) refere

20、nces Orders(Onumber)-外码 on delete cascade on update cascade ); 6.7 表表6: Employee 表表(雇员表雇员表) 表名Employee(雇员表) 数据库用户sa 主键 Enumber 其他排序字段无 索引字段无 序号字段名称数据类型(精 度范围) 允许 为空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1Enumberchar(12)NY高无主键/雇员号 2Enamechar(10)NN中无雇员名称 3EtelnumintNY高无雇员电话 4EwagesrealNN低无雇员薪资 sql 脚本-建立雇员表 create

21、table Employee-雇员表 (Enumber char(12) primary key,-编号 Ename char(10),-名字 Etelnum int,-电话 Ewages real-工资 ); 6.8 表表7: Customer 表表(客户表客户表) 表名Customer(客户表) 数据库用户sa 主键 Cnumber 其他排序字段无 索引字段无 序号字段名称数据类型(精 度范围) 允许 为空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1Cnumberchar(12)NY高无主键/客户表 2Cnamechar(10)NN中无客户名称 3Caddresschar(30)

22、YN中无客户地址 4CtelnumintYY高无客户电话 sql 脚本-建立客户表 create table Customer-客户表 (Cnumber char(12) primary key,-编号 Cname char(10),-姓名 Caddress char(30),-地址 Ctelnum int-电话 ); 6.9 视图的设计视图的设计 1、建立一张雇员信息的视图 目的:屏蔽雇员的工资信息。 功能:能够向管理员提供简明,直接的雇员信息展示。 意义:有利于数据库安全的维护,防止任意修改数据库中的雇员信息。 create view view_Employee-建立Employee视图,

23、屏蔽工资属性 as select Enumber,Ename,Etelnum from Employee with check option; 2、建立一张产品信息的视图 目的:屏蔽产品的出厂价信息。 功能:能够向管理员提供简明,直接的产品信息展示。 意义:有利于数据库安全的维护,防止任意修改数据库中的产品信息。 create view view_Producte-建立Product视图,屏蔽出厂价属性 as select Pnumber,Pname,Pcategory,Pprice,Pinventory from view_Producte with check option; 6.10 存

24、储过程存储过程的设计的设计 1、查询订单数量 功能:查询订单的数量 目的:存储查询订单数量的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_SearchOrdersNum -查询订单的存储过程 as select COUNT(*) 订单总数-查询订单数量 from Orders; 2、查询客户的订单信息 功能:查询客户的订单信息 目的:存储查询客户的订单信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_CustomerOrders-查询某个客户

25、订单信息 Cname char(10) as select Onumber,Odate,Enumber from Orders,Customer where Cname like Cname and Customer.Cnumber like Orders.Cnumber; 3、查询订单最多的客户信息 功能:查询订单最多的客户信息 目的:存储查询订单最多的客户信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_SearchMaxOrders-查询订单最多的客户信息 as select Cnumber,Cname,Cad

26、dress,Ctelnum from Orders,Customer where Orders.Cnunmer=Customer.Cnunmer group by Cnumber having MAX(Cnumber); 4、查询客户信息 功能:查询客户信息 目的:存储查询客户信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_SearchCustomer-查询某客户信息 Cname char(10) as select * from Customer where Cname=Cname; 5、查询雇员信息 功能:查询

27、雇员信息 目的:存储查询雇员信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_SearchEmployee-查询某雇员信息 Ename char(10) as select * from Employee where Ename=Ename; 6、查询某订单对应的产品信息 功能:查询某订单对应的产品信息 目的:存储查询某订单对应的产品信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_SearchPO-查询某订单的产品信息 Onumber c

28、har(12) as select Onumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory from Product,PO where Onumber=Onumber and PO.Pnumber=Product.Pnumber; 7、查询产品信息 功能:查询产品信息 目的:存储查询产品信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_SearchProduct-查询某产品信息 Pnumber char(12) as select Pnu

29、mber,Pname,Pcategory,Pprice,Pex_price,Pinventory,Snumber from Product,SP where Pnumber=Pnumber and SP.Pnumber=Pnumber; 8、插入供应商信息 功能:插入供应商信息 目的:存储插入供应商信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_InsertSuppliers-插入供应商信息 Snumber char(12),Sname char(30),Saddress char(30),Stelnum int

30、as IF EXISTS(SELECT * FROM Suppliers WHERE Snumber=Snumber) print该供应商记录已经存在 ELSE insert into Suppliers(Snumber,Sname,Saddress,Stelnum) values(Snumber,Sname,Saddress,Stelnum); 9、插入订单信息 功能:插入订单信息 目的:存储插入订单信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_InsertOrders-插入订单表 Onumber char(1

31、2),Odate date,Enumber char(12),Cnumber char(12) as IF EXISTS(SELECT * FROM Orders WHERE Onumber=Onumber) print该订单记录已经存在 ELSE insert into Orders(Onumber,Odate,Enumber,Cnumber) values(Onumber,Odate,Enumber,Cnumber); 10、插入产品订购信息 功能:插入产品订购信息 目的:存储插入产品订购信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedu

32、re procedure_InsertPO-插入产品订购表 Pnumber char(12),Onumber char(12),Quantity int as IF EXISTS(SELECT * FROM PO WHERE Pnumber=Pnumber and Onumber=Onumber)-当该订单已经订购 改产品时不予重复订购 print该产品订购订单记录已经存在 IF EXISTS(SELECT * FROM Product WHERE PinventoryQuantity)-当库存量不足时不予订购 print该产品库存不足,无法订购 ELSE insert into PO(Onu

33、mber,Pnumber,Quantity) values(Onumber,Pnumber,Quantity); 11、插入产品信息 功能:插入产品信息 目的:存储产品的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤 create procedure procedure_InsertProduct -插入产品信息 Pnumber char(12),Pname char(30),Pcategory char(15),Pprice int,Pex_price real,Pinventory real as IF EXISTS(SELECT * FROM Product WHER

34、E Pnumber=Pnumber)-若有相同产品,只更新库存量 update Product set Pinventory=Pinventory+Pinventory ELSE insert into Product(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory) values(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory); 12、完整的订单销售流程 功能:插入订单信息和订购信息以及修改产品库存等信息 目的:存储从客户下单到订单订购产品的流程的操作 意义:直观展示订单销售流程

35、,使用户能够更简明的执行完整的订单销售流程 create procedure procedure_Order -完整的订单销售流程 Onumber char(12),Odate date,Enumber char(12),Cnumber char(12) Pnumber char(12),Onumber char(12),Quantity int as IF EXISTS(SELECT * FROM Orders WHERE Onumber=Onumber)-若有重复订单,则不予下单 print该订单记录已存在,不能重复下订单 ELSE insert into Orders(Onumber,O

36、date,Enumber,Cnumber) values(Onumber,Odate,Enumber,Cnumber); IF EXISTS(SELECT * FROM PO WHERE Pnumber=Pnumber and Onumber=Onumber)-若有重复订购单, 则不予订购 print该产品订购记录已存在,不能重复订购 ELSE IF EXISTS(SELECT * FROM Product WHERE PinventoryQuantity)-若产品库存量不足,则不予订购 print产品库存量不足,不能订购 ELSE insert into PO(Onumber,Pnumber

37、,Quantity) values(Onumber,Pnumber,Quantity); 6.11 触发器的设计触发器的设计 1、建立触发器 insert_PO:当插入了一条新的产品订购信息后,则激活该触发器,新的产品库存量等 于旧库存量减去产品订购的数量。 功能:能够根据数据库中数据的变化来自动进行数据更新操作。 目的:将必备的操作自动化。 意义:为数据库用户提供一种简便操作,省去了逐项更改数据的麻烦。 create trigger insert_PO-AFTER 触发器,当订购产品后,自动减少库存量 on po after insert for each row as begin upda

38、te Product set new.Pinventory=old.Pinventory-new.Quantity; end; 6.12 函数的设计函数的设计 无 七、七、安全性设计 7.1 防止用户直接操作数据库的方法防止用户直接操作数据库的方法 7.1.1 用户标识和鉴定 用户标识和鉴别是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自 己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。 7.1.2 存取控制 数据库安全性所关心的主要是 DBMS 的存取控制机制。数据库安全最重要的一点就是确保只授权给 由资格的用户访问数据库的权限,同

39、时令所有未授权的人员无法接近数据,这主要通过数据库系统的 存取控制机实现。 7.1.3 数据加密 数据加密是防止数据库中数据在存储和传输中关系的有效字段。加密的基本思想是根据一定的算法 讲原始数据变换为不可直接识别的格式,从而使得不知道解密算法的人无法获知数据的内容。 例如: EXEC sp_addlogin Employee_manage,123456,Sales_System; EXEC SP_GRANTDBACCESS Employee_manage,阿莱格里; GRANT ALL privileges -将指定权限授予该用户 on table Suppliers,Product,SP,

40、Orders,PO,view_Employee,view_product to 阿莱格里 7.2 用户帐号密码的加密方法用户帐号密码的加密方法 为用户帐号密码加密,需要用程序实现,对用户的帐号密码实行加密算法,并在后台实现转换。 7.3 角色与权限角色与权限 角色可以访问的表与列操作权限 ss可访问所有表完全控制权限 admin可访问所有表部分的控制权限 Employee_manage可访问部分表部分的操作权限 八、八、数据库管理与维护说明数据库管理与维护说明 1)数据库维护计划设定完成之后,如果 SQL Server 代理是启动的,那么在“管理SQL Server 代理作业“下面会自动生成若

41、干自动维护的工作条目,并且每个条目都有相应的计划表,这个才是 正常的。系统每天凌晨自动更新系统,删除未销卡记录 2)数据库维护计划非常强大,里面有各式各样对数据库的维护/备份操作,每样都可以设定不同 的 Schedule,当然,每设定一项,在 JOB 里面就会自动多出来一条。SQL Server Agent 服务的正常运 作是这一切的基础。系统每天凌晨更新后,自动备份数据库。 九、九、总结总结 不得不说本次课程设计给我带来了非常大的收获。首先,设计数据库管理系统本身,锻炼了自己 的能力,增长了自己的实践经验。其次,课程设计本身对于学生的能力锻炼更是功不可没,既巩固了 平时学到的理论知识,又能锻

42、炼我们发现、提出、分析和解决实际问题的能力,也能让学生体会到数 据库开发的流程。在实际操作中遇到的各种问题,让我思考、求助,直到最终解决,在此过程中更是 获益匪浅。 在最开始数据库系统的时候,感觉设计一个数据库系统的设计并不是一件难事,也并没太放在心 上。但是后来开始动手做的时候,才知道做一个完整的数据库管理系统需要做大量的准备工作,要做 出一个功能完善的数据库系统,并非易事。数据库系统设计需要花费大量的时间和精力,必须按照课 程设计的要求,遵循老师的教导,一步步的做好需求分析和逻辑设计,并完成物理设计,并不断对数 据库系统进行改善,最终才能完成一个完善的数据库管理系统。 这次课程设计最后能够

43、顺利完成,离不开老师的悉心教导,也离不开同学间的互相交流和帮助, 再通过我自己不断努力,终于能够完成完整的数据库管理系统的设计,能够完成这次课程设计,自己 感觉也很有成就感,感觉收获真的很大,知识方面的收获和实际动手能力的锻炼,都让我感觉进步了 不少,也为将来进一步学习和工作打下了基础。 每一次动手实际操作的机会都是很珍贵的,这次课程设计下来,也得出了几条数据库系统设计方 面的经验,现将所获知识点或者数据库设计经验总结如下: 1、如何创建两张相互参照的表,并插入数据。在插入数据时,外码的值必须是作为主码在被参照 表中出现过的值,否则,就会出现异常(不仅属性必须先存在,属性值也必须先存在) 。 2、以元组为单位插入数据时,根据建表时属性的顺序,属性值的插入必须严格按照此顺序进行, 也要注意属性的类型与宽度。 3、以上问题自认为都注意到了,但是插入数据是仍然出错了,就可以将这些数据通过企业管理器 进行插入,就可以发现问题出现在哪。 4、为了能对各个表进行正常删除操作,应该在创建表时对外码设置级联删除。 5、最重要的是,通过这次试验我学会了,不是拿到题目就建数据库,而是先根据题目写好需求分 析,然后进行概念结构设计,然后进行逻辑结构设计,然后进行物理设计,然后数据库安全及维护设 计,最后在建数据库实施。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1