0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

<初学者向け>DBについて

Last updated at Posted at 2021-10-24

#はじめに
初めまして、公務員からエンジニア転職を目指して勉強している者です。Dockerについて勉強したので、まとめていきたいと思います。間違い、アドバイス等あればコメント頂きたいです。

#目次
1.DB
2.DBMS
3.SQL(DML,DDL)

#1.DB
###DBって何?
データの基地。=基礎、土台。
例)電話帳、Excel等

###できること
・データを探しやすくする
・データを保管する
・検索、抽出、集計ができる

###DBの種類
・リレーショナル型(RDB)
 →Excelのような、表のDB(SQLで操作可能)
・階層型
 →ツリー構造のDB
・ネットワーク型
 →網目状にデータがつながったDB
・NoSQL
 →SQLを使わないDB

###DBの必須用語
・テーブル:表全体
・レコード:横の行のデータ
・カラム:縦の列のデータ
・フィールド:一つ一つの入力項目
※DBはテーブルがいくつもある
スクリーンショット 2021-09-12 18.55.30.png

#2.DBMS
###DBMSとは
Database Management Systemの頭文字を取ったもので、データベース管理システムと呼ばれる。
=DB自体を管理するシステム。

###RDBMSとは
Relational Database Management Systemの頭文字を取ったもので、SQLを使って、リレーショナル型DBを管理するシステム。

###一般的なRDBMSの種類
・Oracle Database:有料で、最近のクラウド環境にも対応できる
・Microsoft SQL Server:無料と有料があり、Microsoft OSと相性がいい
・MySQL:オープンソース。基本は無料で、研修や個人開発等で使われる
・PostgreSQL:オープンソース。MySQLと同じような規模で使われる

#3.SQL
###SQLとは
RDBを操作するための言語。

###SQLの種類
・データ操作言語 (DML: data manipulation language)
・データ定義言語 (DDL: data definition language)
・データ制御言語 (DCL: data control language)

##データ操作言語(DML)
・SELECT : DBからデータを取得
・INSERT : DBにデータを追加
・UPDATE : DBに保存されてるデータを更新
・DELETE : DBに保存されてるデータを削除

###SELECT:データの取得
○全てのカラムのデータを取得
→SELECT *
 FROM テーブル名;
※ * =全て

○複数のカラムを選んでデータを取得
→SELECT カラム1, カラム2 …
 FROM テーブル;

○レコードを絞ってデータを取得
→SELECT *
 FROM テーブル名
 WHERE 条件式;

 ●条件式について
  ・WHERE カラム1 AND カラム2
  →カラム1とカラム2を満たすデータを取得

  ・WHERE カラム1 OR カラム2
  →カラム1かカラム2のいずれかを満たすデータを取得
  
  ※ANDとORには優先順位があり、ANDが先に実行される。
   ORを先に実行したい場合は、(カラム1 OR カラム2)の様に括弧で
   くくって、その後ろにAND処理を書く
   →WHERE 条件式1 OR 条件式2]
    AND 条件式3

###INSERT:データの追加
○データを一件追加(カラム指定)
→INSERT INTO テーブル名 (カラム1、カラム2…)
 VALUES (値1a, 値1b…);

○データを一件追加(カラム指定省略)
→INSERT INTO テーブル名
 VALUES (値1a, 値1b…);
 ※設定してるカラムの左から順にデータを入れる

○データを複数追加
→INAERT INTO テーブル名(カラム1、カラム2、カラム3…)
 VALUES(値1-1, 値1-2…),
   (値2-1, 値2-2…),
   (値3-1, 値3-2…);

###UPDATE:データの更新
→UPDATE テーブル名
 SET カラム1 = 値1
 WHERE 条件式;
 ※WHEREは省略可だが、全てのレコードが対象になる

###DELETE:データの削除
→DELETE FROM テーブル名
 WHERE 条件式;

##データ定義言語(DDL)
○ルール
・DB名、テーブル名、列名に使える文字
→半角文字のアルファベット、数字、アンダーバー
・名前の最初の文字は半角のアルファベット
・名前の重複は✖️
→1つのDBの中に同じ名前のテーブル✖️
→1つのテーブルの中に同じ名前のカラム(列)✖️

###CREATE:テーブルを作成
→CREATE TABLE テーブル名 (
  カラム1 データ型 制約
  カラム2 データ型 制約
  ・・・
  );

※データ型 : BOOLEAN,INTEGER, VARCHAR, DATE, TIMESTAMP等をカラムによって使い分ける

※制約 : ・PRIMARY KEY:UNIQUE + NOT NULL
    ・UNIQUE:重複するフィールドの禁止
    ・NOT NULL :NULL値を禁止
    ・CHECK:条件を満たさないデータを禁止
    ・FOREIGN KEY:他のテーブルの列を参照してその列にないデータを禁止

###ALTER TABLE:テーブル構造(制約)の変更
○カラムの追加
→ALTER TABLE テーブル名 ADD カラム名 データ型 制約;

○カラム指定の変更
→ALTER TABLE テーブル名 CHANGE 変更前のカラム名 変更後のカラム名 データ型 制約;

○カラムの削除
→ALTER TABLE テーブル名 DROP カラム名;

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?