Newbie Table Normalization question (access)
Hello I am designing my first access database to store information on a role-playing game I have created. My problem is that I can't figure out how to normalize my weapons charts which are currently on excel.
Each weapon has a name, cost, size, type; damage which is is standard stuff. The problem is that each weapon has a table of eight different ranks as the player improves from Novice to Grand Master displaying numbers for; Offensive#, Fumble, Lethal and points needed to obtain the rank .
Rank >> No Skill Novice Apprentice
Offensive 9 13 17
Points needed 0 30 50
Fumble 88 90 92
lethal 6 6 7
As you can see by the time I get through 8 ranks all the way to Grand master there is a lot of data for each weapon. I have around 30 diffeent weapons.
Do I make one huge table? Do I create a seperate table for each rank or somthing else.
I would greatly appreciate any help possible.
hmm this must be a tough one. Not one reply.
First of all: This isn't huge by any standards. You have 30 weapons, each with 5 static parameters and 4 parameters for each rank, and there are 8 ranks. That makes 5+8*4 = 37 values for each weapon, and 1110 values for all 30.
Using a single table with 37 columns is doable, but hardly elegant. It does have the advantage of making it simple to ensure that all weapons have all the rank data defined.
Standard data modelling tells you to have two tables.
One with the static data, primary key name (or a separate ID column).
One with the rank dependent data, primary key name+rank (or ID + rank).
Personally, I'd consider dropping this as constant objects in the project or storing them in an XML file that I'd use serialization to read. Why use a database for something that is so static? Will it be possible for the player to acquire more weapons?
If you hit a brick wall, you didn't jump high enough!
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL