-
Notifications
You must be signed in to change notification settings - Fork 0
DataBase modelization
We got three tables.
-
The first one, the Map table, contain the name of the map (primary key), its dimensions (width, height) and the number of diamond and the time to finish the level.
-
The second, the ObjectType table, contain the differents types of elements (primary key) that will compose the Map (Dirt, Rock, Monsters, character, Diamond, Wall).
Finally, these two tables are linked by the ObjectMap relation which contain the primary key of the Map table and the ObjectType table, and this key will additionally be composed of the x and y coordinates (avoids redundancy of entry in the Table).
- Updating or deleting an entry in Map is propagated in ObjectMap :
ObjectMap_Map_MapName_fk FOREIGN KEY (MapName) REFERENCES Map (MapName) ON DELETE CASCADE ON UPDATE CASCADE
So if a map is deleted from the Map table, the elements that compose it are removed from the ObjectMap.
- The update of an Object Type entry is propagated in ObjectMap the deletion will be blocked :
ObjectMap_ObjectType_TypeObject_fk FOREIGN KEY (TypeObject) REFERENCES ObjectType (TypeObject) ON UPDATE CASCADE
If a ObjectType change in TypeObject table, it will change in ObjectMap table.
We got nine stored routines :
sql addMap(IN nameMap VARCHAR(255), IN width INT, IN heigh INT, IN nbrDiamond INT, IN timeremaining INT)
- Allow to add a Map in dataBase.
- Allow to add the map in database.
- Allow to add the Object map.
- Allow to get an map.
- Allow to get the list of map names.
- Allow to retrieve objects map.
- Allow to remove the map.
- Allow to remove Map Object.
- Allow to remove Object type.