=?iso-8859-2?q?Zachowanie_integralno=B6ci_relacji_=22wiele_do _wiele=22?=
kraf101 - 29-09-2007 00:00
=?iso-8859-2?q?Zachowanie_integralno=B6ci_relacji_=22wiele_do _wiele=22?=
Witam,
Mam taki problem: << Odbiorca -------------- odb_id PK nazwa ...........
Faktury ----------- fak_id PK odb_ref FK -> Odbiorca.odb_id ..............
platnosci ------------- plat_id PK odb_ref FK -> Odbiorca.odb_id .............
kwoty_za_fakture ----------------------- kzf_id PK plat_ref FK -> platności.plat_id fak_ref FK -> faktury.fak_id ............... >>
Odbiorcy mogą płacić za faktury częściowo lub też jedną płatnością za kilka faktur na raz, więc intersekcja "kwoty_za_fakture" jest tu konieczna. Problem polega na tym, że nie wiem jak wymusić integralność relacjize względu na odbiorców. Postgresql dopuszcza do sytuacji , w której odbiorca X płaci za fakturę odbiorcy Y. Czy jest jakaś metoda, żeby wymusić zachowanie tej integralności?
Pozdrawiam RAF
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 29-09-2007 00:00
kraf101 wrote: > Witam, > > Mam taki problem: > << > Odbiorca > -------------- > odb_id PK > nazwa > .......... > > Faktury > ----------- > fak_id PK > odb_ref FK -> Odbiorca.odb_id > ............. > > platnosci > ------------- > plat_id PK > odb_ref FK -> Odbiorca.odb_id > ............ > > kwoty_za_fakture > ----------------------- > kzf_id PK > plat_ref FK -> platności.plat_id > fak_ref FK -> faktury.fak_id > .............. > > Odbiorcy mogą płacić za faktury częściowo lub też jedną płatnością za > kilka faktur na raz, więc intersekcja "kwoty_za_fakture" jest tu > konieczna. > Problem polega na tym, że nie wiem jak wymusić integralność relacji ze > względu na odbiorców. > Postgresql dopuszcza do sytuacji , w której odbiorca X płaci za > fakturę odbiorcy Y. > Czy jest jakaś metoda, żeby wymusić zachowanie tej integralności?
Napisz triggera na kwoty_za_faktury, który będzie sprawdzał, czy odbiorca faktury i płatności to ten sam.
-- P.M.
kraf101 - 29-09-2007 00:00
=?iso-8859-2?q?Re:_Zachowanie_integralno=B6ci_relacji_=22wiel e_do_wiele=22?=
On 28 Wrz, 14:20, Paweł Matejski <ma...@spam.madej.pl.eu.org> wrote: > > Napisz triggera na kwoty_za_faktury, który będzie sprawdzał, czy odbiorca > faktury i płatności to ten sam. >
Tak też myślałem, ale też myślałem, że jest jakieś ładniejsze rozwiązanie, bo tu trzeba jeszcze będzie blokować próby zmiany odbiorcy w fakturach i płatnościach kiedy istnieje krotka w kwoty_za_faktury, czyli trzeba ustawić "check'i" w trzech miejscach: kwoty_za_faktury, faktury i płatności.
Pozdrawiam RAF
Lucyna Witkowska - 29-09-2007 00:00
kraf101 <zxraf48kb@gmail.com> napisał: > Odbiorca > -------------- > odb_id PK > nazwa > ..........
> Faktury > ----------- > fak_id PK > odb_ref FK -> Odbiorca.odb_id > .............
> platnosci > ------------- > plat_id PK > odb_ref FK -> Odbiorca.odb_id > ............ > Problem polega na tym, że nie wiem jak wymusić integralność relacji ze > względu na odbiorców. > Postgresql dopuszcza do sytuacji , w której odbiorca X płaci za > fakturę odbiorcy Y.
Usun pole odb_ref przy platnosciach, jesli tylko wlasciciel faktury moze za nia płacic. Chyba ze moze byc platnosc, a jeszcze nie ma faktury ;-)
Pozdrowienia, LW
kraf101 - 29-09-2007 00:00
=?iso-8859-2?q?Re:_Zachowanie_integralno=B6ci_relacji_=22wiel e_do_wiele=22?=
On 28 Wrz, 15:26, Lucyna Witkowska <ypwit...@nospamcyf-kr.edu.pl> wrote: > > Usun pole odb_ref przy platnosciach, jesli tylko wlasciciel faktury moze > za nia płacic. Chyba ze moze byc platnosc, a jeszcze nie ma faktury ;-) >
A jeżeli jest tak przy gotówce, że zapłaci za trzy faktury jednym przelewem? :)
Pozdrawiam RAF
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?=
=?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?=
=?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?=
=?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?=
zanotowane.pldoc.pisz.plpdf.pisz.plkfia-tek.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|