データベースを使用すると、データを効率的かつ明確に保存できるため、データをより迅速かつ便利に管理できるようになります。データベースには次のような特徴があります:
1. 大量のデータ情報を構造化して保存できるため、ユーザーは効率的な検索やアクセスを行うのに便利です。
2. データ情報の一貫性と完全性を効果的に維持し、データの冗長性を削減できます。
3. アプリケーションの共有要件とセキュリティ要件を満たすことができます。
データベースの基本概念:
1. データ: 物事を説明する記号レコードはデータ (Data) になります。これには、数値、テキスト、グラフィックス、画像、音声、ファイルレコードなどが含まれ、すべてデータです。データは「レコード」という形式で統一された形式で保存されます。
2. データベースとデータベーステーブル: テーブルは特定のデータを保存するために使用され、データベースはテーブルのコレクションです。これは、特定の組織的な方法で保存された相互データのコレクションです。たとえば、リレーショナル データベース テーブルはレコードで構成され、レコードはフィールドで構成され、フィールドは文字または数値で構成されます。最小限の冗長性と高いデータ独立性を備えた状態で、さまざまなユーザーが共有できます。関連するデータを集めて一元管理します。
データベース管理システム (DBMS) は、データベース リソースを効果的に編成、管理、アクセスするシステム ソフトウェアです。 OSのサポートにより、ユーザーのデータベースに対するさまざまな操作をサポートします。 DBMSには主に、
1. データベース構築・保守機能
2. データ定義機能 3. データ操作機能 4. データベース運用管理機能 5. 通信機能
データベースシステム(Database System DBS)とはマンマシン システム。通常はハードウェア、オペレーティング システム、データベース、DBMS、アプリケーション ソフトウェア、およびデータベース ユーザー (データベース管理者を含む) で構成されます。ユーザーは DBMS またはアプリケーションを通じてデータベースを操作できます。
アプリケーションは、特定の管理タスクやデータ処理タスクを解決するために DBMS を使用してコンパイルされた、順序付けられたコマンドの集合です。アプリケーションが比較的完成度が高く、使いやすいヒューマン マシン インターフェイスを提供でき、配布用に実行可能ファイルにコンパイルされているため、一般のユーザーが専門的なコンピュータの知識がなくても短時間で使い方を習得できる場合、それは適切です。いわゆるデータベースアプリケーションソフト。
データベース管理者 DBA は、データベース システムの正常な動作を確保するために、データベースの更新とバックアップ、データベース システムのメンテナンスとユーザー管理などを担当します。 DBA は通常、より高い専門レベルと年功序列を持つ人材によって担われます。
データベース開発の歴史
データモデルの開発は、第一世代のネットワーク化された階層型データベースシステム、第二世代のオブジェクト型データベースシステム、データベースシステムの主な機能。
1960 年代には、階層モデルとネットワーク モデルのデータベース システムは、1969 年に IBM によって開発された階層モデル データベース管理システムである IMS (Imformation Management System) と、1970 年代にデータベース タスク グループ (DBTG) によって提案されたネットワーク モデルに代表されます。 ) データ システム言語協会 (CODASYL) の。
1970 年代初頭、第 2 世代のデータベース、つまりリレーショナル データベースが登場し始めました。徐々に支配的なデータベースとなり、業界の主流になりつつあります。リレーショナル データ システムは、データ定義言語 (DDL) およびデータ操作言語 (DML) として構造化照会言語 (SQL) を使用します。これは、誕生以来リレーショナル データベースの標準言語となっています。
1980年代以降、エンジニアリングデータベース、マルチメディアデータベース、グラフデータベース、インテリジェントデータベース、分散データベース、オブジェクト指向データベースなど、さまざまな分野に適応したさまざまな新しいデータベースシステムが登場してきました。
古典的なデータモデル
データは現実世界の「量」を抽象化したものであり、データモデル (Data Model) はデータの特性を抽象化したものです。データベース システムでは、データ モデルがその中核であり基盤です。データ モデルは、データの構造、データに定義された操作および制約を表します。これは、システムの静的特性、動的特性、および制約を概念レベルから記述し、データベース システムの情報表現と操作のための抽象的なフレームワークを提供します。
DBMS の開発プロセスでは、ネットワーク モデル、階層モデル、リレーショナル モデルという 3 つの古典的なデータ モデルが登場しました。
データ モデルによって記述されるコンテンツには、データ構造、データ操作、データ制約の 3 つの側面が含まれます。
メッシュモデル
データレコードはグラフに整理され、抽象的な分析と表現には「データ構造グラフ」が使用されます。ネットワーク モデルは、複雑なデータ関係を表現するのに適しており、データの冗長性を最小限に抑えることもできます。そのデータ構造モデルは、実際のデータ間の関係を直感的に反映できます。
データ操作
ネットワーク モデルのデータ操作は、関係チェーンに基づくナビゲーション操作です。ネットワーク モデルはグラフに基づいており、
データ制約
を持っています。 ネットワーク モデルのデータ制約は散在して孤立しており、さまざまなノードに散在しているか、関係チェーンに集中しているため、簡単に不整合が生じたり、効率が低下したりする可能性があります。通常、ネットワーク モデルは特にデータ制約を実装しませんが、アプリケーション自体がデータ制約を実装します。
階層モデル
階層モデルでは、「ツリー構造図」を使用して、データレコードがツリー形式で編成されます。
データ操作
階層モデルでのデータ操作には、必然的にネットワーク モデルの特性であるナビゲーションが含まれます。このような構造はデータ クエリの効率を向上させるのに役立ちますが、データ アクセスにおけるナビゲーションの要件が依然として存在するため、階層モデル データベースでのデータ操作は依然として比較的複雑です。
データ制約
階層モデルのデータ制約は、構造の簡素化により、ネットワーク モデルの多対多および多対 1 の関係が削除されます。階層モデルの制約によって適切なシステム実装が実現できるかどうかは、アプリケーション自体に依存します。
階層モデルの実装技術はリレーショナルモデルよりも優れており、ネットワークモデルよりもシンプルであるため、常にリーダーであり続けています。その代表格がIBMのIMSシステムです。このシステムは、最も早くから最も広く使用されているデータベースの 1 つであり、歴史上最大規模のデータベースの 1 つでした。その開発者が、同時実行性、リカバリ、整合性、効率的なクエリなどの問題に最初に取り組んだためです。これらのアイデアは自然に DB2 にも適用され、これが DB2 の長期にわたる繁栄の根源となっています。
リレーショナルモデル
データ構造。リレーショナル モデルはリレーショナル代数の理論に基づいており、データ構造はシンプルでわかりやすい 2 次元のデータ テーブルと「エンティティ関係」(E-R) 図によって直接表現されます。E-R ダイアグラムにはエンティティ (データ オブジェクト) が含まれます。 )、関係性、属性の 3 つの要素。
エンティティ: インスタンスとも呼ばれ、現実世界の他のオブジェクトと区別できる「出来事」または「物」に対応します。
エンティティセット: 同じタイプで同じプロパティを共有するエンティティのコレクション。
属性: エンティティの特定の特性は複数の属性を持つことができます。
連絡先: エンティティ セット間の対応は連絡先となり、関係とも呼ばれます。
データ操作。データベース ユーザーの場合、リレーショナル モデルは、リレーショナル代数から抽象化されたデータベース操作言語 (DML) を使用して動作します。構造化照会言語 (SQL) は最も重要なものの 1 つです。結果をダイレクトに指向し、操作手順を簡素化することで、データベースアプリケーションの設計が非常にシンプルで分かりやすいのが特徴です。
データベースの物理構造に関しては、リレーショナル データベース システムは、単純なデータ構造、強力な機能、高いデータ独立性、および強固な理論的基盤を備えています。厳密なリレーショナル データベースは、基本データ構造として 2 次元のデータベース テーブルを使用し、単純または複雑なインデックス作成テクノロジを使用してクエリ アルゴリズムを実装します。実装は比較的簡単で、SQL 言語を効果的なデータ検索アルゴリズムに直接変換するためのプリコンパイル テクノロジが容易になります。
データ制約。リレーショナル モデルのデータ制約は、エンティティ、エンティティの属性、または関係をターゲットにすることができ、エンティティ、エンティティの属性、および関係を定義するときに完全に実装できます。リレーショナル モデルで使用されるデータ定義言語 (DDL) とリレーショナル データベースのコア実装の理論的要件により、データ制約の実装が容易になりますが、その効率は高くありません。
一般に、リレーショナル モデルには、ネットワーク モデルや階層モデルよりも強固で完全な理論的基盤があります。階層モデルとネットワーク モデルと比較すると、リレーショナル モデルはユーザーに近いのに対し、ネットワーク モデルと階層モデルは基礎となる実装とより密接に統合されています。このような機能により、リレーショナル モデルが商用データベースの選択肢となりやすくなります。
今日の主流のデータベースの紹介
SQL Server は Microsoft のデータベース製品です。設計の面では、Microsoft SQL Server は Microsoft Windows オペレーティング システムの基礎構造を広範囲に利用しており、Microsoft Windows、特に Windows シリーズ サーバー オペレーティング システムのユーザーを直接対象としています。
Oracle は 1977 年に設立されました。2013 年 6 月に Oracle 12C が正式にリリースされ、企業がプライベート クラウドを迅速に導入できるようになりました。 Oracle データベースは、世界で最も広く使用されているデータベース システムの 1 つになりました。オラクルは、データベースのコアが優れているだけでなく、関連するサポート製品も非常に充実していて包括的です。 Oracle は 70 を超えるオペレーティング システムに適応できます。
DB2 は、1970 年に IBM のドガ・コート氏が「リレーショナル データベースの父」と呼ばれる概念を提案し、IBM の PC から UNIX、中小型コンピュータに至るまであらゆるものをサポートしています。 IBM 以外 (HP や Sun UNIX システムなど) のさまざまなオペレーティング システム プラットフォームに対応します。 DB2 サーバーに最適なオペレーティング環境は、IBM 独自のオペレーティング システム プラットフォーム OS/400 です。
DB2 データベース コアは、DB2 ユニバーサル サーバーとしても知られており、より優れたパフォーマンスを実現するために、対応するプラットフォーム環境に応じて調整および最適化されています。
MySQL もリレーショナル データベース管理システムであり、Oracle に買収されました。 MySQL は Linux オペレーティング システム上で実行され、Web サーバーとして Apache と Nginx、バックエンド データベースとして MySQL、スクリプト インタプリタとして PHP/Perl/Python を使用します。 4 つのソフトウェアはすべて無料またはオープンソースです。業界では「LAMP」ポートフォリオとして知られています。
リレーショナルデータベースの基本概念
リレーショナルデータベースシステムは、リレーショナルモデルに基づいたデータベースシステムです。これは、データベース フィールドに適用されるリレーショナル モデルのインスタンス化です。その基本概念はリレーショナル モデルから来ています。
リレーショナル データベースで使用されるストレージ構造は複数の 2 次元テーブルであり、物事とその関係を反映するデータ記述はフラット テーブルの形式で具体化されます。
リレーショナル データベースは、以下のようなデータ テーブル間の関連付けで構成されます。
データ テーブルは通常、行と列で構成される 2 次元のテーブルであり、各データ テーブルはデータベースの特定の側面または部分とそのオブジェクトを記述します。プロパティ。
データテーブル内の行は通常、レコードまたはタプルと呼ばれ、同じ属性を持つ多くのオブジェクトのうちの 1 つを表します。
データテーブルの列は通常、フィールドまたは属性と呼ばれ、対応するデータベースに保存されている共通の属性を表します。
主キーと外部キー
データテーブル内のレコードの各行は一意である必要があり、同一のレコードが出現することは許可されません。主キー (Primary Key) を定義することで、レコード (エンティティ) の一意性を高めることができます。保証付き。
キー、つまりキーワードは、リレーショナル モデルにおいて非常に重要な要素です。
主キーはテーブル内の行データを一意に識別し、1 つの主キー値が 1 つのデータ行に対応します。主キーは 1 つ以上のフィールドで構成され、その値は一意であり、ヌル値 (NULL) は許可されません。テーブルには主キーを 1 つだけ持つことができます。
属性セットが複数の属性を持たずにテーブルの行を一意に表すことができる場合、この属性セットは候補キーと呼ばれます。テーブルには複数の候補キーが存在できますが、テーブルの主キーとして選択できる候補キーは 1 つだけです。他の候補キーは代替キーと呼ばれます。
外部キー
通常、リレーショナル データベースには複数のテーブルが含まれており、これらのテーブルは外部キー (ForeignKey) を通じて関連付けることができます。
外部キーは、2 つのテーブル内のデータ間のリンクを確立および強化するために使用される 1 つ以上の列です。 2 つのテーブル間にリンクを作成するには、あるテーブルから別のテーブルに主キー値の 1 つ以上の列を追加します。この列は、2 番目のテーブルの外部キーと呼ばれます。
「マスターテーブル」と「スレーブテーブル」は常にペアで出現し、「外部キー」によって相互に関連付けられます。
データ整合性ルール
リレーショナル データベースのデータおよび更新操作は、次の 4 種類の整合性ルールに準拠する必要があります。
1. エンティティ整合性ルール
エンティティ整合性ルールでは、リレーションシップ内のタプルが主キーに null 属性を持たないことを要求します。価値。 NULL 値が発生した場合、主キー値はタプルを一意に識別できません。
2. ドメイン整合性ルール
ドメイン整合性は列整合性とも呼ばれ、データセットが特定の列に対して有効かどうかを指定したり、NULL 値が許可されるかどうかを決定します。
3. 参照整合性ルール
2 つのテーブルが相互に関連している場合、参照整合性ルールでは、存在しないタプルへの参照を許可しないことが要求されます。
4. ユーザー定義の整合性ルール
ユーザー定義の整合性ルールは、特定のデータに対する制約であり、アプリケーション環境によって決定されます。これは、特定のアプリケーションに関係するデータが満たさなければならないセマンティック要件を反映しています。システムは、このタイプの整合性を定義および検証するメカニズムを提供するため、この作業をアプリケーションに任せることなく、統一されたシステム アプローチで処理できるようになります。
エンティティ整合性ルールとドメイン整合性ルールは、リレーショナル データベース標準によってデータベース システムのコア層で実装されることが要求されています。