博客
关于我
数据库原理与应用(SQL Server)教程 主键、外键以及联合主键、复合主键和设置种子数目和增量
阅读量:571 次
发布时间:2019-03-09

本文共 1330 字,大约阅读时间需要 4 分钟。

文章目录

这篇文章将深入探讨SQL Server中主键、外键、联合主键和复合主键的创建操作,使用T-SQL语句进行操作,所有相关表创建在Sales数据库中。

一、主键、联合主键和复合主键

(一)主键

主键在SQL Server中通过在要设置的字段后添加PRIMARY KEY约束实现,确保表中唯一性。

以下是创建主键的示例表:

CREATE TABLE Category(    CategoryID int NOT NULL PRIMARY KEY,    CategoryName varchar(20) NOT NULL,    Description varchar(80) NULL)

(二)联合主键

联合主键通过在表中指定多个字段组合来唯一确定记录的方式实现。

以下是创建联合主键的示例表:

CREATE TABLE grade(    student char(10) NOT NULL,    coursestudent char(10) NOT NULL,    grade int NOT NULL,    PRIMARY KEY(student, coursestudent))

(三)复合主键

复合主键是指一个表中多个字段共同组成主键的概念,每个字段都必须唯一。

以下是创建复合主键的示例表:

CREATE TABLE Test(    NO_1 char(10) NULL,    NO_2 char(20) NOT NULL,    NO_3 varchar(10) NOT NULL,    PRIMARY KEY(NO_1, NO_2))

二、外键、设置种子数目和增量

(一)外键概念

外键用于在多个表之间建立关联关系,确保数据的一致性。例如,主表中的主键字段在子表中作为外键引用。

(二)添加外键

可以通过在表创建时直接指定外键约束,或者在表已存在的情况下通过 ALTER TABLE命令添加外键。

以下是通过表创建时添加外键的示例:

CREATE TABLE Orders(    OrderID int IDENTITY(1001,1) NOT NULL PRIMARY KEY,    CustomerID char(3) NOT NULL ,    SaleID char(3) NOT NULL,    OrderDate datetime NULL,    Notes varchar(80) NULL,    FOREIGN KEY CustomerID REFERENCES Orders,    FOREIGN KEY SaleID REFERENCES Orders)

(三)设置种子数目和增量

IDENTITY函数用于生成自动递增的数值,可以设置种子值和增量值。

以下是使用IDENTITY函数设置种子和增量的示例:

CREATE TABLE Test(    NO_1 char(10) IDENTITY(1000,1) NULL,    NO_2 char(20) NOT NULL,    NO_3 varchar(10) NOT NULL,    PRIMARY KEY(NO_1, NO_2))

转载地址:http://yawpz.baihongyu.com/

你可能感兴趣的文章
Python 中的继承机制是什么样的?
查看>>
python读写excel之xlrd&xlwt&xlutils组合
查看>>
Python 中的装饰器是什么?
查看>>
Python 中的装饰器是如何工作的,有哪些实际应用场景?
查看>>
python读excel
查看>>
Python 中读取 CSV 文件-ChatGPT4o作答
查看>>
Python 之 filecmp
查看>>
python请求html_使用Python请求获取HTML?
查看>>
Python 之匿名函数和偏函数
查看>>
python 之栈的实现
查看>>
python语音播放
查看>>
python语言:装饰器原理
查看>>
Python 交互式数据可视化详解
查看>>
python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
查看>>
Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
查看>>
Python 从数据库中存储和检索密码的最安全方法
查看>>
Python语言及其应用 - 知识点遍历
查看>>
Python 优化提速的 8 个小技巧
查看>>
Python 余弦相似度与皮尔逊相关系数 计算
查看>>
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>