ノベルゲームの リレーショナルなテーブルをかんがえてみた
まだ机上の設計でまだ試していない
有料版のSimpleSQL(SQLITE)を検討してみる。40ドル
http://www.kfactory.net/2018/08/simplesql.html
SQLITEなのでSQLSERVERでは使えない型があるかも
ORDER順で並べ替えて、ストーリーが進行する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
--SQLLite用人事退職官 CREATE TABLE T_STORYBOARD( ID integer primary key autoincrement, ID_USER integer NOT NULL, PARAGRAPH_CODE nvarchar(50) NOT NULL, PARAGRAPH_TEXT text NOT NULL, ID_BRANCHE1 integer , ID_BRANCHE2 integer , ID_BRANCHE3 integer , Q1_TEXT text, Q2_TEXT text, Q3_TEXT text, FUNCTION_NAME nvarchar(100), ORDER_JUN integer NOT NULL, IS_VALID integer NOT NULL,--データ必要か不要か IS_RETIRE integer NOT NULL,--退職したか、IS_VALID:1,IS_RETIRE:0,1で使用する。IS_VALID:0はストーリー上、不要とみなす IMAGE nvarchar(100), ANIME nvarchar(100), DATE_CREATE datetime, DATE_UPDATE datetime ) --IS_RETIREは初期値は0:就業中(退職していない)1で退職になる insert into T_STORYBOARD VALUES(1,1,'00010','こんにちは','00020','00030','00040','分岐1','分岐2','分岐3','testFunction1',1,1,0,'test1.png','anime1','2019/06/30','2019/06/30'); insert into T_STORYBOARD VALUES(2,1,'00020','元気ですか?','00030','00040','00050','分岐1','分岐2','分岐3','testFunction2',2,1,0,'test2.png','anime2','2019/06/30','2019/06/30'); --user master初期値 このレコードから、ユーザ情報を作成する --userテーブルに挿入するときはIS_VALIDを追加する CREATE TABLE T_USER_MASTER( ID integer primary key autoincrement, USER_NAME nvarchar(100) NOT NULL, LEVEL integer , age integer , physical_strength int,--体力 Knowledge integer ,--知識 experience integer ,--経験値 want_retire integer ,--退職したい気分 sex_type integer ,--性別 1:man 2:woman next_level_to integer ) --USER初期値データ挿入、ゲームスタート時に登録する。一回だけ INSERT INTO T_USER_MASTER VALUES(1,'主人公',1,24,50,50,1,10,1,100) INSERT INTO T_USER_MASTER VALUES(2,'エライ部長',20,42,50,250,120,5,1,300) --USER データ、ゲームオーバ、リスタートになるまで使用。不要のときにIS_VALIDを0にして不要にする CREATE TABLE T_USER( ID integer primary key autoincrement, --USER_NAME nvarchar(100) NOT NULL, 主人公とかの名前は不要、ID_USER_MASTERでわかる ID_USER_MASTER integer , LEVEL integer , physical_strength integer ,--体力 Knowledge integer ,--知識 experience integer ,--経験値 ここの値でレベルが上がる want_retire integer ,--退職したい気分 sex_type integer ,--性別 next_level_to integer,--次のレベルに上がるまでの経験値 IS_VALID integer, --必要、不要フラグ DATE_CREATE datetime NOT NULL, DATE_UPDATE datetime NOT NULL ) |
–休みタイプ
CREATE TABLE T_REASON(
ID integer primary key autoincrement,
ID_USER INTEGER NOT NULL,
ID_YASUMI_TYPE INTEGER NOT NULL,–休みタイプ
DATE_SHUTOKU datetime NOT NULL,
IS_VALID INTEGER NOT NULL,
DATE_CREATE datetime NOT NULL,
DATE_UPDATE datetime NOT NULL
)
–休みタイプマスター
CREATE TABLE T_YASUMI_TYPE_MASTER (
ID INTEGER NOT NULL,
REASON TEXT NOT NULL,
IS_VALID INTEGER NOT NULL
)
AS:SQL Mk-2を使ってみた
SQLITEではファイルを指定する