Hej all! <info> Förslag på en "riktig" datastruktur:Tabelldesignhjälp med enkel adressdatabas!
Sitter med en enkelt Excelark idag för att hålla reda på våra medlemmar i vår förening. Den har hitills endast innehållit namn och adress på medlemmarna, men kommer nu att utökas med e-post,telenummer av alla de olika slag, och vissa har tom flera olika mobilnummer. Dessutom så vill vi föra in familjemedlemmar också!
Helt grön på att designa databaser, och undrar om någon har ett förslag på hur tabellerna ska läggas upp?Sv: Tabelldesignhjälp med enkel adressdatabas!
Personer
-personId
-namn
-epost
-tlnr
osv...
MobilNr
-personId
-mobilnr
Familj
-FamiljId
-personId
-familjerollId
FamiljeRoll
-familjerollId
-Descr
</info>
Nå sånt kanske?
Alla personer hamnar i tabellen Personer, och tabellen Familj kopplar ihop de olika personerna för att visa vilka som tillhör vilken familj. (samma FamiljId = tillhör samma familj)
Sen den extra tabellen MobilNr känns lite onödig (fastän att den nog blir regelrätt). Jag hade nog själv satt in ett par kolumner i "Personer" istället som heter typ Mobil1, Mobil2 osv.
FamiljeRoll är kanske onödig? Men man vet aldrig...Sv: Tabelldesignhjälp med enkel adressdatabas!
Tabell: tblMembers
Fält: MemberId int
Fält: MemberName varchar(50)
Tabell: tblRelationshipTypes
Fält: RelationshipTypeId int
Fält: RelationshipTypeName varchar(50)
Tabell: tblRelationships
Fält: RelationshipId int
Fält: RelationshipType int -> tblRelationshipTypes.RelationshipTypeId
Fält: RelationshipMember int -> tblMembers.MemberId
Fält: RelationshipToMember int -> tblMembers.MemberId
Tabell: tblContactTypes
Fält: ContactTypeId int
Fält: ContactTypeName varchar(50)
Tabell: tblContacts
Fält: ContactId int
Fält: ContactType int -> tblContactTypes.ContactTypeId
Fält: ContactMember int -> tblMembers.MemberId
Fält: ContactValue varchar(50)
Exempeldata:
tblMembers
---------------------------------------
MemberId, MemberName
---------------------------------------
1, Adam Karlsson
2, Beritt Karlsson
3, Calle Karlsson
4, Diana Karlsson
tblRelationshipTypes
---------------------------------------
RelationshipTypeId, RelationshipTypeName
---------------------------------------
1, Far
2, Mor
3, Son
4, Dotter
tblRelationships
---------------------------------------
RelationshipId, RelationshipType, RelationshipMember, RelationshipToMember
---------------------------------------
1, 1, 1, 3
2, 1, 1, 4
3, 2, 2, 3
4, 2, 2, 4
5, 3, 3, 1
6, 3, 3, 2
7, 4, 4, 1
8, 4, 4, 2
tblContactTypes
---------------------------------------
ContactTypeId, ContactTypeName
---------------------------------------
1, Telefon
2, Mobil
3, E-Post
4, Fax
tblContacts
---------------------------------------
ContactId, ContactType, ContactMember, ContactValue
---------------------------------------
1, 2, 1, +46(0)7011 11111
1, 2, 2, +46(0)7022 22222
1, 2, 3, +46(0)7033 33333
1, 2, 4, +46(0)7044 44444
1, 3, 1, Adam.Karlsson@home.se
1, 3, 2, Beritt.Karlsson@home.se
1, 3, 3, CK007@Passagen.se
1, 3, 4, Sunshine4Ever@Spray.se