1. ホーム
  2. データベース
  3. エスキューエルライト

SQLITE3データベースを初めて知る

2022-01-10 22:31:51

データベースDataBase、私たちの誰もがデータベースに触れたことがない、では、データベースとは何なのか?

   それは、構造化され、統合され、共有可能な、一様に管理されたデータの集まりです

構造化されているというのは、データがあるモデルに従って整理されているという意味です。

   簡単に言うと、箱をとって、その箱がたくさんの仕切りに分かれているように、仕切りで区切ることで、落とし穴のようにデータを入れていくのです しかし、忘れてはならないのは、箱は分類して保存することもできるということです。これは構造体にはできないことなのです

統合されているというのは、データベースが企業に関するさまざまなデータを一か所に保持しているという意味です。

    先ほども言いましたが、箱は断片的なデータを一つにまとめるものです

    そして、この箱の中で余分なものを片付けることができますよね?

このような集中保管のメリットは、次のように明らかです。

  (1)1つのデータのバックアップは1回で済み、重複保存が少ない、すなわちデータの冗長性がなくなる。

  (2) データの冗長性がないため、データの整合性も確保できる。

共有というのは、データベース内のデータを異なるユーザーが利用できることを意味します。 つまり、各ユーザーがそれぞれの条件で同じデータベースにアクセスすることができるのです。

統一されているというのは、データベースがDBMSによって統一されており、あらゆるデータアクセスがDBMSを介して行われるという意味です。

共有や統一管理の話は割愛しますが、箱はロックさえしなければ、もちろん誰でも利用可能です

今、新しい言葉を目にしましたね。DBMS

これは何なんだ?

実はフルネームは「DataBase Management System」。

データベースを管理するために使われる商用ソフトウェアです。
データベースへのアクセス要求はすべてDBMSが行う。
DBMSは、データベースを操作するための多くのコマンド(言語)、SQL言語を提供しています。
アプリケーション層、言語変換処理、データアクセス層、などなど、公式の説明はとてもややこしい!?まあ、それが嫌なので、ここで縮小して説明するわけです

上の画像で何が起こっているのかわかりますか?なんて素直なんでしょう。しかし、誰かが、どうやって管理するのか、と聞かなければなりません。それがSQL文です! もちろん、Linuxではそれほど大きなデータベースを使うことはないので、基本的なステートメントをマスターすればいいだけです。

SQL文については、後日のブログでまとめますね!

データベース管理の話でしたよね?でも、データベースが何を持っているかも知っておく必要がありますよね?

オラクルについては言わずもがな、このデータベースは聞いたことがあると思います 特徴は、多言語対応、優れた並列処理能力、主に金融・保険などの業界で使われていることです
SQL Serverマイクロソフト製品、非常に良いデータベース管理システムは、最高の今、マイクロソフトは、クラウドサービスを促進するために、あなたから隠さないようにする必要があり、私はそれを使用して、紺碧のサーバーを構築しています 私はそれを使用して非常に良いではありませんが、統合は、優れています!私はそれを使用することができます。
DB2、これもほとんど触ったことのないデータベースですねー。ただ、非常にポータブルであることは知っています
ACCESS 特に言うことはない、オフィスにはある、グラフィカルなインターフェースは非常にシンプルに操作できる
Sqlite3非常に小さなデータベースは、私の主人公になるのを待ちます
さて、以上5種類のデータベースを紹介しました。

次に、データベースにとって非常に重要なもう1つの概念、データモデルがあります。

実はこれ、組み合わせなんです。

(1) データ構造 // 型 数値など

(2) データ操作 // トラバーサル削除など

(3) データ整合性制約 // 特定のリレーショナルジョイン

大きく分けて4つのカテゴリーがあります。

階層的なデータモデル
メッシュデータモデル
リレーショナルデータモデル
オブジェクト指向データベースモデル
これは焦点であるため、私は、リレーショナルデータについて話すよ、残りの部分については、あなたが理解したいBaiduは、オブジェクト指向のモデルは、使用の多くはない、つい最近起動しているようだ!しかし、私は、このような、より良い、より良い、より良い、より良い、より良い、より良い、より良い、より良い。

ご存知のように、あなたが学校に入学するとき、学校は何によってあなたを定義するのでしょうか?学校番号です。そう、学籍番号と名前、成績、その他の情報は関係していて、学籍番号を見つけることは、あなたのすべての情報を見つけることなのです。

では、どのようにしてデータの独立性を保証するのだろうか。それは、データベースの構築方法によるのです

データベースシステムの3レベルスキーマ構造とは、外部スキーマ、スキーマ、内部スキーマの3つのレベルで構成されていることを意味します。しかし、私は、この抽象的なものに対する恐怖も感じるので、これを言うつもりはありません、実際、開発を行う過程で、我々は彼を理解する必要は全くありません、たとえ私が面接に行っても、試験官が私に尋ねた場合、私は彼に言うだろう、私は知らない、気にしない、私はデータベース人を作るためにここにいない! と。我々はそれにこだわる必要はありません、私はそれに知っていることであると述べます

データベースはまた、候補キー、主キーか何か、それを気にしない、我々はそれを使用するためにSQLサーバを使用するまで、この待ち時間!。ただ、1つのことを覚えている:学生番号は、あなたの主キーである 一意な識別子です!

また、組み込み用のデータベースとしてsqlite3を選択した理由は?

だって、小さいんだもん! 容量がピッタリ! 組み込み用のスペースは限られているので、データ用として使うのがちょうどいい!
高い携帯性 , 組み込み 多くを語らない , 携帯性でなければならない!
簡単なプログラミングインターフェース、シンプルなプログラミング 使える! 使わないなら何を使う?
コードオープンソース、コスト削減は必須! そうでなければ、エンベデッドをする意味がない!
具体的なメリットは何ですか?バイドゥ!

SQLiteの利点
メモリフットプリントが小さい
トランザクション操作は、システムクラッシュや停電の後でも、原子、一貫性、分離、永続性(ACID)を維持します。
ACID互換(atomic, consistent, independent, persistent)、ビュー、サブクエリ、トリガーをサポートしています。
1つのライブラリファイルにデータベースエンジンとインターフェイスが含まれており、その動作は他のライブラリに依存しない
1つのファイルにデータを入れることができる
C/C++、PHPなどのアプリケーションにインターフェースを提供
無料
SQLite ライブラリを再プログラムすることなく、SQL コマンドセットにカスタム関数(単純関数と集約関数)を動的に追加することが可能です。
B-treeの改良。テーブルにB+ツリーを使用し、クエリーの効率を大幅に改善しました。
さて、今日はこれを書いたので、お腹が空いたので、ご飯を食べに行きます sqlite3のインストールやsql構文については、また後日書きますね~。