ホームページ  >  記事  >  データベース  >  SQLサーバークイック基本データベースアプリケーションシステム

SQLサーバークイック基本データベースアプリケーションシステム

WBOY
WBOY転載
2022-04-26 18:12:524067ブラウズ

この記事では、SQL サーバー に関する関連知識を提供し、主に、単純なデータベース アプリケーション システムやデータベース設計の紹介など、データベースの基本に関する関連問題を紹介します。みんなを助けます。

SQLサーバークイック基本データベースアプリケーションシステム

推奨学習: 「

SQL チュートリアル

##データベースの概念


#データベース
    あるモデルに従って整理されたデータをデータベース(DataBase、DB)と呼びます。データベースは、
  • トランザクション処理、情報管理、その他のアプリケーション システムの中核であり基盤です。



    データベース管理システム (DBMS)
  • はデータベースやその他のシステムを管理し、特定のデータ モデルに従って大量のデータを整理し、
  • ストレージを提供します。データの維持と取得により、アプリケーション システムは統一された方法でデータベースから必要な情報を便利に、タイムリーかつ正確に取得できるようになります。




    「データはコンピューター上の Excel テーブルに保存できるのに、なぜデータベースを構築する必要があるの?」と疑問に思う人もいるかもしれません。

#それは、データベースにはエクセルよりも多くのメリットがあるからです。データベースには大量のデータを保存でき、多くの人が内部のデータを同時に使用できます。たとえば、Excel はモバイル ハードディスクのようなものであることがわかりますが、このモバイル ハードディスクを使用すると、他の人はそれを使用できなくなります。データベースはネットワーク ディスクのようなもので、多くの人がデータベース内のデータに同時にアクセスでき、ネットワーク ディスクはモバイル ハードディスクよりも多くのデータを保持できます。


1.1 単純なデータベース アプリケーション システム
SQLサーバークイック基本データベースアプリケーションシステム

データベースはデータをどのように編成 (保存) するのでしょうか?

プロジェクト開発中は、特定のデータ モデルに従ってデータを整理し、データの統合管理を実行し、必要なアプリケーションに一貫したアクセス手段を提供するために、適切なデータベース管理システムを選択する必要があります。データを使用します。データ モデルには主に、リレーショナル モデル、階層モデル、ネットワーク モデルが含まれます。現在、リレーショナル モデルがより一般的に使用されています。 リレーショナル モデルは、データベース内のデータを 2 次元のテーブル (リレーショナル テーブル) の形式で編成します。例: 表 1.1 は、ある時点における学生図書貸出システムの学生データを示しています。テーブルはレコードと呼ばれます。レコードの場合、列はフィールドと呼ばれ、タイトルはフィールド名です。


SQLサーバークイック基本データベースアプリケーションシステム リレーショナルテーブルの構造表現:リレーショナルテーブル名(フィールド名1、フィールド名2…フィールド

名n)

SQLサーバークイック基本データベースアプリケーションシステム

  1. コード: フィールドの値またはフィールドの最小の組み合わせにより、対応するレコードを一意に識別できます。
  2. テーブルには複数のコードを含めることができます。通常、1 つのコードがメイン コードとして指定され、関係テーブルでは下線
で表されます。例えば、学生テーブルxs(図書館カード番号、氏名、性別、生年月日、専攻、貸出冊数
)。

  1. 1.2 データベース設計
テーブル間の関係:
学生テーブル



  1. 成績テーブル

# たとえば、学籍番号「0001」の学年が知りたいのですが?次に、成績表で「学生 ID」の値が 0001 である行を探します。最後に、成績表に学生 ID がすべて「0001」であるデータが 3 行あることがわかり、それに対応して 3 つの行が見つかります。学生のコースと結果。関係とは、データが対応できる一致のことです。

1.2.1 E-R モデル
E-R モデルでエンティティ セット間の関係を表す図は、エンティティ関係モデル (E-R 図) と呼ばれます。

SQLサーバークイック基本データベースアプリケーションシステム 通常、E-R モデルでは、各種類のデータ オブジェクトの個体を「エンティティ」と呼び、各種類のオブジェクトの個体の集合を「エンティティ セット」と呼びます。たとえば、図書館管理システムでは、これには主に「読者」(学生とも呼ばれる) と「本」およびその他のエンティティ セットが含まれます。非メイン エンティティ セットにはクラス、クラスの教師などが含まれます。各実体セットに含まれる情報項目は属性と呼ばれます。

(1) 実体集合の表現 E-R 図では、実体集合を長方形、属性を楕円、関係を菱形で表現します。エンティティセットと属性を線分で結びます。属性または属性の組み合わせをメインコードとして指定する場合は、エンティティセットと属性を結ぶ線上にスラッシュを付けます。
SQLサーバークイック基本データベースアプリケーションシステム
SQLサーバークイック基本データベースアプリケーションシステム

(2) エンティティセット間にはさまざまな関係が存在します
1. 1 対 1 の関係 (1:1) A のエンティティは B の最大 1 つのエンティティに関連付けられ、B のエンティティは A の最大 1 つのエンティティに関連付けられます。たとえば、クラスにはクラス教師が 1 人だけおり、逆に、クラス教師は 1 つのクラスにのみ所属するため、2 つのエンティティ セット「クラス」と「クラス教師」の間の関係は 1 対 1 の関係になります。 2 つのエンティティ セット「クラス」と「クラスの教師」の E-R モデルを図 1.2 に示します。
SQLサーバークイック基本データベースアプリケーションシステム
2. 1 対多の関係 (1:n) A のエンティティは B の複数のエンティティに関連付けることができ、B のエンティティは A の最大 1 つのエンティティに関連付けられます。たとえば、クラスには複数の生徒が存在でき、逆に、生徒は 1 つのクラスにのみ所属できるため、2 つのエンティティ セット「クラス」と「生徒」 (リーダー) 間の関係は 1 対多の関係になります。 2 つのエンティティ セット「クラス」と「学生」の E-R モデルを図 1.3 に示します。
SQLサーバークイック基本データベースアプリケーションシステム
3.多対多の関係 (m : n) A のエンティティは B の複数のエンティティに関連付けることができ、B のエンティティは A の複数のエンティティに関連付けることもできます。たとえば、2 つのエンティティ セット「読者」(学生) と「書籍」の間の関係は、多対多の関係になります。これは、読者は複数の本を借りることができ、逆に、書籍番号のある本を借りることができるためです。複数の生徒です。 2 つのエンティティ セット「reader」と「book」の E-R モデルを図 1.4 に示します。
SQLサーバークイック基本データベースアプリケーションシステム

演習 1

店舗と顧客の 2 つのエンティティがあり、「店舗」には店舗番号、店舗名、住所、電話番号、 "customer" "顧客番号、名前、住所、年齢、性別の属性があります。顧客が店に買い物に行くたびに、消費金額と日付を持っているとします。 E-R 図を描いて、属性と連絡先の種類を示してみてください。
SQLサーバークイック基本データベースアプリケーションシステム

==演習 2==

各生徒が複数のコースを受講し、各生徒の各コースの成績は 1 つだけで、各教師は 1 つのコースのみを担当するとします。コースは 1 つのコースで複数の教師によって指導されます。 「学生」には、学籍番号、氏名、住所、年齢、性別の属性があります。 「教師」には社員番号、教師名、職名という属性があり、「コース」にはコース番号、コース名という属性があります。 ER 図を描いて、属性と連絡先の種類を示してみてください。

SQLサーバークイック基本データベースアプリケーションシステム

1.2.2 論理データモデル

3つの接続に基づいてE-R図から関係パターンを取得する方法を以下に示します。

1. (1 : 1) 関連する E-R 図のリレーションシップスキーマへの変換
a. 各エンティティセットはリレーションシップスキーマに対応します;
b. For (1 : 1) ) は、関係モデルのみに対応する場合もあれば、関係モデルのみに対応しない場合もあります。
(1) リレーションシップのみがリレーションシップ モデルに対応し、リレーションシップ モデルは、コンタクト属性と、コンタクトに参加する各エンティティ セットの主キー属性で構成されます。コンタクトに参加しているエンティティ セット内のパーティ。
たとえば、図 1.2 で説明した「クラス (bj)」と「クラスの先生 (bzr)」エンティティ セットが、所属 (sy) を通じて E-R モデルに接続すると考えます。次のような関係パターンを設計できます (下線)フィールドがメインコードであることを示します) :
bj (クラス番号、学部、専攻、人数)
bzr (社員番号、名前、連絡先番号)
sy (社員番号、クラス番号)
(2) 連絡先が個別に対応しない リレーションシップスキーマでは、一方の当事者のリレーションシップの属性と主キーが、他方のエンティティセットに対応するリレーションシップスキーマに追加されます。
たとえば、図 1.2 で説明した「クラス (bj)」と「クラスの先生 (bzb)」というエンティティ セットが、所属 (sy) を通じて E-R モデルに接触すると考えると、次のような関係モデルが設計できます。 ## bj (クラス番号、学科、専攻、人数)
bzr (社員番号、氏名、連絡先番号、クラス番号)
または:
bj (クラス番号、学科、専攻、人数)人、従業員番号)
bzr (従業員番号、名前、連絡先番号)

2. (1: n) E-R 図から関係スキーマへの変換
^ ^ a. 各エンティティ セットは関係スキーマに対応します;
^ ^ b. (1: n) 接触の場合、別の関係に対応できますスキーマ 、
関係パターンのみに対応する必要はありません。
(1) リレーションシップのみがリレーションシップパターンに相当し、リレーションシップパターンはアソシエーションの属性と、アソシエーションに参加する各エンティティセットの主キー属性で構成され、n 番目の主キーが使用されます。関係パターンの主キーとして使用します。
たとえば、図 1.3 で説明した「クラス (bj)」と「学生 (xs)」エンティティ セットの E-R モデルを考慮すると、次の関係モデルを設計できます。
bj (クラス番号、学部) 、専攻、人数)
xs (図書館カード番号、氏名、性別、生年月日、専攻、借りている冊数)
sy (図書館カード番号、クラス番号)
(2)関係が別の関係モデルに対応していない場合、関係の属性と 1 端の主コードを、n 端に設定された実際の
エンティティ セットに対応する関係パターンに追加します。主コードはそのままです。 n 番目のプライマリ コード。
たとえば、図 1.3 で説明されている「クラス (bj)」と「リーダー (xs)」エンティティ セットの E-R モデルは、次の関係パターンで設計できます。
bj (クラス番号、部門、専攻、人数)
xs (図書館カード番号、氏名、性別、生年月日、専攻、貸出冊数、クラス番号)

3. (m : n) 接触の E-R ダイアグラムから関係スキーマへの変換
^ ˆ a. 各エンティティ セットは関係スキーマに対応します;
^ ^ b. (m : n) 接触については、別の関係が存在します関係モデルには、関係の属性と、関係に参加する各エンティティ セットの主キー属性が含まれます。関係モデルの主キーは、各エンティティ セットの主キー属性で構成されます。
たとえば、図 1.4 で説明した「読者 (xs)」と「本 (book)」エンティティ セット間の借用関係 (jy) は次のように設計できます。
xs (図書館カード) 番号、氏名、性別、生年月日、専攻、借りた冊数)
書籍(ISBN、書名、訳者、出版社、価格、部数、在庫、概要)
jy(借りた図書館カード番号、ISBN 、請求番号、貸出時間)
リレーションシップ モデル jy の主キーは
主キーと、「図書館カード番号」と「ISBN」の 2 つの属性で構成されるリレーションシップです。パターンには主コードが 1 つだけあります。 。

演習 1: 店舗と顧客の 2 つのエンティティがあります。「店舗」には店舗番号、店舗名、住所、電話番号の属性があります。「顧客」には次の属性があります。お客様の番号、氏名、住所、年齢、性別。顧客が店に買い物に行くたびに、消費金額と日付を持っているとします。 E-R 図を作成し、リレーショナル モデルに変換します。

SQLサーバークイック基本データベースアプリケーションシステム

##演習 2

: 各生徒が複数のコースを受講し、各生徒の各コースの成績は 1 つだけであり、各教師は 1 つのコースのみを教える責任があると仮定します。コースは 1 つのコースで複数の教師によって指導されます。 「学生」には、学籍番号、氏名、住所、年齢、性別の属性があります。 「教師」には社員番号、教師名、職名という属性があり、「コース」にはコース番号、コース名という属性があります。 ER 図を作成し、E-R 図をリレーショナル モデルに変換してみます。

SQLサーバークイック基本データベースアプリケーションシステム#1.3 データベース アプリケーション システム

データベース システムの構造は、図 1.5 に示すように記述されます。


1.3.1 アプリケーションシステムのデータインターフェースSQLサーバークイック基本データベースアプリケーションシステム

1. ODBC データベース インターフェイス

ODBC は Open DataBase Connectivity の略で、アプリケーションとリレーショナル データベース間の通信を実装するために Microsoft によって導入されたインターフェイス標準です。この標準を満たすデータベースは、SQL ステートメントで記述されたプログラムを通じてデータベースを操作できますが、それはリレーショナル データベースのみに限られます。現在のすべてのリレーショナル データベースはこの標準に準拠しています。 ODBC は本質的にデータベース アクセス API (アプリケーション プログラミング インターフェイス) のセットであり、一連の関数呼び出しで構成され、その中核となるのは SQL ステートメントです。

2. ADO データベース インターフェイス
ADO (ActiveX Data Object) は、Microsoft が開発した COM ベースのデータベース アプリケーション インターフェイスであり、ADO を介してデータベースに接続することで、データベース内のデータを柔軟に操作できます。 ADO を使用してリレーショナル データベースにアクセスするには、ODBC ドライバーを使用する方法と、データベース固有の OLE DB プロバイダーを使用する方法の 2 つの方法があり、後者の方がアクセス効率が高くなります。

###3。 ADO.NET データベース インターフェイス

ADO.NET データ モデルは ADO から開発されていますが、ADO を単に改良しただけではなく、まったく新しいテクノロジを使用しています。主に次の点に反映されます。
(1) ADO.NET は ActiveX テクノロジを使用しませんが、.NET Framework と緊密に統合された製品です。
(2) ADO.NET には XML 標準の完全なサポートが含まれており、これはクロスプラットフォームのデータ交換にとって非常に重要です。
(3) ADO.NET は、データ ソースに接続された環境でも、データ ソースから切断された環境でも動作します。特に後者は、ネットワーク環境ではデータ ソースとの接続を常に維持することは Web サイトの要件を満たさないため、ネットワーク アプリケーションのニーズに非常に適しています。非効率的でコストがかかるだけでなく、多くの場合、次のような問題が発生します。複数のユーザーによる同時アクセスによる問題 アクセスによる競合

ADO.NET はオブジェクト指向のデータベース ビューを提供し、多くのデータベース プロパティと関係をそのオブジェクトにカプセル化します。最も重要なことは、データベース アクセスの多くの詳細をさまざまな方法でカプセル化し、隠蔽することです。オブジェクトが ADO​​.NET オブジェクトと対話していることを意識する必要はなく、データを別のデータベースに移動したり、別のデータベースからデータを取得したりするなどの詳細を気にする必要はありません。図 1.6 は、ADO.NET を介してデータベースにアクセスするためのインターフェイス モデルを示しています。

SQLサーバークイック基本データベースアプリケーションシステム4. JDBC データベース インターフェイス

JDBC (Java DataBase Connectivity) は、JavaSoft (SUN 社の元の事業部門) によって開発され、データベースへの接続と操作のために Java 言語で書かれたクラスとインターフェイスです。さまざまなリレーショナル データベース。 JDBC を介したデータベースへのアクセスには、Java アプリケーション、JDBC ドライバー マネージャー、ドライバー、およびデータ ソースの 4 つの主要コンポーネントが含まれます。

JDBC インターフェイスを使用してデータベースを操作すると、次の利点があります:
(1) JDBC API は ODBC に非常に似ているため、ユーザーが理解しやすくなります;
(2) プログラマが複雑な作業から解放されます。ドライバーはコマンドと関数を呼び出し、アプリケーション
プログラム関数の実装専用です;
(3) JDBC はさまざまなリレーショナル データベースをサポートし、プログラムの移植性を高めます。 ####5.データベース接続プール技術
ネットワーク環境におけるデータベースアプリケーションでは、ユーザー数が多いため、データベース接続には従来のJDBC方式が使用されており、過剰なシステムリソースのオーバーヘッドが大規模なエンタープライズレベルのアプリケーションの効率を制限するボトルネックとなっていました。データベース接続プール テクノロジを使用すると、接続管理によりシステムの効率と安定性が大幅に向上します。

1.3.2 アプリケーション システム アーキテクチャ


1. クライアント/サーバー アーキテクチャ アプリケーション システム

DBMS は、専門家に適したコマンドとインターフェイスを通じてデータベースを操作します。一般的なデータベースアプリケーションシステムでは、DBMSだけでなく、一般の人がデータベースを操作するのに適したインターフェースを設計する必要もあります。現在、データベース インターフェイスを開発するための一般的なツールには、主に Visual Basic、Visual C、Visual C# などが含まれます。アプリケーション、データベース、データベース管理システムの関係を図に示します。


2. ブラウザ/サーバー アーキテクチャのアプリケーション システム

Web ベースのデータベース アプリケーションは、3 層 (ブラウザ/Web サーバー/データベース サーバー) モデルを採用しています。図に示すように、B/S アーキテクチャとして知られています。 SQLサーバークイック基本データベースアプリケーションシステム


推奨学習: 「
SQL チュートリアル SQLサーバークイック基本データベースアプリケーションシステム

以上がSQLサーバークイック基本データベースアプリケーションシステムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。