问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数据库存储原理与表设计:从基础概念到实践应用

创作时间:
作者:
@小白创作中心

数据库存储原理与表设计:从基础概念到实践应用

引用
CSDN
1.
https://blog.csdn.net/cj1561435010/article/details/104861484

数据库作为现代软件系统的核心组件,其存储和管理数据的方式直接影响着系统的性能和可靠性。本文将从数据库的基本术语开始,深入探讨数据库存储数据的核心概念,并详细讲解表设计的基本原则,帮助读者建立扎实的数据库基础知识。

一、数据库的一些基本术语

在数据库中,数据的存储和组织依赖于一系列基本概念。以下是几个核心术语的解释:

  • 字段:事物的一种特性,可以理解为成员变量一枚。
  • 属性:字段的别称。
  • :字段的别称。
  • 记录:字段的组合,表示具体的一个事物,其实就是数据库表中的一行。
  • 元组:记录的别称。
  • :记录的组合,表示某一类事物的集合。

二、约束概念及分类

约束是数据库中用于确保数据完整性和一致性的关键机制。约束主要分为列约束和表约束两大类,它们的主要区别在于定义位置的不同:

  • 列约束:直接写在字段类型的后面。
  • 表约束:加在表的最后,需要用括号将相应的字段括起来。

1. 主键约束

主键是用于唯一标识表中某条记录的一个字段或多个字段的组合。在开发中,通常使用没有实际意义的字段作为主键,例如数字类型的字段。

2. 外键约束

外键是来自其他表的主键或唯一键的字段。在MySQL中,外键约束只能在表级上定义。以下是一个包含外键约束的表创建示例:

create table user
(
    user_id int primary key,
    user_name varchar(20) unique,
    user_email varchar(40) not null,
    user_number int,
    foreign key(user_number) references user(user_id)
)

含有外键的表称为外键表,而作为外键字段来源的表称为主键表。删除关联表时,必须先删除外键表,再删除主键表。

3. 唯一键约束

唯一键约束确保一个字段的值在表中是唯一的。在MySQL中,列级的唯一键约束不支持修改约束名,但表级约束支持修改约束名。

4. default约束

default约束保证一条记录中的某个字段一定有值。如果插入数据时未指定默认值字段,必须显式指明该字段为null,否则会报错。

5. check约束

check约束用于保证数据在合法范围内。在MySQL 8.0.16版本之前,check约束虽然可以被解析但会被忽略;从8.0.16版本开始,check约束才真正生效。

三、一对一、一对多、多对多表设计

1. 一对一情况

在一对一关系中,一个表的外键是另一个表的主键。这种关系相对简单,相当于两个表通过主键和外键相互关联。

2. 一对多情况

在一对多关系中,外键只能存在于“多”的那一边。例如,在父母和孩子的关系中,外键应该放在孩子的表中,而不是父母的表中。

3. 多对多情况

多对多关系需要通过新建一张关联表来实现。例如,老师和班级的多对多关系可以通过以下方式实现:

create table if not exists classroom
(
    room_id int primary key,
    room_stu_count int
);

create table if not exists teacher
(
    tea_id int primary key,
    tea_name varchar(20)
);

create table class_tea_mapper
(
    ct_mapper_c_id int,
    ct_mapper_t_id int,
    foreign key(ct_mapper_c_id) references classroom(room_id),
    foreign key(ct_mapper_t_id) references teacher(tea_id)
)

在关联表中,包含两个主表的主键作为外键,并可以添加其他相关字段。主键可以是两个外键的组合。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号