#はじめに
データベースの勉強をしている時にSQLというものを知り、実態がよくわからなかったのでその備忘録に。
#SQLとは
SQlとはデータベース(RDBMS)を操作するための言語
です。
データベースにデータを挿入したり、検索したり、削除する際に利用します。SQLは国際標準化されており、様々なデータベースで利用することができます。有名なデータベースとしては、Oracle、MySQL、PostgreSQL、SQLLiteなどがあり、いずれもSQlで操作することが可能です。
SQlとは?基礎知識から具体例まで分かりやすく解説!
#データベース言語とは
SQlは厳密にはプログラミング言語ではなく、データベースを操作するためのデータベース言語
です。
- プログラミング言語
C言語や、Python、JavaScriptなどの言語があります。いずれもコンピュータを操作したり、アプリケーションを作成するための言語になります。 - データベース言語
一方、データベース言語はデータベースにのみ命令を実行することができます。 データベース言語はプログラミング言語と違い、ループ処理や、条件分岐などの複雑な処理を命令することはできません。書き方としては、SQLは基本的に一文ごとに結果を求めます。
#SQlの種類
SQLは主に3つの種類に分けることができます。
####データ操作言語(Data Manipulation Language)
データ操作言語は、データベースに対して追加・更新・削除・検索を行うための言語になります。
最近、私が勉強したのはこのデータ操作言語です。
- SELECT(データの検索)
- INSERT(データの追加)
- UPDATE(データの更新)
- DELETE(データの削除)
####データ定義言語(Data Definition Language)
データ定義言語は、テーブルなどを作成・削除、設定を変更するための言語になります。
これは初見です...
- CREATE(テーブルの作成)
- ALTER(テーブルの設定変更)
- DROP(テーブルの削除)
- TRUNCATE(テーブルデータの削除)
'DROP'はDELETEと同じ削除するための命令ですが、DELETEはテーブル内のデータを削除するのに対して、DROPはテーブルそのものを削除するので使い方には注意が必要だと思いました。
#論理削除と物理削除
先程のデータの削除に関して、論理削除と物理削除というものを知ったのでそれも記載します。
####論理削除
論理削除とは、実際にはデータを削除せずに、削除されたように振る舞うことができることを指します。
例えば、Twitterのアカウント削除ですが、あれは削除してから30日以内ならアカウントを復活させることができます。これには論理削除が用いられています。
論理削除と物理削除とは
####物理削除
物理削除とは、その名の通り(通りではないかもしれないが)実際にSQLでDELETEすることを指します。もちろん削除されたデータを復元したり参照することはできなくなります。
###論理削除のメリット
削除したかのように振る舞うだけなので、データの復元が可能です。また、処理速度も物理削除と比較して早いです。
###論理削除のデメリット
1分でわかる論理削除-メリットとデメリットを考える-
- データベースが若干複雑になる
- データに個人情報が含まれる場合は、削除データの保持に関して問題が発生する可能性がある
- レコードが肥大し続けるため、データベースのコストパフォーマンスを損なう
#最後に
自分なりに調べたことをざっとまとめてみました。
まだほとんど知識がないので実際に自分でデータベースを弄りながら学んでいこうと思います。
それでは、今日はここらで。。