期末大作业:数据库设计.doc_第1页
期末大作业:数据库设计.doc_第2页
期末大作业:数据库设计.doc_第3页
期末大作业:数据库设计.doc_第4页
期末大作业:数据库设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

期末大作业: 学生毕业设计 数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法二、实验内容1.数据库概要设计:用文字简要描述实体之间的联系,画出E-R图(标出各联系中实体的基数)。实体之间关系:主要是以学生基本信息这个实体为一个中心,首先涉及的就是实习单位信息的问题,这个部分是一个实习单位对应多个学生的关系,再后就是论文的问题,这个也是一个论文对应多个学生,而一个学生只能对应一个论文题目的关系,最后涉及的一个就是学生和导师之间的关系,这部分又可以分为两种情况,主要是视学生的实习方式而定,分校内实习和校外实习两种,在校内实习中,是一个学生对应一个老师,而一个老师则可以对应多个学生的关系,校外实习的情况稍有不同,一个学生可以对应两个老师,而一个老师则可以对应多个学生的关系。下面是实体关系图:实习单位信息学生信息校内教师信息校外教师信息论文信息实习选择指导指导(0,n)(1.1)1n(1,1)(0,n)n1(1,1)1n(0,n)(0,1)(0,n)n12、数据表设计:将E-R图转换为数据表,给出创建各表的SQL语句。数据库的创建:create database 学生毕业设计on primary(name=学生毕业设计,filename=f:学生毕业设计.mdf,size=20mb,maxsize=50mb,filegrowth=10%)log on (name=学生毕业设计_log,filename=f:学生毕业设计_log.ldf,size=15mb,maxsize=30mb,filegrowth=10%)go建表:use 学生毕业设计create table 实习单位信息(单位编号 char(4)not null,实习单位 varchar(50)not null,联系电话 varchar(20),通信地址 varchar(50),邮编 char(6),primary key(实习单位)create table 校内教师信息(教师编号 char(4)not null,校内教师 varchar(20)not null,性别 char(2),专业名称 varchar(20),职称 varchar(20),职务 varchar(20),primary key(校内教师)create table 校外教师信息(教师编号 char(4)not null,校外教师 varchar(20)not null,性别 char(2),部门 varchar(20),职称 varchar(20),职务 varchar(20),primary key(校外教师)create table 论文信息(论文ID char(6),论文题目 varchar(50)not null,要求 varchar(100),primary key(论文题目)create table 学生基本信息(学号 char(8)not null,姓名 varchar(20)not null,性别 char(2),出生日期 datetime,专业名称 varchar(20)not null,籍贯 varchar(20),实习单位 varchar(50),校内教师 varchar(20)not null,校外教师 varchar(20),论文题目 varchar(50),primary key(学号),foreign key(实习单位)references 实习单位信息(实习单位),foreign key(校内教师)references 校内教师信息(校内教师),foreign key(校外教师)references 校外教师信息(校外教师),foreign key(论文题目)references 论文信息(论文题目)3、完整性约束:根据需要给数据表添加数据完整性,并说明添加的理由。完整性约束:Create rule phone_ruleAS 联系电话 Like (0-90-90-90-9)-0-90-90-90-90-90-90-9use 学生毕业设计 exec Sp_bindrule phone_rule, 学院信息.专业电话(为了约束电话号码形式,保证数据的完整性和正确性)create rule code_ruleas code like 0-90-90-90-90-90-9;use 学生毕业设计 exec Sp_bindrule code_rule, 实习单位信息.邮编;(保证邮编的正确性)Create rule lunwen_ruleAS code Like lw0-90-90-90-9;use 学生毕业设计 exec Sp_bindrule lunwen_rule, 论文信息.论文ID;(确定论文编号的格式,保证数据的完整性以避免数据库的混乱和输入信息时产生欺骗)CREATE rule xuehao_ruleas code like 20090-90-90-90-9;use 学生毕业设计 exec Sp_bindrule xuehao_rule, 学生基本信息.学号;(确定学号的格式,保证学生身份的真实性)create rule a_ruleas code like a0-90-90-9;use 学生毕业设计 exec Sp_bindrule a_rule, 校内教师信息.教师编号; (确定教师编号的格式,保证教室身份的真实性)create rule b_ruleas code like b0-90-90-9;use 学生毕业设计exec Sp_bindrule b_rule, 校外教师信息.教师编号; (确定教师编号的格式,保证教室身份的真实性并与校内教师编号区分) 4、存储过程、触发器和视图:根据需要给数据库添加几个实用的存储过程、触发器和视图,并说明它们各自的功能。查询:use 学生毕业设计select 学号,姓名,学生基本信息.性别,学生基本信息.校内教师,职称,职务 from 学生基本信息,校内教师信息where 学生基本信息.校内教师= 校内教师信息.校内教师 and 学生基本.校内教师=孙贝贝use 学生毕业设计select *from 学生基本信息where 校外教师 is not null;use 学生毕业设计select *from 学生基本信息返回指导老师与其指导的学生名字的存储过程:Create Proc 校内指导情况as select 校内教师信息.校内教师,学生基本信息.姓名from 校内教师信息 inner join 学生基本信息on 校内教师信息.校内教师=学生基本信息.校内教师return查看:exec sp_depends 校内指导情况返回学生实习情况的存储过程:create proc 学生实习as select *from 学生基本信息return查看:exec sp_depends 学生实习创建视图:create view 学生与指导老师情况asselect 学号,姓名,专业名称,校内教师,校外教师from 学生基本信息查看视图:触发器:一位教师指导学生人数不得超过10人use 学生毕业设计goCREATE TRIGGER lxx_6ON 学生基本信息after insertAsbegin if ( select COUNT(distinct 姓名) from 学生基本信息,校内教师信息 where ( 学生基本信息.校内教师=校内教师信息.校内教师 and 学生基本信息.校内教师=孙贝贝)10 print 一个老师指导学生不能超过十人! end go职称不到副教授、教授级别的教师只能指导本专业学生use 学生毕业设计goCREATE TRIGGER lxx_7ON 学生基本信息after updateAsselect 职务,学生基本信息.专业名称 from 校内教师信息,学生基本信息 if 校内教师信息.职务 副教授or 校内教师信息.职务 教授 and 校内教师信息.专业名称=学生基本信.专业名称 begin print 此老师只能指导本专业学生! end go5、实验小结:这次的实验把我们这学期所学的数据库知识全部综合在了一起,其实开始学习数据库的时候,并没有想到数据库设计要花费那么多的心思和想法,首先吧,要设计之前,总体的需求分析是必须的,再后就是分析实体以及实体关系,这套方法还是很有效的,尤其对我们这样数据库的初学者来说,最起码我觉得是最正常的设计思维了。这个学期的另外一门课程,专业实训上,我们小组的项目也是和数据库系统设计挂钩的,在整体数据库设计学习之前,我们就已经先学会数据库的需求分析等等了,只是还是没有做的很到位,因为对数据完整性这一块知识的缺乏,所有涉及的数据库是很简单的,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论