sql >> データベース >  >> RDS >> Database

DBMSチュートリアル:DBMSの完全なクラッシュコース

    ご存知のとおり、データベース管理システム(DBMS)は、データベースの管理に使用されるソフトウェアです。したがって、DBMSチュートリアルに関するこの記事は、DBMSの基本概念と高度な概念の両方を理解するのに役立ちます。 。

    この記事で説明するトピックは次のとおりです。

    • データベースとは何ですか?
      • 特性、長所、用途、および短所
    • DBMS
    • アーキテクチャ
    • コンポーネント
    • タイプ
    • データモデル
    • キー
    • 正規化

    始めましょう!

    データベースとは何ですか?

    データベース は、構造化されたデータの整理されたコレクションであり、簡単にアクセス、管理、更新できるようになっています。簡単に言えば、データが保存されている場所にあるデータベースと言えます。最高の例えはライブラリです。ライブラリには、さまざまなジャンルの書籍の膨大なコレクションが含まれています。ここでは、ライブラリはデータベースであり、書籍はデータです。

    コンピューター時代の初期段階では、データは収集され、テープに保存されていました。テープはほとんどが書き込み専用デバイスでした。つまり、データが保存されると、テープに保存されることはありませんでした。もう一度読んでください。彼らは遅くてかさばり、すぐにコンピューター科学者たちはこの問題に対するより良い解決策が必要であることに気づきました。

    まとめて、データとDBMSは、それらに関連付けられているアプリケーションとともに、データベースシステムと呼ばれ、多くの場合、単なるデータベースに短縮されます。

    データベースの進化

    • データベースは、1960年代初頭の開始以来進化してきました。
    • 1980年代、リレーショナルデータベース 1990年代に人気が高まり、オブジェクト指向データベースがそれに続きました。
    • 最近では、NoSQLデータベース インターネットの成長と、非構造化データの高速化と処理の必要性への対応として生まれました。
    • 今日、クラウドデータベースと自動運転データベースは、データの収集、保存、管理、利用の方法に関して、新たな境地を開いています。

    「データベース」は非常に広大なトピックです。したがって、この主題の下でトピックをカバーすることは非常に退屈な作業です。

    DBMSチュートリアル:データベースの特性

    現在、データベースの主な特徴は次のとおりです。

    • サーバー上に確立されたデジタルリポジトリを使用して、情報を保存および管理します。|
    • データベースは、この現実の世界に存在するすべての種類のデータを保存できる必要があります。
    • データを操作するプロセスの明確で論理的なビューを提供できます。
    • 最も重要なのは、データベースがデータのセキュリティを提供するために使用されることです。
    • DBMSには、すべての自動バックアップおよびリカバリ手順が含まれています。
    • また、障害が発生した場合にデータを正常な状態に維持するACIDプロパティも含まれています。
    • データベースは、データ間の複雑な関係を減らすことができます。
    • データの操作と処理をサポートするためにも使用されます。
    • ユーザーが指定した要件に応じて、さまざまな視点からデータベースを表示できます。

    ここで、データベースのアプリケーションについて説明します。ここで、データベースを正確に利用できる場所を確認します。

    DBMSチュートリアル:データベースのアプリケーション

    データベースアプリケーションは、情報を非常に効率的に収集、管理、および配布するように設計されたソフトウェアプログラムです。非常に多くの中小企業の所有者が、使いやすいソフトウェアを使用して顧客の連絡先やメーリングリストなどの単純なデータベースを作成し、データ操作に高度なデータベースを使用する企業があります。

    • 会計アプリケーション
    • Webアプリケーション
    • CRMアプリケーション

    会計アプリケーション

    会計システムについて言えば、これは財務データの管理に使用されるカスタムデータベースアプリケーションです。

    • 資産、負債、在庫、および顧客とサプライヤー間の取引を記録するために使用されるカスタムフォームを利用できます。
    • 損益計算書の概要を取得し、貸借対照表、発注書、および生成された請求書は、データベースに入力された情報に基づくカスタムレポートです。
    • 会計アプリケーションは、大規模な組織の複数の部門や場所のニーズに対応するために、中小企業やネットワーク化された共有環境に適した単一のコンピューターで実行されます。

    Webアプリケーション

    多くのWebアプリケーションは、データを保存するためにデータベースも使用します。これは、組織の機密情報またはユーザーに関する個人情報である可能性があります。データベースは、データを順番に保存するために使用され、必要なときにいつでもデータにアクセスするのに役立ちます。

    • また、多くのWebアプリケーションはデータベースアプリケーションを使用して作成されます。会計データベースシステムを組み合わせて販売取引を記録し、CRMデータベースアプリケーションを組み合わせてフィードバックを組み込み、顧客体験を向上させるWebサイトもあります。次のトピックでは、CRMデータベースについて説明します。
    • 最も人気のあるWebベースのアプリケーション「Facebook」は、基本的に「 MySQL」に基づいて構築されたデータベースです。 」データベースシステムであり、Webベースのアプリケーションの基盤としてのデータベースアプリケーションの使用が増加していることを示しています。

    CRMアプリケーション

    顧客関係管理システム(CRM)は、企業とその顧客との間のマーケティング、販売、およびサポートの関係を管理するためにカスタマイズされた完璧なデータベースアプリケーションです。

    主な目標は、販売数を最大化し、コストを最小化し、戦略的な顧客関係を促進することです。

    利点

    • データの冗長性が減少しました。
    • また、エラーが減り、一貫性が向上します。
    • アプリケーションプログラムからのより簡単なデータ整合性。
    • ホスト言語とクエリ言語を使用して、ユーザーへのデータアクセスを改善しました。
    • データのセキュリティも向上しています。
    • データの入力、保存、取得のコストを削減しました。

    短所

    • 複雑さ :データベースは複雑なハードウェアおよびソフトウェアシステムです。
    • コスト :かなりの先行投資と継続的な財源が必要です。
    • セキュリティ: ほとんどの大手企業は、データベースシステムが従業員や顧客の機密情報などのデータを安全に保存できることを知っておく必要があります。
    • 互換性 :DBMSが企業の運用要件と互換性がない可能性があるというリスクがあります。

    データベースがどのように機能するかがわかったところで、次に進んでデータベース管理システムについて理解しましょう。

    DBMS

    データベース管理システム(DBMS)は、データベースの管理に使用されるソフトウェアです。データベース管理者(DBA)から指示を受け取り、それに応じて対応する変更を行うようにシステムに指示します。これらは基本的に、システムから既存のデータをロード、取得、または変更するために使用されるコマンドです。

    データベース管理システムは、チューニング、パフォーマンスモニタリング、バックアップリカバリなどのさまざまな管理操作を提供することにより、データベースの概要を容易にすることも目的としています。

    データベース管理システムを使用すると、ユーザーは次のことができます。

    • データの定義 –ユーザーがデータベースの構成を定義する定義を作成、変更、および削除できるようにします。
    • データの更新 –データベースからデータを挿入、変更、および削除するためのアクセスをユーザーに提供します。
    • データを取得する –ユーザーが要件に基づいてデータベースからデータを取得できるようにします。
    • ユーザーの管理 –ユーザーを登録してアクションを監視し、データセキュリティを強化し、データの整合性を維持し、パフォーマンスを監視し、同時実行制御を処理します。

    特徴

    • 制限 許可にアクセスする ユーザーの数
    • 複数のビューを提供 単一のデータベーススキーマの
    • セキュリティを促進します データの冗長性を排除します
    • マルチユーザートランザクションを許可 データの処理と共有
    • ACIDに従います プロパティ
    • 物理データと論理データの両方の独立性を提供します

    それでは、データベースを作成する方法を見てみましょう。

    CREATE DATABASEステートメントを使用して、新しいデータベースを作成します。

    構文:

    CREATE DATABASE databasename;

    例:

    CREATE DATABASE College;

    そのため、Collegeという名前のデータベースが作成されます。これは、データベースを作成するのがいかに簡単かということです。

    それでは、DBMSのアプリケーションを理解しましょう。

    DBMSのアプリケーション

    • 銀行
    • 航空会社
    • 財務
    • 販売と製造
    • 大学

    これらは、DBMSの注目すべきアプリケーションの一部です。それでは、次に進み、DBMSの機能を理解しましょう。

    DBMSチュートリアル:機能

    • 最小限の重複: データベースを利用するユーザーが多いため、データが重複する可能性が非常に高くなります。データベース管理システムでは、データファイルが共有されるため、データの重複が最小限に抑えられます。
    • ストレージスペースを節約します: DBMSには多くの節約がありますが、DBMSにデータを統合すると、はるかに多くのスペースを節約できます。
    • 費用対効果: 多くの企業は、データを保存するために多額のお金を払っています。保存するデータを管理している場合は、データ入力のコストを節約できます。
    • セキュリティ: DBMSはすべてのデータファイルを永続的に保存し、データが失われる可能性はありません。たとえば、一部のデータが失われた場合、組織のデータファイルを保存できるバックアップとリカバリの方法もあります。したがって、DBMSは非常に安全です。

    それでは、DBMSのアーキテクチャを理解しましょう。

    アーキテクチャ

    DBMSの設計は、主にそのアーキテクチャに依存します。アーキテクチャは、集中型、分散型、または階層型のいずれかになります。これは、単一層または多層と見なすことができます。システム全体を関連しているが独立したnに分割するn層アーキテクチャを使用することもできます。 モジュール。個別に変更、変更、変更、または交換できます。

    あなたが持つことができる:

    • シングルティア
    • 2層
    • 3層

    シングルティア

    ここでは、ユーザーがデータベースに直接アクセスできます。これは、ユーザーがDBMSに直接常駐して使用できることを意味します。ここで行われる変更は、データベース自体で直接行われます。また、エンドユーザーにとって便利なツールではありません。

    1層は、クライアント、サーバー、およびデータベースで使用されます。 すべて同じマシン上にあります。システムにデータベースをインストールしてSQLクエリにアクセスするときはいつでも、使用されるのは1層アーキテクチャです。ただし、このアーキテクチャが本番セクションで使用されることはめったにありません。

    2層

    2層アーキテクチャは、基本的なクライアントサーバーと同じです。このアーキテクチャでは、クライアント側のアプリケーションはサーバー側のデータベースと直接通信できます。 DBMSと通信するために、クライアント側のアプリケーションはサーバー側との接続を確立します。

    クライアントマシンが SQLを使用してサーバーに存在するデータベースにアクセスするように要求するときはいつでも 、サーバーはデータベースでリクエストを実行し、結果をクライアントに返します。

    3層

    3層アーキテクチャには、クライアントとサーバーの間にレイヤーが含まれています。ここでは、クライアントはサーバーと直接通信できません。エンドユーザーは、アプリケーションサーバーについて何も知りません。データベースは、アプリケーション以外の他のユーザーについても認識していません。

    クライアント側に存在するアプリケーションは、アプリケーションサーバーと対話し、アプリケーションサーバーはデータベースシステムと通信します。

    プレゼンテーション層、アプリケーション層、データベース層の3つの層または層があります。

    • データベース層: この層には、データベースがその処理言語(クエリ)とともに存在します。このレベルでのデータとその制約を定義する関係もあります。

    • アプリケーション層: 中間層とも呼ばれます。この層は、アプリケーションサーバーとデータベースにアクセスするプログラムで構成されます。ユーザーの場合、このアプリケーション層はデータベースの抽象的なビューを示します。一方、データベース層は、アプリケーション層以外の他のユーザーを認識しません。したがって、アプリケーション層は中間に位置し、エンドユーザーとデータベースの間の仲介役として機能します。

    • ユーザー層: これは、プレゼンテーション層とも呼ばれます。エンドユーザーはこの層で動作し、この層を超えたデータベースの存在については何も知りません。このレイヤーでは、複数のビュー データベースのは、アプリケーションによって提供することができます。すべてのビューは、アプリケーション層に存在するアプリケーションによって生成されます。

    アーキテクチャを理解したので、次に進んでDBMSのコンポーネントを理解しましょう。

    DBMSチュートリアル:コンポーネント

    DBMSのコンポーネントについて言えば、次のようなものがあります。

    • ハードウェア

    これは、I / Oデバイス、ストレージデバイスなど、一連の物理的な電子デバイスで構成されています。また、コンピューターと実際のシステム間のインターフェースも提供します。

    • ソフトウェア

    これは、データベース全体を制御および管理するために使用されるプログラムのセットです。また、DBMSソフトウェア自体も含まれています。オペレーティングシステム、ユーザー間でデータを共有するために使用されるネットワークソフトウェア、DBMSのデータにアクセスするために使用されるアプリケーションプログラム。

    • データ

    データベース管理システムは、データを収集、保存、処理、およびアクセスします。データベースには、実際のデータまたは運用データとメタデータの両方が保持されます。

    • 手順

    これらは、DBMSを設計および実行し、データベースを操作および管理するユーザーをガイドするためにデータベースを使用する方法に関する規則と手順です。

    • データベースアクセス言語

    データベースとの間でデータにアクセスするために使用されます。新しいデータを入力するには、データベースからのデータを更新または取得する必要があります。データベースアクセス言語で適切なコマンドのセットを記述し、それらをDBMSに送信すると、データが処理されて生成され、結果のセットがユーザーが読み取り可能な形式で表示されます。

    データベースのコンポーネントについて理解したところで、次に進んでタイプについて理解しましょう。

    DBMSチュートリアル:タイプ

    以下は、DBMSのさまざまなタイプです。

    • 階層: このタイプのDBMSは、先行/後続タイプの関係のスタイルを示しています。これは、ツリーのノードがレコードを表し、ツリーのブランチがフィールドを表すツリーに似ていると見なすことができます。

    • リレーショナルデータベース(RDBMS): このタイプは、ユーザーが関連するデータを識別してアクセスできる構造になっています。 データベース内の別のデータに。ここでは、データはテーブルの形式で保存されます。

    • ネットワーク: このタイプのデータベース管理システムは、複数のユーザーレコードをリンクできる多対多の関係をサポートします。
    • オブジェクト指向: オブジェクトと呼ばれる小さな個別のソフトウェアを使用します。ここで、各オブジェクトには、データの一部と、データを使用して実行するアクションの説明が含まれています。

    DBMSチュートリアル:データモデル

    DBMSのデータモデルは、データベースの論理構造をモデル化する方法を定義するのに役立ちます。データモデルは基本的に、DBMSに抽象化を導入する基本的なエンティティです。これらのデータモデルは、データが相互に接続される方法、およびデータがシステム内で処理および保存される方法も定義します。

    では、なぜこのデータモデルが必要なのですか?

    • データベースに必要なすべてのデータオブジェクトが正確に表現されるようにします。データを省略すると、誤ったレポートが作成され、誤った結果が生成されることがあります。
    • データモデルは、概念的、物理的、論理的なレベルでデータベースを設計するのに役立ちます。
    • この構造は、リレーショナルテーブル primaryを定義するのに役立ちます。 および外部キー 、およびストアドプロシージャ。
    • 欠落している冗長なデータを特定することも役立ちます。

    このデータモデルは、さらに次のタイプに分類できます。

    データモデルの種類

      1. 概念
      2. 物理的
      3. 論理的

    それでは、これらのデータモデルの動作を見てみましょう。

    概念

    このタイプのデータモデルは、システムに含まれるものを定義します。概念モデルは、一般的にデータアーキテクトによって作成されます。目的は、ビジネスの概念とルールを整理、範囲設定、および定義することです。

    概念データモデルには、次の3つの基本的なスタイルがあります。

    • エンティティ
    • 属性
    • 関係

    これは、実体関連モデルと呼ばれることがあります。

    実体関連(ER)モデルは、実世界の実体とそれらの間の関係の概念に基づいています。このERモデルは、データベースの概念設計に最適です。

    エンティティ: ERモデルのエンティティ 属性という名前のプロパティを持つ実際のエンティティです 。すべての属性は、ドメインと呼ばれる値のセットによって定義されます 。
    たとえば、学生の詳細について考えてみましょう。名前、年齢、クラス、セクションなどの詳細は、エンティティの下にあります。

    関係: エンティティ間の論理的な関連付けは、 Rと呼ばれます。 関係 。これらの関係は、さまざまな方法でエンティティにマッピングされます。マッピング(1対1、1対多、多対多)は、2つのエンティティ間の関連付けの数を定義します。

    それでは、物理データモデルについて理解しましょう。

    物理的

    物理データモデルは、データモデルのデータベース固有の実装を説明するのに役立ちます。物理データモデルはデータベースの抽象化を提供し、スキーマの生成に役立ちます 。

    この物理データモデルは、データベース構造の視覚化にも役立ちます。また、データベース列のキー、制約、インデックスをモデル化するのにも役立ちます 、トリガー、およびその他の RDBMS 機能。

    それでは、論理データモデルについて理解しましょう。

    論理的

    論理データモデルは、概念モデル要素にさらに情報を追加するのに役立ちます。このモデルは、データ要素の構造を定義し、それらの間の対応する関係も設定します。

    このレベルでは、主キーまたは副キーは定義されていないため、関係に対して以前に設定されたコネクタの詳細を確認および調整する必要があります。

    この論理データモデルの主な利点は、物理モデルのベースを形成するための基盤を提供することです。

    これが皆さんにとって明らかであることを願っています。

    DBMSチュートリアルに進み、DBMSのキーを見てみましょう。

    DBMSチュートリアル:キー

    キーはデータベースの最も重要な概念です。キーは、リレーショナルデータベースで重要な役割を果たします。 これは、テーブルから一意の行を識別するために使用されます。また、テーブル間の関係も確立します。

    データベースにこれらのキーが必要なのはなぜですか?

    これに対する答えは、

    です。
    • 実際のアプリケーションでは、テーブルに数千またはそれ以上の数のレコードが含まれる可能性があります。さらに、レコードを複製することもできます。キーを使用すると、多くの課題があるにもかかわらず、テーブルレコードを一意に識別できます。
    • キーを使用すると、関係を確立したり、テーブル間の関係を識別したりすることもできます
    • キーは、関係にアイデンティティと整合性を強制するのにも役立ちます。
    キーの種類

    DBMSには、さまざまな機能を持つさまざまなキーがあります。

    • スーパーキー
    • 主キー
    • 候補キー
    • 外部キー
    • 複合キー

    DBMSで最も一般的に使用されるキーについて説明しましょう。

      • 候補キー: タプルを一意に識別できる最小限の属性セットは、候補キーと呼ばれます。リレーションは複数の候補キーを保持できます。キーは単純キーまたは複合キーのいずれかです。

      • スーパーキー: タプルを一意に識別できる属性のセットは、スーパーキーと呼ばれます。したがって、候補キーはスーパーキーですが、その逆は当てはまりません。

      • 主キー: すべてのタプルを一意に識別するために使用できる属性のセットも主キーです。したがって、関係に3〜4個の候補キーが存在する場合、それらの中から1つを主キーとして選択できます。

    • 代替キー: 主キー以外の候補キーは、代替キーと呼ばれます

    • 外部キー: 他の属性の値として存在する値のみをとることができる属性は、それが参照する属性への外部キーです。

    DBMSチュートリアルに関するこの記事の最後のトピックに移り、DBMSでの正規化について学びましょう。

    正規化

    正規化 テーブル内のデータの冗長性を減らし、データの整合性を向上させるプロセスです。では、なぜこれが必要なのですか? 正規化なし SQLでは、

    などの多くの問題に直面する可能性があります。
    1. 挿入異常 :別の属性がないとテーブルにデータを挿入できない場合に発生します
    2. 異常の更新 :これは、データの冗長性とデータの部分的な更新に起因するデータの不整合です。
    3. 削除の異常 :他の属性が削除されたために特定の属性が失われた場合に発生します。

    以下の画像は、SQLでの正規化がどのように機能するかを示しています。

    これで、このDBMSチュートリアルは終わりです。このチュートリアルで説明されているトピックについて、皆さんが明確になっていることを願っています。

    MySQLについて詳しく知りたい場合 このオープンソースのリレーショナルデータベースについて理解してから、MySQLDBA認定トレーニングを確認してください。 インストラクター主導のライブトレーニングと実際のプロジェクトの経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

    クエリの場合は、DBMSチュートリアルのコメントセクションに入力できます。できるだけ早く元に戻します。


    1. EntityFrameworkモデルを複数のデータベースにまたがらせる

    2. SQL Server(T-SQL)のパーティション関数のパラメータータイプを確認します

    3. エラー:psycopg2.extensionsという名前のモジュールがありません

    4. Oracle:保留中のトランザクションがあるかどうかを確認するにはどうすればよいですか?