• 朱晓峰
    置顶
    2021-05-20
    你好,我是朱晓峰,下面我就来公布一下上节课思考题的答案: 上节课,我们学习了范式。下面是思考题的答案: 可以拆分成2个表: 商品信息表:包含商品编号(itemnumber)、商品名称(goodsname),价格(price) 销售流水表:包含编号(id)、流水单号(transno)、商品编号(itemnumber)、数量(quantity)、卡号(cardno) 原因: 1. 商品名称、价格只依赖于商品编号,可以拆分成单独的表 2. 销售金额=数量*价格,可以去掉
    共 3 条评论
    4
  • giteebravo
    2021-05-07
    模型图中的 P 和 Q 有什么特殊含义么? 文中对 ER 模型的阐述与分析刷新了我的认知! 特别是: 1. 如何设计 ER 模型 2. 如何从 ER 模型得到数据表 对于这两点,工作中知道应该要怎么做,但不知道为什么要这么做。

    作者回复: P和Q表示多,只是为了与M、N区别。设计ER模型可以帮助我们理清设计思路,从整体上把握需求

    共 3 条评论
    4
  • helloworld
    2022-05-05 来自北京
    看到很多大佬说不建议使用外键,最好通过业务层逻辑来实现外键的功能,想知道老师的看法是啥

    作者回复: 还是要根据实际场景来定,不能一概而论

    
    3
  • helloworld
    2022-05-05 来自北京
    总结中的脑图,要素的最后一条笔误了吧,应该是:区分实体和属性的原则

    作者回复: 非常感谢您的细心阅读,确实是我疏忽了,十分抱歉,已经请后台更正

    
    
  • jjn0703
    2022-02-20
    请教一下老师,画的ER图是用了什么工具吗

    作者回复: 有很多工具可以画ER图,比如VISIO,供你参考

    
    
  • 吴杨明
    2021-12-25
    CREATE TABLE demo.importhead ( importid INT PRIMARY KEY, -- 添加与业务无关的字段为主键 listnumber TEXT NOT NULL, supplierid INT NOT NULL, -- 供货商表的主键,反映了参与进货关系的供货商信息 stockid INT NOT NULL, -- 仓库表的主键,反映了参与进货关系的仓库信息 operatorid INT NOT NULL, -- 员工表的主键,反映了参与进货关系的员工信息 memberid INT NOT NULL, recordingdate DATETIME NOT NULL, totalquantity DECIMAL(10,3) NOT NULL DEFAULT 0, totalvalue DECIMAL(10,3) NOT NULL DEFAULT 0, CONSTRAINT fk_importhead_supplier FOREIGN KEY (supplierid) REFERENCES supplier (supplierid), CONSTRAINT fk_transactionhead_member FOREIGN KEY (memberid) REFERENCES membermaster (memberid), CONSTRAINT fk_importhead_operator FOREIGN KEY (operatorid) REFERENCES operator (operatorid) ); -- 补充 memberid INT NOT NULL,
    展开

    作者回复: 请参考思考题答案

    
    
  • 棒棒糖
    2021-12-15
    尽可能遵循三大范式的基础上,业务优先,三大范式可以适当让步; 区分实体和属性的原则:从系统整体的角度出发去看,可以独立存在的是实体,不可再分的是属性。

    作者回复: 是的

    
    
  • Geek_30c439
    2021-11-15
    想问一下,进货单明细表为什么是不符合第三范式,而符合第二模式

    作者回复: 这个问题在第22讲中有详细的讨论。原因是根据业务优先的原则,为了减少误差,需要同时保留importprice和importvalue字段,这样一来,就不符合第三范式的要求了。

    
    
  • 彭彬
    2021-09-27
    门店、商品之间存在盘点关系,关系的属性:盘点时间、实物数量、损耗

    作者回复: 请参考思考题答案

    
    
  • 䲆习习
    2021-06-21
    小建议 关于可复制代码 应该不包含-> 和输出结果 只有runnable code 不然的话还要一个一个箭头删掉。。。 还有membermaster table 和foreignkey refer tablename member 不match。。应该是typo?

    作者回复: 文稿中的代码,是在MySQL命令行客户端运行的,为了完整体现代码和运行结果,“->"是必须的,否则容易产生歧义,影响对文稿内容的理解。 外键约束处的表member,确实应该是membermaster,已经提交给后台,申请修正。非常感谢你的认真阅读,给我指出了错误,使课程的内容更加严谨。

    
    