[[FrontPage]]
*データベースとSQL [#wf4ae6bf]
**テーブル構成 [#f38f685a]
例:costというデータに関するテーブルを作製する時
-テーブル名:データがわかるテーブル名
例:cost
-フィールド名(key):テーブル名+key
例:costkey
-フィールド名(通常データ):何のデータなのか一目でわかるようなフィールド名
例:rate
-他のテーブルとリレーションさせるフィールドに関しては同一のフィールド名を使用すること
-テーブル作製SQLの例
CREATE TABLE `cost` (
`costkey` int(11) NOT NULL auto_increment,
`category_no` int(11) default NULL,
`rate` float default NULL,
PRIMARY KEY (`costkey`)
) ENGINE=MyISAM DEFAULT CHARSET=ujis
-フィールド名「rate_cost」のようにすると、リレーションする際に他のテーブルとのフィールド名とかぶることはなくなる。しかしSQLを書く際に、「テーブル名.フィールド名」とするように統一したので「rate」とて問題ないのでそう変更した。また、テーブル名「rate_teble」のようにすると、それがテーブル名なのかフィールド名なのか判断しやすくなるが、上記のようにSQLを書く際に、「テーブル名.フィールド名」と書くようにするとテーブル名の長さがSQLを書くときに負担になるためにテーブル名は単純に「rate」とすることにした。
**SQL [#a7c181fc]
-フィールド名は必ず「テーブル名.フィールド名」の形式で既述する
select cost.costkey,cost.rate from cost;