关系数据库基础
计算机对数据进行管理经历了文件管理 和数据库管理两个发展阶段。
文件管理数据缺点:
1.编写应用程序不方便;
2.数据冗余不可避免;
3.应用程序依赖性;
4.不支持对文件的并发访问;
5.数据间关系弱;
6.难以按不同用户的愿望表示数据;
7.无安全控制功能;
数据库管理系统的好处:
1.将相互关联的数据集成在一起;
2.数据冗余小;
3.程序与数据相互独立;(1指当数据的存储方式发生变化;2指当数据的逻辑结构发生变化时;)
4.保证数据的安全和可靠;
5.最大限度地保证数据的正确性;
6.数据可以共享并能保证数据的一致性。
数据库系统(DBs)和数据库管理系统(DBMS)
数据库系统组成:数据库(DB);数据库管理系统(DBMS);应用程序(n);数据库系统管理员(DBA)。
数据和数据模型
数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
数据模型分类:概念层数据模型(也称概念模型或信息模型);组织层数据模型(也称组织模型);
组织模型(也称组织方式)包括:层次模型(用树形结构组织数据)、网状模型(用图形结构组织数据)、关系模型(用简单二维表结构组织数据)、对象-关系模型(用复杂的表格以及其他结构组织数据)。
先有概念层数据模型,然后再到组织层数据模型。
数据模型一般由数据结构、数据操作、数据完整性约束三部分组成,这三部分成为数据模型三要素。
概念层数据模型
实体-关系模型(E-R模型、工具是E-R图)。
关系数据模型三要素:1关系模型的数据结构 2关系表中的每一列都是不可再分的基本属性 3 表中的每一行数据称为一个元组。
关系模型中的数据完整性约束:实体完整性、参照完整性、用户定义完整性。
E-R模型向关系模型的转换
一个实体转换为一个关系模式。
1.对于1:1联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。
2.对于1:n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。
3.一个m:n联系转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为该关系模式的属性。
例如:
对于1:1联系,有两种转换方法;
1 将联系与某一实体的关系模式合并。
①经理(经理号,经理名,电话)
部门(部门号,部门名,经理号)
或者
②经理(经理号,经理名,电话,部门号)
部门(部门号,部门名)
2 将联系转换为一个独立的关系模式(查询效率低不建议)
经理(经理号,经理名,电话)
部门(部门号,部门名)
部门_经理(经理号,部门号)
对于1:n联系,有两种转换方法;
1 将联系与n端实体的关系模式合并。
①部门(部门号,部门名)
职工(职工号,部门号,职工名,性别)
2 将联系转换为一个独立的关系模式(查询效率低不建议)
部门(部门号,部门名)
职工(职工号,职工名,性别)
部门_职工(部门号,职工号)
对于m:n联系,必须将联系转换为一个独立的关系模式。
教师(教师号,教师名,职称)
课程(课程号,课程名,学分)
授课(教师号,课程号,授课时数)
Student 表结构
列名 |
含义 |
数据类型 |
约束 |
Sno |
学号 |
Char(7) |
主键 |
Sname |
姓名 |
Nchar(5) |
非空 |
SID |
身份证号 |
Char(18) |
取值不重复 |
Ssex |
性别 |
Nchar(1) |
默认值为”男” |
Sage |