この記事は Google 翻訳を使用して処理されました
SQL Series
データベース学習 1 データベース入門: 本文
データベース学習 2 リレーショナル モデル: https://blog.yexca.net/archives/ja/87
データベースの学習 3 SQL言語: https://blog.yexca.net/ja/archives/88以下のはまだ翻訳しないので、中国語(簡体字)のリンクだよ
数据库学习四 关系数据库理论: https://blog.yexca.net/archives/89
数据库学习五 范式: https://blog.yexca.net/archives/90
数据库学习六 数据库设计: https://blog.yexca.net/archives/91
数据库学习七 数据库的控制功能: https://blog.yexca.net/archives/92
導入
以前のデータベースはうまく書かれていなかったので、見直して書き直しました(ただし、これもかなり乱雑です)
データベース4つの基本概念
データ
物事を記述する象徴的な記録
データベース
一般に、データベース データには、永続的な保存、整理、共有という 3 つの基本的な特性があります。
厳密に言えば、データベースとは、長期間コンピューターに保存され、整理され、共有可能な大量のデータの集合です。データベース内のデータは、特定のデータ モデルに従って整理、記述、保存され、冗長性が低く、データの独立性が高く、スケーラビリティが容易で、さまざまなユーザーが共有できます。
データベース管理システム
これは、ユーザーとオペレーティング システムの間に位置するデータ管理ソフトウェアのレイヤーです。オペレーティングシステムと同様に、コンピュータの基本ソフトウェアです。
主な機能:
-
データ定義機能
-
データの整理、保存、管理
-
データ操作機能
-
データベースのトランザクション管理と運用管理
-
データベースの構築と保守機能
-
その他の機能(通信機能、データ変換機能、相互アクセス・相互運用機能等)
データベースシステム
これは、データベース、データベース管理システム (およびそのアプリケーション開発ツール)、アプリケーション、およびデータベース管理者 (DBA) で構成され、データを保存、管理、処理、および維持するシステムです。
コンピューターデータ管理の開発
- 手動管理段階(1950年代半ば以前)
データは保存、共有、独立していない
- ファイル システム フェーズ (1950 年代後半から 1960 年代中期から後半)
保存はできるが、共有が不十分、冗長性が高く、独立性が低い
- データベース システムの段階 (1960 年代後半から)
データベースシステムの登場により、情報システムはデータ処理プログラム中心から共有データベース中心へと移行し、データ全体の構造化が実現しました。
データは高度に共有され、冗長性が低く、拡張が容易です。データの冗長性を大幅に削減し、ストレージスペースを節約し、データの独立性を高めることができます。
データモデル分類
モデル適用の目的の違いにより、モデルは2つのカテゴリまたは2つのレベルに分けられます。情報世界から抽象化されたデータモデルは概念データモデルと呼ばれ、DBMS(データベース管理システム)によってサポートされるデータモデルは情報世界から抽象化されます。コンピュータの世界では、構造データモデル(またはデータモデル)と呼ばれています。
コンセプトデータモデル(概念モデル)
概念データモデルは、コンピュータシステムから独立したモデルです。システム内の情報の表現にはまったく関係しません。特定の組織が関心を持つ情報構造を記述するためにのみ使用されます。つまり、データをモデル化します。情報世界モデリングは、一般的にエンティティ・リレーションシップ法(E-R法)を用いて表現されます。主にデータベース設計に使用
概念データ モデルでよく使用される用語は次のとおりです。
-
エンティティ: 客観的に存在し、互いに区別できるものをエンティティと呼びます
-
属性: エンティティを記述する特性を属性と呼びます。
-
コード: エンティティを一意に識別する属性のセットはコードと呼ばれます。
-
エンティティタイプ: エンティティ名と属性セットを使用して、類似のエンティティを抽象化し、特徴付けます。
-
エンティティセット: 同じタイプのエンティティのコレクション
-
ドメイン: 属性の値の範囲は、属性のドメインと呼ばれます。
-
関係: エンティティ間の対応する関係を関係と呼びます
2つのエンティティ間の関係には3つの種類がある
- 1対1のコンタクト
- 1対多の連絡
- 多対多の接続
実体関連法によって表現される概念データ モデルは、E-R 図と呼ばれます。エンティティは四角形で表され、属性は楕円形で表され、無向エッジはそれらを関連するエンティティに接続するために使用されます。
構造データモデル(ロジックモデル)
構造データ モデルは、データベースの論理構造に直接関係します。すべての DBMS は構造データ モデルに基づいています。主にデータベース管理システムの実装に使用されます
構造データモデルには主に、階層型、ネットワーク型、リレーショナル型、オブジェクト指向型などがある。
- 階層モデル
階層モデルは、データ間の関係を表すために「ツリー構造」を使用します。そのデータ構造は「有向ツリー」です。
- メッシュモデル
ネットワークモデルは「グラフ構造」を使用してデータ間の関係を表します。
- リレーショナルモデル
リレーショナル モデルは、2 次元のテーブル構造を使用してエンティティとエンティティ間の関係を表すデータ モデルです。各 2 次元テーブルは行と列で構成され、これらは関係とも呼ばれます。リレーショナル モデルは、関係を記述したものです。したがって、リレーショナル モデルはリレーショナル パターンの集合であると言えます。
物理モデル
これはデータの抽象化の最低レベルです。システム内のデータの表現とアクセス方法、またはディスクやテープ上のデータの保存とアクセス方法を記述します。これはコンピュータシステム指向です。
データベースシステム構造
ストレージ構造が異なるデータベース製品は数多くあるが、アーキテクチャはすべて「3レベルモデルと2レベルイメージ」を採用しており、同じ特徴を持っている。
3番目のレベルモード
- 概念モデル(基本表)
スキーマまたは論理スキーマとも呼ばれ、データベース内のすべてのデータの論理構造と特性を記述したもので、すべてのユーザーに共通のデータ ビューです。
- 外部モード(表示)
ユーザー モードまたはサブモードとも呼ばれ、ユーザーとデータベース システム間のインターフェイスであり、ユーザーが使用するデータの説明です。
- 内部モード(保存ファイル)
ストレージ モードとも呼ばれ、データベースには 1 つの内部モードのみがあります。これは、データの物理的な構造と保存方法を記述したもので、データベース内でデータが整理される方法です。
2 レベルの画像
データベース システムは、3 つのレベルのモデル間に、モデル/内部モデル マッピングと外部モデル/モデル マッピングという 2 つのレベルのマッピングを提供します。
これら 2 つのレベルのイメージがあるからこそ、データベース内のデータは高度な論理的独立性と物理的独立性を持つことになります。
- モード/内部モードイメージ(ストレージ)
概念レベルと内部レベルの間に存在し、概念モデルと内部モデルの相互変換を実現する
データベースのストレージ構造が変更された場合、データベース管理者はスキーマ/内部スキーマに対応する変更を加えてスキーマを変更しないようにできるため、アプリケーションを変更する必要がありません。データとプログラムの物理的な独立性を保証します
- 外観モデル/モデルイメージ(表示)
外部レベルと概念レベルの間に存在し、外部モデルと概念モデルの相互変換を実現する
スキーマが変更された場合、データベース管理者は各外部スキーマ/スキーマ イメージに対応する変更を加え、外部スキーマを変更せずに維持することができます。アプリケーションを変更する必要はありません。データとプログラムの論理的独立性を保証します
データの独立性とは、データがプログラムから独立しており、データの定義がプログラムから分離されていることを意味します。 DBMSの二次イメージング機能によりデータの独立性が確保されます。データの独立性には、データの物理的な独立性と論理的な独立性が含まれます。
-
データの物理的な独立性: ユーザーのアプリケーションとデータベース内のデータの物理的な保存は互いに独立しています。
-
データの論理的独立性: ユーザーのアプリケーションとデータベース内の論理構造は互いに独立しています。
データとプログラムが独立しているため、データの定義と記述をアプリケーション プログラムから分離できます。さらに、データアクセスはデータベース管理システムによって管理されるため、アプリケーションプログラムのコンパイルが簡素化され、アプリケーションプログラムの保守や修正にかかる手間が大幅に軽減されます。
データベースシステム構成
- ハードウェアプラットフォームとデータベース
十分な大きさのメモリ、ディスクまたはディスクアレイ、その他のデバイス、データ転送速度を向上させるための高いチャネル容量
- ソフトウェア
データベース管理システム、データベース管理システムの動作をサポートするオペレーティングシステム、データベースインターフェースを備えた高級言語とそのコンパイルシステム、データベース管理システムを中核とするアプリケーション開発ツール、特定のアプリケーション環境向けに開発されたデータベースアプリケーションシステム
- 人事
データベースを開発、管理、使用する人には、主にデータベース管理者、システムアナリスト、データベース設計者、アプリケーションプログラマー、エンドユーザーが含まれます。
データベース管理者の責任: データベースの情報内容と構造を決定し、データベースのストレージ構造とアクセス戦略を決定し、データのセキュリティ要件と整合性制約を定義し、データベースの使用と操作を監視し、データベースを改善および再編成します。 、データベースを再構築します。