写出对应的数据库详细程序内容
时间: 2024-12-16 19:25:07 浏览: 1
根据提供的文档内容,以下是创建表 `student`、`dept1` 和 `emp1` 并设置相应约束的 SQL 语句:
### 创建表 `student`
假设表 `student` 的结构如下(具体字段未提供,这里仅示例):
```sql
CREATE TABLE student (
student_id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
department_id INT,
FOREIGN KEY (department_id) REFERENCES dept1(Dno)
);
```
### 创建表 `dept1`
```sql
CREATE TABLE dept1 (
Dno DECIMAL(3) PRIMARY KEY,
NAME VARCHAR(10) UNIQUE,
LOC VARCHAR(20)
);
-- 添加唯一约束
ALTER TABLE dept1 ADD CONSTRAINT UN_DEPT1_NAME UNIQUE (NAME);
```
### 创建表 `emp1`
```sql
CREATE TABLE emp1 (
Eno DECIMAL(4) PRIMARY KEY,
NAME VARCHAR(10) UNIQUE,
Salary DECIMAL(6,2) CHECK (Salary BETWEEN 2000 AND 5000),
Dno DECIMAL(3),
FOREIGN KEY (Dno) REFERENCES dept1(Dno) ON DELETE CASCADE
);
-- 添加主键约束
ALTER TABLE emp1 ADD CONSTRAINT PK_EMP1 PRIMARY KEY (Eno);
-- 添加检查约束
ALTER TABLE emp1 ADD CONSTRAINT CHK_SALARY CHECK (Salary BETWEEN 2000 AND 5000);
```
### 总结
- **表 `dept1`**:
- 主键: `Dno`
- 唯一约束: `NAME`
- **表 `emp1`**:
- 主键: `Eno`
- 唯一约束: `NAME`
- 检查约束: `Salary` 范围为 2000 到 5000
- 外键: `Dno` 引用 `dept1.Dno`,级联删除
这些 SQL 语句可以用于创建所需的表并设置相应的约束。
阅读全文