Database design 物理数据模型中的枚举类

Database design 物理数据模型中的枚举类,database-design,relational-database,uml,Database Design,Relational Database,Uml,我已经为一家食品配送企业创建了我的数据库的UML类图。我在那里使用了3个类。现在我想为该数据库创建一个物理数据模型,这样我就可以基于该物理数据模型构建实际的MySQL数据库了 问题是我不知道如何为物理数据模型中的类绘制等价物。它们看起来像其他桌子吗? 下面你可以看到我的UML类图中有3个类 !!!更新 早在2009年通过使用名为Toad data Modeler的数据建模软件,您可以做到: Order -------------------------------

我已经为一家食品配送企业创建了我的数据库的UML类图。我在那里使用了3个
类。现在我想为该数据库创建一个物理数据模型,这样我就可以基于该物理数据模型构建实际的MySQL数据库了

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

下面你可以看到我的UML类图中有3个类


!!!更新

早在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表(所谓的查找/参考表)中填写所有可能的付款方式


枚举中的文字不具有可见性。您需要删除前面的
+
符号。(另请参见UML2.5.1的第168页)据我所知,ENUM不是RDBMS的符合ANSI的构造。我相信典型的实现模式是查找表。枚举不也需要ALTER语句来修改吗?是的,这是真的。自从我使用Toad Data Modeler工具创建数据模型以来,已经有很长一段时间了。那时(2009年),您将创建一个枚举类型的域,并在表中选择它作为属性。最终的模型看起来和我上面描述的一模一样。这里有一个证据:。现在情况发生了变化,您不应该在表中指定枚举类型,而应该使用查找(ref)表(如您所指出的)
                     Ref_Payment_Method
    =====================================================
    payment_method_code    |    payment_method_decription
    -----------------------------------------------------
         1                 |          cash
         2                 |       credit card