浙江大学大学计算机基础课件(7)剖析

上传人:今*** 文档编号:107941700 上传时间:2019-10-21 格式:PPT 页数:43 大小:3.21MB
返回 下载 相关 举报
浙江大学大学计算机基础课件(7)剖析_第1页
第1页 / 共43页
浙江大学大学计算机基础课件(7)剖析_第2页
第2页 / 共43页
浙江大学大学计算机基础课件(7)剖析_第3页
第3页 / 共43页
浙江大学大学计算机基础课件(7)剖析_第4页
第4页 / 共43页
浙江大学大学计算机基础课件(7)剖析_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《浙江大学大学计算机基础课件(7)剖析》由会员分享,可在线阅读,更多相关《浙江大学大学计算机基础课件(7)剖析(43页珍藏版)》请在金锄头文库上搜索。

1、7.1 概述 7.2 数据库系统 7.3 关系型数据库 7.4 数据库新技术 7.5 构建数据库系统,第7 章 数 据 库,7.1 概述,全球十大 数据库,美国图书馆,美国中央情报局,世界气候数据 中心(WDCC),美国国家能源研究科学计算中心(简称NERSC),如果我们需要查询某件事,最好知道到哪儿去找? 数据库也许就是这个问题的答案 数据库:Database ,DB,数据库是存储数据的仓库 可看作一个电子文件柜:存放计算机所收集的数据的容器 数据集中保存,统一管理 数据库的定义 数据库是一个持久数据的结构化集合,是数据的组织和存储 数据库是长期储存在计算机内,有组织的、可共享的数据集合 用

2、户可对数据库进行的操作 增加或删除数据库文件 插入、修改、删除、查询数据,什么是数据库,什么是数据库,数据库系统(Database System) 计算机应用软件中非常重要的一个领域 数据库技术是应用最广且经久不衰的计算机技术之一 几乎所有较大项目都采用基于服务器的数据库系统,数据库的优点 实现了数据的集中管理 保持数据的独立性 可为各种用户共享 支持事务(Transaction)处理 ,保证数据的完整性 减少数据冗余,避免数据的不一致性 能够管理海量数据可以存放大量的数据,能有效进行数据的组织和管理 能够确保高速、准确地检索数据 能对数据进行各种处理 如:数据重组等 数据库技术是信息系统的核

3、心技术,为什么要使用数据库,7.2 数据库系统,数据库系统是由数据库及使用数据库的用户或程序组成的系统 具有管理和控制数据库功能的计算机系统 是一个实际可运行的系统 数据库系统的结构 数据存储(数据库) 数据库管理系统 数据库应用软件 数据库用户,负责对数据库维护及管理的工作人员,什么是数据库系统,数据库系统示意图,用户如何使用数据库中的数据 用户数据库的应用程序DBMS 数据库中的数据,存储器,数据库系统示意图,实例:企业信息管理系统,数据库管理系统,DBMS DataBase Manager System 数据库是一个抽象的概念,不管是 DBA 还是用户,几乎不能直接和“数据库”打交道 建

4、立、使用和管理数据库都是在 DBMS下进行的,DBMS是创建、管理、维护数据库的软件系统 以文件或其他形式实现数据库数据的存放 在用户和物理数据库之间提供交互 是软件和数据的结合 是数据库系统的核心软件,数据库管理系统,数据定义 建立数据库等对象 数据操纵 基本操作:插入、修改、删除、查询 数据控制 安全性:权限管理 完整性 数据恢复 存储过程 数据库的数据处理程序 目的在于能够方便地从系统表中查询信息,或完成更新数据表相关的管理任务,包括系统管理任务 数据字典 也叫“元数据”,它本身也是一个数据库,是数据的数据,数据库管理系统的功能,大型DBMS Oracle DB2 (IBM) Sybas

5、e SQL Server (Microsoft) 中小型DBMS Access Visual Foxpro (Microsoft) 自由软件MySQL,常见的数据库产品,使用 DBMS 能够构建各种用于满足用户需求的数据库 企业级数据库 ERP 企业资源管理系统,各种用户数据库,个人数据库 Outlook Express Internet上的数据库 各种网站都运行在数据库上,7.3 关系型数据库,数据库是最大的计算机应用类软件产品,已经有了规范性的体系结构和数据库模型 数据库的体系结构建立数据库的一个框架 如何组织数据库中的数据,就是DBMS所采用的数据库模型 目前关系型数据库是主流技术,数据

6、库的三级体系结构,内层 全局物理结构 决定数据在存储器中的实际位置 需要考虑数据的存取方法 与操作系统的存储器管理相关 数据库模型层(公共层) 定义数据的全局逻辑结构 把数据库内部的数据以用户能够接受的形式提供给外层 DBMS的主要功能集中在这个层次 外层(接口层) 提供应用程序和用户的连接 局部逻辑结构,唯一,唯一,多个,数据库模型,数据模型定义了数据的逻辑关系,也给出了不同类型数据之间的关系 层次型 用树状结构来表示数据库中的记录及其联系 网状型 用有向图(网络)来表示数据库中的记录及其联系 关系型 用二维表格的形式来表示数据库中的记录及其联系 以完备的关系代数作为其数学理论基础 面向对象

7、型 是面向对象技术和数据库技术相结合的产物,关系模型 1970年由 IBM San Jose Research Lab的 E.F.Codd 提出 关系模型是关系的集合 一个关系型数据库由许多的各种二维表组成 关系 是逻辑上相关的一些数据组的集合 关系的基本定义:关系是一个没有重复值的集合 用二维表表示,关系型数据库,名称 表名(唯一) 元组(Tuple) 关系中的行,也叫记录 属性(Property) 关系中的列 属性名,属性值 度 关系中属性的数目 基数 关系中行的总数 主码 某个属性组(集),可以唯一确定一个元组,关系的几个术语,关系示例,CourseTB,关系名,列,属性,主码,行,元组

8、,度:4 基数:5,关系型数据库的组成 数据库表记录属性 关系是表及表之间存在的联系 一对一 一对多 多对多 关系型数据库的外部形态就是表,但数据在数据库中不是以表的形式存储的,关系型数据库,关系的集合运算(双目运算) 并(Union) 交(Intersection) 差(Difference) 积(Cartesian Product,笛卡尔积 ),关系运算,合并操作,形成的新关系包含两个关系中所有的元组,两个关系的笛卡尔有序对的集合,操作后形成的新关系包含同时出现在两个关系中的元组,找出一个关系中存在的而另一个关系中不存在的元组,关系的集合运算图示,r1、r2为参与运算的原关系,r3是运算得

9、到的新关系,专用的关系运算 选择(Select) 投影(Project) 连接(Link) 除(Divide),关系运算,将两个关系组合成一个新关系,单目操作,根据给定的条件从关系中元组,形成一个新关系,单目操作,从关系中选取几个属性,查找形成一个新关系,与投影相关,专用的关系运算图示,r1、r2为参与运算的原关系,r3是运算得到的新关系,SQL语言,Structured Query Language 结构化查询语言 IBM为其关系数据库管理软件System R开发的一种查询语言 关系型数据库的标准语言 ISO SQL/99 是专门针对关系型数据库的计算机编程语言 一般的程序设计语言,如C、J

10、ava等语言,缺乏对数据库的操作,但通过嵌入SQL语句就可以扩展其对数据库操作的能力 信息系统设计基本上采用这个方式, 把这样的通用编程语言叫做宿主语言(Host Language),SQL的四个部分,数据查询语言DQL(Data Query Language) Select 数据操纵语言DML(Data Manipulation Language) Insert Update Delete 数据定义语言DDL(Data Definition Language ) 定义和管理数据库中各种对象 Create(创建) Alter(修改) Drop(删除) 数据控制语言DCL(Data Contro

11、l Language) DBA用于数据控制操作 Grant Deny Revoke,非过程化语言 例:找出20岁以下的学生名单 Select * From 学生 Where 年龄20; 主要体现在查询功能,所以也叫形式表达 使用查询优化器数据存取的快速手段 面向集合的操作方式 操作的对象和结果都是记录的集合 统一的语言 SQL语言集三种语言的功能于一体,语言风格统一 数据定义语言DDL 数据操纵语言DML 数据控制语言DCL,SQL语言特点,以同一种语法结构提供两种使用方式 命令方式 ( 交互式 ) 程序方式 ( 嵌入式 ):嵌入到宿主语言程序中 所有关系数据库的公共语言 用SQL语言编写的程

12、序可以移植,SQL语言特点,Select 语句格式 Select Distinct | All From , Where ; 例子 Select 学号, 姓名 From 学生 Where 系= “信息系“; 含义: 从学生表中找出信息系全体同学的学号和姓名,使用SQL语言数据查询,在Access中的数据查询,在SQL视图窗口输入SQL语句并执行 进入SQL视图 选择“查询”对象 创建查询设计关闭“显示表”窗口 视图SQL视图,输入SQL语句 执行,SQL查询例子,假设有一个数据库名为market,其中有一个表为title,它的一列为产品类型type,一列是产品价格price,要求将这两列数据按

13、照价格price降序排列。 使用SQL语句编写的程序为: use title select top 3 type, price from title order by price desc 运行结果为: type price 电视机 1230.00 收音机 130.00 手电筒 7.00,SQL查询例子:单表查询,例1:从学生表中查找超过20岁的所有学生信息。 select * from 学生 where 年龄20; 例2:从学生表中查找“信息系”和“计算机系”学生的 学号、姓名、系。 select 学号, 姓名, 系 from 学生 where 系=“信息系“ or 系=“计算机系“; 例3

14、:从课程表中查找学分为3的必修课,并按课程号升 序排列。 select * from 课程 where 学分=3 and 是否必修 order by 课程号 Asc;,SQL查询例子:多表查询,例1:查询学号为“30001”学生的选课信息,要求列出 学号、课程名、成绩、学分。 select 学号, 课程名, 成绩, 学分 from 成绩, 课程 where 学号=“30001“and 成绩.课程号=课程.课程号; 例2:输出课程成绩在80分以上的学生学号、姓名、课 程名和成绩。 select 成绩.学号, 姓名, 课程名, 成绩 from 学生,课程,成绩 where 成绩=80 and 成绩

15、.学号=学生.学号 and 成绩.课程号=课程.课程号;,关系数据库管理系统 Oracle,SQL Server,Sybase,DB2 Access,Foxpro 关系模型所确定的三点目标 数据的独立性 数据处理的完整性和完备性 面向网络的数据操作语言的发展,关系型数据库,非关系型数据库(NoSQL),BigTable(Google) Cassandra MongoDB CouchDB,BigTable(Google),BigTable是一种压缩的、高性能的、高可扩展性的,基于Google文件系统(Google File System,GFS)的数据存储系统,用于存储大规模结构化数据,适用于云

16、计算 MapReduce常通过BigTable来存储或更改数据 BigTable不是传统的关系型数据库,不支持JOIN这样的SQL语法,BigTable更像今日的NoSQL的Table-oriented,优势在于扩展性和性能。BigTable的Table数据结构包括row key、col key和timestamp,其中row key用于存储倒转的URL,例如必须改成com.google.www,http:/zh.wikipedia.org/wiki/BigTable,Cassandra,Apache Cassandra(社区内一般简称为C*)是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号