(2)数据库数据库(Database,DB)是长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的穴余度、较高的数据独立性和易扩展性,可被各种用户共享。举例:常用(3)数据库管理系统的数据库管数据库管理系统(DatabaseManagementSystem,DBMS)是用户与数据库间的接理系统口,是负责数据库的建立、使用、维护和管理的系统软件,是数据库系统的核心。(4)数据库管理员数据库管理员(DatabaseAdministrator,DBA)是负责数据库的规划、设计、维护、监视等的专门技术人员。(5)数据库系统数据库系统(DatabaseSystem,DBS)由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台等构成,是以数据库为核心的完整的运行实体。强调:数据(6)数据库应用系统库应用系数据库应用系统(DatabaseApplicationSystem,DBAS)是由数据库系统、应用程统核心间序系统和用户组成的,具体包括数据库、数据库管理系统、数据库管理员、硬件平台、题是数据软件平台、应用软件和应用界面。库设计2.数据库系统的特点(1)数据的高共享性与低余性数据穴余是指一种数据存在多个相同的副本。举例:结合数据允余指数据之间的重复,同一数据存储在不同数据文件中。学生选课(2)数据结构化系统介绍采用统一的数据结构将数据集中起来。数据库系统特点(3)具有较高的数据独立性数据独立性是指数据与应用程序互不依赖(4)具有统一的数据管理与控制功能数据库系统为数据库提供了统一的管理手段,主要包括教据的安全性控制、完整性控制、并发访问控制等。二、数据模型数据模型(DataModel)是数据特征的抽象。重点讲解数据模型描述的内容包括数据结构、数据操作和数据约束三部分。数据模型1.概念数据模型(难点,学生不易理概念数据模型是一种面向用户、面向客观世界的模型,它使数据库的设计人员在设计解)的初始阶段摆脱计算机系统及数据管理系统的具体技术问题,集中精力分析数据与数据之间的联系等,与具体的数据管理系统无关。(1)实体与实体集实体是指客观存在并且可以相互区别的事物。实体可以是人,也可以是物;可以是实际的对象,如学生、课程、读者,也可以是比较抽象的事物,如学生选课、借阅图书等。具有共同性质的同类实体组成的集合称为实体集,如教师集、城市集等。(2)属性实体所固有的特征和特性称为属性。一个实体可以有若干个属性,如学生实体可以用学号、姓名、性别和出生日期等属性描述。第5页共31页
第 5 页 共 31 页 (2)数据库 数据库( Database,DB)是长期存储在计算机内的、有组织的、可共享的数据集合。 数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据 独立性和易扩展性,可被各种用户共享。 (3)数据库管理系统 数据库管理系统(Database Management System, DBMS)是用户与数据库间的接 口,是负责数据库的建立、使用、维护和管理的系统软件,是数据库系统的核心。 (4)数据库管理员 数据库管理员( Database Administrator, DBA)是负责数据库的规划、设计、维 护、监视等的专门技术人员。 (5)数据库系统 数据库系统(Database System,DBS)由数据库、数据库管理系统、数据库管理 员、硬件平台和软件平台等构成,是以数据库为核心的完整的运行实体。 (6)数据库应用系统 数据库应用系统(Database Application System,DBAS)是由数据库系统、应用程 序系统和用户组成的,具体包括数据库、数据库管理系统、数据库管理员、硬件平台、 软件平台、应用软件和应用界面。 2.数据库系统的特点 (1)数据的高共享性与低冗余性 数据冗余是指一种数据存在多个相同的副本。 数据冗余指数据之间的重复,同一数据存储在不同数据文件中。 (2)数据结构化 采用统一的数据结构将数据集中起来。 (3)具有较高的数据独立性 数据独立性是指数据与应用程序互不依赖 (4)具有统一的数据管理与控制功能 数据库系统为数据库提供了统一的管理手段,主要包括教据的安全性控制、完整性 控制、并发访问控制等。 二、数据模型 数据模型( Data Model)是数据特征的抽象。 数据模型描述的内容包括数据结构、 数据操作和数据约束三部分。 1.概念数据模型 概念数据模型是一种面向用户、面向客观世界的模型,它使数据库的设计人员在设计 的初始阶段摆脱计算机系统及数据管理系统的具体技术问题,集中精力分析数据与 数据之间的联系等,与具体的数据管理系统无关。 (1)实体与实体集 实体是指客观存在并且可以相互区别的事物。实体可以是人,也可以是物;可以是实 际的对象,如学生、课程、读者,也可以是比较抽象的事物,如学生选课、借阅图书等。 具有共同性质的同类实体组成的集合称为实体集,如教师集、城市集等。 (2)属性 实体所固有的特征和特性称为属性。一个实体可以有若干个属性,如学生实体可以用 学号、姓名、性别和出生日期等属性描述。 举 例 : 常 用 的数据库管 理系统 强调:数据 库 应 用 系 统 核 心 问 题 是 数 据 库设计 举例:结合 学 生 选 课 系 统 介 绍 数 据 库 系 统特点 重 点 讲 解 数 据 模 型 (难点,学 生 不 易 理 解)
(3)联系实体之间的对应关系称为实体间的联系,具体是指一个实体集中可能出现的每一个实体与另一个实体集中多少个实体之间存在联系,实体之间的联系可分为三类:》一对一联系。如果实体集A中的每一个实体只与实体集B中的一个实体相联系,反之亦然,则实体集A和实体集B之间是一对一联系(1:1)。I一对多联系。如果实体集A中的每一个实体,在实体集B中都有多个实体与腿问:举例之对应:实体集B中的每一个实体,在实体集A中只有一个实体与之对应,则说明哪些称实体集A与实体集B之间是一对多联系(1:M)。实体集之I多对多联系。如果实体集A中的每一个实体,在实体集B中都有多个实体与间是一对之对应,反之亦然,则实体集A和实体集B之间是多对多联系(M:N)。一、一对多多对多联系学校正校长一对一联系(1:1)学校学生一对多联系(1:M)学生多对多联系(M:N)课程提问(学习2.用E-R方法表示概念数据模型通选人、鼓TN民族励加分):【例1.1】学生选课的数据包括学生和课性别E-R图中,程两个实体集。根据E-R图的表示方法建学生共全实体、属立模型。性、联系的M学生包括学号、姓名、性别和民族等图形分别选是什么?属性。皮康》课程包括课程号、课程名、学时和学W选人已经结束分等属性。点击分数可力学生加分课程学时》学生和课程两个实体集通过选课相互课程学分曼联系。凭饼*2分钱卉宁3.逻辑数据模型逻辑数据模型是一种面向数据库系统的模型,是具体的数据库管理系统所支持的数据模型,主要用于数据库管理系统(DBMS)的实现。广泛使用的逻辑数据模型有层次模型、网状模型和关系模型三种。网状模型层次模型关系模型用网状结构表示实体及■用树形结构表示实体及■采用二维表表示数据及关其之间联系的模型其之间联系的模型系的逻辑结构。可以直接表示实体间各中■可以方便地表示一对多限二维表由表框架及表的元种联系。组组成。的联系。重点讲解:关系模型大学学号姓名性别民族系所教师王欣女汉族学院1学院2学院n20001张小芳女苗族200002学生课程男杨永车汉族系所1系所n200003第6页共31页
第 6 页 共 31 页 (3)联系 实体之间的对应关系称为实体间的联系,具体是指一个实体集中可能出现的每一个实 体与另一个实体集中多少个实体之间存在联系,实体之间的联系可分为三类: 一对一联系。如果实体集 A 中的每一个实体只与实体集 B 中的一个实体相联 系,反之亦然,则实体集 A 和实体集 B 之间是一对一联系(1∶1)。 一对多联系。如果实体集 A 中的每一个实体,在实体集 B 中都有多个实体与 之对应;实体集 B 中的每一个实体,在实体集 A 中只有一个实体与之对应,则 称实体集 A 与实体集 B 之间是一对多联系(1∶M)。 多对多联系。如果实体集 A 中的每一个实体,在实体集 B 中都有多个实体与 之对应,反之亦然,则实体集 A 和实体集 B 之间是多对多联系(M∶N)。 2.用E-R方法表示概念数据模型 3.逻辑数据模型 逻辑数据模型是一种面向数据库系统的模型,是具体的数据库管理系统所支持的数 据模型,主要用于数据库管理系统(DBMS)的实现。广泛使用的逻辑数据模型有层次模 型、网状模型和关系模型三种。 提问:举例 说 明 哪 些 实 体 集 之 间 是 一 对 一、一对多 或 多 对 多 联系 提问(学习 通选人、鼓 励加分): E-R图中, 实 体 、 属 性、联系的 图 形 分 别 是什么? 重点讲解: 关系模型 【例 1.1】 学生选课的数据包括学生和课 程两个实体集。根据 E-R 图的表示方法建 立模型。 学生包括学号、姓名、性别和民族等 属性。 课程包括课程号、课程名、学时和学 分等属性。 学生和课程两个实体集通过选课相互 联系
第二节关系数据库一、关系数据模型用二维表的形式表示实体和实体间联系的数据模型称为关系模型。1.关系模式一个关系就是一个二维表,每个关系都有一个关系名称。对关系的描述称为关系模强调:-式,一个关系模式对应一个关系的结构,其表示格式如下:个关系就关系名(属性名1,属性名2,,属性名n)是一个二维表_口X学生姓名·性别民族·出生日期专业入学成绩党员香·个人特长学号汉族20010001王欣女2002/10/11外语5257排球、羽毛球、绘画张小芳苗族510V游泳、登山20010002女2003/7/10外语杨永丰汉族508绘画、长跑、足球20010003男2001/12/15外语周军男汉族登山、篮球、唱歌2003/5/10物理48520020001孙志奇男苗族2002/10/11物理478登山、游泳、跆拳道20020002胡小梅汉族478旅游、钢琴、绘画20020003女2002/11/2物理20020004李丹阳锅伯族470书法、绘画、钢琴女2002/12/15物理V男登山、足球20030001郑志锅伯族2003/5/10计算机510赵海军男苗族479200300022002/8/11计算机4旅游、足球、唱歌记录:4第1项(共9项)K搜索“学生”信息表的关系模式表示为:学生(学号,姓名,性别,民族,出生日期,专业,入学成绩,党员否,个人特长)2.术语曲学生举例:以学1)元组姓名性别民族·出生日期学号生表为例,在一个关系(二维表)中,每一行20010001主欣女双族2002/10/11介绍关系20010002张小芳女苗族2003/7/10称为一个元组,也称为一条记录。一个20010003杨水丰男汉聘2001/12术语20020001周军关系可以包含若干个元组,但不允许有2003/6/10完全相同的元组。血学生2)属性学号姓名·性别·民族出生日期关系中的列称为属性,也称为字20010001主欣女汉族2002/10/1120010002张小芳女苗族2003/7/10段。每一列都有一个属性名,在同一个20010003杨永丰男汉佳2001/12/15周军汉族20020001理关系中不允许有重复的属性名。2003/5/103)域域是指属性的取值范围。合理定义属性的域,可以提高数据表操作的效率。4)键提间(学习键也称为关键字,由一个或多个属性组成,用于唯一标示一条记录。一个关系通抢答):中可能存在多个关键字,用于标示记录的关键字称为主关键字(也称为主键)。学生表的在Access中,关键字由一个或多个字段组成。表中的主键可以唯一标示一条哪些字段记录。可以作为5)外键键?如果关系中的一个属性不是当前关系的主键,但它是另外一个关系的主键,则该属性称为外键,也称为外部关键字。3.关系的基本特点(1)规范化。一个关系的每个属性必须是不可再分的,即不充许表中含表。(2)同一个关系中不允许出现重复的属性。(3)同一个关系中不允许出现重复的元组。(4)关系中交换元组的顺序不影响元组中数据的具体意义。(5)关系中交换属性的顺序不影响元组中数据的具体意义。第7页共31页
第 7 页 共 31 页 第二节 关系数据库 一、关系数据模型 用二维表的形式表示实体和实体间联系的数据模型称为关系模型。 1.关系模式 一个关系就是一个二维表,每个关系都有一个关系名称。对关系的描述称为关系模 式,一个关系模式对应一个关系的结构,其表示格式如下: 关系名(属性名 1,属性名 2,.,属性名 n) “学生”信息表的关系模式表示为: 学生(学号,姓名,性别,民族,出生日期,专业,入学成绩,党员否,个人特长) 3.关系的基本特点 (1)规范化。一个关系的每个属性必须是不可再分的,即不允许表中含表。 (2)同一个关系中不允许出现重复的属性。 (3)同一个关系中不允许出现重复的元组。 (4)关系中交换元组的顺序不影响元组中数据的具体意义。 (5)关系中交换属性的顺序不影响元组中数据的具体意义。 强调:一 个关系就 是一个二 维表 举例:以学 生表为例, 介 绍 关 系 术语 提问(学习 通抢答): 学 生 表 的 哪 些 字 段 可 以 作 为 键? 2.术语 1)元组 在一个关系(二维表)中,每一行 称为一个元组,也称为一条记录。一个 关系可以包含若干个元组,但不允许有 完全相同的元组。 2)属性 关系中的列称为属性,也称为字 段。每一列都有一个属性名,在同一个 关系中不允许有重复的属性名。 3)域 域是指属性的取值范围。合理定义属性的域,可以提高数据表操作的效率。 4)键 键也称为关键字,由一个或多个属性组成,用于唯一标示一条记录。一个关系 中可能存在多个关键字,用于标示记录的关键字称为主关键字(也称为主键)。 在 Access 中,关键字由一个或多个字段组成。表中的主键可以唯一标示一条 记录。 5)外键 如果关系中的一个属性不是当前关系的主键,但它是另外一个关系的主键,则 该属性称为外键,也称为外部关键字
二、关系代数关系代数是一种抽象的查询语言,它利用关系的运算来表达查询。关系代数的操作对象是以关系为基本单位的一组集合运算,每一种运算都是以一个或多个关系为运算对象,运算结果仍然是一个关系。关系代数运算主要分为两类1.传统的集合运算(1)并运算已知两个关系R和S具有相同的属性集,则并运算(Union)的结果是由关系R、S中所有不同的元组构成的关系,记作RUS。(2)交运算结合课表已知两个关系R和S具有相同的属性集,则交运算(Intersection)的结果是由既属分析集合于关系R的元组,又属于关系S的元组构成的关系,记作RnS。运算(3)差运算已知两个关系R和S具有相同的属性集,则差运算的结果是由属于关系R但不属于关系S的元组构成的关系,记作R-S。关系R(R班课程表)关系s(s班课程表)上课时间上课地点课程名称上课时间上课地点课程名称周一(上午)软件楼104数据结构周一(上午)汇文楼305管理学周二(上午)汇文楼208教育学周二(下午)信息楼203英语周二(下午)信息楼203英语周三(上午)博文楼101概率周三(下午)信息楼103计算机周三(下午)计算机信息楼103周四(上午)博文楼209高等数学周四(上午)博文楼209高等数学周五(上午)博文楼201程序设计关系RUS关系RnS上课时间上课地点课程名称上课时间上课地点 课程名称周一(上午)汇文楼305管理学周二(下午)信息楼203英语周二(下午)信息楼203英语周三(下午)信息楼103计算机周三(上午)概率博文楼101周四(上午)博文楼209高等数学周三(下午)计算机信息楼103关系R-S周四(上午)博文楼209高等数学周一(上午)软件楼104数据结构上课时间上课地点课程名称周二(上午)周一(上午)汇文楼208教育学汇文楼305管理学周五(上午)博文楼201程序设计周三(上午)博文楼101概率(4)笛卡儿积运算已知关系R具有m个属性和p个元组,关系S具有n个属性和g个元组,R与S的笛卡儿积运算记为R×S,它的结果是一个具有m+n个属性的关系,元组个数为pXq。关系R(学生表)重点讲解关系s(课程表)学号笛卡儿积姓名课程号课程名任课教师王欣20010001运算(难001大学计算机基础230001张小芳20010002点,学生不004杨永丰大学体育25000120010003易理解)关系RXS学号姓名课程号课程名任课教师20010001王欣001大学计算机基础230001王欣004大学体育20010001250001张小芳001大学计算机基础20010002230001张小芳大学体育20010002004250001杨永丰001大学计算机基础23000120010003杨永丰20010003004大学体育250001第8页共31页
第 8 页 共 31 页 二、关系代数 关系代数是一种抽象的查询语言,它利用关系的运算来表达查询。关系代数的操作 对象是以关系为基本单位的一组集合运算,每一种运算都是以一个或多个关系为运算对 象,运算结果仍然是一个关系。关系代数运算主要分为两类: 1.传统的集合运算 (1)并运算 已知两个关系R和S具有相同的属性集,则并运算(Union)的结果是由关系R、S中 所有不同的元组构成的关系,记作R∪S。 (2)交运算 已知两个关系R和S具有相同的属性集,则交运算(Intersection)的结果是由既属 于关系R的元组,又属于关系S的元组构成的关系,记作R∩S。 (3)差运算 已知两个关系R和S具有相同的属性集,则差运算的结果是由属于关系R但不属于关 系S的元组构成的关系,记作R-S。 (4)笛卡儿积运算 已知关系R具有m个属性和p个元组,关系S具有n个属性和q个元组,R与S的笛卡儿积 运算记为R×S,它的结果是一个具有m+n个属性的关系,元组个数为p×q。 结 合 课 表 分 析 集 合 运算 重 点 讲 解 笛 卡 儿 积 运 算 ( 难 点,学生不 易理解)
2.专门的关系运算针对数据库环境而专门设计的关系运算有选择运算(α)、投影运算(元)、连接运算()和除运算(一)。学习通抢答:(1)选择运算选择运算在关系R中选择满足条件元组并组成新关系,记作OF(R)。其中,F为筛选条件。“”投影【例1.2】在关系R("学生”表)中筛选出女生数据。运算“元”关系R(学生”表)怎么读?学号民族姓名性别出生日期专业入学成绩王欣女汉族外语200100011999/10/11525张小芳苗族外语510200100022000/7/10男杨永丰汉族外语200100031998/12/15508周军男汉族物理485200200012000/5/10使用查询孙志奇男苗族物理200200021999/10/11478展示选择、汉族20020003胡小梅女1999/11/2物理478投影结果李丹阳女锡伯族物理470200200041999/12/15男20030001郑志锡伯族计算机5102000/5/10男苗族计算机20030002赵海军1999/8/11479选择运算表达式为α性别="女"(学生)或α3="女"(学生)【例1.3】在关系R(“学生”表)中筛选出入学成绩大于500的女生数据。性别=女”^入学成绩>500(学生)或α3=*女”^7>500(学生)(2)投影运算投影运算(Projection)是在关系R中选择出若干属性组成新的关系,并去掉重复的元组,记作元(R)。其中,A为关系R的属性列表,各属性之间用逗号(英文半角)分隔。【例1.4】对关系R(学生表)进行投影运算,结果显示学生的“学号”“姓名”“性别”“民族”“专业”。投影运算表达式为:元学号,娃名性别,民族,专业(学生)或元1,2,3,4.6(学生)【例1.5】对关系R(学生表)进行投影运算,查询学生表中都有哪些专业。演示:查询学校多元专业(学生)或元6(学生)少专业(3)连接运算连接运算是从两个关系R和S的笛卡儿积中选取属性间满足条件的元组并组成新的关系,记作RS,其中,F是选择条件。连接与笛卡儿积的区别:笛卡儿积是关系R和S所有元组的组合,而连接是关系R和S的笛卡儿积中满足条件的元组的组合。如果是无条件连接,则连接运算的结果就是笛卡比较讲解:连接运算儿积的结果。连接运算分为条件连接、等值连接和自然连接等。是难点,与。条件连接:从关系R和S的笛卡儿积中选取属性间满足一定条件的元组。笛卡儿积等值连接:是从关系R和S的笛卡儿积中选取指定属性值相等的元组。对比?自然连接:自然连接(NaturalJoin)也是一种等值连接,它选取的是公共属性值相等的元组,并去掉重复的属性,记作RoS。第9页共31页
第 9 页 共 31 页 2.专门的关系运算 针对数据库环境而专门设计的关系运算有选择运算()、投影运算()、连接运 算(∞)和除运算(÷)。 (1)选择运算 在关系R中选择满足条件元组并组成新关系,记作F(R)。其中,F为筛选条件。 【例1.2】在关系R(“学生”表)中筛选出女生数据。 选择运算表达式为: 【例 1.3】在关系 R(“学生”表)中筛选出入学成绩大于 500 的女生数据。 (2)投影运算 投影运算(Projection)是在关系R中选择出若干属性组成新的关系,并去掉重复 的元组,记作A(R)。其中,A为关系R的属性列表,各属性之间用逗号(英文半角)分 隔。 【例1.4】对关系R(学生表)进行投影运算,结果显示学生的“学号”“姓名”“性 别”“民族”“专业”。 投影运算表达式为: 【例1.5】对关系R(学生表)进行投影运算,查询学生表中都有哪些专业。 (3)连接运算 连接运算是从两个关系R和S的笛卡儿积中选取属性间满足条件的元组并组成新的关 系,记作 ,其中,F是选择条件。 连接与笛卡儿积的区别:笛卡儿积是关系R和S所有元组的组合,而连接是关系R和S 的笛卡儿积中满足条件的元组的组合。如果是无条件连接,则连接运算的结果就是笛卡 儿积的结果。连接运算分为条件连接、等值连接和自然连接等。 条件连接:从关系R和S的笛卡儿积中选取属性间满足一定条件的元组。 等值连接:是从关系R和S的笛卡儿积中选取指定属性值相等的元组。 自然连接:自然连接(Natural Join)也是一种等值连接,它选取的是公共 属性值相等的元组,并去掉重复的属性,记作R∞S。 学 习 通 抢 答: 选 择 运 算 “”、投影 运算“” 怎么读 ? 使 用 查 询 展示选择、 投影结果 演示:查 询学校多 少专业 比较讲解: 连 接 运 算 是难点,与 笛 卡 儿 积 对比