用sqlsever语句实现上面的e-r图
时间: 2023-07-31 12:05:16 浏览: 56
好的,以下是使用 SQL Server 语句创建上面所示的 E-R 图:
```sql
-- 创建员工表
CREATE TABLE Employee (
EmployeeID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Gender VARCHAR(10) NOT NULL,
Birthday DATE NOT NULL,
DepartmentID INT NOT NULL,
PositionID INT NOT NULL,
CONSTRAINT FK_Employee_Department FOREIGN KEY (DepartmentID) REFERENCES Department(DepartmentID),
CONSTRAINT FK_Employee_Position FOREIGN KEY (PositionID) REFERENCES Position(PositionID)
)
-- 创建部门表
CREATE TABLE Department (
DepartmentID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Description VARCHAR(100),
Manager VARCHAR(50) NOT NULL
)
-- 创建岗位表
CREATE TABLE Position (
PositionID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Description VARCHAR(100),
Salary DECIMAL(10, 2) NOT NULL
)
-- 创建教育经历表
CREATE TABLE Education (
EducationID INT PRIMARY KEY,
EmployeeID INT NOT NULL,
SchoolName VARCHAR(50) NOT NULL,
Major VARCHAR(50) NOT NULL,
EducationLevel VARCHAR(50) NOT NULL,
CONSTRAINT FK_Education_Employee FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID)
)
```
以上 SQL 语句创建了四个表:Employee、Department、Position 和 Education,这四个表分别对应 E-R 图中的员工、部门、岗位和教育经历实体。Employee 表中的 DepartmentID 和 PositionID 列分别是外键,关联到 Department 和 Position 表中的 DepartmentID 和 PositionID 列。同时,Education 表中的 EmployeeID 列也是外键,关联到 Employee 表中的 EmployeeID 列。这些外键约束保证了表之间的关系,避免了数据冗余和不一致性。