1.1 引言
一、概念
- 1.数据:字符、文字(字符串)、数值(整型、浮点型等)、图像(RGB、RGBA)、声音等
- 2.数据库:存储在介质上的相关的数据集合。
- 数据库发展阶段:
- ①人工管理阶段(不保存在计算机上)
- ②文件管理阶段(效率低,管理麻烦)
- ③数据库低级管理阶段(正处于)
- ④数据库高级管理阶段
注: ③和④可以合并为数据库管理阶段
二、数据库类型
- 1、网状型数据库(未普及)
- 2、层次型数据库(未普及)
- 3、关系型数据库(普及)
关系型数据库:
由二维表格表示:由行列组成
举例:学生表、教师表、课程表
学生表:
学号 | 姓名 | 性别 | 专业 | 入学时间 |
D001 | 张三 | 男 | 犯罪专业学 | 2019年 |
D002 | 李四 | 男 | 狱警专业 | 2016年 |
教师表:
工号 | 教师姓名 | 教师性别 | 教授课程 | 受欢迎程度 |
C001 | 罗老师 | 男 | 刑法学(张三研究学) | 非常受欢迎 |
数据库的描述
一、数据库的概念:
1、实体:客观存在的事物
2、属性:实体的某一特征
3、标识符:唯一标识实体特征
二、逻辑设计中数据的描述
1、字段:关系列表中的一列
2、记录:关系列表中的一行
3、文件:同类记录的集合
4、关键码:唯一标识记录的字段
三、物理设计中数据的描述
1、位(bit,b)
2、字节(B)
3、字(word)
4、块(Block)
5、桶(Bucket)
6、卷(Volume)
四、数据联系的描述
1、1:1一对一联系
2、1:N一对N联系
3、M:N多对多联系
E-R图:
①、实体用方框
②、属性用椭圆表示
③、联系用菱形表示
④、无向线用横线表示(没有方向的线)
E-R表举例:
1:1
以上为1:1模型
可以转换为表格就是
工厂表
许可证编号 | 地址 | 面积 |
12345667 | xxxxxxx | 1000 |
厂长表:
身份证号码 | 姓名 | 电话 | 许可证编号 |
10xxxxxx | 张三 | 13xxxxxxxx | 123xxxxx |
工厂表中,许可证编号为标识符,里面的内容是唯一存在的
厂长表中,身份证号码是标识符,是唯一存在的
厂长表中许可证编号是,两者的关联对象,使用许可证编号将两者进行一一对应。
注:此处假设一个国产一个厂长,每个厂长只能够带领一个工厂!
1:N
此处仅表示一个仓库里面存储了多个产品
以上为1:N模型
可以转换为表格就是
仓库表
仓库编号 | 地址 | 面积 |
12345 | xxxxxxx | 1000 |
产品表:
产品编号 | 产品名称 | 数量 | 仓库编号 |
10xxxxxx | 特斯拉A100显卡 | 0 | 123xxxxx |
仓库表中仓库编号为标识符,里面的内容是唯一存在的
产品表中,产品编号是标识符,是唯一存在的
产品表中仓库编号是,两者的关联对象,使用仓库编号将两者进行一 一对应。
M:N
这里多个零件和不同的供应商有对应,所以应该就是M:N模式
供应商表
供应商编号 | 地址 | 名称 |
12345 | xxxxxxx | 供应商1 |
零件表:
零件编号 | 零件名称 | 数量 |
10xxxxxx | 膨胀螺钉 | 10套 |
供应表(MN对应关系表):
供应商编号 | 零件编号 | 供应时间 | 供应数量 |
12345 | 10xxxxxx | 2021.09.15 | 10套 |
供应商表中供应商编号为标识符,里面的内容是唯一存在的
零件表中,零件编号是标识符,是唯一存在的
供应表中供应商和零件是两个关键值,两者的相互关联,使用供应表将供应商和零件进行一 一对应。
多组对应
存在多组对应关系
教师表
工号 | 教师姓名 | 联系电话 |
001 | 王老师 | 134xxxxxx |
学生表:
学号 | 学生姓名 | 专业 |
19010010 | 张三 | 计算机科学与技术 |
课程表:
课程编号 | 课程名称 | 工号 |
01001 | 数据库系统教程 | 001 |
学习表(学生与课程对应表)
课程编号 | 学号 | 成绩 |
01001 | 19010010 | 100 |
教师表中工号为标识符,里面的内容是唯一存在的
学生表中学号为标识符,里面的内容是唯一存在的
课程表课程编号为标识符,里面的内容是唯一存在的,其中工号和教师表的数据进行对应(映射)
学习表通过课程编号和学号把课程表和学生表进行对应,同时得到成绩数据。
弱实体与强实体
弱实体要依赖与强实体,没有强实体,弱实体就不复存在。
强实体也可以称作“父实体”
表达方式
子类实体与超类实体
低层的实体表达了与高层实体有特殊联系的情况下,就称较高层的实体类型为超体。
子类和超类之间具有继承关系,子层具有比超体更多的属性。
这种继承性是通过子类实体和超实体有相同的实体表示符实现的。
练习
下表应该怎么样完成呢?
商品表(商品号,商品名,规格,单价)
商店表(商店编号,地址,商品名)
销售表(商品号,商店编号,月销售)
职工表(职工编号,业绩,性别,姓名,聘期,月薪,商店编号)
公司表(公司编号,公司名,公司地址)
仓库表(仓库编号,仓库地址,仓库名,公司编号)
职工表(职工编号,性别,姓名)
聘用表(职工编号,仓库编号,工资,聘期)