《第07章数据库设计.ppt》由会员分享,可在线阅读,更多相关《第07章数据库设计.ppt(29页珍藏版)》请在三一文库上搜索。
1、An Introduction to Database System,1,数据库系统概论 An Introduction to Database System 第七章 数据库设计 (4),An Introduction to Database System,2,实例1-电信通话信息系统,问题描述 该系统投入运行后正常,四个月时开始出现复杂条件的查询得不到结果的情况。原因何在? 复杂条件的SQL语句查询造成超时; 发现是对单表查询,该表的记录数将近2000万条,且每天以20万条的速度增加; 由于查询数据表中的记录数过多引起的。 采用何种方法才能提高大数据量表的查询效率?,An Introduct
2、ion to Database System,3,实例1-电信通话信息系统,An Introduction to Database System,4,实例1-电信通话信息系统,解决办法: 大数据量表的查询属于数据库优化的一个方面 优化原则:尽量减少I/O次数; 具体做法:采用水平分区的方法 将一个表分割成结构相同的几个表,每个表中只包含大表中的一部分数据行。查询时,就可以只查询包括查询结果在内的一、两个小表,使I/O数量大幅降低。,An Introduction to Database System,5,实例1-电信通话信息系统,具体实现: (1)以月份为单位将数据表拆分为多张小表;,拆分后的
3、小表的名称为: Pm_hour_sector_200701 Pm_hour_sector_200702 Pm_hour_sector_200703 Pm_hour_sector_200704 ,An Introduction to Database System,6,实例1-电信通话信息系统,具体实现: (2)查询数据合并; 表分区减少了查询时I/O的数量,但是增加了查询时选择表的负担。 SQL Server通过使用分区视图将数据合并,利用单一视图面对应用程序,这样简化了查询数据操作。,An Introduction to Database System,7,实例1-电信通话信息系统,具体实现
4、: (2)查询数据合并; 分区视图的定义为: CREATE VIEW Pm_hour_sector_history_view as select * from pm_hour_sector_200701 union all select * from pm_hour_sector_200702 union all ,An Introduction to Database System,8,实例1-电信通话信息系统,具体实现: (3)查询优化的条件; 分区视图的核心内容:要求针对该视图执行的任何查询都被优化成只执行查询结果所涉及的基本表,其余表自动忽略。 对分区视图的限制:每张表必须建立chec
5、k约束,限制该表存放的数据彼此的范围不重叠。这样,SQL Server才能做出相应的优化选择。,An Introduction to Database System,9,实例1-电信通话信息系统,具体实现: 为小表增加time_id字段,是numeric类型,存放时间信息,格式yymmddhhmm,如: pm_hour_sector_200701表建立的约束为: time_id between 200701010000 and 200701312359。 建立常用字段的非聚簇索引 (4)解决后的执行情况; 一条查询语句的执行情况: 前者的执行结果是20s,后者是2s。,An Introduct
6、ion to Database System,10,实例1-电信通话信息系统,存在问题: 1.按时间存取数据的小表谁来创建? 手工还是程序? 2.小数据表增加以后,分布视图谁来负责更新? 3.小表和视图变动后,应用程序中用户的访问权是否受到影响? 4.数据以何种方式存储在小表中? 可更新的分区视图还是单独编写程序进行数据存储的?,An Introduction to Database System,11,实例1-电信通话信息系统,实践经验: 1.在数据表中,数据大于1000万时,建议分区解决 2.小于1000万时,采用对常用查询字段建立非聚簇索引的方式进行优化。 3.实例验证,使用SQL Se
7、rver可以管理800G以上的数据案例。,An Introduction to Database System,12,实例2-全国人口查询系统,问题描述 公安部准备将全国各省市的人口基本信息采集入库,目前已经确定每个具有身份证的中华人民共和国公民的基本信息包括两大部分: 文本信息:150KB 图象信息:50KB 建成后系统供全国所有可能的用户使用,包括企业、学校、政府、旅店和其他个人用户等等。,An Introduction to Database System,13,实例2-全国人口查询系统,系统要求: 按照某些条件查询某一个人是否存在,详细信息 系统中的数据不会频繁更新,An Introd
8、uction to Database System,14,实例2-全国人口查询系统,1.海量信息存储的问题 假设13亿人口的信息将存入系统,这个数据库的容量达到多少?如果再加上一部分已死亡人的信息,数据量将更大。 解决方案:SAN存储区域网络 海量存储系统将数据集中起来存放,并且将存放介质与数据库服务器物理上隔离开来,其扩展性非常好。,An Introduction to Database System,15,实例2-全国人口查询系统,2.选用什么样的DBMS? 数据库的容量过大,有没有一种DBMS可以管理几百 TB 的数据? 一个数据库的最大容量可达多少? 数据库中一张表的最大容量是多少(存
9、放的记录数)? 解决方案: (1)需要将这些数据放到几十个数据库中。 (2)选择能支持数据分布和良好数据划分功能的DBMS。,An Introduction to Database System,16,实例2-全国人口查询系统,3.采用什么样的体系结构? 因为同时访问这个数据库的并发用户很多,为了保证系统的查询时间,系统必须支持并行计算。 解决方案: 采用支持并行计算的大型计算机 利用高速网连接起来的多个PC服务器组成的机群系统 考虑系统总线的吞吐量和磁盘阵列的吞吐量(I/O),An Introduction to Database System,17,实例2-全国人口查询系统,总结: DBM
10、S:数据分布、数据划分、并行计算 31个省的人口数据放到31个库中 一个省内的数据库中的数据又可以按性别和年龄等属性进行划分,将数据放在不同的磁盘上。,要求查询: 一名叫“张三”的青年,An Introduction to Database System,18,本章练习,1.数据流图是在数据库_阶段完成的。 A.逻辑设计 B.物理设计 C.需求分析 D.概念设计 2.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_阶段。 A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 3.数据库逻辑结构设计的主要任务是_。 A.建立E-R图和说明书 B.创建数
11、据库的关系模式 C.建立数据流图 D.把数据送入数据库,An Introduction to Database System,19,本章练习,4.数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是_。 A.建立数据库 B.扩充功能 C.加载数据 D.系统调试 5.当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是_。 A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突 6.下列属于数据库物理设计阶段的工作是_ A.将E-R图转换为关系模式 B.选择存取路径 C.建立数据流图 D.收集和分析用户活动,An Introduction to Databas
12、e System,20,本章练习,7.若两个实体间存在1:n的联系,则实体1:n联系的方法是_。 A.在n端实体转换的关系中加入一个“1”端实体转换 关系实体的码 B.将n端实体转换的关系的码加入到“1”端实体的关 系中 C.在两个实体转换的关系中,分别加入另一个关系 的码 D.将两个实体转换成关系即可,An Introduction to Database System,21,本章练习,8.从E-R图导出关系模式时,如果两实体间的联系是m:n,下列说法中正确的是_ A.将m方的码和联系的属性纳入n端的属性中 B.将n方的码和联系的属性纳入m端的属性中 C.在m方属性和n方的属性中均增加一个表
13、示级别的属性 D.增加一个关系表示联系,其中纳入m方和n方的码。,An Introduction to Database System,22,本章练习,9.要将如果所示的E-R图转换成关系模式,最少转换为_关系模式。 A.1个 B.2个 C.3个 D.4个,读者,图书,借阅,m,n,姓名,单位,借书证号,借书日期,总编号,分类号,书名,作者,价格,位置,An Introduction to Database System,23,本章练习,11.有如下运动队和运动会两个方面的实体。 (1)运动队方面 运动队:队名、教练姓名、队员姓名 队 员:队名、队员姓名、性别、项目 其中:一个运动队有多个队员
14、,一个队员仅属于一个运动队,一个运动队一般有一个教练,An Introduction to Database System,24,本章练习,请完成如下设计: (1)分别设计运动队和运动会两个局部E-R图; (2)将它们合并为一个全局E-R图; (3)合并时存在什么冲突,是如何解决的?,(2)运动会方面 运动队:队编号、队名、教练姓名 项 目:项目名、参加运动员编号、队员姓名、 性别、比赛场地 其中:一个项目可以由多个队参加,一个运动员可以参加多个项目,一个项目一个比赛场地。,An Introduction to Database System,25,本章练习,11.有如下运动队和运动会两个方面
15、的实体。 (1)运动队方面 运动队:队名、教练姓名、队员姓名 队 员:队名、队员姓名、性别、项目 其中:一个运动队有多个队员,一个队员仅属于一个运动队,一个运动队一般有一个教练,运动队,队员姓名,属于,1,n,队名,教练姓名,项目,性别,姓名,An Introduction to Database System,26,本章练习,运动队,项目,参加,m,n,队名,教练姓名,项目名,场地,队编号,(2)运动会方面 运动队:队编号、队名、教练姓名 项 目:项目名、参加运动员编号、队员姓名、 性别、比赛场地 其中:一个项目可以由多个队参加,一个运动员可以参加多个项目,一个项目一个比赛场地。,An Introduction to Database System,27,本章练习,运动队,队员姓名,属于,1,n,队名,教练姓名,项目,性别,姓名,运动队,项目,参加,m,n,队名,教练姓名,项目名,场地,队编号,An Introduction to Database System,28,运动队,队员姓名,属于,1,n,队名,教练姓名,性别,姓名,项目,训练,m,n,项目名,场地,队编号,本章练习,参赛,n,m,An Introduction to Database System,29,下课了。,休息一会儿。,攀 登,
链接地址:https://www.31doc.com/p-3417730.html