数据库实验报告.docx
- 文档编号:6435607
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:13
- 大小:173.35KB
数据库实验报告.docx
《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
数据库实验报告
重庆交通大学信息科学与工程学院
设计性实验报告
班级:
通信工程专业11级1班
学号:
631106040114
姓名:
宋伟锋
实验项目名称:
学生信息管理系统
实验项目性质:
课程设计
实验所属课程:
数据库技术
实验室(中心):
信息技术实验室
指导教师:
王家伟
实验完成时间:
2013年6月20日
一、实验目的:
1、根据给定的题目,把现实世界中的具体事物抽象为某一概念级的模型,即建立整个问题的概念模型,建立起数据库设计人员与用户之间的交流,为数据模型的建立奠定基础。
2、学会认识和分析现实世界,根据对用户需求,描述用户的数据要求:
(1)、练习如何从中抽取实体;
(2)、练习如何建立各实体之间的联系;
(3)、从各实体和实体间的联系,抽取出数据处理的过程。
二、实验内容及要求
1、问题描述:
某大学需要使用计算机管理学生信息、成绩信息等,要求如下:
(1)、学生信息管理,包含学生的基本信息,如学号、姓名、性别、出生日期等;还要包含学生的简历、社会关系等;
(2)、课程管理,包含整个学校开设的所有课程;
(3)、教学计划管理,包含设定各系各专业在哪学期开设什么样的课程,学分是多少;
(4)、学生选课管理,包含学生在某学期选择什么样的课程;
(5)、学生成绩管理,包含学生各课程的成绩、是否补考、补考成绩;
(6)、学生奖惩管理,管理学生在校期间所获得的奖励和惩罚记录。
2、根据以上要求,为该大学的计算机管理系统建立数据库的概念模型
三、实验设备及软件
本次试验采用Power-designor6.0作为数据库的设计工具,VC++。
四、设计方案
(1)、题目:
概念模型的建立
(2)、设计的主要思路
我们知道概念模型是对信息世界建模,通常我们采用E—R图来描述现实世界的概念模型。
E—R图提供了表示实体型、属性和联系的方法。
在数据库概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。
然后再把概念模式转换成逻辑模式。
将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。
建立E—R模型:
实体和属性的定义:
学生信息管理系统中主要有以下的15个实体,用实体(属性)表示为:
学生信息(学号(主码)、姓名、性别、出生年月、简历、社会关系);
学生成绩管理(课程名(主码)、考试成绩、是否补考、补考成绩);
课程管理(课程代码(主码),学期,学分);
学院(学院代码(主码));
教学管理计划(系名(主码));
获奖情况(国家奖、省市级奖、校内奖);
学生奖惩管理(所得奖励、所受惩罚);
学生选课管理(学期、应选课程);
个人基本信息(年龄、身高、体重、政治面貌);
健康状况(体型、血型、有无病史);
家庭(家庭住址、家庭成员);
职务(校职务、学院职务、班职务);
联系方式(手机号、QQ号);
宿舍(社区号(主码)、楼栋号、寝室号);
E-R模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
N,M:
N,还是1:
1等。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
就本次试验解释如下:
政治面貌和学生是一对多关系;
籍贯和学生是一对多的关系;
民族和学生是一对多的关系;
国籍和学生是一对多的关系;
学生和社会关系是一对多的关系;
学校和学院是一对多的关系;
学院和教师是一对多的关系;
学院和专业是一对多的关系;
学生和成绩是一对多的关系;
缴费情况和学生是多对多的关系;
本人关系和社会关系是一对多的关系;
课程和成绩是一对多的关系;
学生和简历是一对一的关系;
专业和学生是一对多的关系;
教师和课程是一对多的关系;
实体的依赖关系:
成绩和学生之间是依赖关系;
成绩和课程之间是依赖关系;
社会关系和学生之间是依赖关系;
E-R模型使你更形象的对数据库有个认识,从物理模型和概念模型可以看见每个实体间的关系,以及实体的属性和域。
对现实世界的一个抽象,通过物理模型可以建立数据库,有利于对学生信息进行管理。
五、主要代码
%%============================================================
%%Databasename:
SWF
%%DBMSname:
SybaseSQLAnywhere5.5
%%Createdon:
2013-6-2013:
22
%%============================================================
%%============================================================
%%Table:
ZZMM
%%============================================================
createtableZZMM
(
ZZMMDMchar(10)notnull,
ZZMMMCchar(10)notnull,
primarykey(ZZMMDM)
);
%%============================================================
%%Table:
MZ
%%============================================================
createtableMZ
(
MZDMchar(10)notnull,
MZMCchar(10)notnull,
primarykey(MZDM)
);
%%============================================================
%%Table:
YBRGX
%%============================================================
createtableYBRGX
(
YBRGXDMchar(10)notnull,
YBRGXchar(10)notnull,
primarykey(YBRGXDM)
);
%%============================================================
%%Table:
JG
%%============================================================
createtableJG
(
JGDMchar(10)notnull,
JGMCchar(10)notnull,
primarykey(JGDM)
);
%%============================================================
%%Table:
SCHOOL
%%============================================================
createtableSCHOOL
(
XXDMchar(10)notnull,
XXMCchar(10)notnull,
primarykey(XXDM)
);
%%============================================================
%%Table:
NATION
%%============================================================
createtableNATION
(
GJDMchar(10)notnull,
GJMCchar(10)notnull,
primarykey(GJDM)
);
%%============================================================
%%Table:
JFQK
%%============================================================
createtableJFQK
(
XHintegernotnull,
JFNRvarchar(100),
primarykey(XH)
);
%%============================================================
%%Table:
XY
%%============================================================
createtableXY
(
XYBMchar(10)notnull,
XXDMchar(10)notnull,
XYMCchar(10)notnull,
primarykey(XYBM)
);
%%============================================================
%%Table:
MAJOR
%%============================================================
createtableMAJOR
(
ZYDMchar(10)notnull,
XYBMchar(10)notnull,
ZYMCchar(10)notnull,
primarykey(ZYDM)
);
%%============================================================
%%Table:
TEACHER
%%============================================================
createtableTEACHER
(
JSHchar(10)notnull,
XYBMchar(10)notnull,
JSXMchar(10)notnull,
JSXBchar
(2)notnull,
primarykey(JSH)
);
%%============================================================
%%Table:
STUDENT
%%============================================================
createtableSTUDENT
(
XSXHchar(10)notnull,
ZYDMchar(10)notnull,
MZDMchar(10),
ZZMMDMchar(10),
JL_XSXHchar(10),
JGDMchar(10),
GJDMchar(10),
XSXMchar(10)notnull,
XSXBchar
(2)notnull,
XSCSRQdatenotnull,
primarykey(XSXH)
);
%%============================================================
%%Table:
SUBJECT
%%============================================================
createtableSUBJECT
(
KCDMchar(10)notnull,
JSHchar(10),
KCMCchar(10)notnull,
XFfloat
(2)notnull,
primarykey(KCDM)
);
%%============================================================
%%Table:
JL
%%============================================================
createtableJL
(
XSXHchar(10)notnull,
JLXHintegernotnull,
QSRIdatenotnull,
JZRQdate,
JLNRvarchar(100)notnull,
primarykey(XSXH)
);
%%============================================================
%%Table:
SHGX
%%============================================================
createtableSHGX
(
XSXHchar(10)notnull,
YBRGXDMchar(10)notnull,
GXXHintegernotnull,
GXXMchar(10)notnull,
GXXBchar
(2)notnull,
GXGZDWchar(10),
GXLXDHchar(10),
primarykey(XSXH)
);
%%============================================================
%%Table:
GRADE
%%============================================================
createtableGRADE
(
KCDMchar(10)notnull,
XSXHchar(10)notnull,
CJfloat
(2)notnull,
primarykey(KCDM,XSXH)
);
%%============================================================
%%Table:
RELATION_176
%%============================================================
createtableRELATION_176
(
XHintegernotnull,
XSXHchar(10)notnull,
primarykey(XH,XSXH)
);
altertableXY
addforeignkeyFK_XY_RELATION__SCHOOL(XXDM)
referencesSCHOOL(XXDM)onupdaterestrictondeleterestrict;
altertableMAJOR
addforeignkeyFK_MAJOR_RELATION__XY(XYBM)
referencesXY(XYBM)onupdaterestrictondeleterestrict;
altertableTEACHER
addforeignkeyFK_TEACHER_RELATION__XY(XYBM)
referencesXY(XYBM)onupdaterestrictondeleterestrict;
altertableSTUDENT
addforeignkeyFK_STUDENT_RELATION__MAJOR(ZYDM)
referencesMAJOR(ZYDM)onupdaterestrictondeleterestrict;
altertableSTUDENT
addforeignkeyFK_STUDENT_RELATION__MZ(MZDM)
referencesMZ(MZDM)onupdaterestrictondeleterestrict;
altertableSTUDENT
addforeignkeyFK_STUDENT_RELATION__ZZMM(ZZMMDM)
referencesZZMM(ZZMMDM)onupdaterestrictondeleterestrict;
altertableSTUDENT
addforeignkeyFK_STUDENT_RELATION__JL(JL_XSXH)
referencesJL(XSXH)onupdaterestrictondeleterestrict;
altertableSTUDENT
addforeignkeyFK_STUDENT_RELATION__JG(JGDM)
referencesJG(JGDM)onupdaterestrictondeleterestrict;
altertableSTUDENT
addforeignkeyFK_STUDENT_RELATION__NATION(GJDM)
referencesNATION(GJDM)onupdaterestrictondeleterestrict;
altertableSUBJECT
addforeignkeyFK_SUBJECT_RELATION__TEACHER(JSH)
referencesTEACHER(JSH)onupdaterestrictondeleterestrict;
altertableJL
addforeignkeyFK_JL_RELATION__STUDENT(XSXH)
referencesSTUDENT(XSXH)onupdaterestrictondeleterestrict;
altertableSHGX
addforeignkeyFK_SHGX_RELATION__STUDENT(XSXH)
referencesSTUDENT(XSXH)onupdaterestrictondeleterestrict;
altertableSHGX
addforeignkeyFK_SHGX_RELATION__YBRGX(YBRGXDM)
referencesYBRGX(YBRGXDM)onupdaterestrictondeleterestrict;
altertableGRADE
addforeignkeyFK_GRADE_RELATION__STUDENT(XSXH)
referencesSTUDENT(XSXH)onupdaterestrictondeleterestrict;
altertableGRADE
addforeignkeyFK_GRADE_RELATION__SUBJECT(KCDM)
referencesSUBJECT(KCDM)onupdaterestrictondeleterestrict;
altertableRELATION_176
addforeignkeyFK_RELATION_RELATION__JFQK(XH)
referencesJFQK(XH)onupdaterestrictondeleterestrict;
altertableRELATION_176
addforeignkeyFK_RELATION_RELATION__STUDENT(XSXH)
referencesSTUDENT(XSXH)onupdaterestrictondeleterestrict;
六、测试结果及说明
概念模型:
由下面的图可知所建的概念模型是正确的,这个学生信息管理系统包括15个实体,实体间的关系可以由下图可知。
物理模型:
可以看出实体间的关系,实体的属性和外码,属性域。
七、实验体会
通过本次实验,发现概念模型还好建立就是建立物理模型的时候出现了很多错误。
本来那些概念模型设置的挺好看而且又清晰的,但用generatephysicalmodel生成具体的物理模型时,整个排版看起来就彻底乱了,怎么拉也拉不好;在检查错误时,才发现每个数据类型都要定义,否则就会报错,我在第一次查错时发现竟然有64个错误,当时很是纠结,不过后来发现几乎是同一种类型的错误;还有就是编译时,报了好几个错,我费了很长时间才把它们搞定。
总之一句话,虽然很纠结,但也很有收获,这就是价值所在。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告