Pythonのデータベースアクセス

プログラムが実行されている場合、データがメモリ内にあります。プログラムが終了すると、通常、あなたはそれが最終的にディスクファイルにデータを書き込み、ネットワークを介してローカルディスクに保存、またはサーバーに保存されているかどうか、データをディスクに保存する必要があります。

そして、どのようにデータ・ストレージ・フォーマットを定義することは大きな問題です。我々は自分自身を定義した場合、このようなすべての学生のクラスの保存などのストレージフォーマットは、カードをレポート:

名前 実績
マイケル 99
ボブ 85
バート 59
リサ 87

であなたは、学生の行を保存し、テキストファイルを保存することができます,分離します:

Michael,99
Bob,85
Bart,59
Lisa,87

また、それがテキストファイルで、JSON形式で保存することができます:

[
    {"name":"Michael","score":99}, {"name":"Bob","score":85}, {"name":"Bart","score":59}, {"name":"Lisa","score":87} ] 

また、保存された様々なフォーマットを定義することができますが、質問です:

保存と検索は、独自の実現、JSONまたは自分自身の様々な上の標準的な定義フォーマットを必要とします。

自分のトラバーサルを読み取るために迅速なクエリ、すべてのメモリのデータのみを行うことはできませんが、時にははるか(などのBlu-rayムービー、データの40ギガバイトのような)データ・メモリのサイズよりも、メモリに読み込むことができません。

読み取りデータとプログラム記憶を容易にするために、フラッシュ条件によって直接照会することができるデータを指定し、集中ストレージと、このような専門的なクエリのデータベースソフトウェア(データベース)がそこに持っています。

歴史の誕生を伴って含むデータベース・ソフトウェアは、早ければ1950などのデータベースが誕生しました。経験豊富なネットワークデータベース、階層型データベースは、我々は、現在広く使用され、リレーショナルデータベースは、出生との関係に基づいて、1970年代のモデルに基づいています。

リレーショナルモデルは、複雑な数学的理論を持っていますが、概念的には理解することは非常に簡単です。例えば、学校の場合:大理石プラットフォームの精度等級

、エクセルで表に描かれたことがあり、この3年間に示すことがXX ZZ YY市郡省は3つの等級を持っている最初の実験小学校を仮定します。

グレード

毎年、クラスの数があり、クラスは、あなたがしてExcelで表を描くことができるすべてのことアウトを取ります:

クラス

両方のテーブルは、マッピング関係を持っている、それはあなたがGrade_IDに応じて、すべてのクラスに対応するクラスのテーブルで見ることができるということです。

グレードクラス

即ちグレードクラステーブルにリレーショナルデータベース内の複数の行に対応するテーブルの各行は、この関係は、多くのリレーショナルデータベーステーブル(表)に基づいています。

あなたはすべてのクラスのラインを見つけることができるグレードのIDによると、このクエリは、リレーショナルデータベースにSQL文と呼ばれ、それは次のように記述することができます。

SELECT * FROM classes WHERE grade_id = '1'; 

結果は表です。

---------+----------+----------
grade_id | class_id | name
---------+----------+----------
1        | 11       | 一年级一班
---------+----------+----------
1        | 12       | 一年级二班
---------+----------+----------
1        | 13       | 一年级三班
---------+----------+---------- 

同様に、行クラステーブル及び複数の行Studentテーブルにリンクすることができます。

クラスの生徒

あなたがゼロから関係がSQLチュートリアルを参照して、基本的なデータベースとSQL文を勉強したい場合は、ゼロからの関係は、基本的なデータベースとSQL文を勉強したい場合は、このチュートリアルでは、リレーショナルデータベースの詳細を必要としないので。

NoSQLの

あなたはまたのNoSQLデータベースのことを聞いたことがあり、NoSQLのは、その多くがはるかにスピードを超え、多くの学生は、あなたがそれのSQLのNoSQLを必要としない場合のことを感じるように、リレーショナルデータベースを拡張宣伝しましたか?彼らもSQL NoSQLのは、徹底的にそれを理解することができるか理解していないだまされてはいけないのですか?

データベース分類

私たちは、リレーショナルデータベースを使用したいので、あなたは、リレーショナル・データベースを選択する必要があります。広くもわずか数リレーショナルデータベースを使用しました。

有料の商用データベース:

  • オラクル、ハンサムな典型的な高。

  • SQL Serverでは、Microsoft自身の製品は、Windowsのカスタマイズ資金;

  • DB2は、IBMの製品は、それは非常に高く聞こえます。

  • Sybaseは、マイクロソフトで一度友人、後で壊れた関係をベースに、今彼の家族は暗いでした。

これらのデータベースは、オープンソースとのために支払われていない、最大のメリットは、メーカーを見つけるために解くことができる問題外お金を使うことですが、Webの世界では、多くの場合、データベースサーバの数万人を配備し、当然のことながら、多くの多くを置くことができない必要があります銀スローメーカー、そう、それは、例外なく、無料のオープンソースデータベースは、Google、Facebookの、または国内のBAT選択しているされているかどうか:

  • MySQLは、我々は一般的に、使用していることは間違って行くことはできません。

  • PostgreSQLの、アカデミックな雰囲気少し重い、実際には非常に良いが、人気が高いMySQLのではありません。

  • sqliteを、デスクトップおよびモバイルアプリケーションのために、データベースを埋め込まれました。

おすすめ

転載: www.cnblogs.com/furuihua/p/12523232.html