学習効率を上げるためのバックエンドのデータベース基礎知識
バックエンドにおいて、データベース操作はかかせませんが、
データベースを学習する上で最初に知っておくと学習効率が上がる基礎知識を紹介します。
目次から読む
- 1. テーブル設計は重要
- 2. データベース(DB)の基本
- 3. MySQLの構成
- 4. 主キーについて(PK: primary key)
- 5. 複合(主)キーについて
- 6. 外部キーについて(FK: foreign key)
- 7. 正規化
- 8. ER図
- 9. SQLステートメント
- 10. 実践的なテーブル構成方法
- 11. トランザクションとACID特性
- 12. 【MySQL】ロックとデッドロック
- 13. truncateとdeleteの違い
- 14. システム変数とユーザー定義変数
- 15. TIMESTAMPとDATETIMEの違い
- 16. ユーザーと権限の付与方法
- 17. CHARSET:文字コードの意味・使い分け
- 18. COLLATION(照合順序)
テーブル設計は重要
テーブル設定がぐちゃぐちゃだと必ずプログラムもぐちゃぐちゃになります。 テーブル設定の仕方、基本的な考え方をまずは学習しましょう。データベース(DB)の基本
RDBMS(MySQLなど)
RDBMS(Relational Database Management System)は、テーブルごとにデータを分けて 保存・管理するデータベースシステムのことです。 在庫管理するデータベースであれば、 店舗のテーブル、都道府県などの場所のテーブル、在庫のテーブル、商品のテーブルなど分けて管理することができます。 具体的にはMySQL、OracleDB、PostgreSQLなどがRDBMSです。 とてもよく使うデータベースなので、今回こちらのデータベース管理システムであるMySQLに絞って紹介します。MySQLの構成
MySQLの中にデータベースという箱を用意します。 データベースの中に、テーブルという箱を入れていくといったイメージです。 テーブルというのは、エクセルのようなものを想像するといいです。 テーブルはエンティティとも呼ばれます。 テーブルの横一列のことを、行、またはレコードと呼びます。 テーブルの縦一列のことを、属性、またはカラムと呼びます。 個々の値は、値、またはフィールドと呼びます。主キーについて(PK: primary key)
データベースでは、必ずレコードごとに識別できなければなりません。 重複したデータが登録されるのを防ぐため、レコードを一意に特定することができる主キーというものを設定します。 主キーは、たとえば商品IDなど、潜在的に必ず被ることのないIDを付与して、一意にレコードを特定できるようにします。 主キーは、- 重複しない
- 変更しない