数据库报告.docx
《数据库报告.docx》由会员分享,可在线阅读,更多相关《数据库报告.docx(15页珍藏版)》请在冰豆网上搜索。
数据库报告
南京理工大学
《数据库系统》上机报告
课程:
数据库系统
系别:
计算机科学与计算机学院
组员:
********
日期:
2010年06月27日
一、数据库设计
1.1需求分析
网络教学综合平台的基本情况:
1)教师的基本信息
每个教师设置唯一的教师号,对应其姓名、用户名、密码、职称、课程、Email、院系等。
2)学生的基本信息
每个学生根据入学年份及班级设置唯一的学号,对应其用户名、密码、院系,专业,姓名,性别,电话,课程,Email等信息。
3)课程的基本信息
每个课程设置唯一的课程号、课程名,开课院系,课程教师等信息。
4)作业的基本信息
每份作业有所属作业模板,课程,标题,截止时间,分数和发布人等信息。
5)作业模板的基本信息
每个作业模板包括标题,内容,参考答案等
附:
组员讨论记录
时间:
2010.5.19地点:
A108
记录人员:
参会人员:
讨论内容:
我们讨论了网络教学综合平台的成员组成以及各成员的属性。
具体分工:
**简明扼要的提出了该平台所需的成员以及各自的属性信息,列出草稿;
**对上述草稿进行了修改和补充;
**最后综合大家的意见进行了总结并打出了电子稿。
1.2ER图
附:
组员讨论记录
时间:
2010.5.31地点:
机房
记录人员:
参会人员:
讨论内容:
讨论了网络教学平台各实体集,实体集的属性及实体集间的连接。
具体分工:
**负责找网络教学系统中的各实体集
**负责各实体集的属性并画图
**负责各实体集间的关系
1.3关系设计
表1:
Students表
属性名
数据类型
是否主键
是否允许为空
缺省值
说明
stuid
Char(10)
Yes
NOTNULL
学生学号
name
Char(10)
No
NOTNULL
学生姓名
sex
Boolean
No
NOTNULL
学生性别
phone
Char(20)
No
NULL
学生电话
email
Char(20)
No
NULL
学生email
depid
Char(10)
No
NOTNULL
所属学院编号
code
Char(10)
No
NOTNULL
登陆密码
mobile
Char(20)
No
NULL
手机
表2:
Teachers表
属性名
数据类型
是否主键
是否允许为空
缺省值
说明
teaid
Char(10)
Yes
NOTNULL
教师号
depid
Char(10)
No
NOTNULL
所属学院编号
teaname
Char(10)
No
NOTNULL
教师姓名
teadegree
Char(10)
No
NOTNULL
教师职称
email
Char(20)
No
NULL
教师email
code
Char(10)
No
NOTNULL
登录密码
表3:
study表
属性名
数据类型
是否主键
是否允许为空
缺省值
说明
stuid
Char(10)
Yes
NOTNULL
学生学号
couid
Char(10)
Yes
NOTNULL
课程编号
表4:
teach表
属性名
数据类型
是否主键
是否允许为空
缺省值
说明
teaid
Char(10)
Yes
NOTNULL
教师号
couid
Char(10)
Yes
NOTNULL
课程编号
表5:
Courses表
属性名
数据类型
是否主键
是否允许为空
缺省值
说明
couid
Char(10)
Yes
NOTNULL
课程编号
couname
Char(10)
No
NOTNULL
课程名称
depid
Char(10)
No
NOTNULL
开课院系
teaid
Char(10)
No
NOTNULL
开课老师
表6:
Exercise表
属性名
数据类型
是否主键
是否允许为空
缺省值
说明
title
Char(10)
Yes
NOTNULL
作业标题
time
date
No
NOTNULL
截止时间
fullmark
Integer
No
NOTNULL
满分分额
couid
Char(10)
No
NOTNULL
课程编号
mark
Integer
No
NOTNULL
得分
modelid
Char(10)
No
NOTNULL
模型编号
content
Char(100)
No
NOTNULL
作业内容
subNo.
Boolean
No
NOTNULL
是否多次提交
表7:
Exercisemodel表
属性名
数据类型
是否主键
是否允许为空
缺省值
说明
modelid
Char(10)
Yes
NOTNULL
模板编号
title
Char(10)
No
NOTNULL
模板标题
answer
Char(100)
No
NOTNULL
作业答案
1)stuid->name,sex,phone,email,depid
Students满足4NF。
2)teaid->depid,teaname,teadegree,email
Teachers满足4NF。
3)stuid,couid->stuid,couid
Study满足4NF。
4)teaid->couid
Teach满足4NF。
5)couid->couname
Courses满足4NF。
6)couid,title->time,fullmark,mark,keys,content,modelid
Exercise满足4NF。
7)modelid->title,keys
Exercisemodel满足4NF。
附:
组员讨论记录
时间:
2010.6.7地点:
机房
记录人员:
参会人员:
讨论内容:
讨论了网络教学平台中的关系,和各关系满足的函数依赖,满足的最高范式
具体分工:
**负责各关系表格的填写
二、数据库编程
2.1表的创建
Createdatabasewljx
CreatetableStudents
(
stuidchar(10)primarykeynotnull,
namechar(10)notnull,
sexbooleannotnull,
phonechar(20)null,
emailchar(20)null,
depidchar(20)notnull,
codechar(10)notnull,
mobilchar(20)null
)
CreatetableTeachers
(
teaidchar(10)primarykeynotnull,
depidchar(10)notnull,
teanamechar(10)notnull,
teadegreechar(10)notnull,
emailchar(20)null,
codechar(10)notnull
)
CreatetableCourses
(
couidchar(10)primarykeynotnull,
counamechar(10)notnull,
depidchar(10)notnull,
teaidchar(10)notnull
)
CreatetableExercise
(
titlechar(10)primarykeynotnull,
timedatenotnull,
fullmarkintnotnull,
couidchar(10)notnull,
markintnotnull,
modelidchar(10)notnull,
contentchar(100)notnull,
SubNoBooleannotnull
)
CreatetableExercisemodel
(
modelidchar(10)primarykeynotnull,
titlechar(10)notnull,
answerchar(100)notnull
)
Createtablestudy
(
stuidchar(10)notnull,
couidchar(10)notnull,
Primarykey(stuid,couid)
)
Createtableteach
(
teaidchar(10)notnull,
couidchar(10)notnull,
Primarykey(teaid,couid)
)
2.2数据的修改
学生信息的添加
InsertintoStudentsvalues('0806580','zhangsan',0,'12345','123@','06','122','16345')
InsertintoStudentsvalues('0806581','lisi',0,'12346','124@','06','123','16346')
InsertintoStudentsvalues('0806582','wanger',0,'12347','125@','06','124','16347')
InsertintoStudentsvalues('0806583','qianwu',1,'12348','126@','06','126','16348')
学生信息的删除、修改
DeletefromStudentswherestuid<'0806580'
UpdateStudentssetmobil='09876'wherestuid='0806582'
教师信息的添加
InsertintoTeachersvalues('T000','06','dingyi','jiangshi','567@','111')
InsertintoTeachersvalues('T001','06','xuyi','jiangshi','568@','222')
InsertintoTeachersvalues('T002','06','wengyi','jiaoshou','569@','334')
教师信息的删除、修改
DeletefromTeacherswhereteaid<'T000'
UpdateTeacherssetteadegree='jiaoshou'whereteaid='T001'
课程信息的添加
InsertintoCoursesvalues('001','shujujiegou','06','T000')
InsertintoCoursesvalues('002','shujuku','06','T001')
InsertintoCoursesvalues('003','lisanshuxue','06','T003')
课程信息的删除、修改
DeletefromCourseswherecouid<'000'
UpdateCoursessetteaid='T002'wherecouid='003'
具体课程中选课学生的添加、删除
Insertintostudyvalues('0806580','001')
Insertintostudyvalues('0806581','002')
Insertintostudyvalues('0806582','003')
Insertintostudyvalues('0806583','002')
具体课程中老师教的课程添加
Insertintoteachvalues('T000','001')
Insertintoteachvalues('T001','002')
Insertintoteachvalues('T002','003')
添加一个作业模板
InsertintoExercisemodelvalues('01','jjjj','fffee)
修改和删除作业模板
DeletefromExercisemodelwheremodelid<'00'
UpdateExercisemodelsetanswer='ffff'wheremodelid='01'
添加一个作业
InsertintoExercisevalues('001','2010-6-20',5,'001',4,'01','sss',1)
InsertintoExercisevalues('002','2010-6-21',5,'002',4,'01','sddd',1)
修改和删除作业
DeletefromExercisewheretitle<'000'
UpdateExercisesetSubNo=1
教师修改密码
UpdateTeacherssetcode='333'whereteaid='T002'
教师个人信息的修改
UpdateTeacherssetteadegree='jiaoshou'whereteaid='T001'
学生修改密码
UpdateStudentssetcode='125'wherestuid='0806583'
学生个人信息的修改
UpdateStudentssetmobil='09876'wherestuid='0806582'
2.3查询
按学院查询课程信息
按学生查询所选课程信息
按学生查询有待提交作业的课程信息
按学生和课程查询课程作业信息
按作业查看作业结果信息
按教师查询所教授课程信息
按教师查询未批阅作业信息
按课程查看作业模板信息
按课程查看作业信息
按作业模板查看具体模板信息
按课程查看所有选课学生
按学号查看学生信息
3、总体小结
经过这次大作业,我学会了许多课程基础知识,对Mysql这个软件有了更深刻的理解。
同时体会到团队协作的重要性。
很多工作都是在大家的热烈讨论下才有的结果,要是自己一个人苦思冥想的话可能会花费几倍的时间。
这次大作业另一个体会就是将大问题分解为很多小问题来解决。
刚开始从整体上看这个系统,觉得设计是个不可能完成的巨大任务,然而将这个大系统分解为各个小部分,比如教师、学生、课程......分别对这些小部分设计,然后通过er图将他们联系起来就变成了一个整体大的系统。