1

データベース内のEmployeesHotelsテーブルの間に交差するテーブルを作成する必要があります。Oracle

1 つEmployeeは多くの で作業できHotels、1 つHotelは多くの を持つことができますEmployees

私は自分自身を不必要に混乱させているかもしれないと思います。

まず、テーブルの列とテーブルの列のFK間にを作成することから始めました。Employee-Hotel-IDEmployeesHotel-IDHotels

しかし、これでは多くの従業員が多くのホテルで働くことができないことに気付きました。

4

3 に答える 3

3

en.wikipedia.org/wiki/Junction_table の方言を使用すると、次のようになります。

CREATE TABLE Hotels (
    hotel_id INTEGER PRIMARY KEY,
    ...
)

CREATE TABLE Employees (
    employee_id INTEGER PRIMARY KEY,
    ...
)

-- This is the junction table.
CREATE TABLE WorksAt (
    hotel_id INTEGER REFERENCES Hotels (hotel_id),
    employee_id INTEGER REFERENCES Employees (employee_id),
    PRIMARY KEY (hotel_id, employee_id)
)
于 2013-09-30T00:31:59.090 に答える