Tak więc mam stworzyć ten schemat schematu + relacje dokładnie w taki sposób, w jaki przedstawia to ERD. Tutaj pokazuję tylko te tabele, które mam problemy z:Tworzenie tabel PostgreSQL + relacje - PROBLEMY z relacjami - JEDEN TO JEDEN
Więc staram się że jest to jeden do jednego, ale z jakiegoś powodu, bez względu na to, co mogę zmienić, mam jeden do wielu na cokolwiek tabela ma klucz obcy.
To jest mój sql dla tych dwóch tabel.
CREATE TABLE lab4.factory(
factory_id INTEGER UNIQUE,
address VARCHAR(100) NOT NULL,
PRIMARY KEY (factory_id)
);
CREATE TABLE lab4.employee(
employee_id INTEGER UNIQUE,
employee_name VARCHAR(100) NOT NULL,
factory_id INTEGER REFERENCES lab4.factory(factory_id),
PRIMARY KEY (employee_id)
);
Tutaj dostaję to samo. Nie dostaję relacji jeden do jednego, ale jednego do wielu. Invoiceline to słaba jednostka.
I tu jest mój kodu dla drugiego obrazu.
CREATE TABLE lab4.product(
product_id INTEGER PRIMARY KEY,
product_name INTEGER NOT NULL
);
CREATE TABLE lab4.invoiceLine(
line_number INTEGER NOT NULL,
quantity INTEGER NOT NULL,
curr_price INTEGER NOT NULL,
inv_no INTEGER REFERENCES invoice,
product_id INTEGER REFERENCES lab4.product(product_id),
PRIMARY KEY (inv_no, line_number)
);
Byłbym wdzięczny za każdą pomoc. Dzięki.
Jak można się spodziewać modelowania relacji 1: 1? Z ograniczeniem "UNIQUE" w kolumnie klucza obcego? Z odwrotnym ograniczeniem klucza obcego? –
@CraigRinger, chciałbym mieć bazę wiedzy, aby odpowiedzieć na twoje pytanie, ale jestem po prostu kilkoma wykładami w mojej pierwszej klasie DB. Moje pytania są następujące: Jak utworzyć relację jeden do jednego? Z jakiegoś powodu rozmawialiśmy głównie o wielu do wielu i jednym do wielu –