Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.07.2006 Ostrzeżenie: (0%)
|
Witam
Mam taki problem przy tworzeniu bazy danych klientow i przypisanych do nich uslug. Tworze tabele customers ze wspolnymi kolumnami dla klientow indywidualnych i przedsiebiorcow:
Teraz chce rozdzielic to na klientow indywidualnych i przedsiebiorcow, wiec tworze 2 tabele dziedziczace:
I teoretycznie wszystko gra do momentu, kiedy nie stworze innej tabeli z kluczem obcym wskazujacym na tabele customers:
W momencie kiedy wywoluje INSERT zapisujacy usluge dla danego klienta:
otrzymuje blad, ze klucz 1 nie istnieje w tabeli customers Klucz 1 istnieje w tabeli private_customers, ktora dziedziczy po customers. Dlaczego PostgreSQL nie widzi tego wpisu jako obecnego w tabeli customers?
Pokazuje mi ten wpis. Jezeli dam INSERT bezposrednio do tabeli customers, pomijajac tabele private_customers, corporation_customers wszystko dziala bez problemu. Wniosek z tego taki, ze postgres traktuje referencje do tabeli customers bezposrednio nie uwzgledniajac wpisow w tabelach potomkach. Troche mi to teraz komplikuje sprawe, bo nie chce trzymac danych klientow indywidualnych w jednej tabeli, bo chce narzucic wymog wpisania numeru pesel, numeru nip i dla przedsiebiorcow wprowadzic dodatkowe klucze obce. Jak to mozna rozwiazac? Ma ktos pomysl, stawiam piwo! Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
Chyba zła wiadomość (cytat z http://www.postgresql.org/docs/8.3/static/ddl-inherit.html):
Specifying that another table's column REFERENCES cities(name) would allow the other table to contain city names, but not capital names. There is no good workaround for this case. Z dokładnością do nazw tabel i kolumn to dokładnie opisuje Twój przypadek. |
|
|
|
Helios Dziedziczenie i klucze obce 2.12.2008, 14:27:03
Mikz Podłączam się pod temat, dlatego odkopuję. Przedst... 26.06.2010, 14:35:00 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 16:19 |