Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Please Review Database Structure?


Baron
 Share

Recommended Posts

Looking to find out if there is anything glaringly stupid I have done with my setup of some sql tables.

Comments on extra functionality welcome.

The language is not VB6 so please ignore language specific features and focus more on the actual DB design.

```

switch (tableType){

                case "Accounts":
                    sql =
                    "CREATE TABLE IF NOT EXISTS Accounts (" +  
                    "    AccountIndex INTEGER PRIMARY KEY AUTOINCREMENT, " +  
                    "    AccountName VARCHAR(50), " +  
                    "    Password VARCHAR(50), " +  
                    "    Email VARCHAR(50)," +  
                    "    Registered TIMESTAMP," +  
                    "    Character1 INTEGER," +
                    "    Character2 INTEGER," +
                    "    Character3 INTEGER" +
                    ")";

                break;

                case "Characters":
                    sql =  
                    "CREATE TABLE IF NOT EXISTS Characters (" +  
                    "    CharacterIndex INTEGER PRIMARY KEY AUTOINCREMENT, " +
                    "    SocketIndex INTEGER," +
                    "    CharacterName VARCHAR(50), " +  
                    "    Prefix VARCHAR(50), " +  
                    "    Suffix VARCHAR(50)," +  
                    "    Attributes INTEGER," +
                    "    Map INTEGER," +
                    "    PosX INTEGER," +
                    "    PosY INTEGER," +
                    "    Direction INTEGER," +
                    "    ContainerIndex INTEGER" +
                    ")";
                break;

                case "Tiles":
                    sql =
                    "CREATE TABLE IF NOT EXISTS Tiles (" +  
                    "    TileIndex INTEGER PRIMARY KEY, " +
                    "    TileAttribute INTEGER, " +
                    "    Data1 INTEGER, " +
                    "    Data2 INTEGER, " +
                    "    Data3 INTEGER, " +
                    "    String1 VARCHAR(200), " +
                    "    String2 VARCHAR(200), " +
                    "    String3 VARCHAR(200), " +
                    "    GroundTileSet INTEGER, " +
                    "    GroundTileX INTEGER, " +
                    "    GroundTileY INTEGER, " +
                    "    MaskTileSet INTEGER, " +
                    "    MaskTileX INTEGER, " +
                    "    MaskTileY INTEGER, " +
                    "    Mask2TileSet INTEGER, " +
                    "    Mask2TileX INTEGER, " +
                    "    Mask2TileY INTEGER, " +
                    "    NonTiledObject INTEGER " +
                    ")";
                break;

                case "Events":
                    sql =
                    "CREATE TABLE IF NOT EXISTS Events (" +  
                    "    EventIndex INTEGER PRIMARY KEY, " +
                    "    EventType INTEGER, " +
                    "    Data1 INTEGER, " +
                    "    Data2 INTEGER, " +
                    "    Data3 INTEGER, " +
                    "    Data4 INTEGER, " +
                    "    Data5 INTEGER, " +
                    "    String1 VARCHAR(200), " +
                    "    String2 VARCHAR(200), " +
                    "    String3 VARCHAR(200), " +
                    "    String4 VARCHAR(200), " +
                    "    String5 VARCHAR(200) " +
                    ")";
                break;

                case "Containers":
                    sql =  
                    "CREATE TABLE IF NOT EXISTS Containers (" +  
                    "    ContainerIndex INTEGER PRIMARY KEY, " +
                    "    ContainerSize INTEGER, " +
                    "    Slot1num INTEGER, " +
                    "    Slot1qty INTEGER, " +
                    "    Slot2num INTEGER, " +
                    "    Slot2qty INTEGER, " +
                    "    Slot3num INTEGER, " +
                    "    Slot3qty INTEGER, " +
                    "    Slot4num INTEGER, " +
                    "    Slot4qty INTEGER, " +
                    "    Slot5num INTEGER, " +
                    "    Slot5qty INTEGER, " +
                    "    Slot6num INTEGER, " +
                    "    Slot6qty INTEGER, " +
                    "    Slot7num INTEGER, " +
                    "    Slot7qty INTEGER, " +
                    "    Slot8num INTEGER, " +
                    "    Slot8qty INTEGER, " +
                    "    Slot9num INTEGER, " +
                    "    Slot9qty INTEGER, " +
                    "    Slot10num INTEGER, " +
                    "    Slot10qty INTEGER, " +
                    "    Slot11num INTEGER, " +
                    "    Slot11qty INTEGER, " +
                    "    Slot12num INTEGER, " +
                    "    Slot12qty INTEGER, " +
                    "    Slot13num INTEGER, " +
                    "    Slot13qty INTEGER, " +
                    "    Slot14num INTEGER, " +
                    "    Slot14qty INTEGER, " +
                    "    Slot15num INTEGER, " +
                    "    Slot15qty INTEGER, " +
                    "    Slot16num INTEGER, " +
                    "    Slot16qty INTEGER, " +
                    "    Slot17num INTEGER, " +
                    "    Slot17qty INTEGER, " +
                    "    Slot18num INTEGER, " +
                    "    Slot18qty INTEGER, " +
                    "    Slot19num INTEGER, " +
                    "    Slot19qty INTEGER, " +
                    "    Slot20num INTEGER, " +
                    "    Slot20qty INTEGER " +
                    ")";
                break;

                case "Items":
                    sql =
                    "CREATE TABLE IF NOT EXISTS Items (" +  
                    "    ItemIndex INTEGER PRIMARY KEY AUTOINCREMENT, " +
                    "    ItemType INTEGER, " +
                    "    Description VARCHAR(200), " +
                    "    Data1 INTEGER, " +
                    "    Data2 INTEGER, " +
                    "    Data3 INTEGER, " +
                    "    String1 VARCHAR(200), " +
                    "    String2 VARCHAR(200), " +
                    "    String3 VARCHAR(200), " +
                    "    InvWidth INTEGER, " +
                    "    InvHeight INTEGER, " +
                    "    Image INTEGER " +
                    ")";
                break;

                case "Attributes":
                    sql =  
                    "CREATE TABLE IF NOT EXISTS Attributes (" +  
                    "    AttributesIndex INTEGER PRIMARY KEY, " +
                    "    Attribute1 INTEGER, " +
                    "    Attribute2 INTEGER, " +
                    "    Attribute3 INTEGER, " +
                    "    Attribute4 INTEGER, " +
                    "    Attribute5 INTEGER, " +
                    "    Attribute6 INTEGER, " +
                    "    Attribute7 INTEGER, " +
                    "    Attribute8 INTEGER, " +
                    "    Attribute9 INTEGER, " +
                    "    Attribute10 INTEGER, " +
                    "    Attribute11 INTEGER, " +
                    "    Attribute12 INTEGER, " +
                    "    Attribute13 INTEGER, " +
                    "    Attribute14 INTEGER, " +
                    "    Attribute15 INTEGER, " +
                    "    Attribute16 INTEGER, " +
                    "    Attribute17 INTEGER, " +
                    "    Attribute18 INTEGER, " +
                    "    Attribute19 INTEGER, " +
                    "    Attribute20 INTEGER " +
                    ")";
                break;

                case "Experience":
                    sql =
                    "CREATE TABLE IF NOT EXISTS Experience (" +  
                    "    ExperienceIndex INTEGER PRIMARY KEY, " +
                    "    ToNextLevel INTEGER " +
                    ")";
                break;

                default:
                    log("WARNING: Attempted load / creation of " + tableType + " Table FAILED");
                break;

            }
```
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...