icaaqMedlem sedan okt. 20004 910 inlägg Tjenare!!
Jag håller på att bygga upp en databas som skall användas till ett medlemsregister. Men jag har lite funderingar, hur kan jag på bästa sätt få till en unik post för varje medlem??
Då säger ni säkert för er själva använd personnr, så tänkte jag med, och det kommer jag göra på spelarna.
Men nu ska detta register även innefatta:
tränare
styrelsemedlemar
V.I.P (personer som fått nån sorts utnämning)
Domare
det kommer säkert fler....
På exempelvis styrelsemedlemarna kommer det ju att bli lite svårt att få tag på personnummret...
Så nu kommer frågan igen vad är det bästa att ha som unik post? :q
Hur skulle ni göra ? :q
------------------
Korvfarbror--Med ring på fingret
[Redigerat av icaaq JR den 07 okt 2001]
[Redigerat av icaaq den 07 okt 2001]
LarsGMedlem sedan dec. 200012 465 inlägg Använd en räknare.
jag tror inte att du får lagra personnummer i en databas utan vidare.
------------------
essentitia preter non sans multiplicandum
icaaqMedlem sedan okt. 20004 910 inlägg Då detta är ett medlemsregister är personnr ingen fara.
men hur menar du med räknare??
Jag skulle vilja ha en tabel med allt som en medlem kan vara, typ:
spelare
Lag
tränare
styrelsemedlemar
V.I.P (personer som fått nån sorts utnämning)
Domare
Address
Postnr
Ort
Telefon
Epost
osv osv
...
mitt problem kommer när jag lägger in två spelare typ:
Namn:@nders
Lag:wF p-90
personnr:900101-0101
Address:wFvägen 90
Postnr:100 10
Ort:wF
Namn:@nders
Lag:wF p-75
personnr:750101-0101
Address:wFvägen 10
Postnr:100 10
Ort:wF
För att jag senare ska lägga in en styrelsemedlem:
Namn:@nders
Position:Ledamot
hur gör jag för att veta vilken av dessa @nders jag ska uppdatera infon om??
Det kanske går att om det finns fler än en @nders så listar man upp dem och ber administratören att välja vilken post som ska uppdateras....Eller går det att göra på något annat vis? :q
Nu kanske inte det är så stor chans att två personer heter just @nders, men det finns kanske två stycken Per Karlsson.
------------------
Korvfarbror som tycker om kyckling
LarsGMedlem sedan dec. 200012 465 inlägg Ungefär så här
create table persons (personid counter, FirstName varchar(30), LastName varchar(30),
adress varchar(30), tel char(10),primary key(personid),
unique(firstname,lastname))
create table positions(positionid counter,position char(20),description varchar(255),
primary key(positionid))
create table personPosition(personid int,positionid int,
primary key(personid,positionid), foreign key(personid) references persons,
foreign key(positionid) references positions)
Dvs om en person har flera positioner så blir det flera poster i tabellen personPosition
Sen så skulle jag se till att man får något unikt namn t.ex att man har med en initial
för andra namnet t.ex
FirstName!LastName
---------
Per R!Karlsson
Per O!Karlsson
Om man vid en sökning får upp flera träffar så kan man lägga in någon funktion
där man visar dessa träffar och så får man välja en av dem när man skall uppdatera.
------------------
essentitia preter non sans multiplicandum
VetgirigMedlem sedan nov. 2000203 inlägg Min rekommendation är att använda ett medlemnummer och därmed få ett unikt id för varje post.
Notera att om du inte måste ha med det - så kan och bör du helt utelämna personnumret.
------------------
Anders Lindbäck,Igiro Internet Giro
[Redigerat av Vetgirig den 07 okt 2001]
icaaqMedlem sedan okt. 20004 910 inlägg om jag även vill ha en poängliga ska jag lägga till fält i personPosition eller hur skulle ni lösa det hela ??
------------------
Korvfarbror som tycker om kyckling
LarsGMedlem sedan dec. 200012 465 inlägg Nu vet jag inte exakt vad du menar med en poängliga men det låter som om du skulle ha det i en egen tabell.
------------------
essentitia preter non sans multiplicandum
icaaqMedlem sedan okt. 20004 910 inlägg Jag menar att när man som spelare gör mål eller assist i sitt lag så vill jag ha in det i nån sorts tabell ....för att kunna ta ut poängligor....
När jag tänker efter skulle jag även haft uppgifter om domaren och styrelsen....
man ska kanske göra flera tabeller med koppling till personPosition som håller reda på skytteligor, domare osv osv...
Men hur relaterar man dem med personPosition låt oss säga att jag har en medlem i klubben:
persons
personID!firstname!lastname!osv!osv!
------------------------------
1!@nders!@ndersson!osv!osv
Positions
positionID!position!description
----------------------------------
1!Spelare!vet ej vad jag ska skriva nu :)
personposition
personid!positionid!
1!1
det är väl ungefär så det är tänkt men hur ska jag göra för att relatera till tabellen skytteliga när positionid = 1 och domartabellen om positionid = 2
nån som fattar vad jag menar ??
------------------
Korvfarbror som tycker om kyckling
[Redigerat av icaaq den 08 okt 2001]
icaaqMedlem sedan okt. 20004 910 inlägg Nån som förstår...
------------------
Korvfarbror som tycker om kyckling
LarsGMedlem sedan dec. 200012 465 inlägg Jo, generellt så bör man hålla isär olika saker. Om det är något som bara gäller domare så blir det en egen tabell och något för spelare en annan tabell.
Det är ju inget problem att du i din skytteliga-tabell har två kolumner som utgör primärnyckel och dessa båda har en relation till personPosition tabellen.
------------------
essentitia preter non sans multiplicandum
icaaqMedlem sedan okt. 20004 910 inlägg Det är ju inget problem att du i din skytteliga-tabell har två kolumner som utgör primärnyckel och dessa båda har en relation till personPosition tabellen
men hur gör jag för att veta om PersonPosition´s id ska relatera till domartabellen eller om den ska relatera till skytteligan??
------------------
Korvfarbror som tycker om kyckling
LarsGMedlem sedan dec. 200012 465 inlägg Relationen går åt andra hållet.
Du kan i och för sig inte få dbms att kolla att skytteligatabellen bara innehåller spelare så det får du hantera själv.
Om du använder mysql så får du hantera verifieringen av alla foreign keys själv.
------------------
essentitia preter non sans multiplicandum
icaaqMedlem sedan okt. 20004 910 inlägg Om du använder mysql så får du hantera verifieringen av alla foreign keys själv
vad innebär detta ??
------------------
Korvfarbror som tycker om kyckling
[Redigerat av icaaq den 09 okt 2001]
LarsGMedlem sedan dec. 200012 465 inlägg I mysql kan man, när man skapar en tabell, ange att det finns en foreign key till en annan tabell. Det innebär dock inte att mysql hanterar detta på något sätt.
(Jag har gjort en liten beskrivning om hur foreign keys skall fungera i en riktig DBMS, det senaste inlägget i denna tråd).
http://cgi.webforum.nu/wf/Forum11/HTML/006642.html
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 09 okt 2001]
icaaqMedlem sedan okt. 20004 910 inlägg ok, men om jag använder mySQL (som jag gör) då får man styra allt genom olika insertsatser till de olika tabellerna..
har jag fattat det rätt då ?
------------------
Korvfarbror som tycker om kyckling
icaaqMedlem sedan okt. 20004 910 inlägg Jag vill bara få det bekräftat.....
------------------
Korvfarbror som tycker om kyckling
LarsGMedlem sedan dec. 200012 465 inlägg jo, och vid delete måste du se till att det försvinner i alla relaterade tabeller.
------------------
essentitia preter non sans multiplicandum
icaaqMedlem sedan okt. 20004 910 inlägg ok.dags att börja bygga.... :)
------------------
Korvfarbror som tycker om kyckling
LarsGMedlem sedan dec. 200012 465 inlägg Lägg mycket tid på att göra datamodellen. Man brukar tjäna på det i slutändan.
------------------
essentitia preter non sans multiplicandum
icaaqMedlem sedan okt. 20004 910 inlägg Jag har köpt ett tre-pack kollegieblock som jag tänkt kladda slut på innan jag börjar ;) I´l be back
------------------
Korvfarbror som tycker om kyckling