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?

~未経験・知識なしでセキュリティエンジニアになる人!~『{Level5}MySQL 学習開始!システムエンジニアらしいターミナル画面にワクワク!』

Last updated at Posted at 2024-10-19

こんばんは!IT未経験からセキュリティデフエンジニアになる!itoshinです。

今日からデータベースに触れる、SQLの操作に入りました。
まず、データベースってなに?

データベース(DB)とは

  • 『コンピュータに蓄積されたデータの集合』のこと
  • 無造作に集められたものではなく、”目的”を持って蓄積したデータ群
  • しばしば文脈によって、広義的に、狭義的に解釈されることがある
  • 1.データを蓄積する箱 2.DBMS(データベース管理システム)を含めたもの 3.前述の2とこれにアクセスする検索アプリを含めたもの

DBMS(DataBase Management System)とは

  • データベースの妥当性や整合性のチェック
  • 複数のユーザが使用する場合の権限管理
  • 複数のユーザがデータを変更しようとした場合に起こり得る矛盾の回避
  • 『データベースを正しく運用、データを安全に保管するためのソフトウェア』

今回私が学習開始したMySQLもDBMSの一種です。

データベースの種類はどんなものがあるか

  • 主流となっているリレーションデータベース(RDB)
  • データがツリー構造でアクセスが簡単な階層型データベース
  • 階層型データベースの発展型のネットワーク型データベース
  • XML形式のデータを格納でき、タグ形式でデータを表現できるネイティブXMLデータベース
  • 名前の通りデータをキー項目/値のセットで管理するKey-Value型データベース

主流のRDBと、クラウドで利用されることが多いKey-Value型データベースは押さえておきたい
ここからは主流のRDBについて触れていく

###RDB(リレーショナルデータベース)とは

  • Excelのワークシートのような表形式でデータを格納する。これをテーブルという
  • テーブルに格納されている各データをレコードという
  • レコードに含まれるそれぞれの項目をフィールド、またはカラム(列)という
  • 関連するレコードごとに、異なるテーブルに分割して情報を管理できる
  • 複数のテーブル内のそれぞれのレコードを識別(関連付け)するためのキー(主キーと外部キー)がある
  • 主キーと、それに関連する他のテーブルに用意された参照用のキーが外部キー

RDBの種類

  • 現在最も利用されてる商用DBの『Oracle』
  • Windows環境でシェアが高い『Microsoft SQL Server』
  • パフォーマンスの高さが評価される『MySQL』
  • MySQLから派生したDBでLinuxでの標準採用が増加『MariaDB』
  • 国内での人気が高いオープンソースDB『SQLite』
  • Microsoft Officeに含まれる個人用途のDB『Microsoft Access』

MySQLはOracle社に買収された過去がありながらもサービスを潰されなかったというのだから、それだけの価値を見出されたのかもしれませんね。
買収されたMySQLを尻目に派生させてMariaDBが生まれた歴史も面白い!
以降は私が学ぶMySQLについてアウトプットしていきますよ!

MySQLの構造

  • 無償のDBMS。複数のデータベースを配置できる
  • データベースの中身はテーブル、DB用の索引機能であるインデックス、レコードの見せ方を表現するビューで構成される
  • 初期装備されているデータベースが4つ(infomation_schema, mysql, performance_schema, sys)。これらはMySQLの動作に関わるため削除やレコードの保存先にしてはならない!
  • データベースを操作するためのツールが6つ(mysql, mysqladmin, mysqldump, mysqlimport, mysqlcheck, mysqlshow)。
  • よく使うのがmysql(mysqlクライアント)。入力コマンドをMySQLに伝え、結果を人間に分かりやすく表示してくれるツール
  • mysqladminはデータベースの作成/削除をはじめ、管理系操作を司るツール
  • mysqldumpはデータベースの内容をテキストファイルとして出力するツール
  • mysqlimportはテキストファイルをデータベースにインポートするツール
  • mysqlcheckはデータベースの検査や修復、最適化を行うツール
  • mysqlshowはデータベース、テーブル、カラムの情報を取得するツール

ここまでで記事制作1時間50分
そろそろ眠いのと、この後はターミナル(パワーシェル)でのコマンド操作なので、説明(見せ方)を工夫したいな。
よって今日はここまで。おやすみなさい!

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?