What's the difference between these two? I see both of them in extended ERD, but I'm confused about what's the difference. I read both as "A Vehicle is either a Car or a Truck". Are U-types (categories) an alternative way to show total disjoints, or are there any advantages of using one over the other?
The only thing I found online is: Choose hierarchy representation if superclasses have many common attributes
There are several different EERD formats. The one you describe, instead of using a simple IsA specialisation is certainly not the most used:
Vehiclegroups the superclassesTruckandCar. In other words, each instance of a Vehicle is an instance of Truck or an instance of Car or an instance of both. This logic is based on the set theory, since entities correspond to sets.Truckor aCar, but that an instance must be the one or the other (no overlap between subclasses under a same D). Indeed when using the more traditional IsA with several classes lead to an ambiguity, i.e. if an element of the subclass can be both or if they are mutually exclusive.Your example applies the same recipe to two different cases. As the difference is very subtle, it doesn't help to understand. In the first case Vehicle is only a synonym for Truck of Car, which are defined independently of Vehicle. In the second case, Truck and Car are defined as a specialization of Vehicle. Vehicle can hold a common part that is inherited by all its specialisation.