データベースに関する基礎知識

10ecaec08a354a218438efcc9f9119b5.jpg第1章 コンセプト

 

 

1. データ: 物事を記述する記号的な記録はデータと呼ばれます。特徴: データとデータの解釈は切り離せないものです。

 

2. データベース: コンピュータに長期間保存され、整理され、共有できる大量のデータの集合。データベース内のデータは、特定のデータ モデルに従って編成、記述、保存されており、冗長性が小さく、データの独立性が高く、拡張性が容易であり、さまざまなユーザーが共有できます。特徴: 永久保存、整理、共有可能。

 

3. データベース管理システム (DBMS): ユーザーとオペレーティング システムの間に位置するデータ管理ソフトウェアの層。主な機能:データ定義機能(DDL)、データの編成・保存・管理、データ操作機能(DML)、データベースのトランザクション管理・運用管理、データベースの構築・保守機能、その他の機能。

 

4. データベース システム (DBS): データベース、データベース管理システム (およびその開発ツール)、アプリケーション システム、およびデータベース管理者で構成されます。

 

5. データ管理技術の 3 段階: 手動管理、ファイル システム、データベース システム。

 

6. 2 種類のデータ モデル: 概念モデル (情報モデルとも呼ばれる)、論理モデル、物理モデル

 

7. データ モデルのコンポーネント: データ構造、データ操作、データ整合性制約。

 

8. 概念モデル: 情報世界のモデル化に使用されます。これは、現実世界から情報世界への最初の抽象化レベルです。データベース設計者がデータベース設計を実行するための強力なツールであり、データベース間の通信用の言語でもあります。デザイナーもユーザーも。

 

9. 情報世界の概念: エンティティ、属性、コード、ドメイン、エンティティ タイプ、エンティティ セット、関係。2 つのエンティティ間の関係は、1 対 1、1 対多、および多対に分けられます。多くの。

 

10. ER 図: エンティティ タイプ、属性、および関係を表す方法。エンティティ タイプは長方形を使用し、属性は楕円を使用し、関係はひし形を使用します。

 

11. 関係の整合性制約には、エンティティの整合性、参照整合性、およびユーザー定義の整合性の 3 つのカテゴリが含まれます。

 

12. データベース システムの 3 レベルのスキーマ構造: スキーマ、外部スキーマ、内部スキーマ。データベースのセカンダリ イメージ: 外部スキーマ/スキーマ イメージ、スキーマ/内部スキーマ イメージ。

 

第 2 章 リレーショナルデータベース

 

1. リレーショナル モデルは、リレーショナル データ構造、リレーショナル操作セット、リレーショナル整合性制約の 3 つの部分で構成されます。

 

2. リレーショナル操作: クエリ操作と挿入、削除、および変更操作。クエリ操作は、選択、射影、接続、除算、和集合、差分、交差、デカルト積などに分類できます。

 

3. エンティティの整合性: メイン属性を空にすることはできません、参照整合性: リレーションシップ間の参照 (通常は 2 つのテーブル、または内部に 1 つのテーブルも存在します)、ユーザー定義の整合性。

 

第 3 章 リレーショナルデータベース標準言語 SQL

 

1. SQL: 構造化クエリ言語。

 

2. 外部スキーマはビューと部分テーブルに対応し、スキーマは基本テーブルに対応し、内部スキーマはストレージ ファイルに対応します。

 

3. 基本テーブル: 独立して存在するテーブルです。SQL では、リレーションシップが基本テーブルに相当し、1 つ以上の基本テーブルがストレージ ファイルに相当します。テーブルには複数のインデックスを持つことができ、インデックスもストレージ ファイルに格納されます。ファイル。

 

4. ビュー: 1 つまたは複数の基本テーブルから派生したテーブルは、データベース自体には存在しません。つまり、データベースはビューの定義のみを格納し、ビューに対応するデータは格納しません。ビューは仮想テーブルです。ビューで定義できます。

 

5. ストレージ ファイル: その論理構造はリレーショナル データベースの内部スキーマを構成し、その物理構造は任意であり、ユーザーに対して透過的です。

 

6. SQLクエリ

 

よくある質問

SHOW DATABASES; すべてのデータベースをクエリします

データベース名を使用する; データベースを使用する

SHOW TABLES はすべてのテーブルをクエリします

SHOW COLUMNS FROM テーブル名を使用してテーブルのすべての列をクエリします

SELECT カラム FROM テーブル名クエリ

SELECT 列 1、列 2... FROM テーブル名複数列クエリ

SELECT * FROM テーブル名すべてのクエリ (すべての列をクエリ)

7. データベースサービス環境のインストールと展開

Windows システムにデータベースをデプロイします: mysql

https://dev.mysql.com/downloads/installer/

PHPstudy パッケージ---データベース サービスが含まれています---それを開始します

方法1:データベースに接続する(コマンドライン運用管理)

データベース サービスに接続します: cmd ---> PHPstudy データベース プログラム ディレクトリに切り替えます ---> データベースに接続します

mysql.exe -uroot -proot

 

方法 2: データベースに接続する (グラフィカル インターフェイス操作)

データベース接続プログラム ソフトウェアのインストール: Navicat のインストールと展開

データベースへのリモート接続を実現するには:

ローカルで接続を確立します: localhost == 127.0.0.1

 

Linux システムにデータベースをデプロイ: mysql

https://dev.mysql.com/downloads/mysql/

 

Linux 環境を準備します: vmware 仮想ソフトウェア --- 仮想ホストのロード --- 開始

データベース サービスのデプロイ: mariadb --- yum install -y mariadb (データベース操作コマンド) mariadb-server

データベース サービスを開始します: systemctl start mariadb

 

方法 1: データベースに接続する (コマンド ライン)

仮想ホスト環境 --- mysql -uroot

 

方法 2: データベースに接続する (グラフィカル インターフェイス)

??? 仮想ホスト データ パス サービスとの接続を確立する方法

 

05. データベースの運用管理知識

1) データベース関連のSQLコマンドの操作

· データベース情報を作成します。

ステートメントの形式: CREATE DATABASE データベース名。

操作コマンド: CREATE DATABASE PHP;

· データベース情報の表示:

ステートメントの形式: データベースを表示します。

· 指定したデータベース情報を選択します。

ステートメントの形式: データベース名を使用します。

操作コマンド:phpを使用します。

· ライブラリ内のテーブル情報を表示します。

ステートメントの形式: show tables;

· 指定したデータベース情報を削除します。

ステートメントの形式: データベースのデータベース名を削除します。

操作コマンド: データベース php を削除します。

 

2) データテーブルの操作に関するSQLコマンド

· テーブル情報を作成します。

ステートメントの形式: CREATE TABLE テーブル名 (フィールド名 1 フィールド タイプ、フィールド名 2 .... フィールド名 n フィールド タイプ n);

操作コマンド:

テーブルを作成します xueyuan(

名前 varchar(15)、

性別文字(5)、

年齢 int(5)、

シュエリチャー(10)、

ジンヤンブール、

xinzi float(10,2)

);

 

· テーブル内のフィールド情報を表示します。

ステートメントの形式: desc テーブル名

操作コマンド: desc xueyuan;

+--------+---------------+------+-----+---------+-- -----+

| フィールド | タイプ | ヌル | キー | デフォルト | 番外編 |

+--------+---------------+------+-----+---------+-- -----+

| 名前 | varchar(15) | はい | | NULL | |

| セックス | 文字(5) | はい | | NULL | |

| 年齢 | int(5) | はい | | NULL | |

| シュエリ | 文字(10) | はい | | NULL | |

| jingyan | tinyint(1) | はい | | NULL | |

| 辛子 | float(10,2) | はい | | NULL | |

+--------+---------------+------+-----+---------+-- -----+

6 行セット (0.00 秒)

 

・ビューテーブル情報の作成方法:

ステートメントの形式: SHOW CREATE TABLE テーブル名。

操作コマンド: SHOW CREATE TABLE xueyuan\G;

**************************** 1. 行 ******************** ******

表: シュエユアン

テーブルの作成: CREATE TABLE `xueyuan` (

`name` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,

`sex` char(5) COLLATE utf8_unicode_ci DEFAULT NULL,

`年齢` int(5) デフォルト NULL、

`xueli` char(10) COLLATE utf8_unicode_ci DEFAULT NULL,

`jingyan` tinyint(1) デフォルト NULL、

`xinzi` float(10,2) デフォルト NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

 

· テーブル情報を削除します。

ステートメントの形式: テーブル名 name を削除します。

操作コマンド: テーブル oldboy を削除します。

 

· エンジン情報とデフォルトの文字エンコーディング情報を設定するテーブルを作成します。

mysql> テーブル作成テスト(

名前 varchar(15)、

性別文字(5)、

年齢 int(5)、

シュエリチャー(10)、

ジンヤンブール、

xinzi float(10,2)

)ENGINE=InnoDB デフォルトの文字セット=utf8;

 

3) データフィールドの操作に関連する SQL コマンド

· フィールドのデータ型情報を変更する

ステートメントの形式: テーブル テーブル名を変更 フィールド名を変更 変更されたデータ型。

操作コマンド: alter table test modify sex varchar(10);

 

· テーブルにフィールド情報を追加します。

ステートメントの形式: alter table テーブル名 add カラム フィールド名 フィールド タイプ;

操作コマンド: alter table test add columns oldboy date;

 

· テーブルにフィールド情報を追加: コントロール フィールドを追加する場所を指定できます。

ステートメントの形式: alter table table name add field name bool の後に追加するフィールド。

操作命令: alter table test add oldgirl bool after age;

 

テーブルにフィールド情報を追加: 指定したフィールドを最初の列に挿入します。

ステートメントの形式: 最初にテーブル テーブル名を変更し、フィールド タイプを追加します。

操作命令: alter table test add oldbaby char first;

 

· テーブル内のフィールド情報を削除します。

ステートメントの形式: alter table テーブル名drop カラムフィールド名;

操作命令: alter table test drop column oldbaby;

 

· フィールド名情報を変更します。

ステートメントの形式: テーブル テーブル名を変更 元のフィールド名を変更 変更されたフィールド名 フィールド タイプ。

操作コマンド: alter table test change xueli edu varchar(15);

 

· 既存のフィールドの順序を変更します。

ステートメントの形式:

alter table table name フィールド名の type first を変更; --- 指定されたフィールドを最初の列に直接移動します

alter table test edit field name type after field name; --- フィールドを指定された列の後に移動します

 

· データベース内のテーブルの名前を変更します。

ステートメントの形式: alter table old table name rename new table name;

操作コマンド: alter table test rename new_test;

 

4) データベースフィールドのデータ型/文字エンコーディングの概要

mysql ドキュメントの概要を参照してください。

 

5) データベースのインデックス操作

インデックスの概念の紹介: 指定したデータの検索効率を向上させることができます

インデックスの分類の概要: 通常のインデックス、一意のインデックス (フィールド情報を繰り返すことはできません)、主キー インデックス (フィールド情報を空にすることはできません)

 

インデックス作成方法:

通常のインデックス作成: MUL

構文形式: alter table table addindex (field);

操作コマンド: alter table xueyuan addindex(name);

 

一意のインデックスの作成: UNI

構文形式: alter table table add UNIQUE (フィールド)

操作コマンド: alter table xueyuan add UNIQUE(xueli);

 

主キーインデックスの作成:PRI

構文形式: alter table table add PRIMARY KEY (フィールド)

操作コマンド: alter table xueyuan add primary key(jingyan);

 

インデックス情報を削除するには?

構文形式: テーブル名にインデックスインデックス名をドロップします。

構文コマンド: インデックス jingyan ON を削除 

おすすめ

転載: blog.csdn.net/weixin_57763462/article/details/132782838