一道数据库题,求高手帮忙,谢谢 20
提交的word文档应包含以下内容:(1)概括性的描述一个应用(参见以下附录)的数据库系统实现的功能;自己任选附录中的一个项目。(2)用E-R模型表示。注意实体、属性和联系...
提交的word文档应包含以下内容:
(1)概括性的描述一个应用(参见以下附录)的数据库系统实现的功能;自己任选附录中的一个项目。
(2)用E-R模型表示。注意实体、属性和联系的划分与确定。将E-R模型转换为关系模型,并指出关系模型中各关系模式的主键。(至少包括2个以上实体)
(3)使用SQL定义上述各关系模式,并表示出个关系模式的主键。(即用sql语言建表)
(4)自行插入部分数据,不少于五行。
(5)自行设计几个查询语句,并用sql语言描述出来。(至少包括三个简单查询,两个连接或两个嵌套查询)
附录:
一、 连锁超市数据库系统
二、 宾馆管理系统
三、 工资管理系统
四、 仓库物资数据库管理
五、 综合性运动会数据库系统
六、 网络商城数据库管理系统
七、 唱片公司数据库系统
八、 银行数据库系统
九、 研究院数据库系统
十、 电影数据库系统 展开
(1)概括性的描述一个应用(参见以下附录)的数据库系统实现的功能;自己任选附录中的一个项目。
(2)用E-R模型表示。注意实体、属性和联系的划分与确定。将E-R模型转换为关系模型,并指出关系模型中各关系模式的主键。(至少包括2个以上实体)
(3)使用SQL定义上述各关系模式,并表示出个关系模式的主键。(即用sql语言建表)
(4)自行插入部分数据,不少于五行。
(5)自行设计几个查询语句,并用sql语言描述出来。(至少包括三个简单查询,两个连接或两个嵌套查询)
附录:
一、 连锁超市数据库系统
二、 宾馆管理系统
三、 工资管理系统
四、 仓库物资数据库管理
五、 综合性运动会数据库系统
六、 网络商城数据库管理系统
七、 唱片公司数据库系统
八、 银行数据库系统
九、 研究院数据库系统
十、 电影数据库系统 展开
展开全部
(1)
SELECT Ename, Dnumber, Salary FROM EMPLOYEE
JOIN
(SELECT Dnumber, avg(Salary) AS Asalary FROM EMPLOYEE
GROUP BY Dnumber) A
ON Dnumber = A.Dnumber
WHERE Salary > A.Asalary
ORDER BY Dnumber
(2)
SELECT Ename FROM EMPLOYEE
JOIN
(SELECT ESSN, COUNT(Pnumber) AS Pcount FROM WORKS_ON
GROUP BY ESSN
HAVING COUNT(Pnumber) > 3) A --未考虑同一个职工在不同时期参加同一个项目情况
ON ESSN = A.ESSN
(3)
CREATE VIEW DEPTPRO AS
(SELECT Dnumber, Pnumber, SUM(Hours) AS Thours FROM WORKS_ON
GROUP BY Dnumber, Pnumber); --每个部门的所有职工在每个项目中的工作总时数
SELECT A.Pname FROM DEPTPRO
JOIN DEPARTMENT A
ON Dnumber = A.Dnumber
JOIN PROJECT B
ON Pnumber = B.Pnumber
WHERE B.Pname = 'Middleware'
AND Thours = MAX(Thours);--在项目'Middleware'中工作时数最多的部门名称
SELECT Ename, Dnumber, Salary FROM EMPLOYEE
JOIN
(SELECT Dnumber, avg(Salary) AS Asalary FROM EMPLOYEE
GROUP BY Dnumber) A
ON Dnumber = A.Dnumber
WHERE Salary > A.Asalary
ORDER BY Dnumber
(2)
SELECT Ename FROM EMPLOYEE
JOIN
(SELECT ESSN, COUNT(Pnumber) AS Pcount FROM WORKS_ON
GROUP BY ESSN
HAVING COUNT(Pnumber) > 3) A --未考虑同一个职工在不同时期参加同一个项目情况
ON ESSN = A.ESSN
(3)
CREATE VIEW DEPTPRO AS
(SELECT Dnumber, Pnumber, SUM(Hours) AS Thours FROM WORKS_ON
GROUP BY Dnumber, Pnumber); --每个部门的所有职工在每个项目中的工作总时数
SELECT A.Pname FROM DEPTPRO
JOIN DEPARTMENT A
ON Dnumber = A.Dnumber
JOIN PROJECT B
ON Pnumber = B.Pnumber
WHERE B.Pname = 'Middleware'
AND Thours = MAX(Thours);--在项目'Middleware'中工作时数最多的部门名称
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询