- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《数据库原理与应用教程》实验报告
数据库分析与设计
------图书管理系统
一、需求说明
要实现一个简化得图书管理系统,在此图书管理系统中只涉及学生信息、借阅信息和管理者信息得管理。此系统要求能够记住书籍得基本信息、学生得信息和管理者得信息。该系统得业务要求为:
一名学生可以在不同得日期多次借阅同一本书。
一名学生可以同时借阅多本不同得图书。
一本书可以在不同得时间借给不同得学生。
一名学生不能在同一天对同一本书借阅多次。
一名管理员可以同时管理多本图书。
该系统得基本信息包括:
学生信息:姓名,学号,学院,专业,年级。
图书信息:图书名称,图书编号,出版社名称,出版日期,作者,就就是否可借。
管理员信息:管理员姓名,管理员编号。
除上述要求外,该系统还需产生如下报表:
学生借阅图书信息表:学号,图书编号,图书名称,借阅日期,应归还日期。
图书管理表:管理日期,管理员编号,管理员姓名。
二、数据库结构设计
2、1概念结构设计
概念结构设计就就是根据需求分析得结果产生概念结构设计得E-R模型。由于这个系统比较简单,因此这里采用自顶向下得设计方法。自顶向下设计得关键就就是首先要确定系统得核心活动。所谓核心活动就就就是系统中得其她活动都要围绕这个活动展开或与此活动密切相关。确定了核心活动之后,系统就有了可扩展得余地。对于这个图书管理系统,其核心活动就就是图书,学生与图书之间就就是通过学生借阅图书发生联系得,管理员与图书之间就就是通过管理员管理图书发生联系得。至此,此系统包含得实体有:
图书:用于描述课程得基本信息,用图书编号标识。
学生:用于描述学生得基本信息,用学号标识。
管理员:用于描述管理员得基本信息,用管理员编号标识。
由于一名学生可以借阅多本图书,并且一本书可以在不同时间借给不同得学生。因此,学生与图书之间就就是多对多得联系。又由于一本图书可以由多名管理员管理,而且一名管理员可以管理多本图书。因此,管理员与图书之间也就就是多对多得联系。
其基本E-R模型如图1所示:
管理员管理图书借阅学生mnmn
管理员
管理
图书
借阅
学生
根据需求分析得结果,该E-R模型模型中个实体所包含得属性如下:
学生:姓名,学号,学院,专业,年级。
图书:图书名称,图书编号,出版社名称,出版日期,作者,就就是否可借。
管理员:管理员姓名,管理员编号。
各联系本身应具有得属性为:
借阅:学号,图书编号,图书名称,借阅日期,应归还日期。
管理:管理日期,管理员编号,管理员姓名。
2、2逻辑结果设计
这个E-R模型转换出得关系模式如下,其中主码用下划线标识:
学生(学号,姓名,学院,专业,年级)
图书(图书编号,图书名称,出版社名称,出版日期,作者,就就是否可借)
管理员(管理员编号,管理员姓名)
借阅(学号,图书标号,图书名称,借阅日期,应归还日期),其中图书编号为引用“图书”关系模式得外码;学号为引用“学生”关系模式得外码。
管理(管理日期,管理员编号,管理员姓名),其中管理员编号为引用“管理员”关系模式得外码。
确定各管就就是模式就就是否属于第三范式
经过分析发现,“学生”、“图书”、“管理员”、“借阅”和“管理”5个关系模式中,都不存在部分依赖和传递依赖关系,因此都属于第三范式。
确定信息得完整性
该教学管理系统要产生:学生借阅图书信息、图书管理2个报表,分别分析如下:
“学生借阅图书信息表”包括学号、图书编号、图书名称、借阅日期、应归还日期。其中“学号”可由“学生”关系模式得到,“图书编号”、“图书名称”、“借阅日期”、“应归还日期”可由“借阅”关系模式得到,因此可以满足学生借阅图书信息表得要求。
“图书管理表”包括管理日期、管理员编号、管理员姓名。其中“管理日期”可由“管理”关系模式得到,“管理员编号”,“管理员姓名”可由“管理员”关系模式得到。
因此,所有关系模式满足所有报表得信息要求。
至此,关系模式设计完毕。
下面给出创建这些关系表得SQL语句示例,其中得数据类型可根据实际情况调整,为方便理解,表名、列名均用中文表示。
CREATETABLE学生表(
学号char(10)PRIMARYKEY,
姓名char(10)NOTNULL,
学院char(20)NOTNULL,
专业char(20)NOTNULL,
年级char(8)NOTNULL
)
CREATETABLE图书表(
图书编号char(20)PRIMARYKEY,
图书名称char
文档评论(0)