使用transact_sql语句create table在studentsdb数据库中创建grade表
时间: 2024-11-24 17:41:42 浏览: 5
在Transact-SQL中,创建`grade`表的过程通常会涉及到以下几个步骤,假设我们有一个`studentsdb`数据库:
```sql
USE studentsdb; -- 首先切换到studentsdb数据库
CREATE TABLE grade (
student_id INT NOT NULL,
course_id INT NOT NULL,
score DECIMAL(5,2) CHECK (score >= 0 AND score <= 100),
date_taken DATE,
PRIMARY KEY (student_id, course_id)
); -- 定义grade表结构
-- 这里解释一下各个字段:
-- student_id: 学生ID,作为主键的一部分,不能为空
-- course_id: 课程ID,也作为主键的一部分,不能为空
-- score: 成绩,保留两位小数,范围从0到100
-- date_taken: 考试日期
-- PRIMARY KEY: 设置主键,由student_id和course_id联合确定,确保唯一性
```
这个命令将创建一个名为`grade`的新表,在`studentsdb`数据库中存储学生各门课程的成绩及相关信息。
相关问题
(5)使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。
在 SQL Server 数据库管理系统中,你可以使用 Transact-SQL (T-SQL) 语句 `CREATE TABLE` 来创建一个新表。这里是一个示例,说明如何在名为 `studentsdb` 的数据库中创建名为 `grade` 的表,其中包含一些常见的学生成绩信息字段:
```sql
USE studentsdb; -- 先切换到目标数据库
CREATE TABLE grade (
id INT PRIMARY KEY, -- 学生ID,设定为主键
student_name VARCHAR(100), -- 学生姓名
course_code VARCHAR(20), -- 课程编码
score INT NOT NULL, -- 成绩,设定为非空
date_taken DATE -- 考试日期
);
```
这个例子中,我们创建了一个名为 `grade` 的表,包含五列:自增的整数 `id`、学生的姓名 `student_name`、课程代码 `course_code`、学生的分数 `score` 和考试日期 `date_taken`。`id` 列被设定为主键,确保每条记录的独特性;`score` 列则设置了 `NOT NULL`,表示该字段不允许为 NULL 值。
(1)使用Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 (3)使用Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 (7)使用Transact-SQL语句Drop index删除索引grade_index。 (9)在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。
(1)为student_info表创建主键索引:
```
ALTER TABLE student_info ADD CONSTRAINT PK_student_info PRIMARY KEY (student_id);
```
为curriculum表创建主键索引:
```
ALTER TABLE curriculum ADD CONSTRAINT PK_curriculum PRIMARY KEY (course_id);
```
(3)为grade表的“分数”字段创建一个非聚集索引:
```
CREATE NONCLUSTERED INDEX grade_index ON grade (score);
```
(7)删除索引grade_index:
```
DROP INDEX grade_index ON grade;
```
(9)创建视图v_stu_c并查询学号为0003的学生情况:
```
CREATE VIEW v_stu_c
AS
SELECT student_info.student_id, student_info.student_name, curriculum.course_id
FROM student_info
INNER JOIN grade
ON student_info.student_id = grade.student_id
INNER JOIN curriculum
ON grade.course_id = curriculum.course_id;
SELECT *
FROM v_stu_c
WHERE student_id = '0003';
```
阅读全文