1. ストレージ エンジン
MySQL は、「テーブル タイプ」とも呼ばれる、さまざまな「ストレージ エンジン」をサポートしています。各テーブルは異なるストレージ エンジンを使用でき、簡単に変換できます。
テーブルの作成時にテーブル タイプを選択できます:
CREATE TABLE table TYPE = type....
テーブル タイプを変更します:
alter table order type = innodb; 1) MyISAM、デフォルトのタイプ
これは、レコードとファイルを格納するための標準的な方法である Indexed Sequential Access Method の略称である従来の ISAM タイプに基づいています。
MyISAM にはテーブルのチェックと修復のためのほとんどのツールがあり、テーブルを圧縮でき、全文検索がサポートされています。ただし、トランザクションは安全ではなく、外部キーはサポートされていません。
2) InnoDB
このタイプのテーブルはトランザクション セーフです。つまり、COMMIT 関数と ROLLBACK 関数を提供します。 InnoDB は外部キーをサポートしています。 MyISAM テーブルよりも遅いですが、アプリケーションがトランザクションセーフなストレージ エンジンを必要とする場合にお勧めします。
注: ほとんどの Web アプリケーションでは、通常、MyISAM テーブルまたは InnoDB テーブル、または両方の組み合わせが使用されます。
3) MEMORY (以前の HEAP)
このタイプのテーブルはメモリに格納され、テーブルのインデックスはハッシュ分散されます。
推奨事項: MEMORY テーブルは、一時データまたは派生データの保存に適しています。MAX_ROWS を CREATE TABLE ステートメントで指定する必要があります。そうしないと、これらのテーブルがすべてのメモリを消費する可能性があります。同様に、BLOB、TEXT、または AUTO INCREMENT 列に追加することはできません。
4) MERGE
これらのテーブルを使用すると、クエリ目的で MyISAM テーブルのコレクションを単一のテーブルとして扱うことができます。したがって、一部のオペレーティング システムでは、最大ファイル サイズ制限を回避できます。
5) アーカイブ
これらのテーブルは大量のデータを保存しますが、脚注 (フットプリント) はわずかです。このタイプのテーブルは、INSERT クエリと SELECT クエリのみをサポートします。 DELETE、UPDATE、REPLACE はサポートされていません。また、インデックスは使用されません。
6) CSV
これらのテーブルはサーバー上の単一のファイルに保存され、カンマで区切られたデータが含まれます。
Excel などのサードパーティ ツールで簡単に開くことができます。
推奨事項:
テーブルで多数の SELECT ステートメントと INSERT ステートメント (または両方の組み合わせ) を使用する場合は、MyISAM テーブルを使用する必要があります。これは、これら 2 つのコマンドを実行するときに MyISAM が最も高速であるためです。多くの Web プログラム (分類など) では、MyISAM が最良の選択です。全文検索機能が必要な場合は、MyISAM 機能も使用する必要があります。
2. トランザクション
トランザクションは、特にエラーやサーバーのクラッシュが発生した場合に、データベースの一貫性を確保するためのメカニズムです。
例えば、銀行振込の場合、ある口座から減額し、別の口座から増額する操作が完全に完了していることを確認するなど。
ACID 原則では、トランザクション セキュリティの 4 つの要件について説明します。
アトミック性 (原子性) --- トランザクションはアトミックである必要があり、全体として完全に実行されるか、まったく実行されない必要があります。
分離 --- 不完全なトランザクションはデータベースの他のユーザーに表示されません。つまり、トランザクションが完全に完了するまで分離されます。
耐久性 --- 一度データベースに書き込まれたトランザクションは永続的かつ持続可能でなければなりません。
注: データベースに永続的に書き込まれるトランザクションは、コミットされたと言われます。データベースに書き込まれないトランザクション (したがって、データベースはトランザクションの開始前の状態に状態をリセットします) はロールバックされると言われます。
3. リレーショナル データベース
通常のファイルの代わりにリレーショナル データベースを使用する利点:
2) リレーショナル データベースを使用すると、特定の条件を満たすデータのクエリと抽出が簡単になります。
3) リレーショナル データベースには、同時アクセスを処理するための特殊な組み込みメカニズムが備わっています。
4) リレーショナル データベースはデータへのランダム アクセスを提供できます
5) リレーショナル データベースには権限システムが組み込まれています。
4. リレーショナル データベースのいくつかの基本概念
1) リレーショナル データベースは、通常「テーブル」と呼ばれる「リレーション」で構成されます
2) 列
「列」は「」とも呼ばれますフィールド" " または "属性"
各列には一意の名前と、関連付けられたデータ型があります。
3) 行
各行は同じ形式を持ち、同じ属性も持ちます。行は「レコード」とも呼ばれます。
4) 値
各値は、列で定義されたデータ型と同じである必要があります。
5) キー
それぞれの特定のレコードを識別する方法が必要です。
テーブル内のフラグ列が「キー」または「主キー」になります。
データベースは複数のテーブルで構成されており、キーはテーブル間の参照として使用できます。 6) スキーマ
データベース内のテーブルのセット全体の完全な設計は、データベースの「スキーマ」と呼ばれます。データベースの設計図です。
データの意味を解析するためにサンプル データを含めることができます。
7) 関係
リレーショナル データベースには、1 対 1、1 対多、および多対多の 3 つの基本的な関係タイプがあります。
新しいテーブルがいつ必要になるか、どのキーが必要になるかを知るには、高度なスキルが必要です。しかし、ほとんどの場合、従うべき基本原則がいくつかあります。
2) 冗長なデータを避ける
冗長なデータは 2 つの主な問題を引き起こします:
a. スペースの無駄
b.更新に一貫性がないと、データの整合性が失われます。 (変更、挿入、削除時に発生しやすい)
c. アトミックな列値を使用する: 各行の各属性には 1 つのデータのみが保存されます。
複数のデータ値をグリッドに保存したい場合、実際にはテーブル内にテーブルを作成するのと同じことになります。このように、システムは一致するフィールドを計算するだけでなく、各属性値を分析して一致するかどうかを確認する必要があります。システムに一致が含まれています。したがって、それは状況によります。
d. 意味のあるキーを選択します
e. データベースに尋ねる必要がある質問について考え、データベースにどのような質問に答えてもらいたいかを考え、必要なデータがすべてデータベースに存在することを確認します。適切な関連付け。
f. 複数の空の属性の設計を避けます。
データベースに null 値がたくさんあり、問題があります。まず、スペースの無駄です。次に、列の合計を数えたり、他の数値列に計算関数を適用したりするときにエラーが発生する可能性があります。また、ユーザーがテーブルの一部が空であることを確認したときも同様です。また、混乱を招くため、属性が無関係であるためなのか、データベースにエラーがあるのか、それともデータがまだ入力されていないためなのかがわかりません。
5. テーブルの種類の概要
1) 現実世界のオブジェクトを記述する単純なテーブル
2) 2 つの現実世界のオブジェクト間の多対多の関係を記述する関連テーブル。
6. Web データベース アーキテクチャ
通常、Web サーバー ソフトウェア、PHP エンジン、およびデータベース サーバーはすべて同じマシン上で実行されます。ただし、セキュリティ、パフォーマンス、負荷分散の理由から、データベース サーバーが別のマシンで実行されることも一般的です。 アプリケーションのサイズと複雑さが増大し続けるため、通常、これには、MySQL と対話するデータベース層、アプリケーションのビジネス ロジックを含む層、HTML 出力を管理する層が含まれます。プレゼンテーション層。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール
