EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Database/World Building (https://www.eqemulator.org/forums/forumdisplay.php?f=625)
-   -   Database Schema (https://www.eqemulator.org/forums/showthread.php?t=7858)

burthold 06-10-2003 06:19 AM

Database Schema
 
If you have wondered what the schema looks like here you go.
http://www.rpg-forums.com/eq_44.htm
This is 0.4.4 production. It acceptes drawdes final 1.1 db with no errors.

Cheers,
Wes

Zern 06-10-2003 06:55 AM

Very nice :)

burthold 06-10-2003 08:34 AM

No problem, as I figure out what each field actually controls I'll add that to the document. I'm a Sr. database administrator and developer. Anything I can do to help I will.

Wes

Trumpcard 06-10-2003 09:01 AM

Can you check and make sure we're well normalized and following all the normal forms...

I haven't analyzed the schema alot but I figure we've got some DNF problems in it. Does mysql support indexing? That would probably help us out performance wise on some of the big tables like items.

gej302 06-10-2003 09:24 AM

Indexing and MYSql
 
Yes. it supports indexing

burthold 06-10-2003 09:35 AM

I have been looking over the layout I'll be more than happy to make any suggestions that will speed up the db and queries. I'm also downloading the latest CSV today or tomorrow I was a pretty decent C++ coder back in the day never got into writing gui apps in C++ but could code a mean DOS app ;) I would suggest exploring the new innodb storage engine instead of using MyISAM files. They are fast ACID compliant and don't suffer some of the locking issues MyISAM does. On the structure side I would change the grid table and break it up so your pathing isn't limited to 50 way points. Also there are alot of text or blob fields that may not be needed in alot of cases people dump data that should be broken up and stored in a blob and parse through it on the program side of the app instead of storing it properly in the first place. I'll know more after this week for sure though. I love the emu it has come a long way since the last time I took a peek

Wes

Lurker_005 06-10-2003 12:44 PM

Well it looks like your input will definatly be of use and apreciated!


Looking forward to what you have to suggest.

Trumpcard 06-10-2003 12:55 PM

The blobs were used so packet sniffed items could be jammed directly into the database without alot of decoding, plus kept the table size down..

Now, it would probably be a good idea to convert it, would really make item manipulation alot easier...

burthold 06-10-2003 01:08 PM

Well I am going to put together a simi-normalized structure with the current database I have and we will go from there. I am also browsing through the database code from the csv just to get familiar with the queries you are using.

Wes

IAsoulfood 06-16-2003 06:21 PM

keep me in the loop
 
burthold, Lurker_005 and Trumpcard

I'd like it if you keep me close in the database and coding loop. I am a Senior Systems Engineer / Networking Engineer and hobbiest C++ programmer. I have spent alot of time on this code and have a great appreciation and understanding of your emulator. I have been having alot of fun working on these doors with Lurker_005's help and been using 3 different databases locally for testing...Drawde's Telmet's and a custom blend of both =) couldn't resist the last. Anything I can do to help I'd be glad to. You can always send me an email at pantora@core.com
Thanks again for an awesome piece of code
Soulfood 44th season [ex-Kane Bayle]
Pantora 38th season [ex-Kane Bayle]

Jrodo 06-18-2003 06:49 AM

Your database schema looks great !... don't happen to have a relationship chart by chance? ( many to one , one to many type chart? etc) It might help me with a problem I am having...

PROBLEM 1 :I make new spawns with the #NPCtypespawn command then use the #npcspawn add command to put in database. NP so far, now I add a custom mob like Drovlog Captian, so I have to use the "#NPCSpawn Drovlog_Captian ...etc... x x x x x " command to create the mob then use "#NPCSpawn add" command to put in database. Everything looks good, database has the new mobs in sp2, spawnentry and spawngroup tables. BUT when I restart my server only the NPCtype spawns show up the custom mobs are gone....They are still in the database though. I must be missing a link or something somewhere. Can anyone help me?

PROBLEM 2:Also, was gonna populate spiders and dogs in Velks but can find them anywhere in the database table NPC_types. I thought all the mobs were in there?

Doing great gang... Keep up the good work!

Specific command example I used..
#npctypespawn 3084 spawns a Kobald.
#npcspawn add adds targeted mob to database

and then custom mob:
#spawn Giant_rat 36 1 0 16 2 1 0 0 0 spawns custom rat
#npcspawn add adds targeted mob to database

Then reload server.. only the NPCtypespawns show up the custom one are gone!

Merth 06-18-2003 07:21 AM

Quote:

I would suggest exploring the new innodb storage engine instead of using MyISAM files. They are fast ACID compliant and don't suffer some of the locking issues MyISAM does.
I missed this the first time I read this thread... But I experience several issues on my server that I suspect are related to this. I don't know mysql, however. Is this a simple fix on a per-database thing? Or will it require a major db overhault? How can I play around with this?


All times are GMT -4. The time now is 01:45 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.