ďťż
 
zwiazek 1:n - wymagany ďťż
 
zwiazek 1:n - wymagany
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

zwiazek 1:n - wymagany



bartoo - 02-05-2006 00:38
zwiazek 1:n - wymagany
  Witam
W moim modelu zwiazkow encji wystepuje zwiazek miedzy "pozycja zamowienia" i
"zamowienie". Wydaje mi sie, ze po obu stronach powinien byc wymagany,
poniewaz "pozycja zamowienia" nie moze istniec bez "zamowienia" i na odwrot.
W zwiazku z tym mam pytanie: jak taki zwiazek zrealizowac w RDBMS? Czy
wstawianie danych do tabel powinienem zrealizowac w transakcji?

Pozdrawiam
bartoo

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 02-05-2006 00:39

  Dnia Mon, 1 May 2006 21:47:01 +0000 (UTC), " bartoo" <bartoo3.WYTNIJ@gazeta.pl>
wklepał(-a):

>Witam
>W moim modelu zwiazkow encji wystepuje zwiazek miedzy "pozycja zamowienia" i
>"zamowienie". Wydaje mi sie, ze po obu stronach powinien byc wymagany,
>poniewaz "pozycja zamowienia" nie moze istniec bez "zamowienia" i na odwrot.

Zamówienie jak najbardziej może istnieć bez pozycji - dopóki ich nie
wprowadzisz. Aplikacja powinna pilnować, żeby takie zamówienie miało status, nie
pozwalający go zatwierdzić/przekazać do dalszej obsługi.

Dlatego też tylko pole POZZAM_ZAMOW_ID (klucz do zamówienia) robisz NOT NULL,
czyli pozycja musi należeć do zamówienia.

>W zwiazku z tym mam pytanie: jak taki zwiazek zrealizowac w RDBMS? Czy
>wstawianie danych do tabel powinienem zrealizowac w transakcji?

Zwykle najpierw wprowadza się zamówienie (nagłówek), potem jest commit, a na
końcu wprowadza się pozycje (po każdej commit). Dodatkowe walidacje robisz w
aplikacji na podstawie statusów zamówienia/jego pozycji.
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych




bartoo - 02-05-2006 00:39

  Sławomir Szyszło <slaszysz@poczta.onet.pl> napisał(a):

> Zamówienie jak najbardziej może istnieć bez pozycji - dopóki ich nie
> wprowadzisz.
> Aplikacja powinna pilnować, żeby takie zamówienie miało status, nie
> pozwalający go zatwierdzić/przekazać do dalszej obsługi.

Zakladajac, ze z aplikacji do bazy beda trafialy tylko te "zamowienia" ktore
maja co najmniej 1 "pozycje zamowienia" - czy mozna powiedziec, ze jest to
zwiazek 1:n wymagany?

Pozdrawiam
bartoo

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




=?ISO-8859-2?Q?Adam_P=B3aszczyca?= - 03-05-2006 00:06

  On Mon, 1 May 2006 21:47:01 +0000 (UTC), " bartoo"
<bartoo3.WYTNIJ@gazeta.pl> wrote:

>Witam
>W moim modelu zwiazkow encji wystepuje zwiazek miedzy "pozycja zamowienia" i
>"zamowienie". Wydaje mi sie, ze po obu stronach powinien byc wymagany,
>poniewaz "pozycja zamowienia" nie moze istniec bez "zamowienia" i na odwrot.
>W zwiazku z tym mam pytanie: jak taki zwiazek zrealizowac w RDBMS? Czy
>wstawianie danych do tabel powinienem zrealizowac w transakcji?

Raczej musisz założyć, że zamówienie może nie mieć żadnych zamawianych
pozycji. Zastanów się w jaki sposób tworzone jest zamówienie. Najpierw
masz klienta (zamawiającego) i on skłąda zamówienie. Zamówienie
powstaje więc zanim jeszcze pojawi się na nim pierwsza pozycja przez
skojarzenie pustego zamówienia z klientem. Potem doipiero dojdą
pozycje.
--
___________ (R)
/_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688
___/ /_ ___ ul. Ludwiki 1 m. 74, 01-226 Warszawa
_______/ /_ http://trzypion.oldfield.org.pl/Lem/
___________/ GG: 3524356





Grzegorz Szyszlo - 03-05-2006 00:07

  Adam Płaszczyca wrote:

>>Witam
>>W moim modelu zwiazkow encji wystepuje zwiazek miedzy "pozycja zamowienia" i
>>"zamowienie". Wydaje mi sie, ze po obu stronach powinien byc wymagany,
>>poniewaz "pozycja zamowienia" nie moze istniec bez "zamowienia" i na odwrot.
>>W zwiazku z tym mam pytanie: jak taki zwiazek zrealizowac w RDBMS? Czy
>>wstawianie danych do tabel powinienem zrealizowac w transakcji?
>
>
> Raczej musisz założyć, że zamówienie może nie mieć żadnych zamawianych
> pozycji. Zastanów się w jaki sposób tworzone jest zamówienie. Najpierw
> masz klienta (zamawiającego) i on skłąda zamówienie. Zamówienie
> powstaje więc zanim jeszcze pojawi się na nim pierwsza pozycja przez
> skojarzenie pustego zamówienia z klientem. Potem doipiero dojdą
> pozycje.

zawsze mozna machnac jakiegos triggera, a puste zamowienie
musi koniecznie miec status 'otwarte'. zamowienie mozna zamknac tylko
wtedy, jak ma conajmniej jedna pozycje (drugi trigger, albo i ten sam,
zalezy jak sie to opisze).

w definicjach sql chyba nie znajdziesz konstrukcji o ktora pytasz.

znik.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [OT] Praca - wymagania PS, CD, AI, AE, QE, MS, CD, AVI, SWF... =?iso-8859-2?q?System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?= mssql backup postgresql 8.3 w fazie testowania Gimp - problem z JPG Tv LCD zamiast monitora Edytor Eclipse 3.1.1. Baza leków obrobka wielu zdjec w wielu katalogach [MSSQL] Result to file
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ets2.xlx.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