CREATE TABLE Ref_Hotel_Star_Ratings (
    star_rating_code TEXT PRIMARY KEY,
    star_rating_description TEXT
);
CREATE TABLE Locations (
    Location_ID NUMBER PRIMARY KEY,
    Location_Name TEXT,
    Address TEXT,
    Other_Details TEXT
);
CREATE TABLE Ref_Attraction_Types (
    Attraction_Type_Code TEXT PRIMARY KEY,
    Attraction_Type_Description TEXT
);
CREATE TABLE Visitors (
    Tourist_ID NUMBER PRIMARY KEY,
    Tourist_Details TEXT
);
CREATE TABLE Features (
    Feature_ID NUMBER PRIMARY KEY,
    Feature_Details TEXT
);
CREATE TABLE Hotels (
    hotel_id NUMBER PRIMARY KEY,
    star_rating_code TEXT,
    pets_allowed_yn TEXT,
    price_range NUMBER,
    other_hotel_details TEXT,
    FOREIGN KEY ("star_rating_code") REFERENCES Ref_Hotel_Star_Ratings("star_rating_code")
);
CREATE TABLE Tourist_Attractions (
    Tourist_Attraction_ID NUMBER PRIMARY KEY,
    Attraction_Type_Code TEXT,
    Location_ID NUMBER,
    How_to_Get_There TEXT,
    Name TEXT,
    Description TEXT,
    Opening_Hours TEXT,
    Other_Details TEXT,
    FOREIGN KEY ("Attraction_Type_Code") REFERENCES Ref_Attraction_Types("Attraction_Type_Code"),
    FOREIGN KEY ("Location_ID") REFERENCES Locations("Location_ID")
);
CREATE TABLE Street_Markets (
    Market_ID NUMBER PRIMARY KEY,
    Market_Details TEXT,
    FOREIGN KEY ("Market_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Shops (
    Shop_ID NUMBER PRIMARY KEY,
    Shop_Details TEXT,
    FOREIGN KEY ("Shop_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Museums (
    Museum_ID NUMBER PRIMARY KEY,
    Museum_Details TEXT,
    FOREIGN KEY ("Museum_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Royal_Family (
    Royal_Family_ID NUMBER PRIMARY KEY,
    Royal_Family_Details TEXT,
    FOREIGN KEY ("Royal_Family_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Theme_Parks (
    Theme_Park_ID NUMBER PRIMARY KEY,
    Theme_Park_Details TEXT,
    FOREIGN KEY ("Theme_Park_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Visits (
    Visit_ID NUMBER PRIMARY KEY,
    Tourist_Attraction_ID NUMBER,
    Tourist_ID NUMBER,
    Visit_Date TIME,
    Visit_Details TEXT,
    FOREIGN KEY ("Tourist_ID") REFERENCES Visitors("Tourist_ID"),
    FOREIGN KEY ("Tourist_Attraction_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Photos (
    Photo_ID NUMBER PRIMARY KEY,
    Tourist_Attraction_ID NUMBER,
    Name TEXT,
    Description TEXT,
    Filename TEXT,
    Other_Details TEXT,
    FOREIGN KEY ("Tourist_Attraction_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Staff (
    Staff_ID NUMBER PRIMARY KEY,
    Tourist_Attraction_ID NUMBER,
    Name TEXT,
    Other_Details TEXT,
    FOREIGN KEY ("Tourist_Attraction_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);
CREATE TABLE Tourist_Attraction_Features (
    Tourist_Attraction_ID NUMBER PRIMARY KEY,
    Feature_ID NUMBER,
    FOREIGN KEY ("Feature_ID") REFERENCES Features("Feature_ID"),
    FOREIGN KEY ("Tourist_Attraction_ID") REFERENCES Tourist_Attractions("Tourist_Attraction_ID")
);

Question: Which tourist attraction is associated with the photo "game1"? Return its name.
SQL: SELECT T2.Name FROM PHOTOS AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Tourist_Attraction_ID  =  T2.Tourist_Attraction_ID WHERE T1.Name  =  "game1"

Question: What are the names and descriptions of the photos taken at the tourist attraction "film festival"?
SQL: SELECT T1.Name ,  T1.Description FROM PHOTOS AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Tourist_Attraction_ID  =  T2.Tourist_Attraction_ID WHERE T2.Name  =  "film festival"

Question: Find the names and descriptions of the photos taken at the tourist attraction called "film festival".
SQL: SELECT T1.Name ,  T1.Description FROM PHOTOS AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Tourist_Attraction_ID  =  T2.Tourist_Attraction_ID WHERE T2.Name  =  "film festival"

Question: What are the details and ways to get to tourist attractions related to royal family?
SQL: SELECT T1.Royal_Family_Details ,  T2.How_to_Get_There FROM ROYAL_FAMILY AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Royal_Family_ID  =  T2.Tourist_Attraction_ID

Question: Which tourist attractions are related to royal family? Tell me their details and how we can get there.
SQL: SELECT T1.Royal_Family_Details ,  T2.How_to_Get_There FROM ROYAL_FAMILY AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Royal_Family_ID  =  T2.Tourist_Attraction_ID

Question: What are the details of the shops that can be accessed by walk?
SQL: SELECT T1.Shop_Details FROM SHOPS AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Shop_ID  =  T2.Tourist_Attraction_ID WHERE T2.How_to_Get_There  =  "walk"

Question: Find the details of the shops that can be reached by walk.
SQL: SELECT T1.Shop_Details FROM SHOPS AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Shop_ID  =  T2.Tourist_Attraction_ID WHERE T2.How_to_Get_There  =  "walk"

Question: What is the name of the staff that is in charge of the attraction named "US museum"?
SQL: SELECT T1.Name FROM STAFF AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Tourist_Attraction_ID  =  T2.Tourist_Attraction_ID WHERE T2.Name  =  "US museum"

Question: Tell me the name of the staff in charge of the attraction called "US museum".
SQL: SELECT T1.Name FROM STAFF AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Tourist_Attraction_ID  =  T2.Tourist_Attraction_ID WHERE T2.Name  =  "US museum"

Question: What are the details of the markets that can be accessed by walk or bus?
SQL: SELECT T1.Market_Details FROM Street_Markets AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Market_ID  =  T2.Tourist_Attraction_ID WHERE T2.How_to_Get_There  =  "walk" OR  T2.How_to_Get_There  =  "bus"

Question: Find the details of all the markets that are accessible by walk or bus.
SQL: SELECT T1.Market_Details FROM Street_Markets AS T1 JOIN TOURIST_ATTRACTIONS AS T2 ON T1.Market_ID  =  T2.Tourist_Attraction_ID WHERE T2.How_to_Get_There  =  "walk" OR  T2.How_to_Get_There  =  "bus"

Question: What are the visit date and details of the visitor whose detail is 'Vincent'?
SQL: SELECT T2.Visit_Date ,  T2.Visit_Details FROM VISITORS AS T1 JOIN VISITS AS T2 ON T1.Tourist_ID  =  T2.Tourist_ID WHERE T1.Tourist_Details  =  "Vincent"

Question: Find the visit date and details of the tourist whose detail is 'Vincent'
SQL: SELECT T2.Visit_Date ,  T2.Visit_Details FROM VISITORS AS T1 JOIN VISITS AS T2 ON T1.Tourist_ID  =  T2.Tourist_ID WHERE T1.Tourist_Details  =  "Vincent"

Question: Which tourist attractions does the visitor with detail 'Vincent' visit?
SQL: SELECT T1.Name FROM Tourist_Attractions AS T1 JOIN VISITS AS T2 ON T1.Tourist_Attraction_ID  =  T2.Tourist_Attraction_ID JOIN VISITORS AS T3 ON T2.Tourist_ID  =  T3.Tourist_ID WHERE T3.Tourist_Details  =  "Vincent"

Question: Show the tourist attractions visited by the tourist whose detail is 'Vincent'.
SQL: SELECT T1.Name FROM Tourist_Attractions AS T1 JOIN VISITS AS T2 ON T1.Tourist_Attraction_ID  =  T2.Tourist_Attraction_ID JOIN VISITORS AS T3 ON T2.Tourist_ID  =  T3.Tourist_ID WHERE T3.Tourist_Details  =  "Vincent"

Question: What are the names of the tourist attractions and the dates when the tourists named Vincent or Vivian visited there?
SQL: SELECT T1.Name ,  T3.Visit_Date FROM Tourist_Attractions AS T1 JOIN VISITORS AS T2 JOIN VISITS AS T3 ON T1.Tourist_Attraction_ID  =  T3.Tourist_Attraction_ID AND T2.Tourist_ID  =  T3.Tourist_ID WHERE T2.Tourist_Details  =  "Vincent" OR T2.Tourist_Details  =  "Vivian"

Question: For each tourist attraction, return its name and the date when the tourists named Vincent or Vivian visited there.
SQL: SELECT T1.Name ,  T3.Visit_Date FROM Tourist_Attractions AS T1 JOIN VISITORS AS T2 JOIN VISITS AS T3 ON T1.Tourist_Attraction_ID  =  T3.Tourist_Attraction_ID AND T2.Tourist_ID  =  T3.Tourist_ID WHERE T2.Tourist_Details  =  "Vincent" OR T2.Tourist_Details  =  "Vivian"