【りれーしょなるでーたべーす】

リレーショナルデータベース とは?

💡 表形式でデータを管理して「テーブル間の関係」でデータをつなぐDB
📌 このページのポイント
顧客テーブル 顧客ID 氏名 住所 C001 田中 太郎 東京都 C002 鈴木 花子 大阪府 C003 佐藤 次郎 愛知県 C004 伊藤 美咲 福岡県 主キー(PK) 外部キー(FK) 1対多の関係 注文テーブル 注文ID 顧客ID 商品名 O001 C001 ノートPC O002 C001 マウス O003 C002 キーボード O004 C003 モニター 外部キー(FK) 顧客テーブルの 顧客ID(主キー)と 注文テーブルの 顧客ID(外部キー)で関連付け SELECT * FROM 注文 JOIN 顧客 ON 注文.顧客ID = 顧客.顧客ID → 顧客名と注文を一緒に取得できる
テーブル間をキーで結びつけて関連データを管理
ひよこ ひよこ

リレーショナルって何が「関係」してるの?

ペンギン先生 ペンギン先生

テーブル同士の「関係(リレーション)」を外部キーで定義できることが特徴。例えばusersテーブルとordersテーブルを「ordersのuser_idがusersのid(主キー)を参照」という関係でつなぐ。JOINで関連データを一緒に取得できる。

ひよこ ひよこ

NoSQLとどっちがいいの?

ペンギン先生 ペンギン先生

用途による。RDB(リレーショナルDB)はデータの整合性・複雑なクエリ・トランザクション処理が得意。NoSQLは柔軟なデータ構造・大規模スケーリング・高速な読み書きが得意。ほとんどのビジネスアプリはRDBが適している。

ひよこ ひよこ

ACID特性って何?

ペンギン先生 ペンギン先生

RDBの重要な保証。A(Atomicity:1つのトランザクションは全部成功か全部失敗)・C(Consistency:データの整合性が常に保たれる)・I(Isolation:同時実行でも互いに影響しない)・D(Durability:コミットされたデータは障害後も保持)の4つ。

ひよこ ひよこ

SQLってどこで学べるの?

ペンギン先生 ペンギン先生

SQLは無料の学習リソースが豊富だよ。SQLZoo、w3schools、LeetCodeのSQLセクションなどがおすすめ。SQLiteなら環境構築不要でブラウザ上で試せるサイトもある。まずはSELECT、WHERE、JOINGROUP BYをマスターすれば実務の8割はカバーできるよ。

ひよこ ひよこ

NewSQLって聞いたことがあるんだけど、RDBとは違うの?

ペンギン先生 ペンギン先生

NewSQLはRDBのACID特性を保ちながら、NoSQLのスケーラビリティを実現する新世代のDB。GoogleのSpanner、CockroachDBTiDBなどが代表例。従来のRDBは1台のサーバに依存しがちだったけど、NewSQLは複数のサーバにデータを分散しながらトランザクションの整合性を保てるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
リレーショナルデータベースって出てきたら「表形式でデータを管理してテーブル間の関係でつなぐDB、SQLで操作する」と思えばOK!
📖 おまけ:英語の意味
「Relational Database」 = 関係データベース
💬 E.F.Codd(IBM)が1970年に「A Relational Model of Data for Large Shared Data Banks」で提唱した数学的理論に基づく
← 用語集にもどる