学校有一个选课系统,其中包括如下关系模式: 系(系编号: 主键, 系名称: 唯一键 UNIQUE, 系主任: 非空约束, 系所在校区:取值范围只能在南湖校区和浑南校区) 班级(班级编号: 主键, 班级名称: 唯一键, 所属系: 非空) 用MySQL表示,生成代码
时间: 2024-11-25 08:17:49 浏览: 21
在MySQL中,我们可以使用CREATE TABLE语句来创建这两个关系表。这里是一个简单的示例:
```sql
-- 创建"系"表
CREATE TABLE 系 (
系编号 INT PRIMARY KEY,
系名称 VARCHAR(100) NOT NULL UNIQUE,
系主任 VARCHAR(100) NOT NULL,
系所在校区 ENUM('南湖校区', '浑南校区') NOT NULL
);
-- 创建"班级"表
CREATE TABLE 班级 (
班级编号 INT PRIMARY KEY,
班级名称 VARCHAR(100) NOT NULL UNIQUE,
所属系 INT,
FOREIGN KEY (所属系) REFERENCES 系(系编号) ON DELETE CASCADE -- 确保删除班级时关联的系也一起删除
);
```
在这个例子中,`FOREIGN KEY`用于建立班级和系之间的外键关联,`ON DELETE CASCADE`意味着如果系被删除,相关的班级也会随之被删除,避免数据孤立。
相关问题
学校有一个选课系统,其中包括如下关系模式,按要求完成DDL语句: 系(系编号: 主键,系名称: 唯一,系主任: 非空,系所在校区:默认为浑南区) 班级(班级编号:主键,班级名称:唯一,班级类型:只能是"java班'和'UI班'两种类型,所属系: 外 键)
在创建数据库表结构时,我们可以使用SQL(Structured Query Language)语言中的DDL(Data Definition Language)来定义这些关系模式。以下是针对给出的关系模式的DDL语句:
首先,对于系表(Department):
```sql
CREATE TABLE 系 (
系编号 INT PRIMARY KEY,
系名称 VARCHAR(50) UNIQUE NOT NULL,
系主任 VARCHAR(100) NOT NULL,
系所在校区 VARCHAR(50) DEFAULT '浑南区'
);
```
然后,对于班级表(Class):
```sql
CREATE TABLE 班级 (
班级编号 INT PRIMARY KEY,
班级名称 VARCHAR(50) UNIQUE,
班级类型 ENUM('java班', 'UI班') NOT NULL,
所属系 INT,
FOREIGN KEY (所属系) REFERENCES 系(系编号)
);
```
在这个DDL语句中,我们创建了一个外键约束(FOREIGN KEY)使得班级表的“所属系”字段引用系表的“系编号”,确保数据的一致性。
阅读全文