数据库作业11.docx
- 文档编号:5348374
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:8
- 大小:70.91KB
数据库作业11.docx
《数据库作业11.docx》由会员分享,可在线阅读,更多相关《数据库作业11.docx(8页珍藏版)》请在冰豆网上搜索。
数据库作业11
数据库原理及应用
结业报告
专业:
财务管理
班级:
财管08-9
姓名:
商秀坤
学号:
080505060918
数据库原理课程设计
第一条:
数据库系统功能
1数据独立性 也就是数据能独立于应用程序之外,我们修正数据不需修改相应的应用程序,这也是数据库系统的一个重要目标。
2数据安全性 能防止无关人员得到他不应该知道的数据,这是由用户自己负责的。
3数据完整性 指数据的正确性、客观性和真实性。
因为破坏数据完整性的因素很多,所以应尽可能减少这类情况的发生。
4数据一致性 指同一事物的数据,不管出现在何时何处都是一致的。
5数据共享 是数据库系统的主要功能特色之一。
它指多个应用程序可以使用同一数据文件;多个用户可存取同一数据;可为社会开放,成为社会的一种信息资源。
6控制冗余 它对于节省空间和减少开销及防止数据不一致有重要的作用。
7集中管理 指不仅对文件的结构、数据的装入和文件的各种操作要集中管理,而且对文件的内容、数据的类型、长度、大小等都要检查。
8并发控制 因数据库系统实现了多个用户共享数据,所以就可能在同一时刻多个用户要存取数据,这时就需要对这种并发操作施行控制。
9故障恢复 当数据库系统运行时出现故障,如何尽快将它恢复正常,就是数据系统的故障恢复功能。
第二条:
概念结构设计
概念结构设计的目标是产生反映全组织信息需求的整体数据库概念结构,即概念模式。
描述概念结构的工具是E-R图。
在概念结构设计过程中使用E-R方法的基本步骤包括:
设计局部E-R图;综合成初步E-R图;优化成基本E-R图。
一、设计局部E-R图
设计局部E-R图的任务是根据需求分析阶段产生的各个部门的数据流图和数据字典中相关数据,设计出各项应用的局部E-R图。
具体要做以下几件事情:
1、确定实体和属性
2、确定联系类型依据需求分析结果,考查任意两个实体类型之间是否存在联系,若有联系,要进一步确定联系的类型(1:
1,1:
m,n:
m)。
在确定联系时应特别注意两点:
一是不要丢掉联系的属性;二是尽量取消冗余的联系,即取消可以从其它联系导出的联系。
3、画出局部E-R图
二、综合成初步E-R图
1、局部E-R图的合并为了减小合并工作的复杂性,先两两合并。
合并从公共实体类型开始,最后再加入独立的局部结构。
2、消除冲突一般有三种类型的冲突:
属性冲突、命名冲突、结构冲突。
具体调整手段可以考虑以下几种:
①对同一个实体的属性取各个分E-R图相同实体属性的并集。
②根据综合应用的需要,把属性转变为实体,或者把实体变为属性。
③实体联系要根据应用语义进行综合调整。
●数据库设计特点:
数据库设计工作量大而且比较复杂,它是一项数据库工程也是一项软件工程,数据库设计的很多阶段都可以和软件工程的各阶段对应起来,软件工程的某些方法和工具同样也适合于数据库工程。
但由于数据库设计是和用户的业务需求紧密相联的,因此,它还有很多自己的特点。
1:
综合性
2:
结构设计与行为设计相分离
数据库设计特点如下:
1:
数据库的结构设计在模式或外模式中定义。
2:
数据库的行为设计在访问数据库的应用程序中设计和实现。
3:
程序和数据不易结合。
4:
数据库设计较为复杂。
5:
结构设计和行为设计是分离进行的。
●概念结构设计的策略
主要有四种策略:
自顶向下,自底向上,由里向外(逐步扩张)和混合策略。
概念数据模型,主要在系统开发的数据库设计阶段使用,是按照用户的观点来对数据和信息进行建模,利用实体关系图来实现.它描述系统中的各个实体以及相关实体之间的关系,是系统特性和静态描述.数据字典也将是系统进一步开发的基础.
第三条:
逻辑结构设计
数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据模型的过程。
从此开始便进入了"实现设计",需要考虑到具体DBMS的性能,具体的数据模型特点。
逻辑设计过程可分为:
初始关系模式设计;规范化处理;模式平价与修正。
一、导出初始关系模式
转换原则:
·一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
·一个1:
1的联系转换为一个关系。
每个实体的关键字都是关系的候选关键字。
·一个1:
n的联系转换为一个关系。
多方实体的关键字是关系的关键字。
·一个n:
m的联系转换为一个关系。
联系中各实体关键字的组合组成关系的关键字(组合关键字)。
·具有相同关键字的关系可以合并。
二、规范化处理
规范化理论在数据库设计中有如下几方面的应用:
1、在需求分析阶段,用数据依赖概念分析和表示各个数据项之间的联系。
2、在概念结构设计阶段,以规范化理论为指导,确定关键字,消除初步E-R图中冗余的联系。
3、在逻辑结构设计阶段,从E-R图向数据模型转换过程中,用模式合并与分解方法达到规范化级别。
三、模式评价与修正
模式评价主要包括功能和性能两个方面。
经过反复多次的模式评价和修正之后,最终的数据库模式得以确定。
逻辑设计阶段的结果是全局逻辑数据库结构。
对于关系数据库系统来说,就是一组符合一定规范的关系模式组成的关系数据库模型。
举例说明:
—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之一。
(本项不作为基本要 现实世界的复杂性导致实体联系的复杂性。
表现在E-R图上可以归结为图6.12所示的几种基本形式:
①两个实体之间的联系,如图6.12(a)所示。
②两个以上实体间的联系,如图6.12(b)所示。
③同一实体集内部各实体之间的联系,例如一个部门内的职工有领导与被领导的联系,即某一职工(干部)领导若干名职工,而一个职工(普通员工)仅被另外一个职工直接领导,这就构成了实体内部的一对多的联系。
如图6.12(c)所示。
需要注意的是,因为联系本身也是一种实体型,所以联系也可以有属性。
如果一个联系具有属性,则这些联系也要用无向边与该联系连接起来。
例如,学生选修的课程有相应的成绩。
这里的“成绩”既不是学生的属性,也不是课程的属性,只能是学生选修课程的联系的属性。
图6.12(b)中“供应数量”是“供应”联系的属性。
图6.12实体及其联系图
E-R图的基本思想就是分别用矩形框、椭圆形框和菱形框表示实体、属性和联系,使用无向边将属性与其相应的实体连接起来,并将联系分别和有关实体相连接,注明联系类型。
图6.12为几个E-R图的例子,只给出了实体及其E-R图,省略了实体的属性。
图6.13为一个描述学生与课程联系的完整的E-R图。
图6.13学生与课程联系的完整的E-R图
第四条:
DBMS的优缺点
开放性:
SQL Server 只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。
Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。
而且windows平台的可靠性,安全性和伸缩性是非常有限的。
它不象unix那样久经考验,尤其是在处理大数据量的关键业务时.
Oracle 能在所有主流平台上运行(包括 windows)。
完全支持所有的工业标准。
采用完全开放策略。
可以使客户选择最适合的解决方案。
对开发商全力支持。
DB2 能在所有主流平台上运行(包括windows)。
最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%.
可伸缩性,并行性
SQL server DB2 并行实施和共存模型并不成熟。
很难处理日益增多的用户数和数据卷。
伸缩性有限。
Oracle 平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。
如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。
DB2 DB2具有很好的并行性。
DB2把数据库管理扩充到了并行的、多节点的环境. 数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日 志。
数据库分区有时被称为节点或数据库节点
安全性
SQL server 没有获得任何安全证书。
Oracle Server 获得最高认证级别的ISO标准认证。
DB2 获得最高认证级别的ISO标准认证。
性能
SQL Server 多用户时性能不佳
Oracle 性能最高, 保持windowsNT下的TPC-D和TPC-C的世界记录。
DB2 适用于数据仓库和在线事物处理 性能较高。
客户端支持及应用模式
SQL Server C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB ,ODBC连接.
Oracle 多层次网络计算,支持多种工业标准,可以用ODBC, JDBC,OCI等网络客户连接
DB2 跨平台,多层结构,支持ODBC,JDBC等客户
操作简便
SQL Server 操作简单,但只有图形界面.
Oracle 较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同
DB2 操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同
使用风险
SQL server 完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。
并不十分兼容早期产品。
使用需要冒一定风险。
Oracle 长时间的开发经验,完全向下兼容。
得到广泛的应用。
完全没有风险。
DB2 在巨型企业得到广泛的应用,向下兼容性好。
风险小。
第五条:
表结构
属性
类型
大小
Sname
姓名
字符型
10
Sdept
院系
字符型
20
Cno
课程号
字符型
10
Sage
年龄
数字型
Ssex
性别
字符型
2
Sno
学号
字符型
7
Cname
课程名
字符型
20
ccredit
学分
数字型
Student表数据
Sno
sanme
Ssex
sage
sdept
9512101
9512102
9512103
9521101
9521102
9521103
9531101
9531102
李勇
刘晨
王敏
张立
吴宾
张海
钱小平
王大力
男
男
女
男
女
男
女
男
19
20
20
22
21
20
18
19
计算机系
计算机系
计算机系
信息系
信息系
信息系
数学系
数学系
Course表数据
Cno
cname
ccredit
semester
C01
C02
C03
C04
C05
C06
计算机文化学
VB
计算机网络
数据库基础
高等数学
数据结构
3
2
4
6
8
5
1
3
7
6
2
4
Sc表数据
Sno
Cno
Grade
Xklb
9512101
9512101
9512101
9512102
9512102
9521102
9521102
9521102
9521102
C01
C02
C06
C02
C04
C01
C02
C04
C05
90
86
NULL
78
66
82
75
92
50
必修
必修
必修
必修
必修
必修
必修
必修
必修
第五条:
提问并解决问题
1:
查询选课门数超过3门的学生的学号:
答:
selectsnofromscgroupbysno
Havingcount(*)>3
2:
查询所有选修VB课程的学生的情况,要求列出学生姓名和所在的系。
答:
selectsname,sdept
Fromstudentsjoinscons.sno=sc.sno
Joincourseono=o
Wherecname=’VB’
3:
查询选修“c02”课程且成绩高于此课程的平均成绩的学生的学号和成绩。
答:
selectsno,gradefromsc
Wherecno=’c02’andgrade>(
Selectavg(grade)fromsc
Wherecno=’c02’)
4:
删除计算机系不及格学生的选课记录。
答:
deletefromscwheregrade<60
5:
查询所有不姓“刘”的学生。
答:
selectsnamefromstudentwheresnamenotlike‘刘%’
6:
查询既不是信息系,数学系,也不是计算机系学生的姓名和性别。
答:
selectsname,ssexfromstudent
Wheresdeptnotin(‘信息系’,‘数学系’,‘计算机系’)
7:
将所有学生的年龄加1。
答:
updatestudentsetsage=sage+1
8:
查询选修“数据库基础”课程的学生的学号,姓名。
答:
selectsno,snamefromstudent
Wheresnoin
(selectsnofromsc
Wherecnoin
(selectcnofromcourse
Wherecname=‘数据库基础’))
9:
查询名字中第2个字为“小”或“大”字的学生的姓名和学号。
答:
selectsname,snofromstudentwheresnamelike‘-[小大]%’
10:
查询信息系,数学系和计算机系学生的姓名和性别。
答:
selectsname,ssexfromstudent
Wheresdeptin(‘信息系’,‘数学系’,‘计算机系’)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 作业 11