💽
【初級】データベースって何?
データベースとは
プログラミングにおいて、データベースは構造化されたデータを保存・管理するための仕組みで、情報を永続的に格納し、必要な時に取り出すことができるようにします。データベースは通常、テーブル(表)と呼ばれるデータの集合体を持ち、それぞれのテーブルは特定のデータ型や関連性に基づいた列(フィールド)を持っています。
データベースはどこにあるのか?
データベースは物理的にはディスクやメモリ上に存在し、データベースサーバーがそれを管理します。主要なデータベース管理システムにはMySQL、PostgreSQL、MongoDBなどがあります。
データベースの操作
データベースの操作は通常SQL(Structured Query Language)と呼ばれる言語を使用します。SQLを使って、データの挿入、更新、削除、検索などの操作を行います。プログラムはデータベースに接続し、必要なデータを取り出して処理し、変更をデータベースに反映させることがあります。ORMを使用すれば、SQLを書かなくてもDBに対して操作をすることができます。
データベースの種類
- リレーショナルDB (RDB)
- ドキュメント指向型DB(ORM)
それぞれの特徴や、使うべきパターンについては下記に記載しています。
-
データ構造:
- RDB: テーブルという形でデータが保存され、各テーブルは関連性を持つフィールドで構成されています。
- ドキュメント指向型DB: ORM(Object-Relational Mapping)を使うと、プログラム内のオブジェクトとデータベースのテーブルが対応し、オブジェクト指向的なアプローチでデータベースを扱えます。これにより、SQL文を直接書かずに、より抽象的なコードでデータベースと対話することができます。
-
関連性:
- RDB: テーブル間で関連性を持たせることが一般的で、外部キーなどが使われます。
- ドキュメント指向型DB: ドキュメント自体がデータの関連性を表現し、必要な情報を一つのドキュメントにまとめることができます。
-
使用ケース:
- RDB: 複雑な関連性が必要で、データの整合性やトランザクションが重要な場合に適しています。例えば、金融取引や顧客管理など。
- ドキュメント指向型DB: 柔軟なスキーマが必要で、データの形式が頻繁に変わる場合や、JSON形式のデータが多い場合に適しています。例えば、ウェブアプリケーションやログデータなど。
どちらを使うべきかは、プロジェクトによって決定するべきだと思います。
データベースの仕組み
DB管理システムというソフトウェアの中に、いくつものDBを作成することができる。
基本的に1サービスに対して、1データベースを作成する
データベースの中には、種類ごとに情報を管理することができるテーブル(表のようなもの)というものを作成することができる。
また、それぞれのテーブルのグループや、テーブルの構造情報のことをスキーマという
この操作をプログラム側から操作するにはどのようにすればいいだろう?
SQLの書き方
SQLの書き方については下記を参照ください。
Discussion