[Java] cardinaliteit van db relatie bepalen

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Als onderdeel van een programma waar ik mee bezig ben moet ik vrij veel meta data van de database kunnen inlezen. Dit lukt ook allemaal keurig netjes. Zelfs keys en relaties zijn geen probleem (tenzij je access gebruikt :+ ) Maar ik kan nergens vinden hoe ik de cardinaliteit van een relatie kan bepalen.

ik heb getImportedKeys, getExportedKeys, getCrossReferences allemaal al doorgekeken en daar niets gevonden. (hoewel je daar mee toch alle relatie info ophaalt). Ook bij getExportedKeys kon ik geen info vinden.

Weet iemand misschien hier een opl. voor?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
hmmm...probeer hem niet omhoog te schoppen, maar volgens mij heb ik toch echt als topicnaam cardinaliteit van db relatie bepalen ingevuld. Is er een mod of litemod zo grappig geweest? :)

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

dat staat er toch ook, grapjas!

edit:

;) vergeten, bookmarks zeggen nog tussen :)

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

Op woensdag 30 januari 2002 19:44 schreef limoentje het volgende:
dat staat er toch ook, grapjas!
O-)
en nu weer on topic

Doet iets met Cloud (MS/IBM)


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
limoentje: dat staat er toch ook, grapjas!
Duh ;) .

Ik heb de DatabaseMetaData ff doorgebladerd (wat een lijst) maar kan je niet wat doen met een combinatie van foreign en primary keys?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op woensdag 30 januari 2002 19:44 schreef limoentje het volgende:
dat staat er toch ook, grapjas!

edit:

;) vergeten, bookmarks zeggen nog tussen :)
Dat stond er een paar minuten na mijn melding ook weer, maar er stond toch echt cardinaliteit [b]voor[/v] een relatie bepalen terwijl ik toch echt cardinaliteit van een relatie de 1e keer zelf heb ingevuld.
d2k
en nu weer on topic
redder in nood ;)
Ik heb de DatabaseMetaData ff doorgebladerd (wat een lijst) maar kan je niet wat doen met een combinatie van foreign en primary keys?
Volgens mij niet omdat ze inwezen elkaar inverse zijn. Je kunt of de primaire tabel/sleutel info ophalen van een foreign table of visa versa. De functies zijn eigelijk hetzelfde.

Ik heb helaas niets kunnen vinden waarmee ik de cardinaliteit van een relatie kon bepalen.. Ik moet het nu de knowledge engineer zelfs laten doen, dus op het moment dat het database model gevormd wordt aan de hand van de metadata moet ook een melding komen dat hij de cardinaliteit van de relaties nog moet instellen.

En ik initialiseer de cardinaliteit in het begin als onbruikbaar/ongedefinieerd :'( :'( :'( n :( :( :(


maar jammer dat ze dan niet hebben toegevoegd

ps: ik ga zometeen nog even een paar java database programma`s bekijken. DbVisualiser die kan ook behoorlijk wat met metadata. Misschien kan ik ontdekken of zij het wel voor elkaar hebben gekregen.

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 17-08 14:28

Apache

amateur software devver

2 query's uitvoeren en van beide zien hoeveel rows je terug krijgt?
code:
1
2
3
4
5
1ste tbl        | 2de tbl
________________________________________
meer dan 1 result | 1 result         | veel -> een
1 result        | meer dan 1 result  | een -> veel
1 result        | 1 result       | een -> een

wel niet echt een mooie oplossing en je moet ook nog je query zien te generen wat mss moeilijk is als het altijd andere tabellen zijn ...

nutteloosheid van deze reactie voorbehouden ;)

If it ain't broken it doesn't have enough features


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op donderdag 31 januari 2002 10:55 schreef Apache het volgende:
2 query's uitvoeren en van beide zien hoeveel rows je terug krijgt?
code:
1
2
3
4
5
1ste tbl        | 2de tbl
________________________________________
meer dan 1 result | 1 result         | veel -> een
1 result        | meer dan 1 result  | een -> veel
1 result        | 1 result       | een -> een

wel niet echt een mooie oplossing en je moet ook nog je query zien te generen wat mss moeilijk is als het altijd andere tabellen zijn ...

nutteloosheid van deze reactie voorbehouden ;)
En als de database leeg is? :) Dan stel ik liever met de hand de cardinaliteit in :)

en ieks.. ik word wel een beetje bang van jou ;)

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Volgens mij is het niet in metadata opgeslagen omdat de cardinaliteit bepaald wordt aan de hand van de kolom voorwaarden. Heb nog even lopen zoeken en eigenlijk trof ik een treffend zinnetje aan in sqlserver help file:

There are three types of relationships between tables. The type of relationship that is created depends on how the related columns are defined.

Zat er nog even over door te denken maar je kan het dus bepalen aan de hand van kolommen, als ze allebei unique moeten zijn dan heb je dus 1op1 relatie, is 1 van beiden unique dan heb je 1opveel, hoeven beiden niet unique te zijn dan heb je dus veel op veel relatie.

uhm of zie ik nu iets over het hoofd.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op donderdag 31 januari 2002 12:01 schreef raptorix het volgende:
Volgens mij is het niet in metadata opgeslagen omdat de cardinaliteit bepaald wordt aan de hand van de kolom voorwaarden. Heb nog even lopen zoeken en eigenlijk trof ik een treffend zinnetje aan in sqlserver help file:

There are three types of relationships between tables. The type of relationship that is created depends on how the related columns are defined.

Zat er nog even over door te denken maar je kan het dus bepalen aan de hand van kolommen, als ze allebei unique moeten zijn dan heb je dus 1op1 relatie, is 1 van beiden unique dan heb je 1opveel, hoeven beiden niet unique te zijn dan heb je dus veel op veel relatie.

uhm of zie ik nu iets over het hoofd.
Volgens mij zit hier wel iets in! (even met een simpel voorbeeldje nagekeken) ik ga het nu even nakijken of ik bij de metadata die info te voorschijn kan toveren... thanx..

Verwijderd

sorry voor het kicken..

ik ben ook bezig met een metadata tooltje (exporten>XML om dan op de documentatieserver te dienen).
Ik heb ook getImported/ExportedKeys geprobeerd, getCrossReference, ....maar ik krijg ook steeds een lege resultset, ik had dus graag geweten of je hier reeds een oplossing voor hebt gevonden.
btw, wij gebruiken Oracle (http://download-east.orac...acleDatabaseMetaData.html).

Een andere optie is natuurlijk de metadata tabellen rechtstreeks querieen...
Pagina: 1