物理数据模型中的枚举类

时间:2018-04-22 21:30:22

标签: database-design relational-database uml

我已经创建了一个用于食品交付业务的数据库的UML类图。我在那里使用了3个<<Enumeration>>课程。现在我想为该数据库创建一个物理数据模型,因此我可以继续构建基于该物理数据模型的实际MySQL数据库。

问题是我不知道如何在物理数据模型中绘制<<Enumeration>>类的等价物。它们看起来像其他桌子吗?

下面你可以看到我的UML类图有3个<<Enumeration>>类。

part of my UML class diagram

1 个答案:

答案 0 :(得分:2)

<强> !!!更新

返回2009年,使用名为Toad Data Modeler的数据建模软件您可以这样做:

                Order
-----------------------------------
PK  order_id : integer
    datetime_order_taken : date 
    datetime_order_completed : date
    total_order_price : long
    order_details : string
    payment_method : enum('cash','credit card')
    payment_status : enum('paid','waiting for delivery','not paid')
            etc. ...

现在,现代数据建模工具不再允许您为字段指定枚举类型。相反,您创建一个查找(引用)表,其中包含该字段可能的所有值,并将其与字段表相关联 - 如下所示:

               Order
-----------------------------------
PK  order_id : integer
FK  payment_method_code : integer
             etc. ...




        Ref_Payment_Method
-----------------------------------
PK  payment_method_code : integer
    payment_method_decription : varchar(30)

然后你需要在Ref_Payment_Method表中填写所有可能的Payment方法(所谓的查找/引用表)

                     Ref_Payment_Method
    =====================================================
    payment_method_code    |    payment_method_decription
    -----------------------------------------------------
         1                 |          cash
         2                 |       credit card