Kodulehed
[386] - Andmebaasid I (ITI0206) (kevad 2024)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Abi
Lisainfo Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Abi / Kasutajatugi / Vahendid - CASE

Avalikud küsimused ja vastused:

Küsimuste teemade nimekiri

Anonüümne (23.04.2024 14:14):
Soovin Enterprise Architect 12 vahendis genereerida SQL lauseid, kuid lausete genereerimise aknas ei saa ma muuta tabelite järjekorda genereeritavas skriptis (nupud järjekorra muutmiseks ei tööta). Mida teha?
Vastus (23.04.2024 16:07): Jah, see on EA probleem, mida mõnikord tuleb ette.

Küsimus on selles, et kui mul on tabelite loomise kood, milles välisvõtmete deklareerimine on osa CREATE TABLE lausest, siis on lausete käivitamise järjekord oluline.

CREATE TABLE A(a_id INTEGER,
CONSTRAINT pk_a PRIMARY KEY (a_id));

CREATE TABLE B(b_id INTEGER,
a_id INTEGER NOT NULL,
CONSTRAINT pk_b PRIMARY KEY (b_id),
CONSTRAINT fk_b_a FOREIGN KEY (b_id) REFERENCES B(b_id));

Kõigepealt tuleb luua tabel A ja siis saab luua tabeli B.

EA vahendis saab koodi genereerimisel määrata tabelite loomise lause järjekorra. See on oluline, kui koodi genereerimisel on määratud: Options=>Separate Constraints from Tables=False 

Mida EA vahendis teha, kui selline probleem esineb?
  • Proovida liigutada nimekirjas suvalisi tabeleid üles/alla. Mõnikord see justkui lukustab nimekirja lahti ja ka tabeleid, mida seni ei saanud nimekirjas üles/alla liigutada, saab peale seda liigutada. Siiski on suur tõenäosus, et see ei aita.
  • Viia järjekord soovitule nii lähedaseks kui saab, genereerida SQL laused ja muuta genereeritud koodis lausete järekorda käsitsi.
  • Valige Options=>Separate Constraints from Tables=True ning genereerida kood, kus tabeli loomise lausete järjekord ei ole oluline.

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!