1.3 关系数据库
用二维表描述世界:行是记录、列是属性,主键唯一标识一行,外键把表连起来。
本讲导览
核心内容
关系数据库
| 学号 | 姓名 | 性别 | 出生日期 | 身份证号 | 班级名 | 系别 | QQ号 | 总学分 |
|---|---|---|---|---|---|---|---|---|
| 2013010101 | 张三多 | 男 | 1981-02-19 | 130102198102191179 | 网络0801 | 计算机系 | 666666666 | 20 |
| 2013010102 | 李四龙 | 男 | 1981-06-20 | 120102198106201176 | 网络0801 | 计算机系 | 999999999 | 19 |
| 2013010103 | 王建岭 | 男 | 1981-08-26 | 130112198108261178 | 网络0801 | 计算机系 | 21 |
表1.1学生表
1、认知关系:
下面的数据表--学生表,是一种二维表。
二维表由行和列组成的。
(1)表格的列(column)数和行(row)数确定,表中每一列都必须是不可分解的,列具有原子性(即不可分解);
(2)每列信息的性质是相同的,即每一列中的信息是同一类型的数据,它们来自同一个域;
(3)表中的任意两个行不能完全相同(否则数据会有重复);
(4)表中不同的列来自不同的域,每一列有不同的列名(否则数据会有重复);
(5)表中列的顺序可以任意互换,不会改变表的意义;
(6)表中行除首行外,其余行的次序也可以任意互换,不会改变表的意义;
同时具备下面六个特征的表格才能称之为关系。
常用的数据类型有:
数值型(整数型、实数型)、字符型、日期时间型、图像型等。
关系是一个二维表,但二维表不一定是关系!
为什么?
表1-2则不能称为一个关系,因为其列数不确定,”收入”又细分为”
基本工资”、”津贴”、”其它”、”其它”、”水电费”和”实际收入”五项,违反了第六条特征。
| 基本工资 | 津贴 | 其它 | 水电费 | 实际收入 | ||
|---|---|---|---|---|---|---|
| 0101 | 张三 | 1000.00 | 1000.00 | 600.00 | -200.00 | 2400.00 |
| 0102 | 李四 | 1200.00 | 1000.00 | 900.00 | -200.00 | 2900.00 |
| 0103 | 王五 | 1500.00 | 1000.00 | 1000.00 | -200.00 | 3300.00 |
表1.2工资表
关系数据库是由若干个关系组成的相关的可被共享的数据集合。如学生表(参见表1.1)、课程表(参表1.3)、成绩表(参见表1.4)和就组成一个简单的教学管理系统数据库。
建立在关系模型基础上的数据库,称为关系数据库。
关系数据库使用最广泛。
数据模型有三种:
(1)、层次模型:用树形结构表示。
(2)、网状模型:用网状结构表示。
(3)、关系模型:用二维表结构表示。
2、关系数据库
| 学号 | 课程号 | 成绩 |
|---|---|---|
| 2013010101 | 01 | 90 |
| 2013010101 | 02 | 85 |
| 2013010101 | 03 | 95 |
| 2013010102 | 01 | 95 |
| 2013010102 | 02 | 90 |
| 2013010103 | 02 | 80 |
| 2013010103 | 03 | 95 |
| 课程号 | 课程名 | 学分 |
|---|---|---|
| 01 | 英语 | 5 |
| 02 | 数学 | 4 |
| 03 | 法律 | 2 |
| 04 | 体育 | 2 |
表1.3课程表
表1.4成绩表
关系数据库中的表:
3. 和关系数据库相关的术语
●关系:是一种特殊的二维表格,如前面所述,关系是同时具备上面六条特征的表格 。
●记录(record):首行除外(首行称为表的结构或表头),关系中的任意一行称为一条记录或一个元组(tuple)。
●字段(field)(属性):关系中任意一列,称为一个字段。列有名和值之分,如”姓名”是字段名,”张三”是字段值。
●关键字:能唯一标识一条记录的字段,称为关键字。
关键字的值不能重复,一个表中可以有一个或多个关键字,
如学号和身份证号都不允许重复。
●主关键字,又称主键(primary key):是一个列或多个列的组合, 是关键字, 用来区分表中的每一条记录。如学生表中的”学号”列就可以作为主键。在成绩表(表1.3)中,学号和课程号两个列组合起来可作为主键。
特点:
(1)在一个表中只能有一个主键。
(2)一个表中可以有多个关键字,只能选取一个用作主键。
(3)主键的值是唯一的, 不允许重复, 也不允许为空值(NULL).
●关系数据库(database):与一个特定的组织(部门)各项应用有关的全部数据的集合。主要由关系(即:表)、视图和存储过程等数据库对象组成。例如:学生表(参见表1-1)、成绩表(参见表1-3)和下面的课程表(参表1-4)就组成一个简单的教学管理系统数据库。
●关系数据库管理系统(RDBMS-relation data base management system)
对关系数据库进行创建和统一管理的一类系统软件的总称。
常用的数据库管理系统软件有:
ACCESS、Visual FoxPro、SQL Server、Oracle、MySQL等。
本课程主要阐述如何利用MySQL这一关系数据库管理系统软件进行数据库的创建、管理、高效运行、安全管理及其他各种相关操作技能等知识。
小结
1、二维表由什么组成的?
2、什么样的二维表才称为关系?
3、什么是记录?
4、什么是字段?
5、关系中的任何两行能不能完全一样?
6、确保关系中不能存在重复行的字段是什么?
7、关系中的字段能不能再分解?
8、关系中的各个“字段名”能不能重名?
9、关系中的同一个字段的数据类型是否相同?
10、什么是关键字?
11、什么是主键?有哪些特点?
📄 展开课件原文(第 1–9 页,共 9 页)
认知数据化与数据模型
4、认知数据模型
问:现实世界中存在的客观事物,计算机如何处理?
答:将客观事物数据化处理。
现实世界(事物、事物性质) (人、外貌特征)
(抽象化)
信息世界(实体、实体属性) (张三、身高、体重….)
(数据化)
数据世界(行、列) (zhangsan 170 80….)
常用的数据模型:
(1)现实世界的模型,称为“概念模型”
分为“对象”和“性质”两个方面。
(2)信息世界的模型,称为“信息模型”
分为“实体”和“属性”两个方面。
(3)数据世界的模型,称为“数据模型”
分为“记录”和“字段”两个方面。
(或“行”和“列”两个方面)
E-R图:
描述概念模型的最常用方法是“实体—联系”方法,称为E-R图。
E-R图包括:实体、属性、联系三种图素。
📄 展开课件原文(第 10–13 页,共 4 页)
实体与联系
4-2-1 实体与属性
实体:客观存在并可以相互区分的事物称为实体
属性:实体所具有的某一特性
联系:就是实体与实体之间的联系.
如一个学生、一个职工、一部汽车、一个部门、一个班级、一门课等都是实体.
学生实体可以由学号、姓名、性别、出生年份、系、入学时间(如:00001,李丽,女,1980,计算机系,2002)等属性组成,这些属性组合起来描述了一个学生.
学生张三与学生李四是同班同学,这是联系。
学生张三与学生王五是同系不同班同学,这也是联系。
4-2-2、联系类型
实体间的对应关系称为联系,也称关系.
实体与实体之间的联系有三种类型:
(1)1对1联系(1:1):
如1个学生只能在1个班级。
(2)1对多联系(1:n):
如1个班级有50个学生。
(3)多对多联系(m:n)
如:学生与课程,一个学生同时学几门课程,同一门课程有多名学生同时学。
联系的三种类型
4-2-3、 E-R图
E-R图:即实体-联系(Entity-Relationship)图
用图来描述实体、属性和联系的方法。
E-R图包括4个基本要素:
(1)实体:用“矩形”表示。矩形内标注实体名称
(2)属性:用“椭圆”表示。椭圆内标注属性名称
(3)联系:用“菱形”表示。菱形内标注联系名称
(4)连线:用“直线”表示。连接实体、属性、联系
示例:
E-R图
选课
学生
课程
学号
姓名
年龄
课程号
课程名
学分
m
n
课堂练习:请根据以下描述,画出学生选课E-R图。
| 学号 | 姓名 | 性别 |
|---|---|---|
| 01101 | 李海 | 男 |
| 01102 | 王鹏 | 女 |
| 课程编号 | 课程名称 |
|---|---|
| 101 | 计算机基础 |
| 102 | 程序设计 |
| 学号 | 课程编号 | 成绩 |
|---|---|---|
| 01101 | 101 | 80 |
| 01101 | 102 | 87 |
| 01102 | 101 | 85 |
| 01102 | 102 | 88 |
学生课程成绩表
课程表
学生表
学生成绩关系图
小结:
1、常用的数据模型有哪几种?
2、什么是E-R图?
3、什么是实体?什么是属性?
4、实体与实体之间的联系有哪几种类型?
5、E-R图包括哪几个基本要素?分别用什么表示?
