数据库原理与应用-大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库大作业
课题名称数据库大作业
专业物联网
班级2班
学号13180211
姓名丁艺铭
教师任国芳
成绩
2015年12月20日
1. 需求分析
本系统的最终用户为学生,由于学生在校友通讯录的身份不同,因此根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的下列实际要求。
1.1 数据流图(DFD)
图1-1
1.2 数据字典(DD)
学校信息表(Sch_id primary key)
学校信息表
2. 概念结构设计
主要是对以上功能的整合,更清晰的将整个数据库的关系表示出来,总ER 图见2-1
2-1总图
3. 逻辑结构设计
关系模式((在Powerdesigner中由概念模型转化为物理数据模型,粘图))
4. 建表SQL语句
由物理数据模型生成SQL Server 2008数据库的建表语句。DELIMITER |
CREATE TRIGGER `
< [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] > ON [dbo]
FOR EACH ROW
BEGIN
--do something
END |
insert 触发器示例
create trigger tri_insert
on student
for insert
as
declare @student_id char(10)
select @student_id=s.student_id from
student s inner join inserted i
on s.student_id=i.student_id
if @student_id='0000000001'
begin
raiserror('不能插入1的学号!',16,8)
rollback tran
end
go
update触发器示例
create trigger tri_update
on student
for update
as
if update(student_id)
begin
raiserror('学号不能修改!',16,8)
rollback tran
end
go
delete触发器示例
create trigger tri_delete
on student
for delete
as
declare @student_id varchar(10)
select @student_id=student_id from deleted if @student_id='admin'
begin
raiserror('错误',16,8)
rollback tran
end
5. 结论
心得体会(如果有相同的,则都不及格)
通过这几个星期的数据库实践,使我们熟悉了SQL Server的使用和操作,更加掌握了数据库的知识,体会了团结的力量。这次实践,我们组5个人负责做网上校友通讯系统,每个人都付出了很大的努力。一开始我们就分析了网上校友通讯系统这个实验的主要实现功能和面向的不用用户对象,然后我们分工合作,分别负责:1.访客功能,只能查询某个用户的信息(包含个人信息,留言信息),以及查找学校信息。2.个人信息的管理,用户登录并返回角色,修改,查询个人信息。3.班级管理,查询班级具体信息,若为班级管理员身份,有增加成员,删除成员,管理公告,成员身份则只能查询同班成员的信息 4.校友信息的管理,查询校友信息,查询学校的详细信息,如地址,邮编等等。5.通信录管理,查询班级和校友的通信录 6.留言管理功能,个人能查看、删除或者不公开别人给自己的留言,以及对别人进行留言。在这次实践中,我们明白了数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:了解用户的需求,再把它们转变成有效的数据库设计,把设计的转变成实际的数据库,并且使得这些数据库带有功能完备和高效能的应用。除此之外,我们掌握了视图和存储过程的应用和作用,信息的管理包括:保存,添加,删除,更新。通过单独设计几个类来完成对数据库设计的表进行操作,也学会了SQL Server中表的操作与管理。把学习到的数据库知识充分地应用到实际中,很好的锻炼了我们编程和实现的能力。
参考教材:
《数据库实验指导》主编:杨海霞出版社:人民邮电出版社书号:978-115-16535-0