ここ最近SQLの仕様について確認されることが多いので、それの対策及び自身の知識のアップデートも兼ねて学びなおそうと思います。
SQL自体の操作や概要などは大体は学んではいたのですが、細かく説明をすることは実務をしていないためできませんでした。
そこで今回は、SQLはどういうものか理解しなおして説明できるようにしておきたいと思います。
【初心者用】SQLとは
1. そもそもSQLって何?
SQLとはデータベースを操作するための言語となっており、具体的な例としてはデータベースに格納されているデータに対して、取得や追加・更新などの作業をするための言語となっています。
国際標準化もされており、今現在最も普及しているデータベース言語ですので、SQLの基礎ができていればどのようなデータベースでも利用することができます。
SQLをしようしてデータベースを操作する仕組みとしては、SQLでDBMSに操作命令を出すことで対象のデータベースの操作をすることができます。
データベースとDBMSは基本的にはセットで使用するので、これらをまとめてデータベースと呼ばれています。
1-1. DBMSとは
DBMSとは、データの格納、更新、削除、検索などの操作を行うもので、効率的にデータ管理をするためのものです。
こちらではSQLというデータベース言語を使用して、データベースへのアクセスと操作を行います。
基本的に使用されているDBMSとしては、MySQL・PostgreSQL・Oracle Databaseなどといったものがあります。
これらのシステムによりセキュリティ、効率性、信頼性などといった重要な機能を補っています。
2. データベースとは
SQLはデータベースの操作といいましたが、そもそものデータベースとはどんなものか以下に説明します。
データベースとは簡単に説明すると、個人情報や商品情報などのデータが入っている表またはデータの集合体のことを言います。
基本的にはデータベースというとRDB型が基準となっているため、ExcelやCSVのデータのような行と列の概念があるもので作成されています。
ですので、表の中で整理されているデータを、検索・集計・比較などの解析や分析する際に必要な処理を理解しやすくしています。
データベースの情報のまとめ方について、RDB型以外にも階層型DBとネットワーク型DBなどがあります。
上記で説明したとおりに現在使用されているDBとしては、基本的にはRDB型のデータベースの考えが普及しています。
ですので、RDB型以外の考え方は使用する機会は少ないと思いますが、知識として学ぶため以下にまとめます。
2-1. 階層型DB
階層型データベースとは、1つのデータが複数のデータに関連するように親子関係で保存されているもので、親ノードから子ノードに分岐するようにデータが分かれて整理されています。
このデータベースでは、子ノードにアクセスできる親データが1つのみですので、他のネットワーク型とRDB型と比較すると、データ検索やデータの集計スピードが速くなっています。
上記の様にデータの紐づけが単純なおかげでメリットもありますが、特定の子ノードに対して複数の親データを紐づけられないため、柔軟なデータ管理などができないというデメリットもあります。
2-2. ネットワーク型DB
ネットワーク型データベースでは データ同士の関連性により相互に結び付けることで、階層データベースを子ノードから親ノードに対しても分岐できるように保存されています。
階層型データベースとは違い子ノードから親ノードに紐づけることができるので、データの重複などが起こらずに管理することができます。
ですが、親→子、子→親と紐づけが複数できてしまうので、複雑なデータベースの構造になってしまい、管理する為に高度な知識が必要になってしまいます。
2-3. RDB型
リレーショナルデータベースとは、複数テーブルに表形式のデータを分割して管理するデータベースです。
テーブルごとの関連性を表すために、各テーブルに主キーを設定することにより、各キーを利用してテーブルの結合など行いデータを取得することができます。
このデータベースの利点としては、データの整合性が高いことや冗長性が低いまた、複数のテーブルを紐づけることができるなどが利点になります。
リレーショナルデータベースは、大量のデータを管理または複雑なデータを管理する会社などで使用されます。
3. ExcelとDBMSとの違いについて
■DBMS
DBMSはデータベース管理システムでは、複数のユーザーの同時アクセスが可能となっており、複雑な検索と更新等の作業ができるようになっています。
■Excel
表計算ソフトウェアでは、データを表を用いて簡単に計算ができることが特徴となっています。
また、ソートやフィルタリングなどの機能により効率的にデータ処理ができるようになります。
表計算ソフトは扱うデータが比較的少なく、複雑な関係性がない場合はDBMSではなく表計算ソフトを使用します。
4. データベース管理システムと種類
データベースシステム管理システムを選ぶ際の基準や種類について以下にまとめます。
4-1. 選び方①システムの運用方法や会社の目的で選択
データベース管理システムを選ぶ際には、対応するデータによって選ぶ種類が変わります。
また、自社が対象のデータをどのような目的で、どのように運用するかによって合うものを選ぶ必要があります。
もし、適したデータベースではない場合は、開発効率が低下したりデータが消失するなど問題が起こる可能性が在ります。
4-2. 選び方②無料版で使用を確認する
データベース管理システムは、使用するデータ容量などで使用料金が変わります。
確認せずに間違ったデータベースに対して、多額の料金を支払うことにならないように、まずは、無料版で使用してシステムや目的に合ったものか確認する必要があります。
事前に無料のもので確認することにより、導入後にトラブルが起こることを防ぐことができ、業務や運用の際にスムーズに運営することができます。
4-3. 種類①MySQL
このシステムは高速で信頼性が高く拡張性があり、データセキュリティと食えり最適化、高度なアクセス制御など多数の機能をもつデータベースです。
また、MySQLは多数のプログラミング言語に対応しており、WEBアプリケーションやモバイル・クラウドサービスなどの多くの分野で使用されています。
4-4. 種類②Oracle
Oracleが提供するデータベースシステムは多数の種類があり、それぞえ異なる機能や性能を持っており、企業が必要に応じて選択することができます。
Oracle Databaseはデータベース管理システムの中でも、高い信頼性、拡張性、高可用性、セキュリティなどに強い性能を持っており、大規模なトランザクション処理に対応しているデータベースです。
Oracle Databaseは高い信頼性が求められる会社や大量のデータを処理する必要がある会社で使用されています。
5. まとめ
データベース自体の実務経験が少ないため、どのような時にどのデータベース管理システムを使用するのかまだわかりません。
今回データベース管理システムでどういうものかを、改めて確認することができたのでいずれまた触るときに学んだことを生かそうと思います。