SQL Server中字段、记录、表、列、行、属性、元组、主键、外键的含义

目录

零、码仙励志

一、字段

二、记录

三、表

四、字段、记录、表的关系

五、列

六、行

七、属性

八、元组

九、主键

十、外键


零、码仙励志

坚持和放弃,都不会绝对正确。最恨不过一句,逼不得已。最大大不过一句,老子乐意

一、字段

一个事物的某一个特征

二、记录

字段的组合,表示的是一个具体的事物

三、表

记录的组合,表示的是同一类型事物的集合

四、字段、记录、表的关系

字段是事物的属性

记录是事物本身

表是事物的集合

五、列

表中所有事物的某一个特征的集合

六、行

记录的另一种称谓

七、属性

字段的另一种称谓

八、元组

记录的另一种称谓

九、主键

定义:

 

能够唯一标示一个事物的一个字段或者多个字段的组合,被称为主键

特点:

1.含有主键的表叫做主键表
2.主键通常都是整数,不建议使用字符串当主键(如果主键是用于集群式服务,才可以考虑用字符串当主键)
3.主键的值通常都不允许修改,除非本记录被删除
4.主键不要定义成id,而要定义成表名Id或者表名_ id
5.要用代理主键,不要用业务主键
6.任何一张表,强烈建议不要使用有业务含义的字段充当主键
7.我们通常都是在表中单独添加一个整型的编号充当主键字段
8.主键是否连续增长不是十分重要

十、外键

定义:

如果一个表中的若干个字段是来自另外若干个表的主键或唯一键,则这若干个字段就是外键

注意:

1.外键通常是来自另外表的主键而不是唯一键,因为唯一键可能为null
2.外键不一定是来自另外的表,也可能来自本表的主键
3.含有外键的表叫外建表,外键字段来自的那一张表叫做主键表

本篇博客来自于郝斌老师视频教程的总结以及笔记的整理,仅供学习交流,切勿用于商业用途,如有侵权,请联系博主删除,博主QQ:194760901

### MySQL主键的概念及用法 #### 主键 (Primary Key) 主键是一种用于唯一标识中每一记录的关字。它确保每一条记录都有唯一的标识符,从而防止数据冗余并提高查询效率。在 MySQL 数据库中,主键具有以下几个特点: - 唯一性:主键中的值必须是唯一的,不允许存在重复值[^1]。 - 非空性:主键中的值不能为空(NULL)。这意味着,在插入新记录时,必须为主键指定一个有效的值。 创建主键的方法如下所示: ```sql CREATE TABLE example_table ( id INT PRIMARY KEY, name VARCHAR(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 另一种方式是在已有结构的基础上添加主键约束: ```sql ALTER TABLE example_table ADD PRIMARY KEY (id); ``` #### (Foreign Key) 是用来建立和加强两个之间数据链接的一种约束条件。通过可以实现参照完整性,即当某个的数据发生变化时,能够自动更新或删除其他相关联中的对应数据。具体来说,如果某张的一个字段引用了另一张主键,则该字段称为[^2]。 在的设计过程中需要注意以下几点: - **关联关系**:通常指向父级(主)的主键或者候选。 - **级联操作**:可以通过设置 ON DELETE 和 ON UPDATE 子句来定义如何处理因所引发的相关动作,比如 CASCADE 示同步执相应的删除/更新操作;RESTRICT 则阻止任何可能破坏这种依赖性的变动发生。 下面是一个简单的例子展示如何声明以及其基本语法形式: ```sql -- 创建订单详情,并设定 product_id 字段 CREATE TABLE order_details ( detail_id INT AUTO_INCREMENT PRIMARY KEY, quantity INT NOT NULL, price DECIMAL(8 , 2 ) NOT NULL, product_id INT, CONSTRAINT fk_product FOREIGN KEY(product_id) REFERENCES products(id) ON DELETE SET NULL -- 如果产品被删掉则将此条目置为空 ON UPDATE CASCADE -- 当产品的 ID 改变时随之更改这里的值 ); ``` #### 使用场景对比分析 | 特性 | 主键 | | |-----------------|------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------| | 功能定位 | 确保实体集内部各元组互异 | 维护不同实体间的一致性和连贯性 | | 是否允许重复 | 不允许 | 可以 | | 是否接受 null 值 | 否 | 是 | #### 自动生成主键的方式 除了手动分配数值之,还可以利用数据库内置机制来自动生成主键值,这有助于简化开发流程并且减少错误几率。以下是几种常见的做法[^3]: - 自增长属性 (`AUTO_INCREMENT`) : 对于整型类型的而言最为常用; - `UUID()` 函数 :生成全球范围内独一无二的字符串序号 ,适用于分布式环境下的跨服务器协调需求场合下; - `UUID_SHORT()` 方法 :提供更紧凑版本的数字编码方案相比标准版 uuid 更节省存储空间资源消耗. --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值