It's like this..
Table1: Caster
CasterID (auto number)
Character Name
Class
Level
Spell Stat Modifier (Int mod for wizards, cha for sorcerers, ect)
Specialty Type (only for wizards)
# of Known Spells (total, for wiz, sorc, bard, and others of their type)
# of 0 level spells to cast
# of 1st level spells to cast
Ect.. to 9th level
Table1B: CasterSpecialty (if they have spell focus or anything that gives them a DC bonus to a certain school of magic)
SpecialtyCode
DC Modifier
Table2: CasterKnownSpellRelator
CasterID
SpellID
Table3: CasterFeatRelator
CasterID
FeatID
Table4: CasterMemorizedSpellRelator
CasterID
SpellLevel
SpellID
Table5: Good friggin luck
Table98: Specialties
SpecialtyCode
SpecialtyType (school, domain, damage type (like [fire])
Specialty Description
Table99: Feats
FeatID
Feat Name
Feat Description
Feat Level Adjustment
The point i'm trying to make is that a fully relational database that is flexible enough to do more than one character is going to be tough. You could do it.. but it would be tough.
You could then generate a spell list, as well as a chart for what is memorized. The spell list would include all the proper DCs, and descriptions, so that you didn't have to go book hunting when you were looking for the rules on a spell. It's what i've done for my character.. but it's a lot of work, and even more if you want to do it for more than one character.
Sounds like a fun project.. is anyone paying?
