第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 を削除