English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PostgreSQL 教程

このチュートリアルは初心者向けに作成されており、PostgreSQLデータベースに関する基本的な概念から高度な概念まで理解を助けるために設計されています。

PostgreSQLは無料のオブジェクトデータベースです。-関係データベースサーバー(ORDBMS)は、柔軟なBSDライセンスの下でリリースされています。

PostgreSQL開発者はそれをpostと読みます。-gress-Q-L。

PostgreSQLのスローガンは「世界で最も進んだオープンソースの関係型データベース」です。

データベースとは何ですか?

データベース(Database)は、データを構造化して、保存、管理するための倉庫です。

データベースには、保存されたデータの作成、アクセス、管理、検索、コピーに使用される1つまたは複数の異なるAPIがあります。

データをファイルに保存することもできますが、ファイル内でのデータの読み書き速度は比較的遅いです。

したがって、現在は関係型データベースマネージメントシステム(RDBMS)を使用して大量のデータを保存および管理しています。関係型データベースとは、関係モデルに基づいたデータベースで、集合代数などの数学的概念と方法を使用してデータベース内のデータを処理します。

ORDBMS(オブジェクト関係データベースシステム)は、オブジェクト指向技術と伝統的な関係データベースを組み合わせた製品で、クエリ処理はORDBMSの重要な部分です。その性能の良し悪しはDBMSの性能に直接影響します。

ORDBMSは元の関係データベースに新しい特性を追加しています。

RDBMS(関係データベースマネージメントシステム)は、エンティティ間の関係を構築し、最終的に関係テーブルを得ます。

OODBMS(オブジェクト指向データベースマネージメントシステム)は、すべてのエンティティをオブジェクトとして見なし、これらのオブジェクトクラスをエンキャップし、オブジェクト間の通信はメッセージを通じて行われます。OODBMSオブジェクト関係データベースは本質的に関係データベースです。

ORDBMS用語

PostgreSQLデータベースを学ぶ前に、まずORDBMSの用語について説明します:

  • データベース: データベースは関連するテーブルの集合です。

  • データテーブル: テーブルはデータのマトリックスです。データベース内のテーブルはシンプルな電子テーブルに似ています。

  • 列: 一列(データ要素)は同じデータを含みます、例えば郵便番号のデータが含まれます。

  • 行:一行(=タプル、またはレコード)は、関連するデータのセットで、例えばユーザーのサブスクリプションデータが含まれます。

  • 冗余:2倍のデータを保存し、冗余が性能を低下させますが、データのセキュリティを高めます。

  • 主键:主键はユニークです。データテーブルには1つの主键しか含まれません。主键を使用してデータをクエリできます。

  • 外键:外键は、2つのテーブルを関連付けるために使用されます。

  • 複合キー:複合キー(組み合わせキー)は、複数の列を1つの索引キーとして使用し、通常複合索引に使用されます。

  • 索引:索引を使用すると、データベーステーブルの特定の情報に素早くアクセスできます。索引は、データベーステーブルの1列または複数の列の値を並べ替える構造で、本の目次に似ています。

  • 参照の完全性: 参照の完全性は、関係内で存在しないエンティティへの参照を許可しないことを要求します。参照の完全性は関係モデルが満たす必要のある完全性制約条件であり、データの一致性を保証することを目的としています。

PostgreSQL機能

  • 関数:関数を通じて、データベースサーバー側でコマンドプログラムを実行できます。

  • インデックス:ユーザーはインデックスメソッドをカスタマイズしたり、内蔵のBツリー、ハッシュテーブル、GiSTインデックスを使用したりできます。

  • トリガー:トリガーはSQLクエリによってトリガーされるイベントです。例えば、INSERT文はデータの完全性を確認するトリガーをトリガーすることができます。トリガーはINSERTやUPDATE文によって通常トリガーされます。 マルチバージョン並行制御:PostgreSQLはマルチバージョン並行制御(MVCC、Multiversion concurrency control)システムを使用して並行制御を行います。このシステムは各ユーザーにデータベースの「スナップショット」を提供し、ユーザーがトランザクション内で行った各修改は、他のユーザーには見えず、トランザクションが成功してコミットされるまで表示されません。

  • ルール:ルール(RULE)は、クエリがリライトされることを許可し、通常、ビュー(VIEW)に対する操作(INSERT、UPDATE、DELETE)を実現するために使用されます。

  • データ型:テキスト、任意精度の数値配列、JSONデータ、エンマージタイプ、XMLデータなどが含まれます。

  • 全文検索:Tsearchを通じて2 またはOpenFTS、8.3バージョンにTsearchを内蔵2。

  • NoSQL:JSON、JSONB、XML、HStoreのネイティブサポート、NoSQLデータベースの外部データパッケージ機能。

  • データウェアハウス:GreenPlum、DeepGreen、HAWKなど、PostgreSQLエコシステムに属するものへのスムーズな移行が可能で、ETLにFDWを使用します。

PostgreSQLは強力なオープンソースのオブジェクト関係データベースシステムで、以下を超える機能を提供しています。15年の積極的な開発経験と成熟したアーキテクチャにより、信頼性、データの完全性、正確性において非常に高い評価を得ています。PostgreSQLはLinux、UNIX(AIX、BSD、HP)を含む主要なオペレーティングシステム上で動作します。-UX、SGI IRIX、Mac OS X、Solaris、Tru64)およびWindows。本教程ではPostgreSQLの速やかな導入を提供し、PostgreSQLプログラミングに対する満足感を得られるようにします。