技術共有

データベースの基本

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

ここに画像の説明を挿入します

基本的な使用のためのログイン

入力:mysql -h 127.0.0.1 -P 3306 -u root -p

-hmysql サービスがデプロイされているホストへのログインを指定します
-Pアクセスしたいポート番号を指定します
-uログインユーザーを指定する
-p入力するパスワードを指定します

-h 127.0.0.1 が記述されていない場合、デフォルトではローカル接続になります。
-P 3306 が記述されていない場合、デフォルトでは 3306 ポート番号に接続します。

入力:mysql -y root
ここに画像の説明を挿入します

データベースの基本概念

データベースストレージソリューション

サーバーの観点から理解する

mysqlデータベースサービスのクライアントです
mysqldデータベースサービスのサーバー側です
Mysql は本質的に C (mysql) S (mysqld) モードに基づくネットワーク サービスです

Mysql はネットワーク プロセスであり、対応する mysqld はこのネットワーク サービスのバックエンドです。

ここに画像の説明を挿入します

使えるnetstat -lntpポート番号を確認します。

ここに画像の説明を挿入します

機能面から理解する

mysql は、データ アクセス サービスを提供する一連のネットワーク プログラムです。
mysqldデータベースサービス

データベース: 一般に、ディスクまたはメモリに保存される特定の構造に編成されたデータを指します。ディスク上に保存されるデータベース ソリューションのセットであるため、データベース ストレージの媒体はディスクまたはメモリです。

ファイルを使用してデータを保存できるのに、なぜデータベースが必要なのでしょうか?
データをファイルに保存すると、次のような欠点があります。

  • ファイルのセキュリティの問題
  • ファイルはデータのクエリや管理に役立たない
  • ファイルは大量のデータの保存には適していません
  • プログラム内でファイルを制御するのは不便です

データベースの本質は、データベースのフィールドや要件を保存するための一連のソリューションであり、クライアント/データベース ファイルは結果を直接提供します。

ここに画像の説明を挿入します

使用例

  1. データベースの確立は基本的に Linux 上のディレクトリです
    を確立するhelloworldcreate database helloworld
    ここに画像の説明を挿入します

  1. データベースにテーブルを作成する本質は、Linux 上で対応するファイルを作成することです。
    使用helloworlduse helloworldそしてテーブルを作成します

ここに画像の説明を挿入します


論理ストレージ構造:
select * from student;
決定構造
ここに画像の説明を挿入します

上記の作業は実際には mysqld によって行われます


  1. データベースの本質もファイルですが、これらのファイルはプログラマによって直接操作されるのではなく、プログラマを支援するためにデータベース サービスによって操作されます。

メインストリーム データベース (リレーショナル)

  • SQL Sever: Microsoft 製品。.Net プログラマー、中規模および大規模プロジェクトに愛用されています。
  • Oracle: Oracle 製品は大規模なプロジェクトや複雑なビジネス ロジックに適しており、同時実行性は一般に MySQL ほど優れていません。
  • MySQL: Oracle に属する世界で最も人気のあるデータベースですが、同時実行性が高く、複雑なビジネスには適していません。主に電子商取引、SNS、フォーラムなどで使用されます。単純なSQL処理に効果を発揮します。
  • PostgreSQL: カリフォルニア大学バークレー校のコンピュータ サイエンス学部によって開発されたリレーショナル データベースで、個人、商業、学術研究目的を問わず、自由に使用、変更、配布できます。
  • SQLite: 軽量のデータベース、ACID 準拠のリレーショナル データベース管理システムであり、比較的小さな C ライブラリに含まれています。その設計対象は組み込みであり、多くの組み込み製品で使用されており、組み込みデバイスではわずか数百 K のメモリで十分です。
  • H2: Java で開発された組み込みデータベースであり、単なるクラス ライブラリであり、アプリケーション プロジェクトに直接埋め込むことができます。

サーバー、データベース、テーブル間の関係

いわゆるデータベース サーバーのインストールは、マシンにデータベース管理システム プログラムをインストールすることを意味します。この管理プログラムは、通常、アプリケーションごとにデータベースを作成します。
アプリケーション内のエンティティのデータを保存するために、通常、プログラム内のエンティティのデータを保存するための複数のテーブルがデータベース内に作成されます。

ここに画像の説明を挿入します

MySQL の全体的なアーキテクチャ

MySQL は、Unix/Linux、Windows、Mac、Solaris など、現在のほぼすべてのオペレーティング システム上で実行できるポータブル データベースです。さまざまなシステムには基盤となる実装が異なりますが、MySQL は基本的に各プラットフォーム上の物理アーキテクチャの一貫性を保証できます。

ここに画像の説明を挿入します

MySQL の分類

  • DDL [データ定義言語] 保存されたデータの構造を維持するために使用されるデータ定義言語
    代表的な指示:create, drop, alter
  • DML [データ操作言語] データを操作するために使用されるデータ操作言語
    代表的な指示:insertdeleteupdate
  • DML は、命令を表す別の DQL (データ クエリ言語) に分割されます。 select
  • DCL [Data Control Language] データ制御言語。主に権限管理とトランザクションを担当します。
    代表的な指示:grantrevokecommit

ストレージエンジン

ストレージ エンジンは、データベース管理システムがデータを保存する方法、保存されたデータにインデックスを付ける方法、およびデータを更新およびクエリする方法を実装する方法です。
MySQL の中核は、複数のストレージ エンジンをサポートするプラグイン ストレージ エンジンです。

ストレージ エンジンを表示します: `show エンジン;

ストレージ エンジンの比較:
ここに画像の説明を挿入します
`

ここに画像の説明を挿入します