数据库基础.

Slides:



Advertisements
Similar presentations
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
Advertisements

第六章 数据库技术基础 本章要点  数据库系统概述 数据库系统概述  关系数据库 关系数据库  数据库设计 数据库设计.
3.1 表的建立 教学内容 :一、建立表结构 ; 二、输入数据. 重点 :建立表 难点 :建立表.
Chapter 3: SQL.
第7章 数据库基础 本章主要内容 7.1 数据库的概念 7.2 数据模型 7.3 关系数据库 7.4 Access简介
Visual FoxPro程序设计与应用.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
走进计算机等级考试 Access2000 最流行的桌面数据库软件 数据库和表 退出 开始.
第七章 数据库基础 7.1 数据库系统概述 7.2 数据库的建立和维护.
Excel(2010) 基本操作(入门) ——季振华.
第7章 数据库基础.
Access数据库基础 系列教学课件 安丘市职业中专 雷云龙.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
第1章 数据库基础知识 1.1 数据处理技术的发展 1.2 数据抽象与模型 1.3 关系模型.
第一章 数据库系统概述 1.1数据管理及其技术的发展 1.2数据库基本概念 1.3数据模型与数据模式.
数据库原理与应用 01 – 绪论 郑捷.
Oracle数据库 Oracle 子程序.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
第四章 数据库技术基础.
第五章 信息资源管理 -----数据库系统.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
数据挖掘工具性能比较.
数据库设计是信息系统的核心组成部分 从现实世界到数据世界的转换的过程
第4章 Access 2003系统概述 内容提要 ◆ Access 2003的特点 ◆ Access 2003启动与退出
1.1 数据库基本概念 1.2 数据模型 1.3 关系数据库 1.4 Access2010简介
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
微机系统的组成.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VisComposer 2019/4/17.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
第6章 Access 2007数据库基础.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
学生活动 体验活动:世界名著知多少?.
2017第二轮选考复习 数据库.
iSIGHT 基本培训 使用 Excel的栅栏问题
1.把下面的关系模式转化为E-R图 1)系(系号,系名,电话) 2)教师(工号,姓名,性别,年龄,系号)
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Visual Basic程序设计 第13章 访问数据库
第一章 绪论 1.1 引言 1.2 逻辑结构和存储结构 1.3 算法.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
学习目标 1、如何对结果进行分组 2、分组函数的一些实用方法.
SpringerLink数据库使用说明 上海师范大学图书馆
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
学习目标 1、什么是列类型 2、列类型之数值类型.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

数据库基础

数据库概述 一.数据处理技术的发展 手工管理阶段 特点: (1) 数据不保存----不能实现数据共享。 (2) 数据与程序不可分割。 (3)各程序的数据彼此独立----数据冗余。 适应场合: 数据量较小。

数据库概述 文件系统阶段 (1) 程序和数据分开, 有一定的独立性。 (2) 数据以文件形式保存,由操作系统按名存取。 (3) 实现一定程度的数据共享。 (4) 数据文件之间缺乏联系。

数据库概述 数据库阶段 (1) 数据和程序之间彼此独立,实现共享 (2) 数据以数据库形式保存,最大限度减少冗余。 (3) 专门的数据库管理软件-------DBMS。 应用程序1 …… DBMS 应用程序2 数据库 应用程序n

数据库概述 分布式数据库系统 面向对象的数据库 数据库技术和计算机网络技术相结合产生: 1)物理上独立,数据分布在网络的不同计算机 2)逻辑上属于一个整体。 面向对象的数据库 将程序设计语言中对象的概念引用到数据库中: 1)数据和操作方法作为对象统一管理; 2)可以处理更为复杂的对象;

6.1 数据库概述 什么是数据库技术? 我们身边的数据库? 6.1 数据库概述 什么是数据库技术? 我们身边的数据库? 研究如何科学组织和存储数据,如何高效地获取和处理数据,以及如何保障数据安全,实现数据共享。 什么是数据库? 银行的用户信息、学校的教师和学生信息、图书馆的图书信息、网页上不断更新的新闻、文献资料…… 是持久数据的集合,是存储在计算机中的数据的集合

举例: 图书馆===数据库 图书馆 整理、组织、存储 保障图书安全 高效地查找和 管理图书 最大限度地 实现图书的共享 根据书的特征将它们按学科分类整理,通过建立索引表确定书籍的存放方法; 图书不能借了不还、阅览室的书不能外借(或只能短期借阅)、重要文献借阅有严格的规章制度、只允许合法用户借阅、限定借阅册数和期限…… 图书馆 高效地查找和 管理图书 根据索引表按照名称、作者、关键字、出版社等查找存放位置; 需要不断地对图书进行购进、丢失处理、借阅、归还等管理工作; 对图书使用状况进行科学地分析和统计,作为修改购书计划的依据; 最大限度地 实现图书的共享 不允许长期滞留在个人手中、不能被某些院系独占、避免重复购进造成浪费…… 数据库与图书馆的不同点: 数据更具普遍性,数据的多样性和复杂性使得数据的组织和管理更具挑战性, 需要一套科学的技术和方法。简而言之,数据库技术就是数据管理的技术。

二.数据库中的常见概念 数据库概述 数据库(DB) 指按特定的组织形式将数据保存在存储介质上 特点: (1)在数据库中,不仅包含数据本身,也包含数据之间的联系; (2)数据通过一定的数据模型进行组织,保证有最小的冗余度,有层次、网状和关系模型; (3)各个应用程序共享数据; (4)对数据的各种操作,如定义、操纵等都由 DBMS统一进行。

数据库概述 数据库管理系统(DBMS) 对数据库进行管理的软件. 功能: (1)定义: 定义数据库的结构、数据完整性和其它的约束条件; (2)操纵: 实现数据插入、修改、删除和查询; (3)控制: 实现数安全控制、完整性控制以及多用户环境下的并发控制; (4)维护: 提供对数据的装载、转储和恢复,数据库的性能分析和监测; (5)数据字典,存放数据库各级结构的描述。

数据库的基本概念 DBMS是数据库系统的核心 数据库 系统 DataBase System(DBS) 是指引入了数据库的计算机系统。 一般由数据库(DB)、数据库管理系统(DBMS)(及其开发工具)、应用系统、数据库管理员(DBA)组成。 DBMS是数据库系统的核心

数据库概述 应用程序 数据库管理员(DBA) 数据库系统(DBS) 利用DBMS开发的应用软件。 负责管理数据库资源;确定用户需求,设计、实现数据库;并负责维护和管理数据库。 数据库系统(DBS) 完整的数据库系统由硬件、数据库、数据库管理系统、操作系统、应用程序、数据库管理员等部分组成。

数据库概述 数据库系统(DBS) 应用程序 开发工具软件 数据库管理系统 操作系统 数据库 管理员 硬件 用户

数据库概述 三.数据库系统的体系结构 三级模式 (1) 模式(逻辑模式或概念模式) 是对数据库中的全部数据的逻辑结构和特征的描述,不涉及数据的物理存储。 (2) 外模式(用户模式或子模式) 该模式面向用户,是数据库用户看到的局部数据结构和特征的描述,是数据的局部逻辑结构。 (3) 内模式(存储模式) 描述数据的物理结构、在存储介质上的存储方法和存取策略。

数据库概述 二级映射 用于三级模式之间的转换。 (1)外模式/模式映射 定义外模式和概念模式之间的对应性,这一映射使得概念模式的改变不影响外模式和应用程序,从而达到了数据的逻辑独立性。 (2)模式/内模式映射 定义概念模式和内模式之间的对应性,当存储结构改变即修改内模式时,只要相应改变模式/内模式映象,而模式尽量保存不变,从而达到了数据的物理独立性。

数据库系统的体系结构 应用1 外模式A 外模式B 模式 内模式 数据库 OS DBMS 外模式/模式映像 模式/内模式映像

数据模型是对现实世界的数据特征的抽象描述 概念数据模型 从用户的角度 强调对数据对象的基本表示和概括性描述 (包括数据及其联系) 不考虑计算机具体实现,与具体的DBMS无关 逻辑数据模型 从计算机(DBMS)的角度 用于在数据库系统实现。 概念数据模型要转化为逻辑数据模型,才能在DBMS中实现 概念数据模型 逻辑数据模型 物理数据模型 物理数据模型 从计算机(存储介质 )的角度 每种逻辑数据模型在实现时,都有其对应的物理数据模型的支持

数据库概述 概念数据模型 数据模型 概念数据模型用来建立信息世界的数据模型,强调语义表达,描述信息结构,是对现实世界的第一层抽象。 1) 实体:客观存在并且可以相互区别的事物 可以是具体的事物,如一个学生,一本书 也可以是抽象的事物,如一次考试 2) 实体的属性:用于描述实体的特性。 如学生用学号、姓名、性别、年龄等属性描述 3) 一个实体是若干个属性值的集合。 如一个特定的学生用学号、姓名、性别等属性值描述 4) 实体集:具有相同属性的实体的集合。 如若干个学生实体的集合构成学生实体集

数据库概述 (1)一对一联系 实体集之间的联系 概念:两个实体集之间实体的对应关系称为联系 如果实体集E1中的每一个实体至多和实体集E2中的一个实体有联系,反之亦然,则称E1和E2是一对一的联系,表示为1:1。 例如: 实体集校长和 实体集学校之间的 联系是一对一。

实体集之间的联系 2)一对多联系 如果实体集E1中的每个实体与实体集E2中的任意个实体有联系,而实体集E2中的每一个实体至多和实体集E1中的一个实体有联系,则称E1和E2之间是一对多的联系,表示为1:n,E1称为一方,E2为多方。 例如,实体集学校和实 体集学生之间是一对多 的联系,一方是实体集 学校,多方是实体集学生

实体集之间的联系 (3)多对多联系 如果实体集E1中的每个实体与实体集E2中的任意个实体有联系,反之,实体集E2中的每个实体与实体集E1中的任意个实体有联系,则称E1和E2之间是多对多的联系,表示为m:n。 例如,实体集学生和实 体集课程之间是多对多 的关系

E-R图 组成: E-R图: 用图形方式表示实体集之间的联系。 1)矩形:表示实体集,实体名称写在框内; 2)椭圆:表示实体集或联系的属性,框内标明属性的名称; 3)菱形:表示实体间的关系,框内注明联系名称; 4)连线:连接实体和各个属性、实体和联系,并注明联系种类,即1:1、1:n或n:m。

一对一 联系 一对多 联系 实体集 之间 的联系 多对多 联系 学校 校长 课程 学生 1 : 1 班级 学生 m : n 1 : n 学校1 学校2 学校3 …… 学校n 校长1 校长2 校长3 校长n 学校 校长 课程1 课程2 课程3 课程4 课程5 …… 课程n 学生1 学生2 学生3 学生4 学生5 学生n 课程 学生 实体集 之间 的联系 一对一 联系 1 : 1 一对多 联系 班级1 班级2 班级3 …… 班级n 学生1 学生2 学生3 学生n 班级 学生 m : n 1 : n

E-R模型的表示方法 实体——用矩形表示 属性—— 用椭圆形表示 联系—— 用菱形表示 1 :1 1 :n m :n

举例:网上成绩查询管理系统的 E-R图 系统功能:学生登陆后,可以查询成绩、给老师留言、下载资源;教师登陆后可以管理任课班级的学生成绩、上传资源、查看学生留言。

学生实体集和课程实体集之间的关系 学生 学号 姓名 性别 年龄 选课 课程 课程编号 课程名称 任课教师 成绩 m n

逻辑数据模型 DBMS所支持的数据模型称为逻辑数据模型,便于在数据库系统实现。 根据数据及数据之间联系的表示形式的不同,主要有以下几种逻辑数据模型: 层次数据模型 网状数据模型 关系数据模型 面向对象的数据模型 用树状结构表示各类实体以及实体间的联系 以网状结构表示各类实体以及实体间的联系 用二维表格来描述实体以及实体之间的联系 用面向对象的观点来描述现实世界的实体。

逻辑数据模型 1.层次模型 概念:逻辑数据模型是指在数据库系统中表示实体之间关系的模型。 结点:各个实体在数据模型中被称为结点 1) 用树形表示数据之间的多级层次结构。 2) 结构特点: (1) 只有一个最高结点即根结点 (2) 其余结点有而且仅有一个父结点 (3) 上下层结点之间表示一对多的联系 3) 应用: 行政组织机构、家族辈份关系等。

逻辑数据模型

逻辑数据模型 2.网状模型 3.关系模型 1) 用图表示数据之间的关系 2) 允许结点有多于一个的父结点 3) 可以有一个以上的结点没有父结点。 4) 特点: 表示结点之间多对多的联系。 3.关系模型 1) 用二维表格来表示实体及实体之间的联系 2) 实际应用中,每一个二维表代表了一个关系。 3) 特点:结构简单,容易实现

物理数据模型 物理数据模型反映了数据在存储介质上的存储结构 物理数据模型不仅与具体的DBMS有关,也和操作系统及硬件有关。

物理数据模型 在计算机系统的底层对数据进行抽象,它描述数据在存储介质上的存储方式和存取方法,是面向计算机系统的。 在设计一个数据库时,首先需要将现实世界抽象得到概念数据模型,然后将概念数据模型转换为逻辑数据模型,最后将逻辑数据模型转换为物理数据模型。 最后一步一般由选定的DBMS自动实现。

关系数据库 采用的DBMS是支持关系数据模型的,据此构建的数据库称为关系数据库 相应的DBMS为关系数据库管理系统(Relational DataBase Management System,RDBMS) 主要内容 关系数据模型 根据概念数据模型设计逻辑数据模型 关系数据库

数据结构 数据 结构 属性 域 关系 元组 关系模式 关键字(包括候选键和主键) 规范化的二维表格: 任意两行内容不能完全相同 不能有名称相同的列 每一列都是不可分的,即不允许表中还有表 同一列的值取自同一个定义 数据 结构 属性 域 关系 元组 关系模式 关系模式:学生( 学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数) 关键字(包括候选键和主键)

关系数据库 关系模型的组成----二维表格

关系模型中的常用术语 1.元组 2.属性 3.属性名 在二维表中,从第二行起的每一行称为一个元组,在文件中对应一条具体记录。 二维表中,每一列称为一个属性,在文件中对应一个字段。 3.属性名 二维表第一行显示的每一列的名称,在文件中对应字段名,例如“姓名”,“性别”等。

关系模型中的常用术语 4.属性值 行和列的交叉位置表示某个属性的值。 5.域 表示各个属性的取值范围。

关系模型中的常用术语 6.表结构 7.关系模式 表中的第一行,表示组成该表的各个字段名称,各字段取值的类型、宽度等。 是对关系结构的描述,表示格式: 关系名(属性1,属性2,属性3,…,属性n) 例: student(学号,姓名,性别,年龄)

关系模型中的常用术语 6.表结构 7.关系模式 表中的第一行,表示组成该表的各个字段名称,各字段取值的类型、宽度等。 是对关系结构的描述,表示格式: 关系名(属性1,属性2,属性3,…,属性n) 例: student(学号,姓名,性别,年龄)

例题: 在关系score中, “学号”不是score的主键,而是关系student的主键,因此,“学号”称为外键。 关系模型中的常用术语 9.主键 从候选键中指定一个用来标识元组。 10.外部关键字 表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,该字段称为外部关键字,简称外键。 例题: 在关系score中, “学号”不是score的主键,而是关系student的主键,因此,“学号”称为外键。

关系模型中的常用术语 11.主表和从表 主表: 以外键作为主键的表 从表: 外键所在的表 主表和从表通过外键相关联

关系模型的特点 1)每一列不可再分; 2)同一关系中属性(字段)不允许重名 3)关系中不允许有完全相同的元组 4)关系中交换任意两行的位置不影响数据的实际含义; 5)关系中交换任意两列的位置不影响数据的实际含义。

关系的基本运算 1.选择 例题:从关系score1中选择数学大于90的元组组成关系S1。S1=σ数学>90(Score1) 从指定的关系中选择满足给定条件的元组组成新的关系。 例题:从关系score1中选择数学大于90的元组组成关系S1。S1=σ数学>90(Score1)

例题:从关系score1中选择“学号”、“姓名”、“数学”组成新的关系S2。 关系的基本运算 2.投影 从指定关系的属性集合中选取若干个属性组成新的关系。 例题:从关系score1中选择“学号”、“姓名”、“数学”组成新的关系S2。 S2=π学号,姓名,数学(Score1)

关系的基本运算 联接 两个关系中的元组按指定条件组合新的关系 例题:将score1和score2按相同学号合并

专门的关系运算——选择、投影、连接 关系 S1 关系 S2 关系 S3 投影运算 选择运算 学号 姓名 性别 状态 入学时间 最后登陆时间 登陆次数 39001 杨雨潇 男 在读 2007-9-1 2008-7-2 18 39002 崔敏 女 2008-7-4 25 39003 张进 2008-7-1 20 39004 何晴 2008-6-30 16 39005 李哲 19 39006 刘晓 22 专门的关系运算——选择、投影、连接 关系 S1 关系 S2 学号 姓名 性别 状态 入学时间 最后登陆时间 登陆次数 39001 杨雨潇 男 在读 2007-9-1 2008-7-2 18 39005 李哲 19 关系 S3 从关系的属性集合中选取指定的若干个属性组成新的关系 投影运算 S3=π学号,姓名,性别(S1) 从指定的关系中选择 满足给定条件的元组 组成新的关系 选择运算 S2=σ性别=”男”(S1)

关系S4 关系S6 关系 S3 连接运算 关系S7 学号 课程号 成绩 成绩类型 39001 8 85 39002 7 77 6 76 1 39002 7 77 6 76 1 90 39006 82 80 92 S6=π学号,课程号,成绩(σ成绩类型=0(S4)) 关系S6 在两个关系的所有元组组合中选择符合指定条件的元组,生成一个新的关系 连接运算 S7=S3 S6 关系 S3 关系S7

数据完整性控制 最大限度地保证数据的正确性、合法性和一致性 数据完整性 用户定义的完整性 允许用户自行定义对数据的约束条件,从语义上保证数据的合法性 。 实体完整性规则 关系中各个元组的主键不允许取空值、不允许重复。 参照完整性规则 在关系模型中,实体集之间的联系也用关系来表示 存在关系与关系间的引用 修改一个关系时,为保持数据的一致性,必须对另一个关系进行检查和修改。

如何保证数据的一致性? 在选课表中插入一个记录 ( 39078, 6, 90, 0 ) 取值参照 或取空值 在选课表中插入一个记录 ( 39078, 6, 90, 0 ) 删除学生表中记录(39001,杨雨潇, 男,在读,2007-9-1,2008-7-2,18) 如何保证数据的一致性?

由E-R图设计关系模型 1) 两个实体集 学生(学号,姓名,性别,年龄) 课程(课程代码, 课程名称, 任课教师) 2) 联系 选修(学号,课程代码,成绩) ↑ ↑ ↑ 两个实体集的主键 自身属性

根据概念数据模型设计关系数据模型 网上成绩查询管理系统的 E-R图

一个实体集转换为一个关系模式,实体集的属性就是关系的属性 院系(院系编号,院系名称) 班级(班号,班级名,学生数,班主任) 学生(学号,登陆密码,姓名,性别,状态,入校时间,毕业时间,退 学时间,注册时间,最后登陆时间,登陆次数) 这里“状态”有3种取值:在读、退学、毕业 教师(教师号,登陆密码,姓名,电话,邮箱,QQ号,找回密码问 题,找回密码答案,注册时间,最后登陆时间,登陆次数) 课程(课程号,课程名称,学分) 课程资源(资源号,资源名,链接地址,更新时间,资源类型,说明) 学期(学期号,学期名称,是否当前学期,学期起始时间,学期结束时 间)

Access 简介 Access的特点 1. 具有Office系列的共同功能; 2. 桌面型的数据库管理系统; 3. 与其它数据库系统共享数据; 4. 提供程序设计语言VBA,用于开发应用程序。 Access启动

ACCESS数据库管理系统 Access 2003是Microsoft Office 2003的组件之一,是用户和数据库间的软件接口 使用非常简单 ——可视化工具 提供了大量的向导 ——快速创建对象及应用程序 面向对象的、采用事件驱动 ,可以与其他数据库相连 ,使用VBA语言作为其应用程序开发工具 可处理多种数据信息——Office组件数据、其他DBMS数据 主要内容 创建数据库和数据表 数据完整性控制 数据查询

Access的启动 1.“开始”--->“程序”--->Microsoft Access 3.单击“确定” 4.输入数据库名 5.单击“创建” 数据库组成

6.4.1 创建数据库和数据表 创建 数据库 数据库文件(.mdb)其中包括所有相关数据和管理这些数据的所有对象。 方法: 6.4.1 创建数据库和数据表 建空数据库 利用向导建数据库 数据库文件(.mdb)其中包括所有相关数据和管理这些数据的所有对象。 创建 数据库 方法: 单击【开始】|【所有程序】|【Microsoft Office】|【Microsoft Office Access 2003】启动Access2003 单击【文件】|【新建…】 建立空数据库 使用模板向导建立各类数据库 演示内容:建立空数据库:school.mdb 利用模版建立:订单1.mdf

使用设计视图 建立数据表的表结构 创建 数据表 每个关系对应建立一个数据表 两方面的工作:设计表结构和输入数据记录。 图6.20 设计视图窗口 创建 数据表 每个关系对应建立一个数据表 两方面的工作:设计表结构和输入数据记录。 使用设计视图 建立数据表的表结构 (1) 打开表结构“设计器” (2) 依次输入各个字段的名称,指定字段类型,并对每个字段的含义、取值进行注释说明

用来存放不需要计算的数据,可以为数字、文字,例如学号、电话 备注 也称长文本,存放说明性文字 数字 需要运算的数值数据,如成绩、次数、年龄 字段选择栏 字段属性 字段类型 说明 文本 用来存放不需要计算的数据,可以为数字、文字,例如学号、电话 备注 也称长文本,存放说明性文字 数字 需要运算的数值数据,如成绩、次数、年龄 日期/时间 存放日期和时间数据 货币 存放货币数值 自动编号 在增加记录时,其值能依次自动加1 是/否 存放逻辑型数据,如婚否、Yes/No、On/Off OLE对象 将对象(如电子表格、文件、图形、声音等)链接或嵌入表中 超链接 存放超链接数据 查阅向导 这是与使用向导有关的字段

可以选择或输入格式串来定义字段中数据的格式 小数位数 指定数字或货币数值的小数点位数 输入掩码 字段选择栏 字段属性 字段属性 说明 字段大小 可以指定字段中文本或数字的范围,文本缺省长度为50,最多255个字符,备注型最多65536个,数值为长整型。应该尽可能设置最小的字段大小,因为其需要的内存更少,数据处理速度更快。 格式 可以选择或输入格式串来定义字段中数据的格式 小数位数 指定数字或货币数值的小数点位数 输入掩码 用于设置字段数据的输入模式,例如可以为“电话号码”字段设置一个输入掩码(0000)-(00000000),则在用户输入该字段内容时,会显示 (____)-(________),提示用户正确输入。 标题 可以定义字段的别名,作为创建窗体和报表时数据单中使用的标签。如字段名为sname,可将标题设置为“姓名” 默认值 该值在新建记录时会自动输入到字段中,也可以更改。例如,将states(状态)字段的默认值设为“在读”。 必填字段 用于设置这个字段是否必须填写,设置成“是”时,这个字段不能空着 允许空字符串 如果为“是”,则该字段可以接受空字符串为有效输入项 索引 可以选择是否为这个字段建立索引或者是否允许建立索引,建立索引的好处是,按此字段进行查询时会提高查询和排序速度,但同时也加大了系统维护的开销。

使用设计视图 建立数据表的表结构 (1) 打开表结构“设计器” (2) 依次输入各个字段的名称,指定字段类型, 并对每个字段的含义、取值进行注释说明 (3) 定义表的主键 (4) 保存并命名数据表 演示内容:打开前面建立的空数据库school.mdb 建立数据表course(课程表)——3个字段cid、cname、ccredit(学分) 选中字段后单击工具栏 “主键”按钮

在数据表视图窗口 输入数据记录 (1) 双击数据表,打开数据表视图窗口 (2) 依次输入各字段值,完成所有记录的录入 (3) 关闭窗口结束

数据完整性控制 参照完整性 用户定义的完整性 是指对存在引用关系的两个关系(数据表)的约束,通过建立引用关系保证数据的一致性。 实体完整性 通过定义指定字段的“有效性规则”属性,对字段的取值设置约束条件,保证记录的合法性。 通过设置主键,使其取值既不能为空也不能重复,以此保证记录(即实体)的正确性。 演示1内容:在数据表student中插入新记录(“插入”|”新记录”菜单命令)——注意:分别插入一条学号 为空和与其它记录学号重复的记录。观察结果…… 演示2内容:对数据表student设置有效性规则:sex—— =‘男’ or =‘女’ (等号也可以省去) 尝试修改已有记录的sex字段的值,观察结果 对数据表tea_course设置有效性规则:ts_ter_id(学期号)只能取1~10—— Between 1 And 10 (或者 >=1 and <=10) 尝试修改已有记录的该字段的值,观察结果

参照完整性示例 关联关系 关联字段 主表 子表 取值参照 只要建立了二者之间的引用关系,就能保证数据的一致性: 在选课表中插入一个记录 ( 39078, 6, 90, 0 )——拒绝 修改学生表中的学生学号——同步修改选课表中相应学号 删除学生表中记录(39001,杨雨潇, 男,在读,2007-9-1,2008-7-2,18)——提示同步删除选课表中相应记录 子表

建立student表和sel_course表间的关联关系 方法? 主键 (1) 打开“关系”窗口 (2) 选择建立关联的表添加到窗口中 外键 (3) 将主表的主键拖到子表的外键,建立关联关系 (4) 设置参照完整性规则 一对多关系

当主表关联字段被更改时,子表关 联字段也自动随之更改。 子表关联字段欲更改的新值若在主表中不存在,则拒绝子表的修改 子表增加一条记录时,若该记录关联字段的取值在主表中不存在,则拒绝子表的操作。 当主表删除某个记录时,子表中与之关联的全部记录一并自动删除。 子表删除记录时,不会影响到主表记录。

(1) 利用关联查看多组数据 (2) 在子表中输入(插入、修改)数据时保证完整性 (3) 据此进行多表查询 还有 什么用?

school数据库中各表的关联关系

数据查询 按选定内容筛选 按窗体筛选 高级筛选/排序 应用筛选/取消筛选 查找 筛选 查询 创建查询? 【例6.11】 创建一个查询,从sel_course(选课)表中查询选修课程成绩不及格的学生的学号、课程号及成绩,查询结果按学号升序排序。查询命名为“查询不及格学生1”。 演示内容:对已经建好的查询,运行它,察看结果 删除原有查询,重新演示建立过程 ⑴ 打开查询设计窗口 ⑵ 选择欲查询的数据表 ⑶ 选择查询字段 ⑷ 输入查询条件。 ⑸ 选择哪些字段显示在查询结果中 ⑹ 查询结果可以指定排序字段 ⑺ 运行查询,查看结果 ⑻ 保存并命名查询

多种查询视图

多种查询类型 从表中检索数据,并对结果排序。 还可以对记录分组进行总计、计数、平均 值以及其他类型的计算。 还可以对记录分组进行总计、计数、平均 值以及其他类型的计算。 对查询结果按不同的字段逐级分组显示 统计结果 结果显示方式为交叉表方式,即分行标 题、列标题以及统计数据区。 操作查询 指可以重复使用,每次改变查询条件的查询。

依据关联关系建立连接,然后选择需要的字段、记录 选择查询 【例6.12】查询不及格学生姓名、课程名、成绩,结果按学号升序排序。查询命名为“查询不及格学生2”。 依据关联关系建立连接,然后选择需要的字段、记录

选择查询(汇总) 【例6.13】查询选修课程中最高分是多少,查询命名为“查询最高分”。 单击工具栏上的

选择查询(分组汇总) 【例6.14】查询选修课程中每位学生各自的最高分、最低分、平均分,查询结果包含学生姓名和最高分数、最低分、平均分。查询命名为“查询每位学生最高分”。

交叉表查询 【例6.15】统计查询各班不同性别的学生选择各门课程的人数情况。查询命名为“查询选课人数”。显示统计结果时,班级名、性别均作为行标题,课程名称作为列标题。 需要选择查询类型为“交叉表查询”

参数查询 【例6.16】查询各班学生在某一范围内的成绩,查询命名为“参数查询学生成绩”。 单击“查询” | “参数…”,设置查询参数

说明 数据表与查询 查询结果也为二维表形式,但它与数据表对象不同; 数据表中存储数据信息,而查询存储查询的规则,即 相应的SQL命令; 可以基于数据表建立查询,也可以基于查询创建其他 查询。。 说明

数据库组成 Access数据库: 1)Access的文档文件,扩展名为MDB 2)由数据表、查询、窗体、报表、宏和模块等对象组成。 3)所有对象都保存在的同一个数据库文件中。

数据库组成 1.表 1)以二维表格保存基本信息,数据库的核心 2)为其它对象提供数据 3)对具有复杂结构的数据,分别使用多张数据表,这些表之间可以通过相关字段建立关联。 数据库组成

数据库组成 2.查询 1)从一个或多个表中查找某些特定的记录 2)查询的运行结果以二维表的形式显示 3)在数据库中只记录了查询的方式即规则 4)可作为窗体、报表等其它组件的数据源 数据库组成

数据库组成 3.窗体 1) 向用户提供交互界面,更方便地进行数据的输入、输出 2) 窗体的数据源,可以是一个或多个数据表,也可以是查询。

数据库组成 1)将数据按指定的格式进行显示或打印 2)数据源可以是一张或多张数据表、查询 3)建立报表时还可以进行计算,如求和、平均等 4.报表 1)将数据按指定的格式进行显示或打印 2)数据源可以是一张或多张数据表、查询 3)建立报表时还可以进行计算,如求和、平均等 5.页 通过Web页将数据存储到指定的文件夹,或将其复制到Web服务器上,以便在网上发布信息。 数据库组成

数据库组成 宏是由具有宏名的一系列命令组成,用来简化一些需要重复的操作。 建好的宏,可以单独使用,或与窗体配合使用。 6. 宏 宏是由具有宏名的一系列命令组成,用来简化一些需要重复的操作。 建好的宏,可以单独使用,或与窗体配合使用。 7.模块 用Access提供的VBA语言编写的程序,模块通常与窗体、报表结合起来完成完整的应用功能。 数据表结构

数据表的建立和使用 数据表结构 (1)字段大小 (2)格式 (3)小数位数 (4)标题 (5)有效性规则 数据表由表结构和记录两部分组成。 1.字段名 2.数据类型 如文本型、数字型等 3.字段属性 (1)字段大小 (2)格式 (3)小数位数 (4)标题 (5)有效性规则 4.主关键字 建立数据表

建立数据表 1.在数据表视图下建立数据表 例题:在数据表视图下建立“成绩”表(p248) 2.用设计视图建立数据表(p249) 例题:在设计视图视图下建立“学生”表 1) 设计表结构 2)定义主关键字段 3)命名表及保存 4) 输入记录 建立数据表

编辑数据表 在设计视图或数据表视图下进行 (1)改字段名、类型、属性 (2)插入字段 (3)删除字段 在数据表视图下进行 (1) 输入新记录 1.修改表结构 在设计视图或数据表视图下进行 (1)改字段名、类型、属性 (2)插入字段 (3)删除字段 2.编辑记录 在数据表视图下进行 (1) 输入新记录 (2) 修改原有记录 (3) 删除记录。 编辑数据表

建立表间关系 目的:实现数据库的参照完整性。 例题:在“学生”和“成绩”表间建立关系,“学生”表为主表,“成绩”表为从表: 1.“工具”---->“关系” 2.选择表或查询 3.设置完整性 4. 建立联系后,再打开“学生”表,观察显示的结果 编辑关系对话框

建立表间关系 使用数据表

数据表的使用 在数据表视图下进行 按某个字段值的升序或降序重新排列记录 选择排序关键字。 单击工具栏上的“升序”或“降序”按钮 1.记录排序 按某个字段值的升序或降序重新排列记录 (1)排序 选择排序关键字。 单击工具栏上的“升序”或“降序”按钮 (2)恢复排序前的记录顺序 “记录”---->“取消筛选/排序” 筛选

数据表的使用 2. 筛选记录 筛选记录是指在屏幕上仅仅显示满足条件的记录 常用的有按选定内容筛选或内容排除筛选。 查询

查询 查询的类型 1.设计视图查询 2.简单查询向导 3.交叉表查询 在一个或多个基本表中,按照指定的条件进行查找,并指定显示的字段。 按系统的提示设计查询的结果。 3.交叉表查询 用交叉方式的数据表格显示信息。 查询类型

查询的类型 建立查询: 4.重复项查询 5.不匹配查询 显示查询结果: 在数据表中查找具有相同字段值的重复记录。 在数据表中查找与指定条件不匹配的记录。 建立查询: 在设计视图或SQL窗口下 显示查询结果: 单击工具栏上的“执行”按钮! 设计视图窗口

设计视图窗口的组成 1)字段:查询结果中使用的字段。 2)表:该字段所在的表或查询。 3)排序:指定是否按此字 段排序 4)显示:确定该字段是否 在结果中显示。 5)准则:指定对该字段的 查询条件 6)或:指定其它查询条件 SQL窗口

课堂训练 实体完整性 例题:“学生”表已将“学号”定义为主键 结论: 实体完整性对表中主键的要求: 观察以下操作是否允许: 课堂训练 实体完整性 例题:“学生”表已将“学号”定义为主键 观察以下操作是否允许: 1) 输入学号为空的记录; 2) 输入新记录,学号与表中已有记录学号相同 结论: 实体完整性对表中主键的要求: 1)不允许有空值 2)不允许出现两条记录的主键值相同 用户定义的完整性

课堂训练 用户定义的完整性 用户定义的完整性是针对具体数据设置约束条件 例题: 对“学生”表设置约束条件 课堂训练 用户定义的完整性 用户定义的完整性是针对具体数据设置约束条件 例题: 对“学生”表设置约束条件 1) “年龄”字段的值设置在16至23之间 2)“性别”字段的有效性规则设置为: '男' or '女'。 参照完整性

课堂训练 参照完整性 参照完整性是两个相关联表之间的操作约束 例题:对已建立关联的“学生”表和“成绩”表进行完整性操作,已知: 课堂训练 参照完整性 参照完整性是两个相关联表之间的操作约束 例题:对已建立关联的“学生”表和“成绩”表进行完整性操作,已知: 1) 主表: 学生 主键:学号 2) 从表: 成绩 外键:学号 3) 已进行的设置: 级联更新相关字段 级联删除相关记录 参照完整性

课堂训练 参照完整性 观察以下操作的结果: (1)向“成绩”表输入一条新的记录,其中学号在“学生”表中是不存在的,该操作能否进行? 课堂训练 参照完整性 观察以下操作的结果: (1)向“成绩”表输入一条新的记录,其中学号在“学生”表中是不存在的,该操作能否进行? (2)将“学生”表的第三条记录的“学号”字段值改为“990007”,观察“成绩”表的变化; (3)将“学生”表中“学号”字段值为“990004”的记录删除,观察“成绩”表的变化 由两个表建立查询

课堂训练 参照完整性 结论: 1) 从表中不能引用主表中不存在的实体 课堂训练 参照完整性 结论: 1) 从表中不能引用主表中不存在的实体 2) 主表学号改变时,从表中的学号自动改变------“级联更新相关字段”。 3) 主表中删除记录时,从表中与主表学号相同的记录同步删除 -------“级联删除相关字段”

课堂训练 用两个表的数据建立查询 例题: 建立查询,要求: 1) 数据源来自“学生”表和“成绩”表 课堂训练 用两个表的数据建立查询 例题: 建立查询,要求: 1) 数据源来自“学生”表和“成绩”表 2) 结果中包含四个字段,分别是“学号”,“姓名”,“课程”和“成绩” 3) 只显示成绩不低于90的记录。 分类汇总

课堂训练 用查询对数据进行分类汇总 例题:用学生表创建查询,分别计算男生和女生的平均年龄 在设计视图窗口设置如下的准则: 课堂训练 用查询对数据进行分类汇总 例题:用学生表创建查询,分别计算男生和女生的平均年龄 在设计视图窗口设置如下的准则: 1)单击工具栏上的“汇总”按钮; 2)在“性别”对应的总计行中,选择 “Group By” ,表示按“性别”分组; 3)在“年龄”对应的总计行中选择“Avg” 表示计算平均值 准则和结果

动手练习:建立一个学生数据库,并向该数据库中添加6个数据表,分别为:课程表、开课计划表、选课成绩表、学生表、教师表、系部表等。这几个表的字段分别如下所示: 课程表(课程编号、课程名称、课程类别) 说明: 主键字段是课程编号,数字类型,整型,必添字段,课程名称,文本性,长度为50,必添字段,不允许空白字符串 课程类别:文本性,长度为10

开课计划表(选课代码、课程班级、课程编号、教师编号、时间) 说明: 主键字段是选课代码,数字类型,整型,不允许空白字符串 课程班级,文本型,长度为20,必添字段,不允许空白字符串 课程编号,数字类型,长度为4,必添字段,不允许空白字符串 教师编号,数字类型,长度为5,必添字段,不允许空白字符串 时间,日期/时间型,设置输入掩码使输出格式为08年3月2日星期5

选课成绩表(选课代码、学号、平时成绩、考试成绩、总评成绩、成绩等级) 说明: 选课代码,数字类型,整型,必填字段 学号,数字类型,整型,必填字段 平时成绩,数字类型,单精度,小数位数2 考试成绩,数字类型,单精度,小数位数2总评成绩,数字类型,单精度,小数位数2成绩等级,文本,长度为2

学生表(学号、姓名、性别、电话) 说明: 学号,主键,数字类型,长度为5,必填字段 姓名,文本类型,长度为20,必填字段,不允许为空 性别,文本类型,长度为2,进行有效性规则的设定及有效性文本的设定,默认为男 电话,文本型,长度为13,输入掩码属性定义为9000-90000000;0;#

教师表(教师编号、系部编号、姓名、性别、职称) 说明: 教师编号,数字类型,长度为4,主键,必填字段 系部编号,数字类型,整型,不允许为空 姓名,文本类型,长度20,不允许为空 性别,文本类型,长度2,默认为男,不允许为空 职称,文本类型,长度8

系部表(系部编号、系部名称、负责人、联系电话) 说明: 系部编号,数字类型,整型 系部名称,文本类型,50,不允许为空 负责人,文本类型,50 联系电话,文本类型,长度11

③修改开课计划表的时间为,日月均以2位数字显示 ④建立相关表的关连关系 ⑤建立各种查询 操作要求: ①立表结构后,立即输入6个记录的数据。 ②分别查看该表的结构和记录。 ③修改开课计划表的时间为,日月均以2位数字显示 ④建立相关表的关连关系 ⑤建立各种查询 查询1:点击工具栏∑,选择计数 查询2:右击“条件”,选“生成器”,“操作符”,“比较”,“between” 查询3:

查询总结 在对象下选择查询—新建—设计视图或简单查询向导(这两种都是选择查询) 新建—交叉表查询向导 新建—查找重复项查询向导(打开一个有重复项的表,例如表2,学号有重复,选择学号,则会给出学号重复的个数) 新建—查找不匹配项查询向导(对两个表而言,例如都有学号,第一个表学号多于第二个表,则查询出第二个表中没有的学号)

窗体的使用 对象—窗体—新建—设计窗体(选择表,直接把相关字段托到窗体中—关闭保存即可) 新建—窗体向导 新建—自动创建窗体:纵栏式 新建—自动创建窗体:表格式 新建—自动创建窗体:数据表 新建—自动窗体:数据透视表

练习:在“教学管理”数据库中有“教师表”,字段为:教师号、姓名、性别、学历、工作时间、政治面貌、职称、系别、联系电话。 另外还有一个“课程”表,字段为课程号、教师号、课程名称、学分、选课类型。 创建两个表,建立关联,建立各种窗体