0

我正在为班级做作业,我必须参加 ERD 并创建 SQL 语句来捕获关系。我在问我创建的 SQL 语句是否捕获了这些关系。特别是,我认为“依赖”是一个弱实体,我不知道如何捕捉这种关系。

ERD:http: //imgur.com/mMLsMgS

ERD

这是我的 SQL 语句:

CREATE TABLE Employees (
    ssn INTEGER, salary REAL, phone VARCHAR(24), PRIMARY KEY (ssn))

CREATE TABLE Departments (
    dno INTEGER, dname VARCHAR(150), budget REAL, PRIMARY KEY (dno), 
    managerid INTEGER, FOREIGN KEY (managerid) REFERENCES Employees (ssn))

CREATE TABLE Works_in (
    eid INTEGER, did INTEGER, PRIMARY KEY (ssn, did), FOREIGN KEY (ssn) 
    REFERENCES  Employees(eid), FOREIGN KEY (did) REFERENCES Dept (did))

CREATE TABLE Child (
    parentssn INTEGER, name VARCHAR(50), age INTEGER, FOREIGN KEY (parentssn)   REFERENCES Employees (ssn))

如果发布家庭作业问题是不可接受的,请随时删除。

我感谢任何和所有的帮助。

谢谢!

4

1 回答 1

1

你做了一个很好的尝试。Works_In 是关系而不是表。所以每个员工都会有一个引用部门表的部门ID。

CREATE TABLE Employees (
    ssn INTEGER, salary REAL, phone VARCHAR(24),deptno INTEGER, PRIMARY KEY (ssn),
FOREIGN KEY (parentdept) REFERENCES Departments(dno))

CREATE TABLE Departments (
    dno INTEGER, dname VARCHAR(150), budget REAL, PRIMARY KEY (dno), 
    managerid INTEGER, FOREIGN KEY (managerid) REFERENCES Employees (ssn))


CREATE TABLE Child (
    parentssn INTEGER, name VARCHAR(50), age INTEGER, FOREIGN KEY (parentssn)   
REFERENCES Employees (ssn))
于 2013-02-09T03:07:35.893 回答