首页 数据库设计实例

数据库设计实例

举报
开通vip

数据库设计实例《数据库原理与应用》2011/2012学年第1学期实验八数据库设计姓名:###学号:__##########_班级:#######指导教师:########计算机科学与工程学院一、系统需求分析系统要求系统用户由三类组成:教师、学生和管理员;管理员负责的主要功能:・用户管理(教师、学生及管理员的增、删、改);-课程管理(添加,删除和修改)-选课管理(实现选课功能开放和禁止、教师成绩输入开放和禁止)学生通过登录,可以查询课程的基本信息、实现选课、退课和成绩查询;教师通过登录,可以查看选课学...

数据库设计实例
《数据库原理与应用》2011/2012学年第1学期实验八数据库设计姓名:###学号:__##########_班级:#######指导教师:########计算机科学与工程学院一、系统需求分析系统要求系统用户由三类组成:教师、学生和管理员;管理员负责的主要功能:・用户管理(教师、学生及管理员的增、删、改);-课程管理(添加,删除和修改)-选课管理(实现选课功能开放和禁止、教师成绩输入开放和禁止)学生通过登录,可以查询课程的基本信息、实现选课、退课和成绩查询;教师通过登录,可以查看选课学生的基本信息,可以输入成绩;需求分析(主要完成功能分析,建立功能模块图)・本系统是为了更好管理学生选课排课信息而设计的。由于学校的学生和课程繁多,包含的信息量大且复杂,有必要建立一个学生选课排课系统,使选课排课管理工作规范化,系统化,程序化,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课排课相关信息。二、概念结构设计选课管理系统E-R图三、逻辑结构设计3.1E-R图转换为关系模型学生(学号,姓名,性别,系别,年龄)课程(课程号,课程名,学分)教师(教师工号,教师姓名,教师性别,办公地点)选课(学号,课程号,成绩,人数)授课(课程号,教师工号,授课时间,授课地点)数据库 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的基本结构(用 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 方式表示,参照实验2中给出的表的基本结构说明)1)学生表Student:列名说明数据类型约束SNO学号CHAR(7)主码SNAME姓名CHAR(IO)NOTNULLSSEX性别CHAR(2)取“男”或“女”SAGE年龄SMALLINT取值15-30SDEPT系别VARCHAR(20)默认“计算机系”2)课程表Course:列名说明数据类型约束CNO课程号CHAR(7)主码CNAME课程名VACHAR(20)NOTNULLCCREDIT学分SMALLINT大于03)教师表Teacher:列名说明数据类型约束TNO教师工号CHAR(7)主码TNAME教师姓名CHAR(10)NOTNULLTADDRESS办公地点CHAR(8)NOTNULLTSEX教师性别CHAR(2)取“男”或“女”(4)选课表Xcourse:列名说明数据类型约束SNO学号CHAR(7)主码,引用Student的外码CNO课程号CHAR(7)主码,引用Course的外码XGRADE成绩SMALLINT大于0小于100XNO人数SMALLINT小于等于120(5)授课表Scourse:列名说明数据类型约束CNO课程号CHAR(7)主码,引用Course的外码TNO教师工号CHAR(7)NOTNULL,引用Teacher的外码STIME授课时间DatetimeNOTNULLSADDRESS授课地点CHAR(8)NOTNULLSQL编程(主要包括创建表和创建必要的视图、触发器、存储过程等)4.1创建表(1)创建Student表:createTABLEStudent(SNOchar(7)PRIMARYKEY,SNAMEchar(10)notnull,SSEXchar(2)check(SSEX='男’or'女'),SAGEsmallintcheck(SAGE>=15andSAGE<=30),SDEPTchar(20)default'计算机系')创建Course表:createTABLECourse(CNOchar(7)primarykey,CNAMEchar(20)notnull,CCREDITsmallintcheck(CCREDIT>0))创建Teacher表:createTABLETeacher(TNOchar(7)primarykey,TNAMEchar(20)notnull,TADDRESSchar(8)notnull,TSEXchar(2)check(TSEX='男’or'女'))创建Xcourse表:createTABLEXcourse(SNOchar(7)foreignkey(SNO)referencesStudent(SNO),CNOchar(7)foreignkey(CNO)referencesCourse(CNO),XGRADESMALLINTcheck(XGRADE>0andXGRADE<100),XNOSMALLINTcheck(XNO<=120),Primarykey(SNO,CNO))(5)创建Scourse表:createTABLEScourse(CNOchar(7)primarykey,TNOchar(7)notnull,STIMEDatetimenotnull,SADDRESSchar(8)notnull,foreignkey(CNO)referencesCourse(CNO),foreignkey(TNO)referencesTeacher(TNO))数据库授权(1)管理员授权:grantallprivilegesontableStudent,Course,Teacher,Xcourse,ScourseToadmin(2)教师授权grantselectupdate(XGRADE)ontableStudent,,XcourseToteacher(3)学生授权grantselectontableStudent,Course,Teacher,Xcourse,ScourseTostudent建立视图建立学生学号姓名总成绩视图StudentGradecreateviewStudentGrade(学号,姓名,总成绩)asselectStudent.SNO,SNAME,SUM(GRADE)fromStudent,XcoursewhereStudent.SNO=Xcourse.SNOgroupbyStudent.SNO,SNAME建立视图UnpastStudent,视图中包含所有成绩不及格的学生的学号,姓名,课程名,成绩createviewUnpastStudent(学号,姓名,课程名,成绩)asselectStudent.SNO,SNAME,CNAME,XGRADEFROMStudent,XcoursewhereXGRADE<60andStudent.SNO=Xcourse.SNO定义触发器(1)定义一个触发器,其基本功能是在表中增加或修改一个选课记录时,检查该课程的选课人数是否超过限定(可自行定义一个限定值,根据表中数据的情况而定)。若超过限定值,则拒绝操作。createTRIGGERtrig1onXcourseforINSERT,UPDATEasif(selectCOUNT(*)fromXcoursewhereCNO=(selectCNOfrominserted)>120beginprint'选课人数超过上限'rollbackend五、设计小结(本次设计小结,存在的问题,收获等)通过本次设计实验,将以前学过的数据库理论知识得以具体实践,掌握了数据库设计的基本步骤,以及每一步应该具体做的工作,而且进一步巩固了SQL语言基础,为以后的诸多工作打下了良好的基石。
本文档为【数据库设计实例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥15.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
lizheng
暂无简介~
格式:doc
大小:107KB
软件:Word
页数:7
分类:建筑/施工
上传时间:2022-12-18
浏览量:13