この記事では、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 サイトの他の関連記事を参照してください。

SQLとデータベースの関係は密接に統合されており、SQLはデータベースを管理および操作するためのツールです。 1.SQLは、データ定義、操作、クエリ、および制御に使用される宣言言語です。 2。データベースエンジンはSQLステートメントを解析し、クエリプランを実行します。 3.基本的な使用には、テーブルの作成、データの挿入、クエリが含まれます。 4.高度な使用には、複雑なクエリとサブ征服が含まれます。 5.一般的なエラーには、構文、ロジック、パフォーマンスの問題が含まれます。これは、構文チェックおよび説明コマンドを介してデバッグできます。 6.最適化手法には、インデックスの使用、フルテーブルスキャンの回避、クエリの最適化が含まれます。

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

データ管理におけるSQLの役割は、クエリ、挿入、更新、削除を介してデータを効率的に処理および分析することです。 1.SQLは、ユーザーが構造化された方法でデータベースと通信できるようにする宣言言語です。 2。使用例には、基本的な選択クエリと高度な参加操作が含まれます。 3.句の忘却や誤用の結合などの一般的なエラーは、説明コマンドを介してデバッグできます。 4。パフォーマンスの最適化には、インデックスの使用と、コードの読みやすさや保守性などのベストプラクティスに従うことが含まれます。

SQLは、リレーショナルデータベースを管理および操作するために使用される言語です。 1.テーブルの作成:CreateTableUsersなどのCreateTableステートメントを使用します(IdintPrimaryKey、NameVarchar(100)、EmailVarchar(100)); 2。データを挿入、更新、削除:InsertInto、更新、incertintintousers(id、name、email)values(1、 'johndoe'、 'john@example.com')などのステートメントを削除します。 3。クエリデータ:Selecなどの選択ステートメントを使用します

SQLとMySQLの関係は次のとおりです。SQLはデータベースの管理と操作に使用される言語であり、MySQLはSQLをサポートするデータベース管理システムです。 1.SQLは、CRUD操作とデータの高度なクエリを許可します。 2.MYSQLは、パフォーマンスとセキュリティを改善するためのインデックス、トランザクション、ロックメカニズムを提供します。 3. MySQLのパフォーマンスを最適化するには、クエリの最適化、データベースの設計、監視とメンテナンスに注意が必要です。

SQLはデータベース管理とデータ操作に使用され、そのコア機能にはCRUD操作、複雑なクエリ、最適化戦略が含まれます。 1)CRUD操作:INSERTINTOを使用してデータを作成し、データの読み取りを選択し、データの更新を更新し、削除データを削除します。 2)複雑なクエリ:Groupbyを介して複雑なデータを処理し、条項を備えています。 3)最適化戦略:インデックスを使用し、完全なテーブルスキャンを避け、参加操作とページングのクエリを最適化してパフォーマンスを向上させます。

SQLは、構文が単純で、機能が強力であり、データベースシステムで広く使用されているため、初心者に適しています。 1.SQLは、リレーショナルデータベースを管理し、テーブルを介してデータを整理するために使用されます。 2。基本操作には、データの作成、挿入、クエリ、更新、削除が含まれます。 3.結合、サブクエリ、ウィンドウ関数などの高度な使用法により、データ分析機能が強化されます。 4.一般的なエラーには、検査と最適化を通じて解決できる構文、ロジック、パフォーマンスの問題が含まれます。 5.パフォーマンス最適化の提案には、インデックスの使用、Select*の回避、説明の使用を使用してクエリの分析、データベースの正規化、コードの読み取り可能性の向上が含まれます。

実際のアプリケーションでは、SQLは主にデータクエリと分析、データ統合とレポート、データのクリーニングと前処理、高度な使用と最適化、複雑なクエリの処理と一般的なエラーの回避に使用されます。 1)データのクエリと分析を使用して、最も販売製品を見つけることができます。 2)データの統合とレポートは、参加操作を通じて顧客の購入レポートを生成します。 3)データのクリーニングと前処理は、異常な年齢記録を削除できます。 4)高度な使用と最適化には、ウィンドウ関数の使用とインデックスの作成が含まれます。 5)CTEと結合を使用して、SQLインジェクションなどの一般的なエラーを回避するために複雑なクエリを処理できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ホットトピック









