![見出し画像](https://assets.st-note.com/production/uploads/images/105357697/rectangle_large_type_2_5025e0f9ebf538340359af84adff9e2d.png?width=1200)
データベース
データベースとは
データベースとは、決まった形式(データモデル)で整理されたデータの集まりのことです。例として、顧客情報を「氏名」や「電話番号」の項目ごとに整理したり、複数の商品情報を「商品コード」別に分類したりしたものがあげられます。つまり、データベースは大量にあるデータを検索しやすいようコンピュータ上で整理したデータ群です。
なお、紙の電話帳や辞書なども大量の情報を扱いやすいように整理されているので、データベースといえます。
データベースとは、構造化した情報またはデータの組織的な集合であり、通常はコンピューター・システムに電子的に格納されています。データベースは通常、データベース管理システム(DBMS)で制御します。データとDBMS、およびそれらに関連するアプリケーションをまとめてデータベース・システムと呼びます。多くの場合は単にデータベースと呼んでいます。
現在運用されている最も一般的なタイプのデータベースに格納されているデータは、処理とデータのクエリを効率化するために、一連のテーブルの行と列でモデル化されていることが普通です。このようにデータをモデル化すれば、アクセス、管理、変更、更新、制御、および整理が容易になります。ほとんどのデータベースでは、データの書き込みとクエリに構造化クエリ言語(SQL)を使用します。
https://www.oracle.com/jp/database/what-is-database/
情報やデータの集まりを管理しやすいように大別し整理したもので、通常は電子的に格納されているもの。
データベースの役割
情報やデータの集まりをユーザーが検索、編集しやすいようにすること。整理してまとめられていると加工して分析することも労力をかけずに行うことができる。
データベース管理システム
DBMSは、データベースとそのユーザー、またはプログラムとの間で繋ぎ役として機能し、情報の編成方法と最適化方法をユーザーが取得、更新、管理できるようする。また、データベースの監視と制御を容易にし、パフォーマンスの監視、チューニング、バックアップとリカバリなどのさまざまな管理操作を可能にする。データベース・ソフトウェア(DBMS)の例として、MySQL、Microsoft Access、Microsoft SQL Server、FileMaker Pro、Oracle Database、dBASEがあります。
データベース管理システムはデータベース・ソフトウェアとも呼ばれる。データベース・ソフトウェアによりユーザーはデータを構造化された形式で保存しアクセスできるようになりデータ管理がしやすくなる。
データベースの種類
階層型データベース
ネットワーク型データベース
リレーショナルデータベース
階層型データベース
会社の組織図のように上層から下層に広がる1対多の型を取ることで、各データを関連づけて保存するデータベース。
ネットワーク型データベース
関連性のあるデータを相互に結び付けて網目状に保存する多対多の型を取るデータベース。
例えば、社員のAさんが人事部と総務部を兼任している場合、人事部と総務部の両方から同一のAさんのデータへとたどり着けます。逆に、Aさんのデータから人事部と総務部の両方にアクセスすることも可能です。
そのため、階層型データベースのように、人事部と総務部の下層に別々にAさんの情報を登録する必要がありません。
リレーショナルデータベース(RDB)
Excelのような表の形式でデータを管理するデータベース。エクセルでいうシートを「テーブル」、列を「カラム」、行を「レコード」と呼ぶ。テーブル同士を組み合わせて表示することができ複雑な情報同士の関連を整理しやすい。表形式であるため視覚的に理解しやすい。ただ、データを管理するプログラム自体が複雑になるというデメリットもある。
データベースの進化
階層型データベースなどのナビゲーショナル・データベース、およびネットワーク・データベースはデータの保存と操作に使用する原形といえるシステム。1980年代にリレーショナルデータベース、1990年代にオブジェクト指向データベースが一般的に。さらに、インターネットの成長、およびデータ処理の高速化と非構造化データの処理に対するニーズに呼応してNoSQLデータベースが登場。現在はデータの収集、保存、管理、利用の方法に関して、クラウド・データベースと自立運転データベースが登場している。
データベースの課題
現代の大規模なエンタープライズ・データベースは、極めて複雑なクエリをサポートしていることが普通で、これらのクエリに対してほぼ瞬時に応答することが期待されています。その結果、パフォーマンスの向上に効果的なさまざまな手法の採用が恒常的にデータベース管理者に求められます。
データ量が驚異的に増加する中で、セキュリティ対策やユーザーからの要望への迅速な対応が必要。また管理者はシステムを監視し必要に応じて調整することや、企業の成長に合わせてシステムの拡大も検討しなければならない。