我的理解:
数据:就是对生活中的各种信息内容进行记录,并且可以鉴别的符号。在计算机中以0,1存储,但是还可以是视频,音频,文字,图片。
实体:指所有客观存在的,可以被描述的事物。例如:人,计算机,课本,桌子。
实体具有各种特性,因此可以用实体的特性描述实体。
类似于excel表格,其中 “一行” 对应一个实体, 称作 “记录”
一列 经常是实体的某个特性,比如 姓名,学号等 称作 “字段”
数据冗余和数据完整
数据重复出现现象,就叫做数据冗余。(减少数据冗余,通常用分类存储)
数据完整性:数据的准确性。(对于相关联的表,若其中一个表修改了某些数据,关联的表中该数据没改,因此,存储的数据不在准确,失去了完整性。)
数据库约束
实体完整性约束
域完整性约束
引用完整性约束(相关表之间存在相同的字段,学生信息表与学生成绩表之间,学号相同,建立引用完整性约束后,(禁止以下操作):
!当主表没有关联记录,将记录添加到从表中;
!更改主表中的值使相关表中记录孤立
!从主表中删除记录,但在相关表中任存在与记录相匹配的相关记录;
)
主键 外键
主键(Primary Key)是一个列或多个列的组合,其值能唯一地标识表中的每一行。主键的主要作用是保证实体的完整性,即确保表中的每一行都是唯一的,没有重复。主键的值不能重复,也不能为空。例如,在一个学生信息表中,每个学生的学号可能是唯一的,因此学号可以被设定为主键。
外键(Foreign Key)则是用于建立表与表之间关系的约束。外键是一个表中的字段,其值必须对应于另一个表的主键或唯一键的值。外键用于确保两个表之间的数据一致性,通过引用另一个表的主键来建立表与表之间的关系。与主键不同,外键的值可以重复,也可以是空值。例如,假设有一个订单表(orders),其中有一个字段是“customer_id”,这个字段用于存储客户的ID。另一个表是客户表(customers),其中有一个字段是“id”,用于存储客户的唯一标识。在这种情况下,“customer_id”字段在订单表中就是外键,因为它引用了客户表的主键“id”。
总结来说,主键和外键的主要区别在于:
- 主键用于唯一标识表中的每一行,确保数据的唯一性和完整性,其值不能重复且不能为空。
- 外键则用于建立表与表之间的关系,保证数据的一致性,其值可以重复且可以是空值。
在实际应用中,主键和外键的配合使用可以有效地维护数据库的完整性和一致性,提高数据查询和操作的效率。