第1章;序章
データベース管理システムは、相互に関連するデータの集合と、このデータにアクセスするために使用されるプログラムのセットで構成されます。このデータの集合は、多くの場合データベースと呼ばれます。
特定の時点でデータベースに保存されている情報の集合はデータベースのインスタンスと呼ばれ、データベースの全体的な設計はデータベーススキーマと呼ばれます。
データベース構造の基礎となるのはデータ モデルです。データ モデルは、データ、データ関係、データ セマンティクス、一貫性制約を記述する概念的なツールのコレクションです。データ モデルは、物理層、論理層、およびビュー層データベースを設計する方法を提供します。
データベースに保存されるデータ値は、特定の一貫性制約を満たす必要があります
データベース内のエンティティは、名前や給与などの属性コレクションを通じて記述され、講師エンティティを記述することができます。
リンクは複数のエンティティ間の関連付けです。たとえば、メンバー リンクは教師をその部門にリンクします。同じ種類のすべてのエンティティの集合はエンティティ セットと呼ばれ、同じ種類のすべての関係の集合は関係セットと呼ばれます。
パート 1 -- リレーショナル データベース
第 2 章 -- リレーショナル モデルの概要
タプルは単なる値のシーケンス (またはリスト) です。n 個の値間の関係は、これらの値の n タプルによって数学的に表すことができます。つまり、n タプルは n タプルです。 、テーブル内の行に対応します
リレーショナル モデルの用語では、関係は代表を参照するために使用され、タプルは行を参照するために使用され、属性はテーブル内の列を参照するために使用されます。
関係の属性ごとに、属性のドメインと呼ばれる、許可される値のセットがあります。
ドメインはアトミックであり、細分化することはできません
null 値は、値が不明であるか存在しないことを意味する特別な値です。
データベーススキーマ
データベース スキーマはデータベースの論理設計であり、データベース インスタンスは特定の時点でのデータベース内のデータのスナップショットです。
コード
タプルの属性値は、タプルを一意に区別できる必要があります。つまり、関係内の 2 つのタプルがすべての属性で同じ値を持つことはありません。
スーパーキーは1 つ以上の属性のセットであり、これらの属性の組み合わせにより、関係内のタプルを一意に識別できます。
メインキーは主に、関係内の異なるタプルの候補キーを区別するために使用されます。
外部コード:
模式図
メイン コードと外部コードの依存関係を含むデータベース スキーマでは、スキーマ ダイアグラムを使用できます。
リレーショナルクエリ言語
クエリ言語は、ユーザーがデータベースに情報を要求するために使用する言語です。
手続き型言語では、ユーザーはデータベースに対して一連の操作を実行して目的の結果を計算するようにシステムに指示します。
非手続き型言語では、ユーザーは情報を取得するための具体的なプロセスを指定せずに、必要な情報を記述するだけで済みます。
関係演算
第 3 章 -- SQL
SQLデータ定義
基本特性
基本的なスキーマ定義
テーブルを作成する
テーブルrを作成する
( A1、D1、
A2、D2、
……、
DN、
<整合性制約 1>、
...、
<整合性制約 k> );
整合性の制約:
not null:属性の not null 制約は、属性で null 値が許可されていないことを示します。この制約は、属性ドメインから null 値を除外します。
SQL は整合性制約に違反するデータベースの更新を禁止します
入れる
インストラクターに挿入する
値 ( 10211,'スミス' , '生物学' , 66000);
削除タプルを削除
生徒から削除 ;
関係を削除する
テーブル r をドロップします。
このコマンドは、削除された関係に関するすべての情報をデータベースから削除します。delete は関係 r を保持しますが、r 内のすべてのタプルを削除します。Drop は、r のすべてのタプルを削除するだけでなく、r のパターンも削除します。r が削除されると、create table コマンドを使用して r を再構築しない限り、タプルを r に挿入することはできません。
テーブルを変更して属性を追加する
テーブルを変更して A 、Dを追加します 。
新しい属性のリレーションシップ内のすべてのタプルの値は null に設定され、r は既存のリレーションシップの名前、A は追加される属性の名前、D は追加される属性のドメインです。 。
テーブル rを変更し、 Aを削除します 。
リレーションから属性を削除します。r は既存のリレーションの名前、A はリレーションの属性の名前です。
SQLクエリの基本構造
SQL クエリの基本構造は、select、from、whereの 3 つの句で構成されます。
単一のリレーションクエリ
重複を強制的に削除するには、 select の後にキーワード uniqueを追加します。
個別の 部門名を選択してください
インストラクターから ;
SQL では、重複を削除しないことを明示的に示すキーワード all を使用できます。
select 句には、+、-、*、/ 演算子を含む算術式を含めることもでき、オペランドは定数またはタプルの属性にすることができます。
どこ:
複数の関係クエリ
from 節にリストされた関係のデカルト積が定義されます。集合論を使用して形式的に定義できますが、次の反復プロセス を通じて最もよく理解できます。
この結果のリレーションには、 フォーム 句内のすべてのリレーションのすべての属性が含まれます。
自然なつながり
自然選択操作は 2 つの関係を操作し、結果として関係を生成します。自然結合では、両方の関係パターンに現れる属性について同じ値を持つタプルのペアのみが考慮されます。
追加の基本操作
名前変更操作
句として
古い名前を新しい名前 として
as 句は、select 句または from 句のいずれかに指定できます。
文字列操作
エスケープ文字
SQL ではエスケープ文字を定義できます。 エスケープ文字を定義するには、 like 比較演算でエスケープ キーワードを使用します 。
select句の属性の説明
アスタリスク * を select 句で使用して、「すべての属性」をマークできます。
タプルの表示順序を整える
order by 句を使用すると、クエリ結果のタプルを並べ替えた順序で表示できます。
desc は 降順を意味します asc は 昇順を意味します
where 句の述語
between 比較演算子は、値が 2 つの値の間にあり、左側が閉じ、右側が閉じていることを示します。
集合演算
そして操作
ユニオン操作では重複が自動的に削除されます。ユニオンオールではすべての重複が保持されます。
交差点操作
intersect 操作では重複が自動的に削除されます。 intersect all ではすべての重複が保持されます。
差分演算
2009 年の秋学期に開始され、2010 年の春学期には開始されていないすべてのコースを検索するには、次のように記述できます。
例外操作は、2 番目の入力に現れないすべてのタプルを最初の入力から出力します。
NULL値
算術式の入力が空の場合、算術式の結果 (+ - * / などを含む) は空になります。
集計関数
集計関数は、値のセット (セットまたはマルチセット) を入力として受け取り、単一の値を返す関数です。SQL には、次の 5 つの固有の集計関数が用意されています。
- 平均: 平均
- 最小値: 分
- 最大値: 最大
- 合計: 合計
- カウント: カウント
sum と avg への入力は数値のセットである必要がありますが、他の演算子は文字列などの数値以外のデータ型のセットを操作することもできます。
基本的な集まり
コンピューター サイエンスの教員の平均給与を求め、結果として得られる関係の属性に名前を付けます。
グループ集約
集計関数を単一のタプル セットに対してだけでなく、一連のタプルに対しても動作させたいと考えています。
group by 句で指定された 1 つ以上の属性を使用してグループを構築します
group by 句内のすべての属性に同じ値を持つタプルはグループ化されます。