Regarding my point no. 3, say I have generated 2 classes from ERD, with the common field: CustomerID.
Class1
CustomerID : int
CustomerName: String
Class2
OrderNo: int
OrderDate: Date
CustomerID: int
Now, I want your software to auto detect the common fields ie. customerID in both the classes and create a new subclass ie Class3 of CustomerID, and remove the CustomerID from Class1 and Class2.
So, final shape will be as under;-
Class1
CustomerName: String
Class2
OrderNo: int
OrderDate: Date
Class3
CustomerID: int
And class3 will be connected to Class1 and Class2 with Generalization Arrow.
Thank you for your explanation. While the situation you described may be true, it is not always true. For example, both the entity “Student” and “School” can have the “Name” column but they certainly do not share the same superclass. Therefore, we do not support the behavior you described.