create table classroom (building varchar(15), room_number varchar(7), capacity number(4,0), primary key (building, room_number) ); create table department (dept_name varchar(20), building varchar(15), budget number(12,2) check (budget > 0), primary key (dept_name) ); create table course (course_id varchar(5), title varchar(50), dept_name varchar(20), credits number(2,0) check (credits > 0), primary key (course_id), foreign key (dept_name) references department on delete set null );
时间: 2023-06-17 09:03:43 浏览: 42
这是三个关系表的创建语句,分别是教室表(classroom)、学院表(department)和课程表(course)。其中教室表和学院表都有主键,而课程表除了主键(course_id)还有一个外键(dept_name),引用了学院表的主键(dept_name),并且在删除学院表中的某条记录时,与之对应的课程表中的dept_name会被设置为null。表中的字段类型和约束条件都有明确的定义。
相关问题
classroom(building, room_number, capacity) 主键:building, room_number department(dept_name, building, budget) 主键:dept_name course(course_id, title, dept_name, credits) 主键:course_id 外键:dept_name instructor( ID , name, dept_name, salary) 主键:ID 外键:dept_name
这是一个简单的数据库模型,包含四个实体:classroom、department、course和instructor。
classroom实体包含三个属性:building、room_number和capacity。这个实体的主键是building和room_number。
department实体包含三个属性:dept_name、building和budget。这个实体的主键是dept_name。
course实体包含四个属性:course_id、title、dept_name和credits。这个实体的主键是course_id,同时它还有一个外键dept_name,指向department实体的主键dept_name。
instructor实体包含四个属性:ID、name、dept_name和salary。这个实体的主键是ID,同时它还有一个外键dept_name,指向department实体的主键dept_name。
这个数据库模型的设计允许我们记录每个教室的位置和容量,每个部门的名称、所在建筑物和预算,每门课程的编号、名称、所属部门和学分,以及每个教师的编号、姓名、所属部门和工资。我们可以使用这些信息来管理课程、教学设施和人员,并进行查询和分析。
创建教师信息表和开课信息表(其他六张表系统已为你创建完成),使用 universityDB 数据库,创建的表命名依次为 instructor 和 section。教师信息表的具体属性及约束如下: 字段名称 类型 备注 约束 ID varchar(5) 教师号 主键 name varchar(20) 教师名字 非空 dept_name varchar(20) 教师所在的系 外键 salary numeric(8,2) 薪资 底薪大于 29000 开课信息表(section) 开课信息表的具体属性及约束如下: 字段名称 类型 备注 约束 course_id varchar(8) 课程号 外键 sec_id varchar(8) 课程段标识 无 semester varchar(6) 学期 只能插入 Fall,Winter,Spring,Summer四个值。 year numeric(4,0) 年份 1701 < year < 2100 building varchar(15) 课程所在建筑 外键 room_number varchar(7) 课程所在教室号 外键 time_slot_id varchar(4) 时间档序号 无 section 表的主键由 course_id,sec_id,semester,year 四个属性共同组成。
教师信息表的创建语句如下:
```sql
CREATE TABLE instructor (
ID varchar(5) PRIMARY KEY,
name varchar(20) NOT NULL,
dept_name varchar(20),
salary numeric(8,2) CHECK (salary > 29000)
);
```
开课信息表的创建语句如下:
```sql
CREATE TABLE section (
course_id varchar(8),
sec_id varchar(8),
semester varchar(6) CHECK (semester IN ('Fall', 'Winter', 'Spring', 'Summer')),
year numeric(4,0) CHECK (year > 1701 AND year < 2100),
building varchar(15),
room_number varchar(7),
time_slot_id varchar(4),
PRIMARY KEY (course_id, sec_id, semester, year),
FOREIGN KEY (course_id) REFERENCES course(course_id),
FOREIGN KEY (building, room_number) REFERENCES classroom(building, room_number),
FOREIGN KEY (time_slot_id) REFERENCES time_slot(time_slot_id)
);
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)