数据库实验报告.docx

上传人:b****5 文档编号:6435607 上传时间:2023-01-06 格式:DOCX 页数:13 大小:173.35KB
下载 相关 举报
数据库实验报告.docx_第1页
第1页 / 共13页
数据库实验报告.docx_第2页
第2页 / 共13页
数据库实验报告.docx_第3页
第3页 / 共13页
数据库实验报告.docx_第4页
第4页 / 共13页
数据库实验报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库实验报告.docx

《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(13页珍藏版)》请在冰豆网上搜索。

数据库实验报告.docx

数据库实验报告

重庆交通大学信息科学与工程学院

设计性实验报告

 

班级:

通信工程专业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个错误,当时很是纠结,不过后来发现几乎是同一种类型的错误;还有就是编译时,报了好几个错,我费了很长时间才把它们搞定。

总之一句话,虽然很纠结,但也很有收获,这就是价值所在。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1