为什么要学习数据库?
1、数据库管理的几个阶段
2、数据库管理的特点
- 数据结构化
- 冗余度低
- 数据独立性高
- 由数据库系统统一管理控制
3、数据库要学什么?
数据关系理论
数据库的操作
增删改查-重点
3.1 什么是数据库?
**数据库:**英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。
**顾名思义:**存储数据的仓库,**数据的集合。**实际上就是一堆文件。这些文件中存储了具有特定格式的数据。
3.2 SQL - 结构化查询语言
程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作。
**本质:**是一套标准。程序员只要学习的就是SQL语句包,这个SQL在mysql中可以使用,同时在Oracle也可以使用。
3.3 什么是数据库管理系统?
**数据库管理系统:**DataBaseManagement,简称DBMS。
**作用:**专门管理数据库中的数据的,数据库管理系统可以对数据库当中的数据进行增删改查。
**类型:**层次型、网状型、关系型(本课程主要学习)。
**常见的数据库管理系统:**MySQL,Oracle、MS SqlServer、DB2、sybase等…
3.4 MB、DBMS、SQL之间的关系?
DBMS–执行 --> SQL – 操作 --> DB
4、概念模型
- 概念模型是现实世界到机器世界的一个中间层次(类比C++)
- 实体(entity):客观存在并可以相互区分的事物(对象)
- 属性(attribute):实体所具有的某一个特性(成员)
- 实体型(entity type):学生(学号,姓名,出生日期),具有相同属性的实体是同一个实体型
5、 关系数据库
关系型数据库概念
- 一个表被称为一个关系(实体)。
- 表中的行(或记录)叫做元组。
- 列(或字段)叫做属性。
- 行是无序的,每个行必须右列或列的组合来唯一的标识表中的每一行,这个被叫做表的主键(PK)。
**主键:**可唯一标识表中行的键。
类型:
- 主键:被选作唯一确定一行的属性。
- 复合键:用两个或两个以上的属性组合成为主键。
实体与实体之间存在三种关系:
1对1
1对多
多对多
实体与实体之间的数量关系:
- 一个老师可以教(多)门课程。 – 一对多的关系 --> 1:m
- 一个学生可以选择(多)门课程。
- 一门课程可以被(多)个学生选。 – 多对多的关系 --> n:m
- 一个班级有一个正班长。-- 一对一 --> 1:1
6、E-R图(实体关系图)
矩形表示实体
椭圆表示属性
菱形表示关系
7、关系型数据库 VS 非关系型数据库
非关系型数据库(非关系型模型表现实体关系的方法)
非关系模型–JSON格式举例
关系型数据库(关系型模型表现实体的方法)
从集合到关系到表
关系数据库中,只有一种数据结构:表
8、关系型数据库设计步骤
1.画ER图(先给两个属性)
2.关系变表
3.完善属性
9、表
关系型数据库的组织原则是表格:
一个表被称为一个关系(实体)。
表中的行(或记录) 叫作元组。
列 (或字段)叫作属性。
行是无序的。
10、主键
主键(primary key):用来唯一地标识表中的每一行的属性或属性的组合。
11、关系的实现
ER图中的关系—>数据库中的表。(关系转表)。
如何转换?
如何表示两个表的联系?
如果公共关键字在一个关系中是主关键字(PK),那么这个公共关键字被称为另一个关系的外键(FK)。
12、一对多 转换方式
把一实体中的主键放入到多实体中,成为其外键。例如商店和雇员:也可以建两张表个来表示:
(1)商店ID(PK) 商店名 地址
(2)雇员ID(PK) 雇员姓名 商店ID(FK)
这里,因为是1对多的关系,所以将一实体即商店ID放到多实体雇员表中成为外键。
13、多对多 转换方式
把相关实体中的主键放入到一个新实体中,成为新实体的复合主键。
例如商店和商品:需要建三张表个来表示:
(1)商店ID(PK) 商店名 地址
(2)商品ID(PK) 商品名 价格
(3)商店ID(PK) 商品ID(PK) 卖出总件数 库存数
因为是多对多的关系,所以将商店和商品两个实体的主键拿出来,作为新的一张表的复合主键。
14、关系的实现(关系转表)
1、实体:把实体名转换为关系表名,实体属性转换成表中字段。
2、实体间的关系:根据1对1、1对多、多对多有不同的转换方式。
3、把具有相同主键的表合并。
15、用关系理论分析已学知识
进程与线程
一对多
进程与进程
列表 进程和程序之间可以形成一对一、一对多、多对一、多对多的关系
CRuntimeClass与对象
一对多
附录
现实世界中的数据如何存储到数据库中(E-R图转表)
一对一
一对多
多对多
|