Download presentation
Presentation is loading. Please wait.
1
Fundamentals of Computers
第 4 讲 数据库技术基础 第6章 计算机应用概述 作者:吴宁 Fundamentals of Computers 华中科技大学 网络与计算机中心
2
引例 目前数据处理成为计算机应用的主要方面。数据处理的中心问题是数据管理。数据库系统技术是数据管理技术发展的最新研究成果。 网络与计算中心
2
3
教学目标、要求 了解数据库系统的功能与基本组成 了解常见数据库管理系统的特点 掌握概念模型及常见数据模型 了解建立关系数据库系统的步骤
掌握基本的SELECT语句结构 了解 Access 数据库的基本操作 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第3/ 65页
4
4 第 4 讲 数据库技术基础 4.1 数据库系统的基本概念 4.2 数据模型 4.3 Select语句的基本应用
4.2 数据模型 4.3 Select语句的基本应用 4.4 常用数据库开发平台 Title in here 4 网络与计算中心 基础教研室
5
参考书目 1. 萨师煊,王珊. 数据库系统概论(第三版). 北京:高等教育出版社,2001
2. 李昭原. 数据库原理与应用. 北京:科学出版社,2000 3. 张健沛. 数据库原理及应用系统开发. 北京:中国水利水电出版社,1999 4. 王珊,陈红. 数据库系统原理教程. 北京:清华大学出版社,1999 5. (美)Philip J. Pratt ,Jose J. Adamski. 陆洪毅,杨文波,程华等译. 数据库管理系统基础. 北京:机械工业出版社. 1999 6. Abraham Silberschatz,Henry F. Korth,S. Sudarshan. 杨冬青,唐世渭等译. 数据库系统概念. 北京:机械工业出版社. 2000 7. Hector Garcia-Molina,Jeffrey D. Ullman,Jennifer Widom. 杨冬青,唐世渭,徐其钧等译. 数据库系统实现. 北京:机械工业出版社,2001 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第5/ 65页
6
“…Science never solved one problem without creating ten more…”
? 从这门课中我们将学到什么? 什么是数据库技术? 1 2 为什么要发展数据库技术? 发展数据库技术的目的 3 1.什么是数据库技术: 研究如何科学正确地组织、存储数据 如何高校地获取和处理数据 2.为什么要发展数据库技术? 信息资源作为生产力,涉及的数据量急剧增大。 数据需要长期保存、共享。 计算机数据加工能力强(存储量、处理速度、传输、重复性) 3。发展数据库技术的目的 充分地开发与利用大量信息资源,对信息进行识别,存储、处理与传递。 指导人类的行为,为决策提供支持。 “…Science never solved one problem without creating ten more…” George Bernard Shaw 网络与计算中心 基础教研室
7
? 从这门课中我们将学到什么? 硬件 数据库系统构成 用户 终端用户 应用程序 应用程序员 DBMS OS DBA Database
应用开发工具 DBMS DBA OS Database 数据库设计员 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第7/ 65页
8
4.1 数据库系统的基本概念 本节学习目标 理解数据、信息、数据管理的概念。 理解数据库、数据库管理系统和数据库系统的概念。
了解数据库的特点、数据库管理系统的功能和数据库系统的组成。 网络与计算中心 基础教研室
9
4.1 数据库系统的基本概念 4.1.1 数据、信息和数据处理 4.1.2 数据库、数据库管理系统和数据库系统 4.1.3 数据库技术的发展
网络与计算中心 基础教研室
10
4.1.1 数据、信息和数据处理 什么是数据(Data)? 245.78 礼貌 aBkWG 定义:描述事物的符号
数据、信息和数据处理 什么是数据(Data)? 245.78 礼貌 aBkWG 定义:描述事物的符号 特点:数据与其语义是不可分的 种类:数字、文字、图形、图像、声音 记录: 相关数据有序的组合。 计算机中表示/存储数据的格式。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第10/ 65页
11
4.1.1 数据、信息和数据处理 什么是信息(Information)? 什么是数据管理?
数据、信息和数据处理 什么是信息(Information)? 信息是有一定含义的、经过加工处理的、有价值的数据。数据经过处理仍然是数据,只有经过解释后才有意义,才成为信息。 什么是数据管理? 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第11/ 65页
12
4.1.2数据库、数据库管理系统和数据库系统 2. 什么是数据库(DataBase,DB) 存放数据的仓库。
数据按一定的数据模型组织、描述长期存储; DB中的数据不是孤立的,是相互关联的。 为多个用户共享。 特点: “一小” :冗余度小。 “三性” :共享性、独立性、完整性。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第12/ 65页
13
4.1.2数据库、数据库管理系统和数据库系统 什么是数据库管理系统(DBMS)? DBMS的用途 网络与计算中心 基础教研室
第13/ 65页
14
4.1.2数据库、数据库管理系统和数据库系统 什么是数据库系统(DBS)? 数据库系统的构成 网络与计算中心 基础教研室
第14/ 65页
15
4.1.2数据库、数据库管理系统和数据库系统 数据库系统特点 数据的管理者:DBMS 数据面向的对象:现实世界 数据的共享程度:共享性高
数据的独立性:高度的物理独立性和一定的 逻辑独立性 数据的结构化:整体结构化 数据控制能力:由DBMS统一管理和控制 网络与计算中心 基础教研室
16
4.1.2数据库、数据库管理系统和数据库系统 常见的数据库系统及其开发工具 单机版 VB Powerbuilder Delphi 网络版
PHP ASP JSP 数据库引擎 SQL命令 数据库 应用程序 DBMS ORACLE ACCESS DB2 SQL SERVER 目前有许多数据库产品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。下面简要介绍几种常用的数据库管理系统。 Oracle是甲骨文公司开发的一个最早商品化的关系型数据库管理系统,也是应用广泛、功能强大的数据库管理系统。Oracle作为一个通用的数据库管理系统,不仅具有完整的数据管理功能,还是一个分布式数据库系统,支持各种分布式功能,特别是支持Internet应用。作为一个应用开发环境,Oracle提供了一套界面友好、功能齐全的数据库开发工具。Oracle使用PL/SQL语言执行各种操作,具有可开放性、可移植性、可伸缩性等功能。特别是在Oracle 8i中,支持面向对象的功能,如支持类、方法、属性等,使得Oracle 产品成为一种对象/关系型数据库管理系统。 2009年九月份甲骨文公司推出了最新版本Oracle 数据库 11g 第 2 版, 11g增加了网格计算,现在常用的是10g,11g 9i是经典的一版。 Microsoft SQL ServerSQL Server 最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的关系数据库管理系统,可以在许多操作系统上运行,它使用Transact- SQL语言完成数据操作。由于Microsoft SQL Server是开放式的系统,其它系统可以与它进行完好的交互操作。目前最新版本的产品为Microsoft SQL Server 2008,,目前最常用的产品为Microsoft SQL Server是2005。它具有可靠性、可伸缩性、可用性、可管理性等特点,为用户提供完整的数据库解决方案。 Microsoft Access作为Microsoft Office组件之一,它是在Windows环境下非常流行的桌面型数据库管理系统。使用Microsoft Access无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。 在Microsoft Access数据库中,包括许多组成数据库的基本要素。这些要素是存储信息的表、显示人机交互界面的窗体、有效检索数据的查询、信息输出载体的报表、提高应用效率的宏、功能强大的模块工具等。它不仅可以通过ODBC与其它数据库相连,实现数据交换和共享,还可以与Word、Excel等办公软件进行数据交换和共享,并且通过对象链接与嵌入技术在数据库中嵌入和链接声音、图像等多媒体数据。目前最新版本的产品为Microsoft Office Access 2007 ,目前最常用的产品为Microsoft Office Access 2003. DB2是IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。 DB2 是IBM公司开发的一种关系数据库管理系统(RDBMS),是 Information Management 产品系列的一部分。DB2 被认为是第一种使用 SQL(一种为 RDBMS 提供接口的语言)的数据库产品。DB2 于 1982 年首次发布,现在已经可以用在许多操作系统平台上,包括 Linux、UNIX 和 Windows 。可以使用 Microsoft Open Database Connectivity(ODBC)和 Java™ Database Connectivity(JDBC)从任何应用程序访问 DB2 数据库。许多编程语言都可以使用这些 API,包括 C、C++、Java 等。目前最新版本的产品为IBM® DB2® 9.7 for Linux®, UNIX®, and Windows 。 目前的数据库市场,主要是Oracle、Mysql、IBM的DB2和微软的sqlserver,其中mysql是免费的,其他三款都是比较优秀的商业软件。三款主流数据库优劣势 : 开放性 SQL Server 只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且Windows平台的可靠性,安全性和伸缩性是非常有限的。它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时。 Oracle 能在所有主流平台上运行(包括 Windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 DBz 能在所有主流平台上运行(包括Windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。 可伸缩性,并行性 SQL Server 并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果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和命令行,在Windows NT和Unix下操作相同。 DB2 操作简单,同时提供GUI和命令行,在Windows NT和Unix下操作相同。 使用风险 SQL Server 完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。 Oracle 长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 DB2 在巨型企业得到广泛的应用,向下兼容性好。风险小 Sybase 网络与计算中心 基础教研室
17
4.1.3 数据库技术的发展 分布式数据库系统 并行数据库系统 知识库系统 主动数据库 多媒体数据库 面向对象数据库
数据仓库(Data Warehouse) 工程数据库 统计数据库 空间数据库 分布式数据库系统--物理上分散而逻辑上集中的数据库系统。 并行数据库系统 通过并行运行提高数据库系统的性能,采用多处理机结构。 知识库系统 数据库和人工智能相结合,实现数据库的智能(将数据库作为AI来提高DBMS表达、推理和查询能力)和智能化的数据库(扩大数据库的功能,使其具有AI功能,提高数据库的演绎、推理及智能化程度)。 主动数据库--结合人工智能技术和面向对象技术,以提供对紧急情况及时作出反应并提高数据库管理系统的模块化程度。 多媒体数据库--能够表示多种媒体的数据;能够协调处理各种媒体数据,正确识别各种媒体在空间或时间上的关联。能提供比传统数据管理系统更强的适合非格式化数据查询的搜索功能。 面向对象数据库--综合了面向对象技术与数据库技术。 数据仓库(Data Warehouse)--面向主题的、集成的、不可更新的、随时间不断变化的数据集合,用以支持企业或组织的决策分析处理。 工程数据库--存储和管理各种工程设计图形和工程设计文档,并能为工程设计提供各种服务的数据库。 统计数据库--用来对统计数据进行存储、统计、分析的数据库系统。 空间数据库--是描述、存储与处理具有位置、形状、大小、分布特征及空间关系等属性的空间数据及其属性数据的数据库系统。适用于描述所有二维、三维和多维分布的关于区域的现象 网络与计算中心 基础教研室
18
4.2 数据模型 本节学习目标 了解数据模型的两个层次; 理解信息世界所涉及的概念(实体、属性、联系); 了解层次模型、网状模型;
4.2 数据模型 本节学习目标 了解数据模型的两个层次; 理解信息世界所涉及的概念(实体、属性、联系); 了解层次模型、网状模型; 理解关系模型的基本概念(包括关系、元组、属性、域、关键字、主键等) 关系的三种基本运算(选择、投影、连接)。 网络与计算中心 基础教研室
19
4.2 数据模型 4.2.1 数据模型的基本概念 4.2.2 概念模型 4.2.3 数据模型 4.2.4 关系运算
4.2 数据模型 4.2.1 数据模型的基本概念 4.2.2 概念模型 4.2.3 数据模型 4.2.4 关系运算 网络与计算中心 基础教研室
20
数据模型的基本概念 数据模型就是现实世界的模拟,是对客观事物及其联系的抽象描述。在数据库系统中针对不同的使用对象和不同的应用目的,可采用不同层次的数据模型。数据模型大致分为两个不同层次: 概念模型:也称信息模型,是按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层抽象; 基本数据模型:是按计算机系统的观点对数据进行建模,是概念模型的数据化。 网络与计算中心 基础教研室
21
4.2.2 概念模型 1. 概念与术语 实体:客观存在并可相互区分的事物。 属性:实体所具有的特性。 码: 唯一标识实体的属性集。
概念模型 在进行数据库设计时,必须首先给出概念模型,它不涉及DBMS, 它只描述实体的存在及联系。 1. 概念与术语 实体:客观存在并可相互区分的事物。 我叫张琳, 生于湖北恩施, 身高1米62,… 属性:实体所具有的特性。 我的学号是 你猜我是 男生还是女生? 码: 唯一标识实体的属性集。 域: 某个属性的取值范围。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第21/ 65页
22
4.2.2 概念模型 实体型:具有相同属性的实体(具有相同的特征和性质) 实体集: 同型实体的集合 联系: 实体之间及其内部的联系。
概念模型 实体型:具有相同属性的实体(具有相同的特征和性质) 我们是工人 我们是农民 我们是学生 我是老师 我叫王涛 实体集: 同型实体的集合 我叫张琳 联系: 实体之间及其内部的联系。 我们是华科大同学 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第22/ 65页
23
4.2.2 概念模型 2. 实体间的联系方式 ? : ? 实体内部的联系:各属性间的联系。 实体间的联系:一对一、一对多、多对多。 实体
概念模型 2. 实体间的联系方式 实体内部的联系:各属性间的联系。 实体间的联系:一对一、一对多、多对多。 ? : ? 实体 关系 课程 关系 … 学生A 学生N 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系 两个不同实体集之间的联系有三种类型: 一对一联系(1:1):如果对于实体集A中的每个实体,实体集B中至多有一个实体(也可以没有)与之联系,反之亦然,则称实体集A与实体集B具有一对一的联系,记为1:1。 一对多联系(1:n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多的联系,记为1:n。 多对多联系(m:n):如果对于实体集A中的每个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B具有多对多的联系,记为m:n。 教师和学生互动: 互动话题:举例说明在现实生活中你熟悉的实体之间的联系(1:1 、 1:m 、 m:n )有哪些? …….. 班级 关系 … 学生A 学生N 班级 关系 班长 学生A 关系 … 课程1 课程N 1 : n 1 : 1 1 1 1 n n n 1 1 m : n 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第23/ 65页
24
例:医院系统 护士实体 医生实体 职员实体 医生 实体集 护士 实体集 职员 实体集 护士属性: 医生属性: 编号 编号 姓名 姓名 性别
年龄 医生属性: 编号 姓名 性别 年龄 职称 马 赵 李 徐 田 王 王 医生 实体集 护士 实体集 李 职员属性: 编号 姓名 性别 年龄 职务 钱 黄 职员 实体集 职员实体
25
例:医院系统 住院部 门诊部 院长室 医院的部门管理制度将不同的人员(实体)联系起来 王 赵 李 马 徐 徐 王 赵 田 田 钱 马 王 李
黄 李 院长室
26
例:医院系统 医生文件doctors 关键字 医生 编号 姓名 性别 职称 部门 101 马 女 医师 门诊部 104 李 男 医师 住院部
医生 编号 姓名 性别 职称 部门 马 女 医师 门诊部 李 男 医师 住院部 赵 男 主任医师 门诊部 冯 男 医师 门诊部 王 女 医师 住院部 林 男 医师 住院部 记录 李 男 医师 住院部 记录关联 工作编号 医生编号 内容 阑尾手术 搭桥手术 阑尾手术 搭桥手术 搭桥手术 工作记录文件jobs 字段
27
4.2.3 数据模型 数据结构、数据操作和完整性规则(结束)。 层次模型、网状模型和关系模型。
在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。 数据模型应满足三方面要求: 能比较真实地模拟现实世界; 容易为人所理解; 便于在计算机上实现; 数据模型的三要素: 数据结构、数据操作和完整性规则(结束)。 数据库系统中的数据模型: 层次模型、网状模型和关系模型。 数据结构是刻画一个数据模型性质最重要的方面,是对系统静态特性的描述。因此,在数据库系统中,通常按照其数据结构的类型来命名数据模型。例如层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。 数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。 数据操作是对系统动态特性的描述。 数据的约束条件是一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正 确、有效、相容。 网络与计算中心 基础教研室
28
4.23 数据模型 四种常见的数据组织方法: 在设计数据库全局逻辑结构时,不同的数据库管理系统对数据的具体组织方法不同。
常见的四种组织方法有: 网状模型 层次模型 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第28/ 65页
29
4.2.3 数据模型 1. 数据描述(例) 张琳,女,1990年11月10日出生于湖北恩施,身高1米62,体重54kg,于2010年9月进入华中科技大学学习,所属院系计算机学院,所属专业计算机应用,所属班级1001班…… 李志杰,男,1991年5月18日出生于北京,于2010年9月进入华中科技大学学习,专业班级是1001班。我喜欢唱歌,会英语和日语…… 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第29/ 65页
30
4.2.3 数据模型 1. 数据描述的功能(例) 模型中包含哪些数据类型。 指明每个记录由哪些数据项构成,并对数据项(字段)命名。
学生信息管理 模型中包含哪些数据类型。 Student Scores Teacher …… 指明每个记录由哪些数据项构成,并对数据项(字段)命名。 每个数据项均需指明其数据类型和取值范围,保证数据完整性。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第30/ 65页
31
4.2.3 数据模型 2. 数据间联系的描述(例) 各个记录间所存在的联系和联系方式 网络与计算中心 基础教研室 网络与计算中心 基础教研室
第31/ 65页
32
4.2.3 数据模型 关系模型 关系模型是发展较晚的一种模型,
1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型。 他为此获得了1981年的图灵奖。 关系数据库已成为目前应用最广泛的数据库系统 他发表了题为“大型共享数据银行数据的关系模型”(A Relation Model of Data for Large Shared Data Banks),在文中解释了关系模型,定义了某些关系代数运算,研究了数据的函数相关性,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究, 他为此获得了1981年的图灵奖。 关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro、Acess,大型数据库系统Oracle、Informix、Sybase、SQL Server、DB2等都是关系数据库系统。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第32/ 65页
33
4.2.3 数据模型 关系模型 关系模型(Relational Model)的主要特征是用二维表格表达实体集。
关系模型是由若干个关系模式组成的集合。 关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。 教师关系结构 课程关系结构 关系模式 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第33/ 65页
34
4.2.3 数据模型 关系模型 关系模式的实例——二维表格。 关系 属性(列) 属性名 关系名 主键 元组(行) 网络与计算中心 基础教研室
第34/ 65页
35
4.2.3 数据模型 关系模型 (1)关系模式:对关系的描述(表结构) 格式:关系名(属性1,属性2,属性3,…,属性n)
例如:学生表(学号,姓名,性别,出生年月,籍贯,专业,入学成绩,体 检时间,照片) 每一个关系模式都必须命名,且同一关系模型中关系模式名不允许相同。 数据库的关系数据模型是若干关系模式的集合。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第35/ 65页
36
4.2.3 数据模型 关系模型 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第36/ 65页
37
4.2.3 数据模型 关系模型 属性 属性名 属性值 属性名:第一行,每一列都有一个属性名。
属性值:行和列的交叉位置,记录中的数据项或字段值。 属性名 网络与计算中心 基础教研室 网络与计算中心 基础教研室 属性值 第37/ 65页
38
4.2.3 数据模型 关系模型 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第38/ 65页
39
4.2.3 数据模型 关系模型 男 or 女 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第39/ 65页
40
4.2.3 数据模型 关系模型 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第40/ 65页
41
4.2.3 数据模型 关系模型 1)关系数据库是若干关系(表)的集合。 2)关系(表)以文件的形式存储。
3)数据库中的关系(表)不是孤立的,而是相互联系的。描述各个实体间的联系的信息隐含在关系(表)中,通过关系(表)中的数据(共有属性)。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第41/ 65页
42
4.2.4 关系运算 1. 选择 从指定的关系中选择满足给定条件的元组组成新的关系。
例题:从关系score1中选择数学大于90的元组组成关系S1。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第42/ 65页
43
4.2.4 关系运算 2. 投影 从指定关系的属性集合中选取若干个属性组成新的关系。
例题:从关系score1中选择“学号”、“姓名”、“数学”组成新的关系S2。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第43/ 65页
44
4.2.4 关系运算 3. 联接 两个关系中的元组按指定条件组合新的关系。 例题:将score1和score2按相同学号合并。
网络与计算中心 基础教研室 网络与计算中心 基础教研室 第44/ 65页
45
?查询王平的选修课程及成绩 学生关系 课程关系 选课关系 查询结果 学号 姓名 性别 专业 4051 王平 女 经管 4052 赵路 男
4061 邱华 计算机 4062 宁静 4063 张宇 4071 刘兵 电子 课程号 课程名 学分 C001 高等数学 6 C002 会计学 5 C003 管理学 4 C004 程序设计 3 C005 数字电路 选课关系 查询结果 学号 课程号 成绩 4051 c001 78 c002 89 4052 88 c003 85 姓名 课程名称 成绩 王平 高等数学 78 会计学 89
46
4.3 SQL-Select语句的基本应用 本节学习目标 了解SQL语言的的定义及功能 掌握SQL-Select语句的基本应用
网络与计算中心 基础教研室
47
4.3 SQL-Select语句的基本应用 SQL简介——Structured Query Language
关系数据库的标准结构化查询语言,1974年制订。目前流行的是SQL-92标准,由ANSI(美国国家标准局)颁布。 有三类SQL语句: DDL(数据定义语言)用于数据库结构定义 DML(数据操纵语言)用于数据处理 DCL(数据控制语言)用于用户权限管理 标准的SQL包括9个动词: Create(建立)、Alter(修改)、Drop(删除表)、 Insert(插入)、Update(更新)、Delete(删除记录)、 Select(选择)、Grant和Revoke(赋予和收回权限)等。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第47/ 65页
48
4.3 SQL-Select语句的基本应用 格式:Select [all / distinct] *| <字段列表>
From <表名> [ where <条件表达式> ] [order by <列名> {[asc | desc]} ]; 各参数作用如下: all : 所有行,缺省值. distinct : 禁止出现完全相同的记录. * : 所有字段. where : 查询条件,缺省将查询表中所有记录. order by : 排序,asc升序,desc降序,默认升序. 式中的符号表示: <> : 在实际的语句中要采用需要的内容替代. [ ] : 可根据需要进行选择,也可不选. | : 多项选项中只能选其中之一. { }: 必选项. 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第48/ 65页
49
4.3 SQL-Select语句的基本应用 常用运算符 类型 运算符 算术运算符 + - * / ^(乘方) \(整除) MOD(取余数)
关系运算符 < <= <> > >= Between Like 逻辑运算符 Not And Or 字符运算符 & 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第49/ 65页
50
4.3 SQL-Select语句的基本应用 例如:在体检表中查找女同学的全部信息,并按学号升序排列:
SELECT * FROM 学生 where 性别=“女” order by 学号 ; 查询结果是: 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第50/ 65页
51
4.3 SQL-Select语句的基本应用 SELECT 学号,姓名,专业 FROM 学生 WHERE 专业="计算机"
例:在“学生”表中查询“计算机”专业学生的“学号”、“姓名”和“专业”。 SELECT 学号,姓名,专业 FROM 学生 WHERE 专业="计算机" 例:在“学生”表中显示所有“非计算机”专业学生的“学号”、“姓名”和“年龄”。 SELECT 学号, 姓名, Year(Date())-Year(出生年月) AS 年龄 FROM 学生 WHERE 专业<>"计算机" 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第51/ 65页
52
4.4 常用数据库开发平台 本节学习目标 了解数据库开发平台 了解Access数据库的建立和维护 网络与计算中心 基础教研室
53
4.4 常用数据库开发平台 4.4.1 认识数据库开发平台 4.4.2 Access数据库的建立和维护 网络与计算中心 基础教研室
54
4.4.1 认识数据库开发平台 数据库服务器 桌面型数据库软件
使用数据库开发平台的目的就是建立数据库,将数据库的设计方案付与实施。按数据库的观点这些软件可划分为如下的两大类: 数据库服务器 桌面型数据库软件 数据库服务器 这一类数据库软件常见的有SQL Server、Oracle、Sybase、MySQL等,都是大型的数据库开发平台,重点在于后端数据库的管理,它们的数据库都是隐身于后的“服务器”。其主要功能有:强大的数据库引擎、高度的数据安全、备份及还原、不同数据库之间的数据转换等。 桌面型数据库软件 桌面型数据库软件有Access和Visual FoxPro等,它们都是小型的数据库开发平台,其特点是易学易用,适合建立小型数据库。其主要特色有:强大的窗体及报表制作能力、强化数据库的工具和易学易用的操作界面等。 网络与计算中心 基础教研室
55
4.4.2 Access数据库的建立和维护 Access的特点 Access数据库 1. 具有Office系列的共同功能;
2. 桌面型的数据库管理系统; 3. 与其它数据库系统共享数据; 4. 提供程序设计语言VBA,用于开发应用程序。 Access数据库 1. Access的文档文件,扩展名为MDB 2. 由数据表、查询、窗体、报表、宏和模块等对象组成。 3. 所有对象都保存在的同一个数据库文件中。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第55/ 65页
56
4.4.2 Access数据库的建立和维护 1. “开始”--->“程序”--->Microsoft Access
3. 单击“确定” 4. 输入数据库名 5. 单击“创建” 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第56/ 65页
57
4.4.2 Access数据库的建立和维护 1. 表 Access数据库的系统结构 以二维表格保存基本信息,数据库的核心。
为其它对象提供数据。 对具有复杂结构的数据,分别使用多张数据表,这些表之间可以通过相关字段建立关联。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第57/ 65页 图4-1 班级表
58
4.4.2 Access数据库的建立和维护 2. 查询 Access数据库的系统结构 从一个或多个表中查找某些特定的记录。
查询的运行结果以二维表的形式显示。 在数据库中只记录了查询的方式即规则。 可作为窗体、报表等其它组件的数据源。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 图4-2 查询表 第58/ 65页
59
4.4.2 Access数据库的建立和维护 3. 窗体 Access数据库的系统结构 向用户提供交互界面,更方便地进行数据的输入、输出。
窗体的数据源,可以是一个或多个数据表,也可以是查询。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 图4-3 窗体 第59/ 65页
60
4.4.2 Access数据库的建立和维护 4. 报表 Access数据库的系统结构 将数据按指定的格式进行显示或打印。
数据源可以是一张或多张数据表、查询。 建立报表时还可以进行计算,如求和、平均等。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 图4-4 报表 第60/ 65页
61
4.4.2 Access数据库的建立和维护 5. 页 6. 宏 7. 模块 Access数据库的系统结构
通过Web页将数据存储到指定的文件夹,或将其复制到Web服务器上,以便在网上发布信息。 6. 宏 宏是由具有宏名的一系列命令组成,用来简化一些需要重复的操作。 建好的宏,可以单独使用,或与窗体配合使用。 7. 模块 用Access提供的VBA语言编写的程序,模块通常与窗体、报表结合起来完成完整的应用功能。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第61/ 65页
62
4.4.2 Access数据库的建立和维护 数据表的建立和使用 数据表结构 1.字段名 2.数据类型 3.字段属性
数据表由表结构和记录两部分组成。 数据表结构 1.字段名 2.数据类型 3.字段属性 (1)字段大小 (2)格式 (3)小数位数 (4)标题 (5)有效性规则 4.主关键字 图4-5 学生表表结构 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第62/ 65页
63
4.4.2 Access数据库的建立和维护 1. 在数据表视图下建立数据表 2.用设计视图建立数据表 例题:在数据表视图下建立“成绩”表
例题:在设计视图视图下建立“学生”表 1) 设计表结构 2)定义主关键字段 3)命名表及保存 4) 输入记录 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第63/ 65页
64
4.4.2 Access数据库的建立和维护 1.修改表结构(设计视图或数据表视图下进行) 2.编辑记录 (数据表视图下进行)
修改字段名、类型、属性 添加字段 删除字段 重新设置主键 2.编辑记录 (数据表视图下进行) 添加记录 修改原有记录 删除记录。 图4-6 学生表记录 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第64/ 65页
65
4.4.2 Access数据库的建立和维护 1.查找数据 2.替换数据 打开表,选中目标字段 单击“查找”按钮 输入查找内容
单击“查找下一个”按钮 2.替换数据 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第65/ 65页
66
4.4.2 Access数据库的建立和维护 3.记录排序 按某个字段值的升序或降序重新排列记录。 排序
升序按钮 排序 选择排序关键字,如“姓名”,单击工具栏上的“升序”或“降序”按钮,排序结果如图4-10所示。 恢复排序前的记录顺序 “记录”---->“取消筛选/排序” 图 “姓名”按升序排序 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第66/ 65页
67
4.4.2 Access数据库的建立和维护 4.筛选记录 在众多的数据中挑选出一部分满足某些条件的数据进行处理。 按选定内容筛选 按窗体筛选
应用筛选 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第67/ 65页
68
4.4.2 Access数据库的建立和维护 5.查询记录 设计视图查询 在一个或多个基本表中,按照指定的条件进行查找,并指定显示的字段
简单查询向导 按系统的提示设计查询的结果。 交叉表查询 用交叉方式的数据表格显示信息 重复项查询 在数据表中查找具有相同字段值的重复记录 不匹配查询 在数据表中查找与指定条件不匹配的记录。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第68/ 65页
69
4.4.2 Access数据库的建立和维护 1) 使用向导创建查询 例4.24 使用向导查询所用学生的基本情况 选定表 选定字段 明细方式
例4.24 使用向导查询所用学生的基本情况 选定表 选定字段 明细方式 查询名称 4.查询结果 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第69/ 65页
70
4.4.2 Access数据库的建立和维护 2) 使用设计视图创建查询 设计视图窗口的组成 字段:查询结果中使用 的字段。
表 排序 显示 表: 该字段所在的表 或查询。 条件 或 排序:指定是否按此字段排序 显示:确定该字段是否在结果中显示。 条件:指定对该字段的查询条件 或: 指定其它查询条件 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第70/ 65页
71
4.4.2 Access数据库的建立和维护 2) 使用设计视图创建查询 例 查询”学生”的学号、姓名和籍贯 设计视图 选择表 查询结果
例 查询”学生”的学号、姓名和籍贯 设计视图 选择表 查询结果 选定查询 的字段 执行 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第71/ 65页
72
4.4.2 Access数据库的建立和维护 在SQL窗口建立查询 进入设计视图 选择表 “SQL视图”命令 输入命令
网络与计算中心 基础教研室 网络与计算中心 基础教研室 第72/ 65页
73
4.4.2 Access数据库的建立和维护 窗体和报表是Access中重要的图形对象,是用户对表的操作界面。
窗体和报表通过使用称为控件的图形对象来组织数据的显示或打印。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第73/ 65页
74
4.4.2 Access数据库的建立和维护 “向导”或“设计视图” 添加字段 “使用向导创建窗体” “布局”和“样式” 显示的结果
网络与计算中心 基础教研室 网络与计算中心 基础教研室 第74/ 65页
75
4.4.2 Access数据库的建立和维护 打开“学生管理.mdb”数据库 选择使用向导创建报表 选定“班级”表及所有字段
例 创建下右图所示的报表“班级” 打开“学生管理.mdb”数据库 选择使用向导创建报表 选定“班级”表及所有字段 决定要否分组(本例不分组) 选择排序方式(本例不排序) 选择表格布局方式 选择报表样式(本例为组织) 输入报表名称:班级 单击“完成”按钮,报表如右图所示。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第75/ 65页
76
本 章 总 结 数据、信息、数据管理。 数据库系统的组成与基本功能。 概念模型和常见的三种数据模型。 关系模型的基本术语、构成以及关系运算。
本 章 总 结 数据、信息、数据管理。 数据库系统的组成与基本功能。 概念模型和常见的三种数据模型。 关系模型的基本术语、构成以及关系运算。 SQL-Select语句的基本应用。 Access数据库、数据表的建立、维护以及操作。 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第76/ 65页
77
思 考 什么是数据库?为什么要学习、使用数据库管理系统? …… 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第77/ 65页
78
作 业 项目六 数据库系统应用 网络与计算中心 基础教研室 网络与计算中心 基础教研室 第78/ 65页
79
层次模型 层次模型是数据库系统中最早出现的数据模型,以树形结构来表示实体及其之间的联系(1:n)。采用层次模型的数据库的典型代表是IBM公司的IMS(Information Management System)数据库管理系统。 学校组织结构图 校部 学院A 系A 学院B 系B 系C 系D 系E 返回 网络与计算中心 基础教研室
80
网状模型 返回 课程、学生、选课 以有向图结构表示实体及其之间的联系(m:n)。网状模型的缺点主要有:
(1)结构复杂,其DDL语言极其复杂。 (2)数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。 课程、学生、选课 返回 网络与计算中心 基础教研室
Similar presentations