题目:
    创建水果价目表,包括苹果、橘子、香蕉 。 水果售卖记录表,三样水果都有售卖,并记录售 卖数量和金额,要求:所卖水果必须是水果价目 表中存在的。

    思路:
    父表:FruitPriceList

    • 水果价目表
    • 包含字段:水果类型(type)、每斤的单价(unitPrice, 默认为0)、计量单位(uintOfMeasure, 默认为kg)
    • 苹果:8.8元/kg,橘子:9.9/kg,香蕉:10.9/kg
    • 单价唯一
    • 主键为type

    子表:FruitSalesList

    • 水果售卖表
    • 包括字段:售卖序号id,水果类型(fruitType)、每次售卖的公斤数(weight,默认为0),以及每次售卖的总金额(actualAmount, 默认为0)
    • 主键为id

    约束

    • 为子表设置外键,外键为父表的type字段,也是父表的主键
    1. 创建水果价目表,插入3种水果的单价信息 ```sql CREATE TABLE IF NOT EXISTS FruitPriceList(
      1. type ENUM('apple', 'orange', 'banana') PRIMARY KEY,
      uintPrice DECIMAL(5, 2) DEFAULT 0 UNIQUE, uintOfMeasure VARCHAR(8) DEFAULT ‘kg’ );

    INSERT INTO FruitPriceList(type, uintPrice) VALUES(‘apple’, 8.8); INSERT INTO FruitPriceList(type, uintPrice) VALUES(‘orange’, 9.9); INSERT INTO FruitPriceList(type, uintPrice) VALUES(‘banana’, 10.9);

    1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12563649/1616908744669-a3c25bb9-74ef-449b-8a51-0ae9c145e056.png#align=left&display=inline&height=181&margin=%5Bobject%20Object%5D&name=image.png&originHeight=196&originWidth=425&size=12725&status=done&style=none&width=393)
    2. 2. 创建水果售卖表,并添加售卖记录
    3. ```sql
    4. CREATE TABLE IF NOT EXISTS FruitSalesList(
    5. id INT PRIMARY KEY,
    6. fruitType ENUM('apple', 'orange', 'banana'), /*既然要添加外键,这句话是否有简便写法??*/
    7. weight DECIMAL(5, 2) DEFAULT 0,
    8. actualAmount DECIMAL(8, 2) DEFAULT 0,
    9. CONSTRAINT fruitTypeForeignKey FOREIGN KEY (fruitType) REFERENCES FruitPriceList(type)
    10. );
    11. INSERT INTO FruitSalesList VALUES(1, 'apple', 5.5, 48.40);
    12. INSERT INTO FruitSalesList VALUES(2, 'apple', 4.5, 39.60);
    13. INSERT INTO FruitSalesList VALUES(3, 'orange', 2.5, 24.75);
    14. INSERT INTO FruitSalesList VALUES(4, 'orange', 3.5, 34.65);
    15. INSERT INTO FruitSalesList VALUES(5, 'banana', 3.0, 32.70);
    16. INSERT INTO FruitSalesList VALUES(6, 'banana', 5.0, 54.50);

    当插入不存在于水果价目表中的水果时,会报错:
    image.png
    查看表中所有内容:
    image.png

    1. 疑问:

    (1)如何让总金额,根据水果价目表与重量,自动计算而成,并记录在表里?

    1. 听老师作业讲解并反思:

    (1)主键最好不要中文;
    (2)水果价目表中最好添加id,方便统计计算
    (3)外键规范:使用’fk_’开头