Java 在sql中为一个属性输入不同的名称

Java 在sql中为一个属性输入不同的名称,java,sql,Java,Sql,我需要为航班预订创建一个数据库。 在数据库中,我应该为类创建3个属性(头等舱、商务舱、经济舱)还是一个属性就足够了,因为我想将它链接到java,这样我就可以选择一个类了。在您的例子中,只要有一个“class”属性/列就足够了。这可能具有代表不同类的不同值。您还可以有一个包含这些类数值定义的查找表 e、 g。 表:预订 |id | class | .... 100 | 1 | .... 表:预约大学课程 |class_id | class_name | .... | 1

我需要为航班预订创建一个数据库。
在数据库中,我应该为类创建3个属性(头等舱、商务舱、经济舱)还是一个属性就足够了,因为我想将它链接到java,这样我就可以选择一个类了。在您的例子中,只要有一个“class”属性/列就足够了。这可能具有代表不同类的不同值。您还可以有一个包含这些类数值定义的查找表

e、 g。 表:预订

|id  | class | ....
100  |  1    | ....
表:预约大学课程

|class_id | class_name   | ....
| 1       |  first class | ....

在这种方法中,您不必担心为将来可能出现的新类类型修改表列。

这与您正在做的工作有关。在考虑java和类之前,您必须先看看与java问题无关的设计阶段,当您完成设计阶段后,您可以从java代码开始


您可以注意到,当您看到数据库的ERD和类(java或c#)的UML时,您将混合在两个“几乎”分离的部分之间

您可以使用FlightBookingID、Description、BookingClassID列创建表FlightBookings 另一个表BookingClasses包含BookingClassID、Name列。 第一个表中的BookingClassID引用第二个表中的BookingClassID主键

在表BookingClass中,您可以存储头等舱、商务舱、经济舱的值

在java代码中,您将拥有:

public class FlightBooking {
    private int _id; 
    private BookingClass _bookingClass;
    …//appropriate setter and getters for both of the attributes
}

public class BookingClass {
    private int _id; 
    private String _name;
    …//appropriate setter and getters for both of the attributes
}
这可能是一种方法。或者,您没有BookingClasses表,只有一个简单的字符串作为类列,如: 具有FlightBookingID、Description、BookingClass列的FlightBookings 然后将java代码中的第三列映射为枚举,其中枚举的值是第一个,即Business和Economy


第一种解决方案对数据库开发人员更好,因为他们知道什么是什么,第二种解决方案对java开发人员更有效,因为不需要JOIN SQL语句。但是,如果您使用hibernate并将值作为字符串存储在数据库中(例如:BUSINESS),它也是一个可读的解决方案。

这个问题还不清楚。数据库中的属性是什么?表格的列?您可能应该向我们展示您正在评估的数据库结构选项,以便我们可以帮助您选择一个。在数据库中,我想创建一个名为Plane的表,我想在其中为类添加一个属性(首先,…)