What is the term explaining the connection between tables that share a typical primary key?
Here's a good example:
property(property_id, property_location, property_cost, ...)
flat(property_id, flat_floor, flat_bed room_count, ...)
That which you have looks like table inheritance. In case your table structure is the fact that all
flat records represent just one
property although not all
property records make reference to a
flat, then that's table inheritance. It is a method of modeling something near to object-oriented associations (quite simply,
flat gets from
property) inside a relational database.
Basically understand your example properly, the information modeling term is Supertype/Subtype. This can be a modeling technique in which you define a root table (the supertype) that contains common characteristics, and a number of referencing tables (subtypes) which contain different characteristics in line with the organizations being patterned.
For instance, you might have an individual table (the supertype) that contains posts for characteristics relating to any or all people, for example Title. You can then come with an Worker table (the subtype) that contains characteristics specific to employees only, for example rate of pay and hire date. You can then continue this method with a lot more tables for other areas of expertise of human, for example Contractor. Each one of the subtype tables might have a PersonID key column, which may be the primary key from the subtype table, in addition to a foreign key referencing the individual table.
For further info, do a google search for "supertype and subtype organizations", and find out the hyperlinks below.
There is not a great reputation for this relationship in keeping database terminology (so far as I understand). It isn't a 1-to-one relationship since there is not guaranteed to become a record within the "stretching" table for every record within the primary table. It isn't a 1-to-many relationship since there no more than one record permitted on which would certainly function as the "many" side from the relationship.
The very best I'm able to do is really a one-to-one-or-none or perhaps a one-to-one-at-most relationship. (I'll admit to sloppy terminology myself — I simply refer to it as a 1-to-one relationship.)
Whoever you hire to refer to it as, you are able to model it correctly and keep integrity inside your database by looking into making the home_id column in property a PK and also the property_id column in flat a PK as well as an FK to property.
"Logic and Databases" advances the word "for the most part someone to for the most part one" with this type of relationship. (Note that it's insane to assign names to tables due to which associations they take part in.)
Beware of those who've recommended such things as "foreign key", "table inheritance", brief, the rest of the solutions given here. Individuals individuals are making presumptions that you simply haven't clearly mentioned to become valid, namely that certain of the two tables is going to be certain to contain all key values that come in another.