***********1. 创建选课表SC, 属性为Sno、Cno、Tno和Grade, 数据类型分别为char(5)、char(3)、char(5)和decimal(3,1)。 主码为(Sno,Cno,Tno),主码名为PK_SC*********** *********** End ***********. go ***********2. 创建Student的主码PK_Sno *********** *********** Begin *********** *********** End *********** go ***********3. 创建Course的主码PK_Cno *********** *********** Begin *********** *********** End *********** go ***********4. 创建Teacher的主码PK_Tno *********** *********** Begin *********** *********** End *********** go ***********5. 向Student中插入一个学生的完整信息('21005','测试君','男','2003-09-09','物联网工程',35) *********** Begin ***********
时间: 2025-05-30 13:11:43 浏览: 17
### 创建数据库表及主键
在关系型数据库中,可以通过 SQL 语句来实现表的创建、主键定义以及数据插入。以下是针对问题的具体解决方案。
#### 1. 创建选课表 SC 并定义主码 PK_SC
选课表 `SC` 的结构包括学生的学号 (`Sno`) 和课程编号 (`Cno`),并通过这两者组合形成复合主键以确保每条记录的唯一性[^2]。
```sql
CREATE TABLE SC (
Sno CHAR(9),
Cno CHAR(4),
Grade DECIMAL(4, 1),
PRIMARY KEY (Sno, Cno) -- 定义复合主键 PK_SC
);
```
#### 2. 为 Student 表创建主码 PK_Sno
学生表 `Student` 中的学号字段 `Sno` 被指定为主键,用于唯一标识每位学生的信息[^3]。
```sql
CREATE TABLE Student (
Sno CHAR(9) NOT NULL,
Sname VARCHAR(20) NOT NULL,
Ssex ENUM('男', '女') NOT NULL,
Sage INT NOT NULL,
Sdept VARCHAR(50),
PRIMARY KEY (Sno) -- 主键 PK_Sno
);
```
#### 3. 为 Course 表创建主码 PK_Cno
课程表 `Course` 使用课程编号字段 `Cno` 作为主键,以区分不同课程的内容[^2]。
```sql
CREATE TABLE Course (
Cno CHAR(4) NOT NULL,
Cname VARCHAR(40) NOT NULL,
Cpno CHAR(4), -- 前置课程编号
Ccredit INT NOT NULL,
PRIMARY KEY (Cno) -- 主键 PK_Cno
);
```
#### 4. 为 Teacher 表创建主码 PK_Tno
教师信息表 `Teacher` 利用教师编号字段 `Tno` 来设置主键,从而保证每一位教师的数据独立性和可追溯性[^1]。
```sql
CREATE TABLE Teacher (
Tno CHAR(8) NOT NULL,
Tname VARCHAR(20) NOT NULL,
Ttitle VARCHAR(20),
Tdept VARCHAR(50),
PRIMARY KEY (Tno) -- 主键 PK_Tno
);
```
#### 5. 向 Student 表插入一条完整的学生记录
通过 `INSERT INTO` 语句完成对学生表的一次数据写入操作,需提供所有必填字段的值[^2]。
```sql
INSERT INTO Student (Sno, Sname, Ssex, Sage, Sdept)
VALUES ('20210001', '张三', '男', 20, '计算机科学与技术');
```
以上代码片段展示了如何构建所需的数据库表格及其关联属性,并实现了基础数据录入功能。
阅读全文
相关推荐

















