Re: Composite primary keys?

Wolfgang Keller <[email protected]> Thu, 01 Nov 2007 10:29:46 +0100
Newsgroups gmane.comp.python.modeling
Message-ID <906C5B0600C796CCB664D14D@[192.168.1.25]>
Qm9uam91ciwKCmVuZmluLCBqZSBzdWlzIHVuIGltYsOpY2lsZSwgb24gcG91cnJhaXQgdG91dCBh
dXNzaSBiaWVuIMOpY3JpcmUgCkZyYW5jYWlzLCBub24/Cgo+IEl0J3MgYWx3YXlzIG5pY2UgdG8g
bGVhcm4gdGhhdCBhIG5ldyBweXRob25lZXIgaXMgYW1vbmcgdXMgOikKCkplIGNvbm5haXMgUHl0
aG9uIGRlcHVpcyBwbHVzIHF1ZSBkaXggYW5zIG1haW50ZW5hbnQgKDE5OTQgZW4gZmFpdCkgZXQg
CmplIGwnYWkgdXRpbGlzw6kgZGUgdGVtcHMgZW4gdGVtcHMgcG91ciDDqWNyaXJlIGRlcyBwZXRp
dCAic2NyaXB0cyIgCiJwcsOqdCDDoCBqZXRlciIgc3VyIE1hY09TIFggZXQgV2luZG93cyAocHJh
dGlxdWUgcHVpc3F1ZSBQeXRob24gCmZvbmN0aW9ubmUgZXQgYXZlYyBPU0EgZXQgYXZlYyBDT00p
LiBNYWlzIG1haW50ZW5hbnQgamUgc3VpcyBlbiB0cmFpbiAKZGUgbWUgcHLDqXBhcmVyIHBvdXIg
dHJhdmFpbGxlciBkYW5zIGxlIG1vbmRlIEZNRFMgKGZpYWJpbGl0w6kuLi4pIGV0IApkb25jIGls
IGZhdWRyYWl0IHF1ZSBqZSBtZSAiYmlkb3VpbGxlIiB1bmUgImJvaXRlIMOgIG91dGlscyIgcG91
ciAKdHJhdmFpbGxlciBhdmVjCgotIGRlcyBiYXNlcyBkZSBkb25uw6llcyAocC5leC4gbGUgc2No
w6ltYSBNSU1PU0EgQ1JJUywgcC5leC4gc3VyIApQb3N0Z3JlU1FMKSwKLSBsJ2FuYWx5c2Ugc3Rh
dGlzdGlxdWUgZGVzIGRvbm7DqWVzIChwLmV4LiBhdmVjIFIpCi0gZXQgZGVzIG91dGlscyBwb3Vy
IGNyw6llciBkZXMgdGFibGVhdXggZGUgcsOpc3VsdGF0cyAoT3Blbk9mZmljZSwgCkdudW1lcmlj
Li4uKSwKLSBkZXMgZ3JhcGhlcyAoTWF0cGxvdGxpYi4uLikKLSBldCBwZXV0IMOqdHJlIG3Dqm1l
IGRlcyBHVUkgc2ltcGxlcyAoR1RLL0tpd2kvUXQvV3h3aWRnZXRzIC0gbGVxdWVsIApqZSBjb21w
cmVuZHJhIG1pZXV4KQoKRXQgaWwgbWUgc2VtYmxlIGVuY29yZSB1bmUgZm9pcyBxdWUgUHl0aG9u
IHNvaXQgbCdvdXRpbCBxdWFzaS1pZMOpYWwgCnBvdXIgdG91dCBjZWxhLgoKPiBVbmZvcnR1bmF0
ZWx5LCB0aGUgc3VwcG9ydCBmb3IgY29tcG91bmQgcHJpbWFyeSBrZXlzIGhhcyBuZXZlciBiZWVu
Cj4gZmluaXNoZWQuIFRoZSBjb2RlIGhhcyBiZWVuIHByb2R1Y2VkIHdpdGggbXVsdGlwbGUgUEtz
IGluIG1pbmQsCj4gaG93ZXZlciBpdCBoYXMgbmV2ZXIgYmVlbiB0ZXN0ZWQsCgpQYXMgZGUgcHJv
YmzDqG1lIDotKS4gSidhaSB1biBzY2jDqW1hIHRvdXQgZmFpdCAiYXNzZXoiIGNvbXBsZXggCigz
MDAtNDAwIGVudGl0w6lzIGF2ZWMgZGVzIGNsw6lzIGRlIDUtMTAgY2hhbXBzKSwgb24gcG91cnJh
aXQgY3LDqWVyIApkZXMgZG9ubsOpZXMgcG91ciBsZXMgdGVzdHMgYXV0b21hdGlxdWVtZW50Li4u
Cgo+IGFuZCBJIHN1c3BlY3QgaXQgd291bGQgcmVxdWlyZSBtb3JlCj4gdGhhbiBqdXN0ICd0ZXN0
aW5nIGl0Jy4KCkR1IHRvdXQgcHJlbWllciBjb3VwIGQnb2V1aWwsIGxlIGNvZGUgbmUgbWUgc2Vt
YmxhaXQgcGFzIGF1c3NpIApkaWZmaWNpbGVtZW50IGNvbXByZWhlbnNpYmxlIHF1ZSBjZWx1aSBk
ZSBTUUxBbGNoZW15IChsYSBzZXVsZSAKYWx0ZXJuYXRpdmUgcXVpIGZvbmN0aW9ubmUgZMOpasOg
IHF1ZSBqZSBjb25uYWlzIC0geSBlbiBhIHQtaWwgCmQnYXV0cmVzPykuCgo+IEhvd2V2ZXIsIEkg
d29uJ3Qgc3BlbmQgdGltZSB0byBkZXZlbG9wIG5ldyB0aGluZ3MgYWxvbmUgb24gbXkgb3duLgoK
TW9kZWxpbmcgZGFucyBsYSBsaWJyYWlyaWUgc3RhbmRhcmQhIEMnZXN0IHPDqXJpZXV4LCBkJ2Fp
bGxldXJzLiBUb3V0IApjb21tZSBQeXJleCwgT21uaU9SQnB5IGV0IE9tbmlOb3RpZnksIFRyYWl0
cywgdW4gbW9kdWxlIGRlICJwcm9ncmFtbWluZyAKYnkgY29udHJhY3QiLi4uCgpFbiBmYWl0IGpl
IGNoZXJjaGUgcXVlbHF1ZSBjaG9zZSBxdWkgbWUgcGVybWV0IGRlICJkw6ljbGFyZXIiIHVuIApt
b2TDqGxlICJsb2dpcXVlIiBvYmpldC1yZWxhdGlvbm5lbCAoZGFucyBsZSBjYXMgcHLDqXNlbnQg
Yydlc3QgTUlNT1NBIApDQ09NLCBlbiBVTUwpZW4gUHl0aG9uIGQndW5lIG1hbmnDqHJlIHNpbXBs
ZSBldCBkJ3V0aWxpc2VyIHVuIHNjaMOpbWEgCiJwaHlzaXF1ZSIgZG9ubsOpIChNSU1PU0EgQ1JJ
UywgZW4gU1FMKSBwb3VyIGxhIHBlcnNpc3RlbmNlLi4uCgo+IE5vdywgaWYgeW91IGZpbmQgeW91
cnNlbGYgaW50ZXJlc3RlZCBlbm91Z2ggYW5kIGluIHRoZSBjYXNlIHlvdSdyZQo+IGVhZ2VyIHRv
IGxvb2sgc2VyaW91c2x5IGF0IGl0LCBJIG1lYW4gdGhlIGNvZGUsIEknbGwgYmUgaGFwcHkgdG8g
aGVscAo+IHlvdSBpbiB0aGUgdGFzay4KCkplIHBldXggYXUgbW9pbnMgZXNzYXllci4gOi0pCgo+
IElmIHlvdSdyZSBqdXN0IGxvb2tpbmcgZm9yIGEgb2JqZWN0LXJlbGF0aW9uYWwgYnJpZGdlIHdv
cmtpbmcgIm91dCBvZgo+IHRoZSBib3giIGZvciB5b3VyIHNjaGVtYXMgaW52b2x2aW5nIGNvbXBv
dW5kIFBLcywgSSBoYXRlIHRvIHNheSB0aGF0Cj4gYnV0IGZyYW5rbHk6IEkgaGF2ZSB0byBhZG1p
dCB0aGF0IHlvdSBuZWVkIHRvIGxvb2sgZWxzZXdoZXJlLCBiZWNhdXNlCj4gdGhlIE1ETCBmcmFt
ZXdvcmsgZG9lcyBub3Qgc3VwcG9ydCB0aGUgZmVhdHVyZSB5b3UgcmVxdWVzdCByaWdodCBub3cu
CgpFbiBmYWl0IGplIG5lIGNvbm5haXMgcXVlIFNRTEFsY2hlbXkgcXVpIGZvbmN0aW9ubmUgYXZl
YyBkZXMgY2zDqWVzIApjb21wb3NpdGVzLi4uCgpEb21tYWdlIHF1ZSBBcHBsZSBuJ2FpdCBwYXMg
ZG9ubsOpIGRlIHJlbmFpc3NhbmNlIMOgIEVPRiBjb21tZSB2ZXJzaW9uIApjbGllbnQtc2VydmV1
ciBkZSBDb3JlIERhdGEuIFgtKCBQb3VydGFudCBpbCB5IGF2YWl0IHBhcyBxdWUgbW9pIHF1aSAK
bCdhdHRlbmRhaXQgcG91ciBYY29kZSAzLjAsIGlsIG1lIHNlbWJsZS4KCkErLAoKV29sZmdhbmcg
S2VsbGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBi
eTogU3BsdW5rIEluYy4KU3RpbGwgZ3JlcHBpbmcgdGhyb3VnaCBsb2cgZmlsZXMgdG8gZmluZCBw
cm9ibGVtcz8gIFN0b3AuCk5vdyBTZWFyY2ggbG9nIGV2ZW50cyBhbmQgY29uZmlndXJhdGlvbiBm
aWxlcyB1c2luZyBBSkFYIGFuZCBhIGJyb3dzZXIuCkRvd25sb2FkIHlvdXIgRlJFRSBjb3B5IG9m
IFNwbHVuayBub3cgPj4gaHR0cDovL2dldC5zcGx1bmsuY29tLwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNb2RlbGluZy11c2VycyBtYWlsaW5nIGxpc3QK
TW9kZWxpbmctdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNl
Zm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL21vZGVsaW5nLXVzZXJzCg==