テーブル設計

今回のアプリでは上記の図のように4つのテーブルを作成します。
SQL文を書き出す
まずはデータベースと各テーブルのSQL文を書き出します。最初はわからないかもしれませんが、まずは手を動かしてみましょう。
データベース
データベースを作成
データベースを新規作成する場合はCREATE文を使います。データベースの時はCREATEの後にDATABASEとして次にデータベース名としてjpstocks_dbを入力します。
CREATE DATABASE jpstocks_db;
データベースに接続
次に操作するデータベースを指定するためにUSE文を使います。USEの後にデータベース名を入力します。
USE jpstocks_db;
テーブル
テーブルを新規作成する場合もCREATE文を使います。テーブルの時はCREATEの後にTABLEとして次にテーブル名を指定します。次に小カッコ内にカラム名とデータ型やカラムの制約などを入力します。
jpmarket_tblを作成
CREATE TABLE jpmarket_tbl( market_id TINYINT NOT NULL PRIMARY KEY, market CHAR(10) UNIQUE );
jpstock_tblを作成
CREATE TABLE jpstock_tbl( code_id SMALLINT NOT NULL PRIMARY KEY, stockname CHAR(128), market_id TINYINT );
memo_tblを作成
CREATE TABLE memo_tbl( memo_id INT ZEROFILL NOT NULL PRIMARY KEY AUTO_INCREMENT, code_id SMALLINT NOT NULL, user_id INT NOT NULL, memo TEXT(255), created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
user_tblを作成
CREATE TABLE user_tbl( user_id INT ZEROFILL NOT NULL PRIMARY KEY AUTO_INCREMENT, username CHAR(128) NOT NULL, email CHAR(128) NOT NULL UNIQUE, password CHAR(128) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
MySQL workbenchを使ってSQL文を実行
データベースとすべてのテーブルを作成します。MySQL workbenchを使って書き出したSQL文を実行します。MySQL workbenchを使うとSQL文の構文ミスなどを指摘してくれるので便利です。
まずはデータベースを作成します。SQL文を入力して全て実行します。そうすると下部に実行結果が表示されます。

続けてテーブルも作成します。上記と同様にSQL文を入力して全て実行します。そうすると下部に実行結果が表示されます。また左側のSCHEMASを再読み込みするとデータベース以下に各テーブルが表示されます。

以上で必要なデータベースとテーブルが作成できました。
次回はSQL文を詳しく見ていきます。