dereck -> RE: WITP Files --> Tables (3/12/2006 6:22:15 PM)
|
quote:
ORIGINAL: pad152 And the point of the database is what exactly? I'll bet a major problem with WITP is the database, which is nothing more than a bunch of text files it's integrity starts going towards zero after turn one. Oracle seems like over kill, a flat-file database such as FF-PHP would seem to be better fit. I know Oracle and unlike flat-file "databases", Oracle is 1) truely relational and 2) a database. Flat files are just that - files that are not relational nor technically a database. Other than that disagreement with you (friendly however since I'm an Oracle programmer/analyst/dba and this is giving me a chance to just putz around with Oracle and WITP at the same time [:D]), I completely agree that the so-called WITP database is hosed big-time. If you look in the chart above the table/file WITP calls Locations is actually used for FIVE different entities: HQs, Land Combat Units, Locations, Task Forces and TO&Es - and their associated devices if they have any. None of the 5 are the same items. A HQ is not a LCU; a LCU is not a Location, etc. They simply do not belong in the same table/file. By doing so WITP is just asking for problems - which we all know they have. There's also little, if any, referential integrity or check constraints. There seems to be nothing which prevents a Leader from being assigned to command more than one item at a time - that is something easily taken care of in a real relational database design. In my last attempt at using the WITP editor I created a new class of submarines for the Americans so I could assign American boats to their historic classes. Unfortunately in an upgrade I forgot to assign the upgrade a class type so when they upgraded they went from being SS to being unknown and not any type and were completely unuseable. There was nothing in the editor which checked that any constraints, or rules, etc were being violated. Also, too much in the WITP "database" design depends on positional location of records. There is no legitimate reason why slots 100-200 (example) are just for Allies and 201-300 just for Japanese. Put a field in the damn record which indicates which side it belongs to. Stuff like that should be handled within the design of the database itself and not need programmer interdiction to maintain. It just adds another layer of programming complexity and when there is complexity there's going to be ... *drumroll* ... bugs. The same goes for the requirements that certain devices are in certain slots. That information should be contained in the record itself and not be dependent on the record being in a certain slot number. The addition of one simple field in the device record indicating the device type and using that field instead of the slot number would release the record from a certain slot yet still indicate what type of device it is. I'm of the personal opinion that the WITP "database" (if you can call it that, more like a file system) is seriously flawed on the design level and until that is taken care of certain bugs (missing leaders, Japs commanding allied units and vice versa, leaders commanding more than one ship, etc) are never going to go away.
|
|
|
|