【题目解析】 1. 将含有嵌套子查询的SQL语句转换为不包含嵌套子查询的SQL语句: 原SQL查询:`SELECT cno, name FROM card NATURAL JOIN detail WHERE depart='CS' AND (cdate, pno) IN (SELECT cdate, pno FROM detail WHERE cno='c0002')` 转换后的SQL语句:`SELECT c.cno, c.name FROM card c, detail d WHERE c.cno = d.cno AND c.depart = 'CS' AND EXISTS (SELECT 1 FROM detail WHERE cno='c0002' AND (cdate = d.cdate AND pno = d.pno))` 2. 将SQL查询转换为等价的关系代数表达式: `πcno, name (σdepart='CS' ∧ ∃d1 (d.cno=d1.cno ∧ d.cdate=d1.cdate ∧ d.pno=d1.pno ∧ d.cno='c0002')(card ⨝ detail))` 3. 查询2018年只在一个校区消费的卡片信息: `SELECT cno FROM card c JOIN detail d ON c.cno = d.cno GROUP BY cno HAVING COUNT(DISTINCT d.campus) = 1 AND MAX(d.cdate) >= '2018-01-01' AND MIN(d.cdate) < '2019-01-01'` 4. 查找2018年紫金港校区消费总额最高的POS机: ``` SELECT pno, SUM(amount) as total_amount FROM detail WHERE campus = '紫金港' AND cdate >= '2018-01-01' AND cdate < '2019-01-01' GROUP BY pno ORDER BY total_amount DESC LIMIT 1 ``` 5. 完成指定交易的SQL语句序列: - 首先确保交易记录不存在(防止重复添加): `DELETE FROM detail WHERE cno = 'c0002' AND pno = 'p001' AND cdate = '2018-07-02' AND ctime = '08:08:08'` - 插入新的消费记录: `INSERT INTO detail (cno, pno, cdate, ctime, amount, remark) VALUES ('c0002', 'p001', '2018-07-02', '08:08:08', 20, '消费')` 【问题2 - E-R模型设计】 为了设计一个外卖平台的E-R模型,我们需要考虑以下实体和它们之间的关系: - 实体:餐馆(Restaurants),顾客(Customers),快递员(Couriers),订单(Orders),支付(Payments),配送(Deliveries) - 属性: - 餐馆:ID,名称,地址,菜单 - 顾客:ID,姓名,联系方式,地址 - 快递员:ID,姓名,联系方式,当前位置 - 订单:ID,顾客ID,餐馆ID,下单时间,总价 - 支付:ID,订单ID,支付方式,支付时间,金额 - 配送:ID,订单ID,快递员ID,预计送达时间,实际送达时间 - 关系: - 一个顾客可以下多个订单,一个订单属于一个顾客(1:N) - 一个餐馆可以有多个菜品,也可以接多个订单(1:N) - 一个订单对应一个餐馆,一个餐馆可以有多个订单(1:N) - 一个订单可以有多个支付记录,一个支付记录对应一个订单(1:N) - 一个订单只有一个配送记录,一个配送记录对应一个订单(1:1) - 一个订单可以由一个或多个快递员配送,一个快递员可以配送多个订单(N:M) 构建E-R图时,可以使用矩形表示实体,椭圆表示属性,菱形表示关系,并用连线表示实体之间的联系,同时标注联系的类型(1:1,1:N,N:M)。具体图形化表示需用绘图工具完成。
剩余10页未读,继续阅读
- 粉丝: 31
- 资源: 321
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0