Welcome to Sign in | Help

Re: Am nevoie de un sfat....

  •  11-06-2008, 12:00 PM

    Re: Am nevoie de un sfat....

    rsocol:
    Dacă o chitanţă poate plăti mai multe rate (cu condiţia ca toate ratele să aparţină de acelaşi contract), iar o rată poate să fie plătită parţial printr-o chitanţă şi parţial prin alta, atunci înseamnă că ai o relaţie many-to-many între tabelele CHITANTE şi RATE, care poate fi reprezentată astfel:

    CREATE TABLE CHITANTE (
      NR_CHITANTA INT PRIMARY KEY,
      ID_CONTRACT INT NOT NULL REFERENCES CONTRACTE,
      SUMA_INCASATA MONEY NOT NULL,
      --UNIQUE (NR_CHITANTA, ID_CONTRACT)
    )

    Nu înţeleg de ce ai în CHITANŢĂ cheia externă ID_CONTRACT ?

    Deci ID_CONTRACT este cheie externă şi în RATĂ, şi în PLATA_RATA şi în CHITANŢĂ ?!

    rsocol:

    CREATE TABLE PLATI_RATE (
      NR_CHITANTA INT NOT NULL REFERENCES CHITANTE,
      ID_CONTRACT INT NOT NULL REFERENCES CONTRACTE,
      -- FOREIGN KEY (NR_CHITANTA, ID_CONTRACT) REFERENCES CHITANTE (NR_CHITANTA, ID_CONTRACT),
      ID_RATA INT NOT NULL,
      FOREIGN KEY (ID_CONTRACT, NR_RATA) REFERENCES RATE (ID_CONTRACT, NR_RATA)
      VALOARE_ASOCIATA MONEY NOT NULL
    )

    Nu înţeleg de ce ai definit cheia externă ID_CONTRACT (ID_CONTRACT INT NOT NULL REFERENCES CONTRACTE) din moment ce ai definit şi cheia externă ID_CONTRACT + NR_RATA (FOREIGN KEY (ID_CONTRACT, NR_RATA) REFERENCES RATE (ID_CONTRACT, NR_RATA)
    ) ?

    Şi în cazul acesta (tabela PLATI_RATE propusă de tine) cum este rezolvată cerinţa: "Clientul poate sa achite in avans una sau mai multe rate, sau poate sa plateasca o suma mai mare decit o rata dar mai mica decit 2 rate" ? Diferenţa dintre suma paltita şi suma ratei ?

View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems