我正在为类分配,我必须使用ERD并创建SQL语句来捕获关系。我问我创建的SQL语句是否捕获了这些关系。特别是,我认为“依赖”是一个弱实体,我不知道如何捕捉这种关系。
以下是我的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))
如果发布作业问题是不可接受的,请随时删除。
我感谢任何帮助。
谢谢!
答案 0 :(得分:1)
你做了很好的尝试。 Works_In是一种关系而非表格。 因此,每个员工都会有一个参考部门表的部门。
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))