SQL语言创建表时候怎么定义主码和外码

有学生信息表student(sno,sname,sdept,sage,sex)sno为主码课程信息表c(cno,cname,cbook)cno为主码学生选课表sc(sno... 有学生信息表student(sno,sname,sdept,sage,sex) sno为主码
课程信息表c(cno,cname,cbook) cno为主码
学生选课表sc(sno,cno,grade) 其中sno,cno是外码

如何进行SQL语言编写程序,谢谢
展开
 我来答
仁昌爱娱乐
高粉答主

2020-02-05 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459870

向TA提问 私信TA
展开全部

SQL语言创建表时候用Primary Key(属性名)定义主码,用Foreign Key(属性名)定义外码。

主码是一种唯一关键字,表定义的一部分。一个表的主码可以由多个关键字共同组成,并且主码的列不能包含空值。主码是可选的,并且可在 CREATE TABLE语句中用Primary Key(属性名)定义。

将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键,用Foreign Key(属性名)定义。

如:

CREATE TABLE Customer

(SID integer,

CID integer,

Last_Name varchar(30),

First_Name varchar(30),

PRIMARY KEY (SID),Foreign Key(CID 名));

扩展资料:

主码不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。实际上,因为主码除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主码需要更新,则说明主码应对用户无意义的原则被违反了。

主码应当由计算机自动生成。如果由人来对主码的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主码的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

nomanland
2006-07-07 · TA获得超过1218个赞
知道小有建树答主
回答量:958
采纳率:0%
帮助的人:617万
展开全部
creat table student
(
sno char(20) not null primary key,
sname......,
.....
)

creat table c
(
cno int not null primary key,
.....
)

creat table sc
(
.......
constraint fk foreign key (sno,cno)
references student(sno)
references c(cno)

)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式