本关任务:在 TESTDB 数据库中创建带有约束的课程表和班级表。 注意事项: 本实践项目是在上一个的基础上完成的,所以首先我们需要导入建好的TESTDB数据库。通过导入sql文件的方式加载数据库,格式为:\i sql文件路径。如下:
时间: 2024-10-21 13:10:34 浏览: 28
数据库项目:TestDB
在SQL中,为了在`TESTDB`数据库中创建带有约束的课程表(`course_table`)和班级表(`class_table`),我们可以分别编写两个CREATE TABLE语句,并添加必要的约束,如主键、唯一性和外键等。这里是一个简单的示例:
```sql
-- 导入数据库前,请确认已连接到TESTDB
-- 如果尚未连接,可以使用以下命令导入:
\c TESTDB
-- 创建课程表 (course_table) 并设置course_id为主键
CREATE TABLE course_table (
course_id SERIAL PRIMARY KEY,
course_name VARCHAR(50) NOT NULL,
course_description TEXT
);
-- 确保course_id连续递增
ALTER SEQUENCE course_table_course_id_seq OWNED BY course_table.course_id;
-- 创建班级表 (class_table) 并设置class_id为主键,同时将course_id设为外键关联到course_table
CREATE TABLE class_table (
class_id SERIAL PRIMARY KEY,
class_name VARCHAR(50) NOT NULL,
teacher_id INTEGER,
FOREIGN KEY (teacher_id) REFERENCES user_table(user_id), -- 假设user_table存在并且有user_id作为主键
course_id INTEGER,
FOREIGN KEY (course_id) REFERENCES course_table(course_id)
);
-- 这里假设user_table用于存储教师信息
```
以上脚本假定数据库中已经有了用户表(`user_table`),并且有`user_id`作为主键。在实际操作中,你需要根据数据库的具体结构和需求调整这些表和字段。
阅读全文