Just nu i M3-nätverket
Gå till innehåll

Insert problem


Johnnie Box

Rekommendera Poster

Jobbar pa en uppgift som handlar om ett foretag som formedlar uthyrning av fastigheter mellan agare och hyresgaster. Fastigheterna (property) kan agas av antngen en privatperson eller ett foretag. Jag har lost det med att ha en tabell som heter CompanyOwner och en som heter PrivateOwner. Dessa tabbeller har samma Primary key (OwnerNo). Det gick bra att gora kopplingarna mellan "Agar tabellerna" och Property tabellen, men nar jag ska lagga in varden i OwnerNo i Property tabellen blir det error (ORA-02291: integrity constraint (JE297380.PR_PONO_FK) violated - parent key not found). Samtliga inblandade attribut har samma datatyp (number(5)) och vardena jag forsoker mata in i property tabellen finns i CompanyOwner eller PrivateOwner tabellerna. Vad kan vara fel? Jag anvander mig av Oracle SQL plus 8.0.

Länk till kommentar
Dela på andra webbplatser

Jag har inte sysslat med Oracle, men det låter som om du, när du skapade tabellkopplingarna, definerade OwnerNo i property tabellen som främmande nyckel till ägartabellerna. Vissa regler (constraints) finns och i standardläge säger de att du måste ha en primärnyckel definerad _före_ du lägger in en främmande nyckel.

 

 

Personligen tycker jag att sättet du löste problemet på verkar lite omständigt. Jag skulle ha använt endast en 'ägartabell' där förklaringen till ägarna finns, och som har ownerID som primärnyckel.

 

 

==Coleburn==

 

--------------------

"It takes a lot of knowledge to

really mess something up!"

 

Länk till kommentar
Dela på andra webbplatser

Vore jag du, och designade systemet från scratch skulle jag:

1. titta på tabellerna och identifiera det data som är samma oavsett om man är ett företag eller privatperson.

2. Lägga det gemensamma datat i en tabell.

3. Därefter skapa två tabeller, en för sånt data som är specifikt för företag och en tabell för sånt som är specifikt för privatpersoner och länka i hop dem med en 0-1 relation.

 

Därefter så länkar du property-tabellen till owner-tabellen på lämpligt sätt.

(Ser nu att det är ungefär vad Coleburn föreslår men nu har jag skrivit det så då får det stå kvar).

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...