リレーショナルモデルを使用する場合、使用できる操作のグループは2つあります。それらの1つは関係代数です。
で作業するときリレーショナルモデル、使用できる操作の2つのグループがあります。
最初は呼ばれます関係代数、そしてそれは手続き型言語。
これはSQLの基礎であり、SQLはリレーショナルデータベースを操作するための事実上の標準であるため、学ぶことは非常に重要です。
2番目は呼ばれます関係論理手続き型ではなく、宣言型言語。データベースソフトウェアに伝えないので、データベースとのやり取りの方法の根本的な違いです何をすべきか、あなたはそれを言うだけですあなたが欲しいもの、そしてそれを行う方法の詳細を整理させてください。
これは、プログラミング言語間の一般的な違いです。現代のフロントエンドでは、ReactでのDOMとの相互作用は宣言型であると言います。バニラJavaScriptを使用してDOMを変更するのは手続き型です。
のような言語データログ、QBEそしてQUELそのベースとして関係論理を持っています。 SQLが従うより実用的なアプローチと比較して、物事を行うためのはるかにニッチな方法だと思うので、これについては説明しませんが、必要に応じて見ることができます。
この紹介を踏まえて、続けましょう関係代数。
2種類の操作があります。
- 主な操作
- 結合操作
関係代数の一次演算
主な操作は次のとおりです。
- 連合2つのテーブルが同じ列と属性タイプ(ドメイン)を持っている限り、2つのテーブルからデータを取得し、タプルの合計を生成します。
- 差2つのテーブルが同じ列と属性タイプ(ドメイン)を持っている限り、最初のテーブルに含まれているが2番目のテーブルには含まれていないデータを取得し、タプルの違いを生成します。
- デカルト積2つのテーブルからデータを取得し、属性値に基づいてそれらのデータを組み合わせた1つのテーブルを生成します。
- 選択する特定の基準に基づいて、テーブルに含まれるタプル(行)の一部のみを抽出します。
- 事業既存のテーブルの1つ以上の属性(列)のみを含む新しいテーブルを生成するには
- 名前を変更属性の名前を変更するために使用され、複数のテーブルが異なるデータに対して同じ名前を持っている場合の競合を防ぐために使用されます
関係代数の結合演算
結合は、おそらく関係代数で実行できる最も強力な操作です。これらは主要な操作の上に構築されており、さまざまな関係(テーブル)に含まれるデータを相互に関連付けることができます。
注:DBMSでの実際の結合についてはすぐに説明しますが、これはほとんど理論です。
2つの主要な結合バージョンがあります。自然結合そしてシータ結合. All the other versions are extracted from those 2.
自然結合
自然結合2つのリレーション(テーブル)を相互に関連付け、属性の同じ値に基づいて新しいテーブルを作成します。
まず、同じ属性名(列)を持つ2つのリレーションが必要です。次に、リレーションAの属性の値がリレーションBの属性で一致しない場合、行は結果の一部ではなく、無視されます。
例:
関係A
従業員ID | 名前 |
---|---|
1 | マーク |
2 | トニー |
3 | リック |
関係B
マネージャー名 | 従業員ID |
---|---|
トッド | 1 |
アルバート | 2 |
自然結合を実行して、各従業員のボス名を取得できます。
従業員ID | 名前 | マネージャー名 |
---|---|---|
1 | マーク | トッド |
2 | トニー | アルバート |
リレーションには共通の従業員ID属性名があるため、結果には2回ではなく、1回だけ表示されます。
リレーションBに対応するエントリがないため、リレーションAに存在する従業員#3のリックはこのテーブルに含まれていません。
シータ結合
シータ結合を使用すると、任意の基準に基づいて結合を実行し、自然結合のように等しいだけでなく、2つの異なる関係にある2つの列を比較できます。
2つのテーブルのデカルト積を実行し、必要な選択に基づいて結果をフィルタリングします。
等結合
等結合はシータ結合であり、選択は2つの異なるテーブルの属性値間の同等性に基づいて行われます。
自然結合との違いは、比較する属性名(列)を選択できることです。
結合については、SQLが導入されたときに詳しく説明するので、実際に使用できます。
その他のデータベースチュートリアル:
- MongoDBの基本チュートリアル
- MongoDBとSQLデータベースの違い
- 情報システム、データおよび情報
- データモデル
- ERデータモデルの概要
- リレーショナルモデル
- 関係代数
- リレーショナルデータベース
- データベースとは何ですか?そしてDBMS?
- SQLの概要
- macOSにPostgreSQLをインストールする方法
- アプリには常にデータベースが必要ですか?
- macOSにSQLiteをインストールする方法
- PostgreSQLの概要
- PostgreSQLユーザー権限
- PostgreSQLですべてのユーザーを一覧表示する方法
- PostgreSQLを使用してデータベースを切り替える方法
- PostgreSQLを使用してすべてのデータベースを一覧表示する方法
- PostgreSQLを使用して現在のデータベースのテーブルを一覧表示する方法
- MacOSにMySQLをインストールする方法
- MySQLでユーザーを作成する
- PostgreSQLとMySQL、比較
- SQLiteユーザー権限
- MySQLユーザー権限
- SQL、テーブルの作成
- SQL、テーブルへのデータの追加
- SQL、SELECTの使用方法
- SQL、空のセルの処理
- SQL、一意の主キー
- SQL、データを更新する方法
- SQL、テーブル構造を更新する方法
- SQL、データとテーブルを削除する方法
- SQL結合
- SQLビュー
- MongoDBコレクションに一度に複数のアイテムを挿入する方法
- MongoDBコレクションからすべてのアイテムを削除する方法