(一)数据库系统概述和ER图
1.数据库系统
数据库系统有数据库、数据库管理系统、应用系统和数据库管理员组成。数据库呢就是数据的集合,应用系统和管理员就不说了,数据库管理系统即常说的DBMS,比如我们用的mysql,oracle,sql server等就是DBMS。
数据库系统的结构分为外部结构和内部结构,外部结构有单用户数据库系统,即数据库系统都安装在一台计算机上,这虽已不再流行,但是也是个人开发的必由之路。除此之外还有主从式结构,分布式结构,客户/服务器结构。
数据库系统的内部系统采用三级模式和二级映像。
外模式又叫做子模式或者用户模式;模式又称逻辑模式;内模式也称存储模式或者物理模式;此为三级模式。
上图中连接外模式和模式的映射1即为外模式-模式映像;连接模式和内模式的的映射2即为模式-内模式映像,这即为二级映像。
这一部分就是简单了解数据库系统的基本概念,来温习一下这些名词,找找感觉🤭
2.数据模型
关系模型是主流数据模型,关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。这里后面会详细介绍。常用的模型还有层次数据模型和网状数据模型,不过已经逐渐被淘汰了。
3.ER图(重点)
ER图全称实体-联系图,是一种概念模型,该模型方便转化为数据库管理系统实际支持的数据模型(比如关系模型)。E-R图最重要的三个部分分别是实体、属性、联系。
实体即为Entity,比如学生、教师、汽车等能够相互区分的任何物体;属性即为实体的特征,比如学号、工号、品牌等等;唯一可以确定实体集中的实体的属性值称为该实体集的超码;例如对于部门来说,{部门号}、{部门名称}和{部门号、部门名称}都是超码,如果一个K是超码,那么K的任意超集肯定也是超码,比如学生的{学号}是超码,那么{学号,姓名}也是超码,因为也能决定出唯一的一个学生;因此,真子集都不是超码的极小超码会更有意义,称之为候选码;所谓主码(主键)即为人为选中的候选码。
- 属性也可以根据不同方面进行详细分类,例如如果一个属性不能划分为更小的部分,就称其为简单属性,可以划分就称为复合属性;比如有学生一个属性称为个人信息,这个属性仍可分为家庭住址、电话号码等成分属性,这样的属性即可称为复合属性;
- 如果一个属性只能取一个值,那么称为单值属性,否则即为多值属性;例如学生的电话号码,可能学生有不止一个电话号码,,那么这个属性就称为多值属性;
- 如果一个属性的值不能通过其他属性的值推到出来,那么称为基本属性,否则称为派生属性;派生属性可以通过其他相关属性计算得到,因此也叫做计算属性,因此派生属性的值可以不进行存储,例如学生的年龄可以通过出生日期属性计算得到,那么年龄其实就是一个派生属性。
联系即Relationship,用于描述各实体之间的关系,两个实体之间的联系只有四种:一对一联系,一对多联系,多对一联系,多对多联系;这个应该很好理解,就不再赘述了。
ER图的成分:椭圆表示属性,多值属性使用双边椭圆,派生属性使用虚线椭圆,其他的属性就使用单实边椭圆;矩形框表示实体;菱形框表示联系,若是一对一联系,则在菱形框的两侧均标注1,若是一对多或者多对一的联系,则在多的那一侧标注n,一的那一侧标注1;如果是多对多联系,则分别标注m和n等符号,或者使用 * 来表示;(注意联系有时也会有自己的属性,直接与菱形框相连即可)
4.ER图实例
某公司有若干个部门;每个部门有若干职工、项目和办公室。每个职工都有工作经历,记录该职工做过的每项工作的起止年月和工资。每个办公室有若干部电话。对于部门,需要记录部门号(惟一)、部门名称、预算费和部门领导的职工号。对于职工,除工作经历外,还需要记录职工号(惟一)、职工姓名、家庭住址、当前参加的项目、所在办公室、电话等信息。对于项目,需要记录项目号(惟一)、项目名称和预算。对于办公室,需要记录办公室名称(惟一)、位置、电话。
随手一画,如果以后发现有不对的地方在来修改,更新。