05[1]用主外键实现表关联.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正确百度文库
3.什么是外键 外键约束主要是为了维护两个表之间的一致性关系,是建立在主键的基础之上的, 其值是参考主键的内容。主键的值是惟一的,不能为空,而外键的值可以是重复的、 为空的,外键的数值必须在主键中出现。 在同一张表中可以有多个外键,每一个外键的创建都必须有一个主键相对应,外 键可以是一个列,也可以是多个列的组合。 创建外键的方法
/*创建非成年人读者信息表*/ USE SCHOOL GO /*表格名称junior_member*/ CREATE TABLE junior_member ( member_id INT, adult_member_id INT, member_name CHAR(10), member_gender CHAR(2), CONSTRAINT pk_junior_member_id PRIMARY KEY(member_id), CONSTRAINT fk_junior_ adult_member_id FOREIGN KEY (adult_member_id) REFERENCES adult_member(member_id) ) GO
a.创建表时创建主键 (2)查看约束创建名称 /*查看表格属性*/ USE SCHOOL GO EXECUTE SP_HELP GO
TEST
a.创建表时创建主键 (3)创建表时定义主键名称 USE SCHOOL GO /*创建一个名字叫test1的表格*/ CREATE TABLE test1 ( [id] INT CONSTRAINT pk_test1_id PRIMARY KEY, name CHAR(20), city CHAR(20) ) GO
用主外键实现表关联
1.为学生表、父母表创建一个主键 a.通过图形化界面为学生表创建主键。 右键单击要设为主键的 单元格,选择 “设置主键”命令。
b.通过查询界面创建主键
例如:为父母表创建主键。(代码7-1)
2.什么是主键 主键是表中的一列或者多列数据,用来惟一标识一行数据.在表中,不允许有主键相 同的行存在.在受主键约束的列中,不能有空值(NULL)出现。为了有效实现数据的 管理,每一张表有应该有一个主键,而且只能有一个。 创建主键的方法: a.创建表时,定义主键. b.表创建好后,添加一个主键.
a.创建表时创建主键 (4)创建多列主键 有时候需要有多个列的联合,才能惟一标识一条信息。 USE SCHOOL GO CREATE TABLE book ( isbn INT, ---图书编号 copy_no INT, ---图书副本号 book_name CHAR(20), ---图书名称 CONSTRAINT pk_book_isbn_copy_no PRIMARY KEY(isbn,copy_no) ---定义 表级主键约束 ) GO
b.创建表后添加主键 语法: ALTER TABLE table ADD CONSTRAINT constraint_name PRIMARY KEY(column[,…n])
无法在表'test2' 中可为空的列上定义PRIMARY KEY 约束
错误
USE SCHOOL GO /*创建test2表格*/ CREATE TABLE test2 ( [id] INT, [name] CHAR(20), [city] CHAR(10) ) GO USE SCHOOL GO /*在表格test2上添加一个名称为pk_test2_id主键约束*/ ALTER TABLE test2 ADD CONSTRAINT pk_test2_id PRIMARY KEY(id) GO USE SCHOOL GO /*将表格test2的列id属性设置为not null*/ ALTER TABLE test2 ALTER COLUMN id INT NOT NULL GO ALTER TABLE test2 ADD CONSTRAINT pk_test2_id PRIMARY KEY(id) GO
a.创建表时创建主键 (1)创建表时定义主键.(代码7-2) /*在School数据库中创建一个带主键的test表格,主键列为id*/ USE SCHOOL GO CREATE TABLE TEST ( id INT PRIMARY KEY, [name] CHAR(20), city CHAR(10) ) GO
a.在创建表时,定义外键 (1)创建表时定义外键 /*创建成年人阅读者信息表*/ USE SCHOOL GO /*表格名称为adult_member*/ CREATE TABLE adult_member ( member_id INT, ---成年读者编号 member_name CHAR(10), ---成年读者姓名 memter_job CHAR10), ---成年读者工作 member_gender CHAR(2), ---成年读者性别 CONSTRAINT pk_adult_member_id PRIMARY KEY(member_id) --表格主键 ) GO
(2)创建数据库关系图 为了能够体现表之间的关系,在SQL Server中有一种功能叫做关系图, 体现着关系型数据库中,几个表之间的相互关系。即实体关系图。 右键单击“数据库关系图”对象,选择“新建数据库关系图”命令。
b.创建表后添加外键约束 /*创建全体读者信息表*/ USE SCHOOL GO /*创建名称为member表格*/ CREATE TABLE member ( member_id INT, ---成员编号 member_name CHAR(10), ---成员名称 member_gendar CHAR(2), ---成员性别 member_age INT, ---成员年龄 CONSTRAINT pk_member_id PRIMARY KEY(member_id) ) GO
a.在创建表时,定义外键
b.表创建好后,添加一个外键
a.在创建表时,定义外键 语法: CREATE TABLE table_name ( column_name datatype [CONSTRAINT constraint_name]
{
[FOREIGN KEY] REFERENCES referenced_table_name[(ref_column)] } )