DB(laravel)
DB設計STEP 1.システムの概要を把握する(システムの要件と機能一覧を明確にする)
2.エンティティの抽出 物理的なものでなくていい。 テーブル単位の格納
3.エンティティの定義 レコードの名前を決めていく
4.正規化
5.ER図作成
4.正規化
正規化1回目 繰り返しになっている部分をテーブルからみつける(横)
例レコードに、商品名というカテゴリが2つある場合。一つなくして縦に表 示でできるように
正規化2回目 縦に繰り返しをなくす。繰り返してないものだけを、別のテーブルにうつす。
1対Nの関係にする必要がある。
正規化のPOINT 横方向の繰り返し→縦にならべる
縦方向の繰り返し→1:nのテーブルに切り出す。
DB
演算 + - * / nullは全部nullになる ()から優先
nullを選択は、is null そうではない、is not null
not は否定
andはまじわる orは、どちらか
比較 = <> > >= <= < =等しい 、<>等しくない、 >より大きい、 >= 以上 、 <=以下、
<より小さい
データベース作成
create database データベース名;
データの型 データ型 integer(整数、数字).char(文字、固定長文字列)
.varchar(可変長文字列)date(日付)
制約 nullは何もない notnull(データ入力必須)
primarykey (主キー)一つ行を特定できる
テーブル削除
drop table テーブル名;
テーブルの変更
Alter table(オルター)テーブル名;
追加 Alter table(オルター)テーブル名 add 列名
削除 Alter table(オルター)テーブル名 drop column 列名
テーブル名変更 Rename table テーブル名 to テーブル名
テーブルへ登録 insert into テーブル名 values ('入れたいデータ','入れたいデー タ');
検索 select レコード名 ,レコード名 form テーブル名;
select 'レコードの内容' as レコード名 from テーブル名;
特定のカラムからレコードの内容とかかれたものだけ、表示させる
レコード名だけをすべて表示したいとき使う(縦)
select * from テーブル where 条件('服');
レコードからみつけてくる(横)
集約関数 count,sum ,avg,max.min
他にも200位ある
重複削除 discount
分ける group by 更に細かくhaving haveingを使う際は,group byもセットで
並び変え order by asc(昇順)desc(降順)
ほかのテーブルからデータを移動が可能
テーブルを消す delete from テーブル名;
where可能
データ更新 apdate テーブル名 set テーブル名;
where可能
トランザクション 更新をまとめてやる処理 transtion commit(更新完了) ,rollback(取り消し)
サブクエリ サブクエリとgroup byは切り取り
結合Join inner join onは必須 テーブル結合
Outer join left rightでメインを決める
MySQLリファレンスデータの型
bigint 整数 int 整数 bogintより小さい UNSIGNEDを指定すると整数のみ
varchar 文字列(初期値を設定可能) varchar(255)
text 指定できない
Auto_increment 連番を自動で
Discussion