ホームページ  >  記事  >  データ定義言語とは何ですか

データ定義言語とは何ですか

(*-*)浩
(*-*)浩オリジナル
2019-11-16 14:53:189281ブラウズ

データ定義言語 (DDL) は、SQL 言語でデータ構造とデータベース オブジェクトを定義する言語で、CREATE、ALTER、DROP の 3 つの構文で構成されます。

データ定義言語とは何ですか

は、もともと Codasyl (データ システム言語会議) データ モデルによって開始され、現在はサブセットとして SQL 命令に組み込まれています。それの。

現在、ほとんどの DBMS はデータベース オブジェクトに対する DDL 操作をサポートしています。一部のデータベース (PostgreSQL など) では、トランザクション命令に DDL を含めることができます。これは、DDL を取り消す (ロールバック) ことができることを意味します。 DBMS の新しいバージョンでは、データベース管理者が DDL からの変更を追跡できるように、DDL 固有のトリガーが追加されます。

SQL ステートメントは 3 つのカテゴリに分類されます:

データ定義言語。テーブル、インデックス、ビューの作成、変更、削除を担当します。関数、ストアド プロシージャやトリガーなどのオブジェクト;

データ操作言語、データベース内のデータの挿入、変更、削除などの操作を担当します;

データ制御言語。ユーザー権限の付与と取り消しに使用されます。

#例

##CREATE

CREATE は、データベース、データ テーブル、データベース インデックスなどのデータベース オブジェクトの作成を担当します。プログラム、ユーザー関数、トリガー プログラム、ユーザー定義タイプなどのオブジェクトはすべて、CREATE コマンドを使用して作成できます。さまざまなデータベース オブジェクトの違いを考慮して、CREATE には多くのパラメーターもあります。

たとえば、CREATE DATABASE (データベースの作成) のコマンドは次のとおりです。

CREATE DATABASE Sales
ON ( NAME = Sales_dat, FILENAME = 'saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )
LOG ON ( NAME = Sales_log, FILENAME = 'salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )

ここで、ON はデータベース ファイルのステートメント、LOG ON はデータベース ファイルのステートメントです。取引記録ファイル。より高度な設定が必要な場合は、FOR、WITH、COLLATE などがあります。

別の例として、CREATE TABLE (データ テーブルの作成) のコマンドは次のとおりです。

CREATE TABLE [dbo].[PurchaseOrderDetail]
(
[PurchaseOrderID] [int] NOT NULL REFERENCES Purchasing.PurchaseOrderHeader(PurchaseOrderID), -- 具引用完整性限制字段
[LineNumber] [smallint] NOT NULL,
[ProductID] [int] NULL REFERENCES Production.Product(ProductID), -- 具引用完整性限制字段
[UnitPrice] [money] NULL,
[OrderQty] [smallint] NULL,
[ReceivedQty] [float] NULL,
[RejectedQty] [float] NULL,
[DueDate] [datetime] NULL,
[rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [DF_PurchaseOrderDetail_rowguid] DEFAULT (newid()), -- 具限制字段,并有默认值
[ModifiedDate] [datetime] NOT NULL CONSTRAINT [DF_PurchaseOrderDetail_ModifiedDate] DEFAULT (getdate()), -- 具限制字段,并有默认值
[LineTotal] AS (([UnitPrice]*[OrderQty])),
[StockedQty] AS (([ReceivedQty]-[RejectedQty])),
CONSTRAINT [PK_PurchaseOrderDetail_PurchaseOrderID_LineNumber] -- 主键宣告
PRIMARY KEY CLUSTERED ([PurchaseOrderID], [LineNumber])
WITH (IGNORE_DUP_KEY = OFF)
)
ON [PRIMARY]

その中で、各フィールドの形式が定義され、参照が確立されます。必要に応じて、完全なリンクの場合、REFERENCES を使用して宣言でき、主キーは PRIMARK KEY を使用して宣言でき、計算フィールドに式を直接与えることができます。 CREATE TABLE 命令は非常に一般的に使用されますが、設定はより複雑になります。複雑なため、多くのデータベース管理者は GUI ツールを使用して設計します。

その他は次のとおりです:

CREATE INDEX: データ テーブルのインデックスを作成します。

CREATE PROCEDURE: ストアド プログラムを作成します。

CREATE FUNCTION: ユーザー関数を作成します。

CREATE VIEW: ビューテーブルを作成します。

CREATE TRIGGER: トリガープログラムを作成します。

などはすべて、さまざまなデータベース オブジェクトを作成するために使用される命令です。

以上がデータ定義言語とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。