SQLサーバークイック基本データベースアプリケーションシステム
この記事では、SQL サーバー に関する関連知識を提供し、主に、単純なデータベース アプリケーション システムやデータベース設計の紹介など、データベースの基本に関する関連問題を紹介します。みんなを助けます。
SQL チュートリアル 」
##データベースの概念- あるモデルに従って整理されたデータをデータベース(DataBase、DB)と呼びます。データベースは、
- トランザクション処理、情報管理、その他のアプリケーション システムの中核であり基盤です。
データベース管理システム (DBMS) はデータベースやその他のシステムを管理し、特定のデータ モデルに従って大量のデータを整理し、 - ストレージを提供します。データの維持と取得により、アプリケーション システムは統一された方法でデータベースから必要な情報を便利に、タイムリーかつ正確に取得できるようになります。
「データはコンピューター上の Excel テーブルに保存できるのに、なぜデータベースを構築する必要があるの?」と疑問に思う人もいるかもしれません。
1.1 単純なデータベース アプリケーション システム
プロジェクト開発中は、特定のデータ モデルに従ってデータを整理し、データの統合管理を実行し、必要なアプリケーションに一貫したアクセス手段を提供するために、適切なデータベース管理システムを選択する必要があります。データを使用します。データ モデルには主に、リレーショナル モデル、階層モデル、ネットワーク モデルが含まれます。現在、リレーショナル モデルがより一般的に使用されています。 リレーショナル モデルは、データベース内のデータを 2 次元のテーブル (リレーショナル テーブル) の形式で編成します。例: 表 1.1 は、ある時点における学生図書貸出システムの学生データを示しています。テーブルはレコードと呼ばれます。レコードの場合、列はフィールドと呼ばれ、タイトルはフィールド名です。
リレーショナルテーブルの構造表現:リレーショナルテーブル名(フィールド名1、フィールド名2…フィールド
)。で表されます。例えば、学生テーブルxs(図書館カード番号、氏名、性別、生年月日、専攻、貸出冊数
- コード: フィールドの値またはフィールドの最小の組み合わせにより、対応するレコードを一意に識別できます。
テーブルには複数のコードを含めることができます。通常、1 つのコードがメイン コードとして指定され、関係テーブルでは下線
テーブル間の関係:
1.2 データベース設計
学生テーブル# たとえば、学籍番号「0001」の学年が知りたいのですが?次に、成績表で「学生 ID」の値が 0001 である行を探します。最後に、成績表に学生 ID がすべて「0001」であるデータが 3 行あることがわかり、それに対応して 3 つの行が見つかります。学生のコースと結果。関係とは、データが対応できる一致のことです。 1.2.1 E-R モデル
成績テーブル
通常、E-R モデルでは、各種類のデータ オブジェクトの個体を「エンティティ」と呼び、各種類のオブジェクトの個体の集合を「エンティティ セット」と呼びます。たとえば、図書館管理システムでは、これには主に「読者」(学生とも呼ばれる) と「本」およびその他のエンティティ セットが含まれます。非メイン エンティティ セットにはクラス、クラスの教師などが含まれます。各実体セットに含まれる情報項目は属性と呼ばれます。
(1) 実体集合の表現 E-R 図では、実体集合を長方形、属性を楕円、関係を菱形で表現します。エンティティセットと属性を線分で結びます。属性または属性の組み合わせをメインコードとして指定する場合は、エンティティセットと属性を結ぶ線上にスラッシュを付けます。
(2) エンティティセット間にはさまざまな関係が存在します
1. 1 対 1 の関係 (1:1) A のエンティティは B の最大 1 つのエンティティに関連付けられ、B のエンティティは A の最大 1 つのエンティティに関連付けられます。たとえば、クラスにはクラス教師が 1 人だけおり、逆に、クラス教師は 1 つのクラスにのみ所属するため、2 つのエンティティ セット「クラス」と「クラス教師」の間の関係は 1 対 1 の関係になります。 2 つのエンティティ セット「クラス」と「クラスの教師」の E-R モデルを図 1.2 に示します。
2. 1 対多の関係 (1:n) A のエンティティは B の複数のエンティティに関連付けることができ、B のエンティティは A の最大 1 つのエンティティに関連付けられます。たとえば、クラスには複数の生徒が存在でき、逆に、生徒は 1 つのクラスにのみ所属できるため、2 つのエンティティ セット「クラス」と「生徒」 (リーダー) 間の関係は 1 対多の関係になります。 2 つのエンティティ セット「クラス」と「学生」の E-R モデルを図 1.3 に示します。
3.多対多の関係 (m : n) A のエンティティは B の複数のエンティティに関連付けることができ、B のエンティティは A の複数のエンティティに関連付けることもできます。たとえば、2 つのエンティティ セット「読者」(学生) と「書籍」の間の関係は、多対多の関係になります。これは、読者は複数の本を借りることができ、逆に、書籍番号のある本を借りることができるためです。複数の生徒です。 2 つのエンティティ セット「reader」と「book」の E-R モデルを図 1.4 に示します。
店舗と顧客の 2 つのエンティティがあり、「店舗」には店舗番号、店舗名、住所、電話番号、 "customer" "顧客番号、名前、住所、年齢、性別の属性があります。顧客が店に買い物に行くたびに、消費金額と日付を持っているとします。 E-R 図を描いて、属性と連絡先の種類を示してみてください。
各生徒が複数のコースを受講し、各生徒の各コースの成績は 1 つだけで、各教師は 1 つのコースのみを担当するとします。コースは 1 つのコースで複数の教師によって指導されます。 「学生」には、学籍番号、氏名、住所、年齢、性別の属性があります。 「教師」には社員番号、教師名、職名という属性があり、「コース」にはコース番号、コース名という属性があります。 ER 図を描いて、属性と連絡先の種類を示してみてください。
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 図を作成し、リレーショナル モデルに変換します。
: 各生徒が複数のコースを受講し、各生徒の各コースの成績は 1 つだけであり、各教師は 1 つのコースのみを教える責任があると仮定します。コースは 1 つのコースで複数の教師によって指導されます。 「学生」には、学籍番号、氏名、住所、年齢、性別の属性があります。 「教師」には社員番号、教師名、職名という属性があり、「コース」にはコース番号、コース名という属性があります。 ER 図を作成し、E-R 図をリレーショナル モデルに変換してみます。
#1.3 データベース アプリケーション システム
データベース システムの構造は、図 1.5 に示すように記述されます。
1.3.1 アプリケーションシステムのデータインターフェース
ODBC は Open DataBase Connectivity の略で、アプリケーションとリレーショナル データベース間の通信を実装するために Microsoft によって導入されたインターフェイス標準です。この標準を満たすデータベースは、SQL ステートメントで記述されたプログラムを通じてデータベースを操作できますが、それはリレーショナル データベースのみに限られます。現在のすべてのリレーショナル データベースはこの標準に準拠しています。 ODBC は本質的にデータベース アクセス API (アプリケーション プログラミング インターフェイス) のセットであり、一連の関数呼び出しで構成され、その中核となるのは SQL ステートメントです。
2. ADO データベース インターフェイス
ADO (ActiveX Data Object) は、Microsoft が開発した COM ベースのデータベース アプリケーション インターフェイスであり、ADO を介してデータベースに接続することで、データベース内のデータを柔軟に操作できます。 ADO を使用してリレーショナル データベースにアクセスするには、ODBC ドライバーを使用する方法と、データベース固有の OLE DB プロバイダーを使用する方法の 2 つの方法があり、後者の方がアクセス効率が高くなります。
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 を介してデータベースにアクセスするためのインターフェイス モデルを示しています。
4. JDBC データベース インターフェイス
JDBC インターフェイスを使用してデータベースを操作すると、次の利点があります:
(1) JDBC API は ODBC に非常に似ているため、ユーザーが理解しやすくなります;
(2) プログラマが複雑な作業から解放されます。ドライバーはコマンドと関数を呼び出し、アプリケーション
プログラム関数の実装専用です;
(3) JDBC はさまざまなリレーショナル データベースをサポートし、プログラムの移植性を高めます。 ####5.データベース接続プール技術
ネットワーク環境におけるデータベースアプリケーションでは、ユーザー数が多いため、データベース接続には従来のJDBC方式が使用されており、過剰なシステムリソースのオーバーヘッドが大規模なエンタープライズレベルのアプリケーションの効率を制限するボトルネックとなっていました。データベース接続プール テクノロジを使用すると、接続管理によりシステムの効率と安定性が大幅に向上します。
1. クライアント/サーバー アーキテクチャ アプリケーション システム
Web ベースのデータベース アプリケーションは、3 層 (ブラウザ/Web サーバー/データベース サーバー) モデルを採用しています。図に示すように、B/S アーキテクチャとして知られています。
推奨学習: 「
SQL チュートリアル 」
以上がSQLサーバークイック基本データベースアプリケーションシステムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HQL と SQL は Hibernate フレームワークで比較されます。HQL (1. オブジェクト指向構文、2. データベースに依存しないクエリ、3. タイプ セーフティ)、SQL はデータベースを直接操作します (1. データベースに依存しない標準、2. 複雑な実行可能ファイル)。クエリとデータ操作)。

「OracleSQLでの除算演算の使用方法」 OracleSQLでは、除算演算は一般的な数学演算の1つです。データのクエリと処理中に、除算演算はフィールド間の比率を計算したり、特定の値間の論理関係を導出したりするのに役立ちます。この記事では、OracleSQL での除算演算の使用法を紹介し、具体的なコード例を示します。 1. OracleSQL における除算演算の 2 つの方法 OracleSQL では、除算演算を 2 つの異なる方法で実行できます。

Oracle と DB2 は一般的に使用される 2 つのリレーショナル データベース管理システムであり、それぞれに独自の SQL 構文と特性があります。この記事では、Oracle と DB2 の SQL 構文を比較し、相違点を示し、具体的なコード例を示します。データベース接続 Oracle では、次のステートメントを使用してデータベースに接続します: CONNECTusername/password@database DB2 では、データベースに接続するステートメントは次のとおりです: CONNECTTOdataba

MyBatis 動的 SQL タグの解釈: Set タグの使用法の詳細な説明 MyBatis は、豊富な動的 SQL タグを提供し、データベース操作ステートメントを柔軟に構築できる優れた永続層フレームワークです。このうち、Set タグは、UPDATE ステートメントで SET 句を生成するために使用され、更新操作でよく使用されます。この記事では、MyBatis での Set タグの使用法を詳細に説明し、特定のコード例を通じてその機能を示します。 SetタグとはMyBatiで使用するSetタグです。

SQL における Identity とは何ですか? 具体的なコード例が必要です。SQL では、Identity は自動インクリメント数値の生成に使用される特別なデータ型です。多くの場合、テーブル内のデータの各行を一意に識別するために使用されます。 Identity 列は、各レコードが一意の識別子を持つようにするために、主キー列と組み合わせてよく使用されます。この記事では、Identity の使用方法といくつかの実用的なコード例について詳しく説明します。 Identity の基本的な使用方法は、テーブルを作成するときに Identity を使用することです。

Springboot+Mybatis-plus が SQL ステートメントを使用して複数テーブルの追加操作を実行しない場合、私が遭遇した問題は、テスト環境で思考をシミュレートすることによって分解されます: パラメーターを含む BrandDTO オブジェクトを作成し、パラメーターをバックグラウンドに渡すことをシミュレートします。 Mybatis-plus で複数テーブルの操作を実行するのは非常に難しいことを理解してください。Mybatis-plus-join などのツールを使用しない場合は、対応する Mapper.xml ファイルを設定し、臭くて長い ResultMap を設定するだけです。対応する SQL ステートメントを記述します。この方法は面倒に見えますが、柔軟性が高く、次のことが可能です。

MySQL でデータの集計と統計に SQL ステートメントを使用するにはどうすればよいですか?データの集計と統計は、データ分析と統計を実行する際の非常に重要な手順です。 MySQL は強力なリレーショナル データベース管理システムとして、データの集約と統計操作を簡単に実行できる豊富な集約機能と統計機能を提供します。この記事では、SQL ステートメントを使用して MySQL でデータの集計と統計を実行する方法を紹介し、具体的なコード例を示します。 1. カウントには COUNT 関数を使用します。COUNT 関数は最も一般的に使用されます。

解決策: 1. ログインしているユーザーがデータベースにアクセスまたは操作するための十分な権限を持っているかどうかを確認し、ユーザーが正しい権限を持っているかどうかを確認します; 2. SQL Server サービスのアカウントに指定されたファイルまたはデータベースにアクセスする権限があるかどうかを確認します。 3. 指定されたデータベース ファイルが他のプロセスによって開かれているかロックされているかどうかを確認し、ファイルを閉じるか解放して、クエリを再実行します。管理者として試してください。Management Studio をなどとして実行します。
