データベース面接の質問 (1)

データベースDB(DataBase)データベースとは?

データ モデルに従って編成され、メモリに格納されたデータのコレクション

データベース管理システム DBMS(DataBase Management System)とは?

DBMS は、データベースを操作および管理するために使用される大規模なサービス ソフトウェアです。および統合データベース管理ソフトウェア システム

RDBMS とは リレーショナル データベース管理システム

リレーショナル データベース管理システム

データは、事前に設定された組織構造に従って物理的な記憶媒体に格納され、データは相互に関連付けることができます

主流のデータベース サービス ソフトウェアは何ですか? オープン ソースおよびクロスプラットフォーム データベース ソフトウェアとは何ですか?

メインストリーム データベース サービス ソフトウェアには、次のものが含まれます。

  • MySQL

  • Oracle Corporationオラクル

  • IBM DB2

  • マイクロソフト SQL サーバー

  • 米国サイベース社 Sybase

  • カリフォルニア大学バークレー校のコンピュータ サイエンス学部によって開発された PostgreSQL

オープンソースのクロスプラットフォーム

  • MySQL

  • PostgreSQL

オープンソースのクロスプラットフォームではない

  • オラクル

  • DB2

クロスプラットフォームではなく、オープンソースでもない

  • SQLサーバー

オープンソースではなくクロスプラットフォーム

  • サイベース

MySQL の特徴とそのアプリケーションの主な特徴

  1. 中小規模のリレーショナル データベース システムに最適

  2. Linux/Unix、Windows、その他のオペレーティング システムをサポート

  3. 高い移植性のために C および C++ で記述

  4. Python/Java/Perl/PHP などの代表的なアプリケーション環境を API でサポート

ランププラットフォーム

データベースと統合されたデータベース管理ソフトウェアを備えたコンピュータ システムと Apache HTTP Server の組み合わせを指します。

LNMP プラットフォーム

データベースと統合されたデータベース管理ソフトウェアとNginxを備えたコンピューターシステムの組み合わせを指します

mysql サービスに関連するパラメータは何ですか?

  • /etc/my.cnf メイン構成ファイル

  • /var/lib/mysql データベース ディレクトリ

  • デフォルトのポート番号は 3306 です

  • プロセス名 mysqld

  • トランスポート プロトコルTCP

  • プロセス所有者 mysql

  • プロセスはグループ mysql に属しています

mysqlの操作方法と注意点は?

  • MySQL の指示: 環境の切り替え、ステータスの確認、終了などの制御。

  • SQL 命令: データベース定義/照会/操作/許可ステートメントに関する基本的な考慮事項

  • 操作手順は大文字と小文字を区別しません (パスワードと変数値を除く)。

  • 各 SQL コマンドは ; で終了または区切ります。

  • Tab キーのオートコンプリートはサポートされていません

  • \c は、現在書き込まれている間違った操作コマンドを破棄できます

ライブラリ管理コマンドとは何ですか?

  • データベースを表示; // 既存のデータベースを表示

  • ライブラリ名を使用; // ライブラリを切り替える

  • Select database(); // 現在のライブラリを表示します

  • Create database library name; // 新しいライブラリを作成します

  • Drop database library name; // ライブラリを削除

  • テーブルを表示; // 既存のテーブルを表示

一般的な情報の種類

  • 数値型:体重、身長、成績、給与

  • 文字種:氏名、所属、連絡先

  • 列挙型:趣味、性別

  • 日時型:生年月日、登録時刻

(数値) 整数フィールドについて

  • UNSIGNED 修飾を使用する場合、データベースと統合データベース管理ソフトウェアを備えたコンピューター システムに対応するフィールドが正の数のみを保存することを意味します。

  • 値が幅を指定するのに十分でない場合は、データベースと統合データベース管理ソフトウェアを備えたコンピュータ システムを参照して、左側の空白を埋めます。

  • 幅は表示幅のみで、データベースと統合データベース管理ソフトウェアを備えたコンピュータシステムを指します. 格納される値のサイズは、タイプによって決まります.

  • キーワード ZEROFILL を使用する場合、データベースと、空白の代わりにゼロを埋める統合データベース管理ソフトウェアを備えたコンピューター システムを指します。

  • 値が範囲外の場合は、データベースと統合データベース管理ソフトウェアを備えたコンピューター システムがエラーを報告していることを意味します。

(数値) 浮動小数点フィールド

  • 定義形式:float(全幅、小数点以下桁数)

  • フィールド値が型と一致しない場合、データベースと統合データベース管理ソフトウェアを備えたコンピュータ システムのフィールド値が 0 として扱われることを意味します。

  • 値が範囲外の場合は、データベースと統合データベース管理ソフトウェアを備えたコンピューター システムが最大値/最小値のみを保存していることを意味します。

キャラクタータイプ

固定長文字: char(文字数)

  • 最大長 255 文字

  • 指定した文字数が足りない場合は右側にスペースを入れてください

  • 文字数を超えた場合は、データベースと統合データベース管理ソフトウェアを搭載したコンピュータシステムがデータを書き込めないことを意味します。

可変長文字: varchar(文字数)

  • データの実際のサイズに応じてストレージ容量を割り当てます

  • 文字数を超えた場合は、データベースと統合データベース管理ソフトウェアを搭載したコンピュータシステムがデータを書き込めないことを意味します。

大きいテキスト タイプ:

  • テキスト/ブロブ

  • 文字数が 65535 を超える場合に使用します

列挙型

  • 指定された値のセット ENUM から単一の値を選択します

定義形式:enum(値1、値2、値N)

  • 指定された値のセットから 1 つ以上の値を選択、SET

定義形式:set(value1,value2,valueN)

日時型

•日時、DATETIME

– 8 バイトを占有します

– 範囲: 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999

•日時、タイムスタンプ

– 4バイト占有

– 範囲: 1970-01-01 00:00:00.000000 ~ 2038-01-19 03:14:07.999999

•日付、DATE

– 4バイト占有

– 範囲: 0001-01-01 ~ 9999-12-31

•年、YEAR

– 1バイト占有

– 範囲: 1901~2155

•時間、TIME

– 3 バイトを占有します

– フォーマット: HH:MM:SS

時間関数

タイプ 使用
今() システムの現在の日付と時刻を取得する
年() 実行中にシステムの日付と時刻を動的に取得する
スリープ(N) N 秒間スリープする
curdate() 現在のシステム日付を取得する
時間() 現在のシステム時刻を取得する
月() 指定された時間の月を取得する
日にち() 指定された時刻の日付を取得する
時間() 指定された時間内の瞬間を取得する

制限

  • Null は空にすることができます (既定の設定)

  • NOT NULL を空にすることはできません

  • キー インデックス タイプ

  • Default はデフォルト値を設定します。デフォルトは NULL です。

テーブル構造変更の基本的な使い方

– ALTER TABLE テーブル名実行アクション;

  • 追加 フィールドを追加

  • フィールド タイプの変更

  • フィールド名を変更する

  • ドロップ削除フィールド

  • 変更テーブル名の名前変更

インデックスとは

  • インデックスは、レコードセットの複数のフィールドを並べ替える方法です。

  • 本のようなカタログ

  • インデックスの種類: Btree、B+tree、ハッシュ

インデックスの長所と短所

索引付けの利点

  • 一意のインデックスを作成することにより、データベース テーブル内のデータの各行の一意性を保証できます。

  • データの取得を高速化できます

インデックスの欠点

  • テーブル内のデータを追加、削除、および変更する場合、インデックスも動的に維持する必要があります。

  • データメンテナンスのスピード

  • 索引には物理スペースが必要です

いくつかの Key-Value タイプがありますが、それらは何ですか?

  • INDEX : 通常のインデックス

  • UNIQUE : 一意のインデックス

  • FULLTEXT : 全文索引付け

  • PRIMARY KEY: 主キー

  • FOREIGN KEY : 外部キー

INDEX通常のインデックス 説明

  • テーブルには複数の INDEX フィールドが存在できます

  • フィールドの値は繰り返すことができ、NULL 値を割り当てることができます

  • 多くの場合、クエリ条件として使用されるフィールドは INDEX フィールドとして設定されます

  • INDEX フィールドの KEY フラグは MUL です

主キー 主キーに関する考慮事項

  • テーブルには 1 つの主キー フィールドしか存在できません

  • 対応するフィールド値の重複は許可されておらず、NULL 値は許可されていません

  • 複数のフィールドを PRIMARY KEY として使用する場合、それは複合主キーと呼ばれ、一緒に作成する必要があります。

  • 主キー フィールドの KEY フラグは PRI です

  • 通常は AUTO_INCREMENT とともに使用されます

  • テーブル内のレコードを一意に識別できるフィールドを主キーフィールドとして設定することが多い

外部キー 外部キーを使用するための外部キー条件

  • 現在のテーブルのフィールドの値を、別のテーブルのフィールド値の範囲内で選択できるようにします。

    外部キーの使用条件

  • テーブルのストレージ エンジンは innodb である必要があります

  • フィールドタイプは一貫している必要があります

  • 参照されるフィールドは、インデックスのタイプ (主キー) である必要があります

MySQL アーキテクチャのコンポーネントを簡単に説明し、各コンポーネントの役割を説明します。

それは主に 8 つの部分を含んでいます:

  1. 接続プール: プロセス制限、メモリ チェック、キャッシュ チェックなど。

  2. SQL インターフェイス: SQL クライアントを介してユーザーから送信されたコマンド、SQL インターフェイスは SQL 操作を受け取ります: (DML データ操作言語: クエリ、変更、データのアップグレードなど; DDL データ定義言語: 新しいデータベースの作成、新しいインデックス、ユーザーの削除など、ストアド プロシージャ、ビュー トリガーなど)。

  3. アナライザー: クエリ ステートメント トランザクション オブジェクトのアクセス権を分析します。

  4. Optimizer: アクセス パスを最適化し、実行ツリーを生成します。

  5. キャッシングとバッファリング: SQL クエリの結果を保存します。

  6. ストレージ エンジン: ストレージの管理に使用されるファイル システム。論理構造を物理構造に変換するプログラム。ストレージ エンジンによって、機能やストレージ方法が異なります。

  7. 管理ツール: バックアップ、リカバリ、セキュリティ、移植、クラスタリングなど. これらのツールは通常、ファイル システムを処理し、mysql-server を処理する必要はありません. コマンドに対応します.

  8. 物理ストレージ デバイス (ファイル システム)。

MySQL ストレージ エンジン

  • プラグ可能なコンポーネントとして提供

  テーブルを処理するためのプロセッサである、MySQL サービス ソフトウェアに付属する機能プログラム

  異なるストレージ エンジンには、異なる機能とデータ ストレージ方式があります。

  • デフォルトのストレージ エンジン

  MySQL 5.0/5.1 > MyISAM

  MySQL 5.5/5.6+ > InnoDB

Myisam ストレージエンジンの主な特徴

  • テーブル レベル ロックのサポート

  • トランザクション、トランザクション ロールバック、外部キーをサポートしていません

関連テーブル ファイル

  • テーブル名.frm、

  • テーブル名.MYI

  • テーブル名.MYD

InnoDB ストレージ エンジンの主な機能

  • 行レベルのロックをサポート

  • トランザクションのサポート、トランザクションのロールバック、外部キーのサポート

関連テーブル ファイル

  • xxx.frm

  • xxx.ibd

最後に: 以下の完全なソフトウェア テスト ビデオ学習チュートリアルが整理されてアップロードされました。友人は必要に応じて無料で入手できます。【保证100%免费】

ここに画像の説明を挿入

 これらの資料は、[ソフトウェア テスト] の友人のための最も包括的で完全な準備倉庫である必要があります. この倉庫はまた、最も困難な旅を通して何万人ものテスト エンジニアに同行しています. それがあなたにも役立つことを願っています!

软件测试技术交流群社:786229024(里面还有工作内推机会,毕竟我们是关系社会。)

ソフトウェア テスト インタビュー ドキュメント

私たちは高給の仕事を見つけるために勉強しなければなりません. 次のインタビューの質問は、アリ、テンセント、バイトなどの一流のインターネット企業からの最新のインタビュー資料であり、一部のバイトのボスは信頼できる回答を提供しています. このセットを終了する インタビュー資料誰もが満足のいく仕事を見つけることができると信じています。

面接書類の入手方法:

おすすめ

転載: blog.csdn.net/wx17343624830/article/details/130010024