まず、データベースの基本単位
1.データベースの最も基本的な単位はテーブルです:テーブル
1)テーブルとは何ですか?なぜテーブルを使用してデータを保存するのですか?
例:通常、学習教材を配置する場合は、どこにも配置しないでください。学習教材を配置する前にフォルダを作成し、フォルダに名前を付けて、将来使用するために学習教材をその中に配置してください。レビュー。
作成したフォルダはテーブルと見なすことができ、学習資料はフィールド、データ型、制約、
名前性別年齢(列:フィールド) ----------------------------- Zhang Sann 20 ------->行(記録) 李4人の女性21 ------->行(記録) 王5人の男性22 ------->行(記録)
コマンドラインとソフトウェアによって表示されるテーブルを見てみましょう!
テーブルをクエリするコマンド:select * from table name
テーブルはより直感的であるため、現象データベースはテーブルの形式でデータを表すことがわかります。
2)テーブル名
データベース内の各テーブルには、それ自体を識別する名前があります。この名前は一意です。つまり、データベース内の他のテーブルに同じ名前はありません。
独自性:
テーブル名の一意性は、データベース名とテーブル名の組み合わせなど、いくつかの要因によって異なります。つまり、同じデータベースで同じテーブル名を2回使用することはできませんが、異なるデータベースで同じテーブル名を使用することはできます。
2.表の要素
-
ER(実体関連)モデルには、3つの主要な概念があります:
实体集
、、。属性
联系集
-
エンティティセット(クラス)はデータベース内のテーブル(テーブル)に対応し、エンティティ(インスタンス)はデータベーステーブル内の行(行)に対応します。これはレコード(レコード)とも呼ばれます。属性(属性)は、データベーステーブル(列)の列に対応します。フィールド(フィールド)とも呼ばれます。
ORMのアイデア(オブジェクトリレーショナルマッピング)は次のことを反映しています。データベース内のテーブル<--->JavaまたはPythonのクラステーブル内のデータ<--->クラスA列内のオブジェクト(またはエンティティ)テーブル<---->フィールド、クラスの属性(フィールド)
次に、SQLステートメントの分類
多くのSQLステートメントがあり、覚えやすいカテゴリに分類するのが最善です。に分け:
DQL:データクエリ言語(selectキーワードを含むものはすべてクエリステートメントです)select .. ..
DML: データ操作言語(テーブル内のデータを追加、削除、または変更するものはすべてDMLです) 挿入削除更新 挿入追加 削除削除 更新変更 これ は主にテーブル内のデータを操作するためのものです。 DDL : データ定義言語 作成、削除、変更を行うものはすべてDDLです。 DDLの主な操作は、テーブルの構造です。表のデータではありません。 create:new、adding drop:deletement alter: modificationと 同等 この追加、削除、変更は、主にテーブル構造で動作するDMLとは異なります。 TCL : テレビに勝るものはありません。 これはトランザクション制御言語 であり、次のものが含まれます。 トランザクションコミット:コミット; トランザクションロールバック:ロールバック ; DCL: はデータ制御言語です。 例:許可を承認し、許可を取り消します。
3.RDBMSおよび非RDBMS
ランキングから、リレーショナルデータベースは間違いなくDBMSの主流であり、その中で最も使用されているDBMSはOracle、MySQL、SQLServerであることがわかります。これらはリレーショナルデータベース(RDBMS)です。
1.リレーショナルデータベース(RDBMS)
-
このタイプのデータベースは
最古老
一種のデータベースであり、リレーショナルデータベースモデルは複雑なデータ構造を単純なもの二元关系
(つまり、2次元の表形式)に要約します。
-
リレーショナルデータベースは、ユーザーが理解しやすいようにデータ
行(row)
を格納します。列(column)
この一連の行と列は表(table)
、データベースを構成するテーブルのセットと呼ばれます。 -
テーブルとテーブルの間にはデータレコードの関係があります。実世界のさまざまなエンティティとエンティティ間のさまざまな接続を
关系模型
使用して表現します。リレーショナルデータベースは关系模型
、基盤の上に構築されたデータベースです。 -
SQLは、リレーショナルデータベースのクエリ言語です。
利点:
-
複雑なクエリSQLステートメントを使用して、1つのテーブルと複数のテーブルの間で非常に複雑なデータクエリを簡単に実行できます。
-
トランザクションサポートにより、高いセキュリティパフォーマンスを備えたデータアクセス要件を実現できます。
2.非リレーショナルデータベース(非RDBMS)
1はじめに
非リレーショナルデータベース阉割版本
は、キーと値のペアに基づいてデータを格納し、SQLレイヤーで解析する必要がない従来のリレーショナルデータベースの機能と見なすことができます性能非常高
。同時に、使用頻度の低い機能を減らすことで、パフォーマンスがさらに向上します。
現在、主流の非リレーショナルデータベースのほとんどは基本的に無料です。
2)どのような非リレーショナルデータベースがありますか?
SQLと比較すると、NoSQLは通常、キー値データベース、ドキュメントデータベース、検索エンジン、リスト上の列ストア、グラフデータベースなどの非リレーショナルデータベースを指します。これらのテクノロジーは、NoSQLという用語にのみ含まれます。
Key-Valueデータベース
Key-Valueデータベースは、Key-Valueキーを使用してデータを格納します。ここで、KeyとValueは単純なオブジェクトまたは複雑なオブジェクトにすることができます。一意の識別子として、Keyには検索速度が速いという利点があり、この点でリレーショナルデータベースよりも明らかに優れています。欠点は、リレーショナルデータベースのように条件付きフィルタリング(WHEREなど)を使用できないことです。場所がわからない場合データを見つけるには、すべてのキーを反復処理する必要があり、多くの計算が必要になります。
Key-Valueデータベースの一般的な使用例は次のとおりです内存缓存
。Redis
最も人気のあるKey-Valueデータベースです。
ドキュメントデータベース
このようなデータベースは、XML、JSON、およびその他の形式のドキュメントを保存および取得できます。データベースでは、ドキュメントは情報を処理するための基本単位であり、ドキュメントはレコードに相当します。ドキュメントデータベースに保存されているドキュメントは、Key-Valueデータベースに保存されている「値」と同等です。MongoDBは、最も人気のあるドキュメントデータベースです。また、CouchDBなどもあります。
検索エンジンデータベース
リレーショナルデータベースは検索効率を向上させるためにインデックスを使用しますが、フルテキストインデックスの効率は低くなります。検索エンジンデータベースは、検索エンジンの分野で適用されるデータストレージの一種です。検索エンジンは大量のデータをクロールして特定の形式で保存するため、取得時に最適なパフォーマンスを保証できます。コア原則は「転置インデックス」です。
典型的な製品:Solr、Elasticsearch、Splunkなど。
列指向データベース
列型データベースは、行ベースのストレージを備えたデータベースです。Oracle、MySQL、SQL Serverなどのデータベースはすべて行ベースのストレージを使用しますが、列型データベースは列ごとにデータベースにデータを格納します。利点は、大幅に削減できることです。システムのI/Oであり、分散ファイルシステムに適しています。欠点は、機能が比較的制限されていることです。代表的な製品:HBaseなど
グラフデータベース
グラフデータベースは、グラフデータ構造を使用して、エンティティ(オブジェクト)間の関係を格納します。グラフデータベースの最も典型的な例は、ソーシャルネットワーク内の人々間の関係です。データモデルは、主にノードとエッジ(関係)を使用して実装され、複雑な関係の問題を効率的に解決できることを特徴としています。
グラフデータベースは、その名前が示すように、グラフの関係を格納するデータベースです。グラフデータ構造を使用して、エンティティ(オブジェクト)間の関係を格納します。リレーショナルデータは、明確な関係を持つデータを格納するために使用されますが、複雑な関係を持つデータを格納することはやや不可能です。たとえば、ソーシャルネットワークのキャラクター間の関係は、リレーショナルデータベースを使用すると非常に複雑になりますが、グラフデータベースを使用すると非常に単純になります。代表的な製品:Neo4J、InfoGridなど。