数据库SQL语言,如何在一个表中建立由两个外码组成的主码?请指教!

arran06 2010-04-05 11:25:54
例如:
建立学生选课系统,涉及学生表、课程表、选课表
学生表的属性有学号、姓名、性别、出生年月、所在系等,主码是学号
课程表的属性有课程号、课程名、先行课、学分等,主码是课程号
选课表的属性有学号、课程号、成绩等,主码应由学生表中的学号和课程表中的课程号组成,请问如何在SQL中建表,实现主码的设置?
...全文
5030 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2010-04-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 arran06 的回复:]
好的,谢谢!那如何编写代码对表进行操作呢?
[/Quote]
如一楼或四楼.
arran06 2010-04-05
  • 打赏
  • 举报
回复
好的,谢谢!那如何编写代码对表进行操作呢?
htl258_Tony 2010-04-05
  • 打赏
  • 举报
回复
--建立学生选课系统,涉及学生表、课程表、选课表
--学生表的属性有学号、姓名、性别、出生年月、所在系等,主码是学号
create table 学生表(
学号 varchar(20) primary key,
姓名 varchar(10),
性别 varchar(10),
出生年月 datetime,
所在系 varchar(200)
)
--课程表的属性有课程号、课程名、先行课、学分等,主码是课程号
create table 课程表(
课程号 varchar(20) primary key,
课程名 varchar(50),
先行课 varchar(50),
学分 smallint
)

--选课表的属性有学号、课程号、成绩等,主码应由学生表中的学号和课程表中的课程号组成,请问如何在SQL中建表,实现主码的设置?
create table 选课表(
学号 varchar(20),
课程号 varchar(20),
成绩 smallint,
primary key(学号,课程号)
)
dawugui 2010-04-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 arran06 的回复:]
嗯,除了代码,操作应该怎么操作,在表中插入数据时是可以设立一个属性为主码的,但是要设立两个属性为一个表的主码应该怎么操作呢?
[/Quote]
在企业管理器或者表设计中,点中一个列,然后安装ctrl键,再用鼠标点另外一个列,然后点象钥匙的那个图标即可.
arran06 2010-04-05
  • 打赏
  • 举报
回复
嗯,除了代码,操作应该怎么操作,在表中插入数据时是可以设立一个属性为主码的,但是要设立两个属性为一个表的主码应该怎么操作呢?
dawugui 2010-04-05
  • 打赏
  • 举报
回复

CREATE TABLE [dbo].[tb] (
[id] [char] (10) ,
[no] varchar(10)
PRIMARY KEY ([id] , [no])
)
GO

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧