Hope this question is right here.
TL;DR
Database design for event places (venue and hotel), hotels can be venues.
Long Version
Introduction
I'm developing a software for trainings. Trainings are like a template with information and events show time and place where a specific training will happen. Events have a place where they happen, the venue. Events also have an (optional) hotel, where participants can book rooms. A hotel can also be a venue since they often have conference rooms. So if a hotel is venue all the contact information and address for the hotel and the venue are obviously the same.
Question
What is the best way to design the database for hotel and venue, so that a hotel can also be a venue.
Target of design:
- avoid duplicate data if a hotel is a venue
- easy to handle through my software
Possible solutions
one table "Place" with columns "hotel_ID" and "venue_ID" which link to the tables "Hotel" and "Venue"
one table "place" with an "isHotel" and "isVenue" column indicating which it is
two separate tables "hotel" and "venue" and in hotel table a column "venueID" whch links to a venue?
... (something different)