ďťż
 
=?iso-8859-2?q?Zachowanie_integralno=B6ci_relacji_=22wiele_do _wiele=22?= ďťż
 
=?iso-8859-2?q?Zachowanie_integralno=B6ci_relacji_=22wiele_do _wiele=22?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

=?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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kfia-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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com