表一:学生情况信息表 XS
学号 姓名 专业名 性别 出生时间 总学分 备注
主键表二:课程表 KC
课程号 课程名 开课学期 学时 学分
主键表三 学生与课程表 XS_KC
学号 课程号 成绩 学分
主键 主键
前面两个表,我会,请问第三个表如何建,谢谢
create table kc (
课程号 char(3) not null primary key,
课程名 char(16) not null,
开课学期 tinyint not null check ((开课学期>=1)and(开课学期<=8)),
学时 tinyint not null,
学分 tinyint null
)
go
create table xs(
学号 char(6) not null primary key,
姓名 char(8) not null,
专业名 char(10) null,
性别 bit not null default '1',
出生时间 smalldatetime not null,
总学分 tinyint null,
备注 text null,
constraint chk_sex check (性别 in ('1','0') )
)
go
学号 姓名 专业名 性别 出生时间 总学分 备注
主键表二:课程表 KC
课程号 课程名 开课学期 学时 学分
主键表三 学生与课程表 XS_KC
学号 课程号 成绩 学分
主键 主键
前面两个表,我会,请问第三个表如何建,谢谢
create table kc (
课程号 char(3) not null primary key,
课程名 char(16) not null,
开课学期 tinyint not null check ((开课学期>=1)and(开课学期<=8)),
学时 tinyint not null,
学分 tinyint null
)
go
create table xs(
学号 char(6) not null primary key,
姓名 char(8) not null,
专业名 char(10) null,
性别 bit not null default '1',
出生时间 smalldatetime not null,
总学分 tinyint null,
备注 text null,
constraint chk_sex check (性别 in ('1','0') )
)
go
[学号] [char] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[课程号] [char] (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[成绩] [decimal](18, 0) NULL ,
[学分] [int] NULL
) ON [PRIMARY]
GOALTER TABLE [dbo].[xs_kc] WITH NOCHECK ADD
CONSTRAINT [PK_xs_kc] PRIMARY KEY CLUSTERED
(
[学号],
[课程号]
) ON [PRIMARY]
GOALTER TABLE [dbo].[xs_kc] ADD
CONSTRAINT [FK_xs_kc_kc] FOREIGN KEY
(
[课程号]
) REFERENCES [dbo].[kc] (
[课程号]
),
CONSTRAINT [FK_xs_kc_xs] FOREIGN KEY
(
[学号]
) REFERENCES [dbo].[xs] (
[学号]
)
GO
解释一下,谢谢
这个可以去掉,写成这样:
学号 char(6) NOT NULL
CONSTRAINT [PK_xs_kc] PRIMARY KEY CLUSTERED //为什么要 CLUSTERED啊??
(
[学号],
[课程号]
) ON [PRIMARY]
GO
其实你用企业管理器建表就可以,然后生成SQL脚本,有这功能的.
CONSTRAINT [PK_xs_kc] PRIMARY KEY CLUSTERED //为什么要 CLUSTERED啊??
(
[学号],
[课程号]
) ON [PRIMARY]
GO
我也不懂??
(
学号 char(6) NOT NULL,
课程号 char(3) NOT NULL,
成绩 tinyint NOT NULL,
学分 tinyint NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE dbo.XS_KC ADD CONSTRAINT
PK_XS_KC PRIMARY KEY CLUSTERED
(
学号,
课程号
) ON [PRIMARY]GO
CREATE TABLE xs_kc(
学号 char(6) NOT NULL ,
课程号 char(3) NOT NULL ,
成绩 decimal(18, 0) NULL ,
学分 int NULL ,
CONSTRAINT PK_xs_kc PRIMARY KEY CLUSTERED(学号,课程号), --主键
CONSTRAINT FK_xs_kc_kc FOREIGN KEY(课程号) REFERENCES dbo.kc (课程号), --外键
CONSTRAINT FK_xs_kc_xs FOREIGN KEY(学号) REFERENCES dbo.xs (学号) --外键
)
(
学号 char(6) not null,
课程号 char(3) not null,
成绩 tinyint null,
学分 tinyint null
primary key(学号,课程号)
)