SQL – 备用键
键是任何关系数据库的重要组成部分。有各种类型的键,其中之一是备用键。包含成为候选键所需的所有属性的键称为备用键。这些基本上是辅助候选键,可以唯一标识表中的一行。因此,备用键有时也称为“辅助键”。
换句话说,我们可以将备用键定义为除主键之外的一组候选键。一个给定的表可以有许多候选键,数据库管理员从所有这些候选键中只选择一个作为主键。因此,其他不用作主键的候选键是“备用键”。
关于备用键的一些要点如下:
- 主键不能是备用键。对于具有必须是主键的单个候选键的表,将不包含任何备用键。
- 外键不能是备用键,因为它仅用于引用另一个表。
- 备用 Key 应该是唯一的。
- 备用键可以是一组单个属性或多个属性。
- 它也可以为 NULL。
在本文中,我们将了解如何使用示例表在 SQL 中创建 ALTERNATE 键,如图所示。
示例输入:考虑客户信息表,其中包含有关从电子商务站点购买产品的客户的数据。此表参考产品信息表以了解客户购买的产品的详细信息。用于引用的通用属性是“产品 ID”,也称为外键。
Product Information | ||
---|---|---|
Product ID | Product Name | Price |
1001 | Washing Soap | 25 |
1020 | Shampoo | 150 |
1030 | Notebook | 200 |
1045 | Headphone | 1000 |
Customer Information | |||||
---|---|---|---|---|---|
Customer ID | Customer Name | Email Address | Shipping Address | Pan Number | Product ID |
1 | Madhulika | abc@gmail.com | XYZ-Colony, Patna | XXABX10011 | 1030 |
2 | Tanmoy | tdq@gmail.com | ABC-Colony, Guwahati | DDABX10034 | 1001 |
3 | Ritik | def@gmail.com | XYZ_Street, Chennai | ACQBX10555 | 1045 |
4 | Satadru | sm11@gmail.com | Park_Street, Kolkata | ZZABX20035 | 1045 |
在客户信息表中,客户 ID、泛号、电子邮件地址是唯一的,因为它可以唯一标识给定表中的一行。 PAN 号码对每个人都是唯一的,客户 ID 也是电子商务网站提供的唯一号码,用于区分在其购物网站上注册的大量客户。
用户只需使用一个电子邮件地址即可在购物网站上注册。如果他/她想使用相同的电子邮件创建另一个帐户,则会显示一条消息, “该电子邮件地址的帐户已存在,请登录”。因此,每个消费者都将拥有一个唯一的电子邮件地址。因此,所有这些属性都可以唯一标识表中的一行。
The candidate key set for the above table is : { Customer ID, Pan Number, Email Address }
例如,该电子商务站点的数据库管理员选择客户 ID 作为主键。因此,PAN 号码和电子邮件地址将是备用密钥或辅助密钥。备用键具有成为主键的所有属性,因此是备用选项。
SQL 中的 ALTERNATE 键是使用 SQL 约束UNIQUE定义的。
UNIQUE(col_name(s))
col_name(s): The name of the column(s) in the table which need to be unique.
基本 SQL 查询:
1. 创建数据库
CREATE DATABASE database_name
2. 创建表
CREATE TABLE Table_name(
col_1 TYPE col_1_constraint,
col_2 TYPE col_2 constraint,
col_3 TYPE UNIQUE,
col_4 TYPE REFERENCES Table_Name(col_name),
.....
)
col: The name of the columns.
TYPE: Data type whether an integer, variable character, etc
col_constraint: Constraints in SQL like PRIMARY KEY, NOT NULL, UNIQUE, REFERENCES, etc.
col_3: Definining an ALTERNATE KEY using constraint UNIQUE
col_4: Definining an FOREIGN KEY using constraint REFERENCES
3. 插入表格
INSERT INTO Table_name
VALUES(val_1, val_2, val_3, ..........)
val: Values in particular column
4. 查看表格
SELECT * FROM Table_name
输出 :
下表显示了所有键的图示: