忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【データベース】1ミリの狂いも即座に許さない!「強い整合性」|情報処理問題1000本ノック

分散データベースにおいて、「いずれ同じデータになる(結果整合性)」のではなく、「今この瞬間に全員が同じ最新データを共有する」という厳格な一貫性、強い整合性を攻略しましょう。

1. 【 問題 】:データの一貫性モデル

【 問題 】 分散データベースシステムにおいて、あるデータを更新した際、その処理が即座に反映され、それ以降にどのシステムやノードからデータを読み出しても、必ず最新の更新結果が返ってくることを保証する性質を何と呼ぶでしょうか?

① 最終整合性 (Eventual Consistency)
② 弱い整合性 (Weak Consistency)
③ 強い整合性 (Strong Consistency)
④ 因果整合性 (Causal Consistency)

2. 正解:

正解: ③ 強い整合性(Strong Consistency / ストロング・コンシステンシー)

3. 解説:「即座に反映」という絶対のルール

強い整合性は、従来のRDBMSのACID特性における「一貫性」を分散システムでも死守する考え方です。データのズレが許されない金融システムなどで必須となります。

【対比:強い整合性 vs 結果整合性】

■ 強い整合性(Strong Consistency)
特徴:更新したら即座に全体へ反映。どこから読んでも「最新」。
代償:全員の同期を待つため、書き込みの処理速度が落ちたり、通信が途切れた時にシステムが止まりやすい(可用性が下がる)。

■ 結果整合性(Eventual Consistency)
特徴:更新した直後は古いデータが見えるかもしれないが、「いずれ(結果的に)」全員が同じ最新データに追いつく。
利点:同期を待たないので超高速。一部のサーバーが死んでいても動き続けられる。
[ CAP定理との関係 ]
★ 分散システムでは「一貫性(C)」「可用性(A)」「分断耐性(P)」の3つのうち2つしか選べないという「CAP定理」があります。「強い整合性」を選ぶということは、一貫性(C)を最優先にするという意味です。

1. 理解のコツ: 銀行の口座残高をイメージしてください。AATMで現金を振り込んだら、別のBATMやスマホアプリで1秒後に残高を見ても、絶対に振り込み後の金額(最新)になっていなければ困ります。この「いつでもどこでも即座に最新」が強い整合性です。
2. 試験対策の視点: 「結果整合性に対して」「即座に反映を保証」「どのレプリカから読んでも同じ最新値」という表現があれば「強い整合性」が正解です。NewSQLなどの文脈でも非常によく出題されます。


4. まとめ

「更新処理を即座に反映し、常に最新の同一データを保証する特性」。これが強い整合性です。速度や可用性を犠牲にしてでも、データの正確性を最優先にするシステム設計の根幹となる概念です。



PR

### 【データベース】過去の写し鏡で一貫性を保つ!「スナップショット分離」|情報処理問題1000本ノック

データをロックして全員を待たせるのではなく、「処理を始めた瞬間のデータの写真(スナップショット)」を見せることで、超高速と高い整合性を両立する技術を攻略しましょう。

1. 【 問題 】:高度な同時実行制御

【 問題 】 トランザクションの同時実行制御において、各トランザクションが処理を開始した時点のデータベースの「スナップショット(一貫性のある過去のデータ状態)」を読み取ることで、他のトランザクションによる更新操作と衝突(ロックの競合)することなく、一貫した読み取りを可能にする分離レベルはどれでしょうか?

① Read Uncommitted
② スナップショット分離(Snapshot Isolation)
③ Read Committed
④ Serializable (厳格な悲観的ロック)

2. 正解:

正解: ② スナップショット分離(Snapshot Isolation)

3. 解説:「読者」と「筆者」が互いを邪魔しない

スナップショット分離は、MVCC(マルチバージョン同時実行制御)という技術を用いて実現されます。データを上書きするのではなく「古いバージョン」を残しておくことで、読み取り処理に過去のデータを提示します。

【スナップショット分離の3大メリット】

■ 読者は待たない、書く人も待たない
・誰かがデータを激しく更新していても、読み取り側は「自分が開始した時点のデータ」を読めばよいため、ロックによる順番待ちが発生しません。

■ 3大有害現象をすべて防止
・「ダーティリード」「ノンリピータブルリード」「ファントムリード」のすべてが発生しません(※実質的にRepeatable Read以上の堅牢性)。

■ ライトスキュー(Write Skew)という弱点
・非常に特殊なケースで、別々のデータを同時に更新し合うと、お互いのスナップショットが交差して矛盾(ライトスキュー)が起きる場合があります。
[ 現場での採用例 ]
PostgreSQLOracleSQL Server など、現代の主要なRDBMSの多くが、このスナップショット(またはそれに類するMVCCの仕組み)をベースにして、高速かつ安全な並行処理を実現しています。

1. 理解のコツ: 共有ドキュメントをみんなで編集している時、あなたが「印刷(読み取り)」ボタンを押した瞬間の状態がそのまま印刷されるイメージです。印刷中に他の人が内容を書き換えても、あなたの手元の紙(スナップショット)は変わりません。
2. 試験対策の視点: 「開始した時点の」「ロックを伴わない一貫した読み取り」「MVCC」といったキーワードが出たらスナップショット分離です。データベースの性能を落とさずに整合性を保つための超重要技術として出題されます。


4. まとめ

「トランザクション開始時のデータ写真を見せることで、ロックなしで整合性を保つ仕組み」。これがスナップショット分離です。現代の高アクセスなWebシステムを支える、データベースエンジニア必須の教養です。


【データベース】読み取り中の変化を防ぐ!「反復可能読み取り(リピータブルリード)」|情報処理問題1000本ノック

複数のトランザクションが同時に動くとき、どこまでデータの「割り込み」を許すか。4段階ある分離レベルのうち、上から2番目に厳格な「反復可能読み取り」を攻略しましょう。

1. 【 問題 】:トランザクションの分離レベル

【 問題 】 RDBMSのトランザクション分離レベル(アイソレーションレベル)のうち、「ダーティリード」と「ノンリピータブルリード(非再現可能読み取り)」の発生は防ぐことができるが、「ファントムリード(幻像読み取り)」が発生する可能性が残るものはどれでしょうか?

① 既存データの読み取り (Read Uncommitted)
② 確定データの読み取り (Read Committed)
③ 反復可能読み取り (Repeatable Read)
④ 直列化可能 (Serializable)

2. 正解:

正解: ③ 反復可能読み取り(Repeatable Read / リピータブルリード)

3. 解説:同じデータを何度読んでも「同じ」

「反復可能読み取り」という名前の通り、1つのトランザクションの中で同じデータを「反復」して何度読み込んでも、必ず同じ値が返ってくることを保証するレベルです。

【発生する現象の整理(起きない× / 起きる〇)】

ダーティリード:×(発生しない)
 → 他の人が「まだ確定していない(コミット前)」の怪しいデータを読めてしまう現象。
ノンリピータブルリード:×(発生しない)
 → 自分がさっき読んだデータを、他の人に「書き換え・削除」されて値が変わってしまう現象。
ファントムリード:〇(発生する)
 → 自分がデータを範囲検索している最中に、他の人がデータを「新規追加」したため、2回目に検索したときにデータが「幻(ファントム)」のように増えている現象。
[ 試験に出るマトリクス ]
Read Committed:ダーティだけ防ぐ(ノンリピータブルとファントムは起きる)
Repeatable Read:ダーティとノンリピータブルを防ぐ(ファントムだけ起きる
Serializable:すべて防ぐ(完璧だが処理が遅い)

1. 理解のコツ: あなたが本棚の特定の小説(データ)を読んでいる間、他の人がその小説の文字を書き換えることはできません。これが反復可能読み取りです。ただし、他の人が本棚の隙間に「新しい別の本(ファントム)」をコッソリ差し込むことは止められない、というイメージです。
2. 試験対策の視点: 「ダーティとノンリピータブルは発生しない」「ファントムリードは発生する」という組み合わせは、試験でピンポイントに狙われます。英語名の「Repeatable Read」でも選べるようにしておきましょう。


4. まとめ

「自分が処理している間のデータ書き換えは許さないが、新規追加だけは防げないレベル」。これが反復可能読み取り(Repeatable Read)です。多くのRDBMS(MySQLなど)でデフォルトや推奨の設定として採用されている、非常に重要度の高い分離レベルです。


### 【データベース】最強の両立!「NewSQL」|情報処理問題1000本ノック

RDBMSの「信頼性(ACID特性)」と、NoSQLの「圧倒的な拡張性」。これまで両立不可能と言われていた2つの強みを融合した進化系データベースを攻略しましょう。

1. 【 問題 】:次世代データベースの特性

【 問題 】 従来のRDBMS(リレーショナルデータベース)が持つ厳格なトランザクションのACID特性をサポートしながら、NoSQLが持つ優れたスケーラビリティ(拡張性)や高可用性を同時に実現するデータベースの分類はどれでしょうか?

① OODB (オブジェクト指向データベース)
② NewSQL
③ キーバリューストア (KVS)
④ 階層型データベース

2. 正解:

正解: ② NewSQL

3. 解説:「信頼性」と「パワー」のハイブリッド

データベースの世界では長年、「データを絶対に壊さない仕組み(ACID)」をとるか、「サーバーを並べて性能を爆発的に上げる(拡張性)」をとるかのトレードオフがありました。その壁を技術力で突破したのがNewSQLです。

【NewSQLが持つ2つの顔】

■ RDBMSから受け継いだ遺伝子
ACID特性のサポート:金融取引などでも使える、1円の狂いも許さない厳格なデータ一貫性。
SQLが使える:従来のRDBMSと同じ感覚で、複雑なクエリ(検索)を投げられる。

■ NoSQLから受け継いだ遺伝子
高い拡張性(水平スケーリング):アクセスやデータ量が増えても、サーバーを追加するだけで処理能力をリニアに増強できる。
[ 代表的なサービス例 ]
Google Cloud Spanner:世界規模で同期し、絶対に止まらない&狂わないNewSQLの代表格。
CockroachDB:その名の通り「ゴキブリ並みにタフ(死なない)」を掲げるオープンソースのNewSQL。

1. 理解のコツ: 「高級セダンの安全性と乗り心地(RDBMS)」に、「大型トラックの圧倒的な積載量(NoSQL)」を合体させた、モンスターマシンのようなデータベースがNewSQLです。
2. 試験対策 of 視点: 「RDBMSとNoSQLの両方」「拡張性(スケーラビリティ)」「ACID特性のサポート」という全てのキーワードが同時に出てきたらNewSQLが一択です。データサイエンスや高度なWeb開発の文脈でよく問われます。


4. まとめ

「ACID特性と高拡張性を両立した次世代のデータベース」。これがNewSQLです。グローバル展開する大規模なシステムにおいて、データの正確性を1ミリも妥協したくない場面で選ばれる重要な選択肢です。


【データベース】シンプルこそ最強!「キーバリューストア(KVS)」|情報処理問題1000本ノック

複雑な表形式(リレーショナル)ではなく、特定の値を引き出すためだけの究極にシンプルなデータ管理手法、KVSを攻略しましょう。

1. 【 問題 】:データモデルの形式

【 問題 】 データベースのモデルの一つで、任意の保存データ(バリュー)に対して、それを一意に識別するための索引(キー)を対応させて管理する形式を何と呼ぶでしょうか?

① リレーショナルデータベース(RDB)
② キーバリューストア(KVS)
③ ドキュメント指向データベース
④ グラフデータベース

2. 正解:

正解: ② キーバリューストア(Key-Value Store / KVS)

3. 解説:ペアで覚える超高速データベース

KVSは、情報の「検索」と「書き込み」の速さに特化したシステムです。複雑な計算や分析には向きませんが、膨大なアクセスをさばくのに適しています。

【KVSの仕組みと特徴】

■ データ構造
Key(キー):データを特定するための名前やID。
Value(バリュー):中身(数値、文字列、画像など何でもOK)。

■ 主なメリット
とにかく速い:キーを指定すれば即座に中身が取り出せる。
拡張が簡単:データ量が増えても、サーバーを並べるだけで性能を伸ばしやすい(水平分散が得意)。
[ 代表的なツールと用途 ]
Redis:一時的なセッション情報の保持やランキング管理によく使われる。
Amazon DynamoDB:非常に大規模なWebサービスの後ろ側で動いている。

1. 理解のコツ: 銭湯やジムの「下駄箱」をイメージしてください。靴(バリュー)をしまって、その場所を示す番号札(キー)を受け取る。番号札さえあれば、どの靴か迷わず一瞬で取り出せますよね。この仕組みがKVSです。
2. 試験対策の視点: 「一意に識別するキー」「ペア(組み合わせ)」「NoSQL」というキーワードが出たらKVSが正解です。また、RDBのような「表(テーブル)」や「結合(JOIN)」といった概念がないこともセットで押さえておきましょう。


4. まとめ

「一意のキーとデータのペアで情報を管理する形式」。これがKVSです。構造を単純化することで、爆発的なデータ量やアクセス数にも耐えられる、モダンなシステムの裏側を支える重要な技術です。


【データベース】処理能力のバロメーター!「QPS」|情報処理問題1000本ノック

データベースの性能を測る際、単に「速い」ではなく数値で客観的に評価するための重要な指標を攻略しましょう。

1. 問題:データベースの性能指標

【 問題 】 データベースシステムにおいて、1秒間に実行(処理)されるクエリの回数を示す指標を何と呼ぶでしょうか?

ア、Latency   イ、Throughput   ウ、QPS   エ、IOPS

2. 正解:パフォーマンス管理に関する正解

正解: ウ、QPS(Queries Per Second)

3. 解説:秒間の「さばき」の量

QPSは、そのデータベースがどれほど「忙しさ」に耐えられるか、あるいはどれほど効率的にリクエストを処理しているかを示す単位です。

【図解:QPSと関連指標の整理】

■ QPS (Queries Per Second)
・意味:1秒あたりのクエリ(検索・更新など)実行数。
・用途:DBの負荷状況の把握や、性能テストの結果測定。

■ レイテンシ (Latency) との違い
QPSは「量(スループット)」:1秒間に何件こなせるか。
レイテンシは「時間」:1つのクエリを投げてから結果が返るまでに何ミリ秒かかるか。
※レイテンシが短ければ、通常QPSは向上します。
[ セットで覚えたい周辺用語 ]
TPS (Transactions Per Second):1秒あたりの「トランザクション」処理数。複数のクエリをまとめた1つの業務単位で数える場合に使い、QPSよりも厳格な負荷指標となります。
IOPS (Input/Output Operations Per Second):ストレージが1秒間に読み書きできる回数。DBの性能のボトルネックを調べる際によく登場します。

1. 理解のコツ: ラーメン屋さんの厨房をイメージしてください。「1時間に何杯のラーメンを作れるか」がQPSです。「注文してからラーメンが出てくるまでの時間」がレイテンシです。
2. 試験対策の視点: 「1秒あたりの」「クエリ数」という言葉があればQPSです。システムのサイジング(どのくらいのスペックのサーバーを買うか)を検討する際の基準値として出題されます。


4. まとめ

「1秒間に処理されるクエリの数」。これがQPSです。この数値が高いほど、そのデータベースは多くのリクエストを同時にさばく能力があることを意味します。Webサービスの成長に合わせて、常に注視すべき健康診断の数値のようなものです。


【データベース】場所を問わず一括検索!「フェデレーションクエリ」|情報処理問題1000本ノック

データがクラウド、オンプレミス、あるいは異なる種類のデータベースに分散していても、まるで一つの場所にまとまっているかのように検索できる「仮想的な統合」を攻略しましょう。

1. 問題:分散データの横断検索

【 問題 】 物理的に異なる場所にある複数のデータベースやストレージに対して、データを一か所に集約することなく、一つのクエリで横断的に検索・結合(JOIN)して結果を得る仕組みを何と呼ぶでしょうか?

ア、レプリケーション   イ、フェデレーションクエリ   ウ、データウェアハウス   エ、正規化

2. 正解:分散システムに関する正解

正解: イ、フェデレーションクエリ(Federated Query)

3. 解説:移動させずに「その場」で読み取る

「フェデレーション(連盟)」という名の通り、自立した複数のデータベースが協力し合って一つの大きなデータベースのように振る舞います。

【図解:フェデレーションクエリのメリット】

■ 仕組み
・ユーザーは一つの「窓口」にSQL(クエリ)を投げます。
・システムが裏側で「MySQLにあるデータ」と「クラウドのオブジェクトストレージ(S3等)にあるデータ」をそれぞれ取得し、結合して返します。

■ メリット
ETL(データ移行)が不要:データをコピーして運ぶ時間やコストがかかりません。
最新性の確保:コピーではなく現地のデータを直接見るため、常に最新の状態を検索できます。

■ デメリット
・ネットワーク越しにデータを取得するため、一か所に集約されたDBに比べるとパフォーマンスが低下しやすい傾向があります。
[ 実例:クラウドでの活用 ]
★ AWSの「Amazon Athena」や「Redshift Spectrum」、Google Cloudの「BigQuery Omni」などが代表的です。これらを使うと、DB内のデータと、外部ストレージにあるCSVファイルを一発で結合して集計できます。

1. 理解のコツ: 「各国の出張所に電話をかけて、その場で在庫を確認して合計を出す本部」のようなイメージです。在庫データをすべて本部に送らせる(データ集約)のではなく、必要な時だけ各所に問い合わせるのがフェデレーションです。
2. 試験対策の視点: 「分散されたデータ」「集約することなく」「横断的に検索」というキーワードがあればフェデレーションクエリです。データレイクやマルチクラウドの話題と相性が良い用語です。


4. まとめ

「データを移動せず、複数のソースを一つのクエリで検索する」。これがフェデレーションクエリです。データが爆発的に増え、あちこちに分散している現代において、スピード感のある意思決定を支える強力な武器となります。


【データベース】読み書きをブロックしない!「多版同時実行制御(MVCC)」|情報処理問題1000本ノック

データベースのパフォーマンスを落とさずに、複数のユーザーが同時にデータを読み書きするための高度な制御技術「MVCC」の仕組みを攻略しましょう。

1. 問題:高効率な同時実行制御

【 問題 】 リレーショナルデータベースにおいて、データの更新時に元のデータを直接書き換えるのではなく、新しい「版(バージョン)」を作成することで、読み込み処理と書き込み処理が互いにブロック(排他)されないように制御する方式を何と呼ぶでしょうか?

ア、2相ロック方式   イ、多版同時実行制御(MVCC)   ウ、楽観的並行性制御   エ、デッドロック検知

2. 正解:トランザクション制御に関する正解

正解: イ、多版同時実行制御(MVCC:Multi-Version Concurrency Control)

3. 解説:バージョン管理による「待機」の解消

MVCCは、データに時間的な広がり(複数のバージョン)を持たせることで、一貫性と並列性を両立させる技術です。

【図解:MVCCの動作メカニズム】

■ 新しい「版」の作成
・データを更新する際、古いデータはそのまま残し、新しい値を持つ「新しい版」を追加します。

■ トランザクションIDによる管理
・各版には、それを作成したトランザクションIDやタイムスタンプが付与されます。

■ 読み込みと書き込みの両立
・書き込み中(新しい版を作成中)であっても、他のユーザーは「自分の開始時点よりも前の古い版」を読むことができるため、読み書きの競合(ロック待ち)が発生しません。
[ エンジニア視点の補足 ]
不要な版の回収:古い版が溜まり続けるとディスクを圧迫するため、PostgreSQLの「VACUUM」のように、不要になった版を回収する仕組みが必要です。
一貫性:各トランザクションは、実行開始時点の「スナップショット」を見ている状態になるため、データの整合性が保たれます。

1. 理解のコツ: 「上書き保存」ではなく、常に「別名で保存」を繰り返しているイメージです。古いファイルが残っているので、誰かが編集中でも他の人は古いファイルを読み続けられる、というのがMVCCの強みです。
2. 試験対策の視点: 「新しい版を作成」「読み書きが衝突しない」「トランザクションIDで管理」といったキーワードが出たらMVCCを指します。伝統的な「ロック方式」との違いを意識して覚えましょう。


4. まとめ

「データの新しい版を作成し、排他を行わずに同時実行性を高める」。これが多版同時実行制御(MVCC)です。大規模なアクセスをさばく現代のデータベースエンジンにおいて、心臓部とも言える重要な技術であることを押さえておきましょう。



【データベース】行を特定する鍵!「候補キー」|情報処理問題1000本ノック

リレーショナルデータベースでは、膨大なデータの中から特定の1行(タプル)を確実に見つけ出すための「キー」の概念が不可欠です。複数のキーの違いを正確に攻略しましょう。

1. 問題:行を一意に識別する属性

【 問題 】 リレーショナルデータベースの表(リレーション)において、各行を一意に識別することができる最小の属性、または属性の組を何と呼ぶでしょうか?

ア、候補キー   イ、主キー   ウ、外部キー   エ、複合キー

2. 正解:データベースのキーに関する正解

正解: ア、候補キー

3. 解説:キーの階層構造を理解する

データベースにおける「キー」には役割に応じた階層があります。特に「候補キー」は全ての基本となります。

【図解:各種キーの定義】

■ 候補キー (Candidate Key)
・行を一意に識別できる「最小限」の組み合わせ。
・1つの表に複数存在することもあります(例:社員番号とメールアドレスなど)。

■ 主キー (Primary Key)
・候補キーの中から、設計者が運用上「これを使う」と決めた代表の1つ。

■ 外部キー (Foreign Key)
・他の表の主キーを参照し、表同士を関連付けるための属性。
[ 重要な性質 ]
一意性制約:重複する値を持ってはいけない性質。
非ナル制約:主キーに選ばれた属性は、空値(NULL)であってはいけないというルール。
既約性:候補キーを構成する属性からどれか1つでも除くと、一意に識別できなくなる「最小構成」であること。

1. 理解のコツ: 「主キー」は、複数の「候補キー」という立候補者の中から選ばれた「当選者」だとイメージしてください。問題文で「一意に識別する属性」と広義に問われた場合は、そのベースとなる候補キーを指します。
2. 試験対策の視点: 「主キー」と「候補キー」の言葉の定義の差を突く問題は非常に多いです。また、2つ以上の属性を組み合わせて1つのキーにする「複合キー」も、候補キーや主キーの一形態であることを覚えておきましょう。


4. まとめ

「行を一意に識別する最小の属性(の組)」。これが候補キーです。適切なキーの設定は、データの重複を防ぎ、データベースの整合性を守るための最も重要なステップであることを押さえておきましょう。



【データベース】表の「縦」と「横」を数える!「次数」と「濃度」|情報処理問題1000本ノック

リレーショナルデータベースの理論では、表(リレーション)の構造や規模を「次数」と「濃度」という言葉で表現します。どちらが「列」でどちらが「行」か、混乱しやすいポイントを攻略しましょう。

1. 問題:リレーションの特性

【 問題 】 あるデータベースの表において、定義されている「属性(列・項目)」の数と、格納されている「タプル(行・レコード)」の数を指す用語の組み合わせとして、正しいものはどれでしょうか?

ア、属性の数:濃度   タプルの数:次数
イ、属性の数:次数   タプルの数:濃度
ウ、属性の数:ドメイン   タプルの数:スキーマ
エ、属性の数:インスタンス   タプルの数:カーディナリティ

2. 正解:データベースの基本用語に関する正解

正解: イ、属性の数:次数   タプルの数:濃度

3. 解説:集合論から見た表の数え方

リレーショナルモデルは数学の集合論に基づいています。そのため、日常的な「列・行」ではなく、数学的な用語が使われます。

【図解:次数と濃度の違い】

■ 次数(Degree)
・表を構成する「列(属性)」の数のこと。
・例:[社員番号, 氏名, 部署名] の表なら、次数は「3」です。

■ 濃度(Cardinality:カーディナリティ)
・表に含まれる「行(タプル)」の数(データ件数)のこと。
・例:100人分のデータが入っていれば、濃度は「100」です。
[ 覚え方のヒント ]
次数:関数の「二次式、三次式」のように、変数の数(項目の数)をイメージしましょう。
濃度:カルピスの濃さのように、中にどれだけ要素(データ)が詰まっているか、というイメージで覚えましょう。
変化の性質:運用中に「濃度」はデータの増減で激しく変化しますが、「次数」はテーブル定義変更(ALTER TABLE)をしない限り変わりません。

1. 理解のコツ: 実務では「カーディナリティ(濃度)」という言葉は、インデックスの効き具合(データの種類の多さ)を指す文脈でもよく使われます。理論用語としては「行の数」そのものを指すという点をまず押さえましょう。
2. 試験対策の視点: 午後問題や論理設計の問題で「このリレーションの次数はいくつか」といった問われ方をすることがあります。また、直積(デカルト積)の演算結果において、次数は「和」になり、濃度は「積」になる、といった計算問題への応用も重要です。


4. まとめ

「横(項目数)が次数、縦(データ件数)が濃度」。このシンプルな区別が、複雑なデータベース理論を解くための第一歩です。用語を正確に使い分けられるようにしておきましょう!


        
  • 1
  • 2
  • 3