>일반적인 문제 >데이터 정의 언어란?

데이터 정의 언어란?

(*-*)浩
(*-*)浩원래의
2019-11-16 14:53:189314검색

데이터 정의 언어(DDL)는 SQL 언어에서 데이터 구조 정의와 데이터베이스 객체 정의를 담당하는 언어입니다. CREATE, ALTER, DROP의 세 가지 구문으로 구성됩니다.

데이터 정의 언어란?

은 Codasyl(데이터 시스템 언어 회의) 데이터 모델에 의해 처음 시작되었으며 현재는 SQL 명령어의 하위 집합으로 통합되었습니다.

대부분의 DBMS는 현재 데이터베이스 개체에 대한 DDL 작업을 지원합니다. 일부 데이터베이스(예: PostgreSQL)는 트랜잭션 명령에 DDL을 넣을 수 있으며 이는 철회(롤백)가 가능함을 의미합니다. 최신 버전의 DBMS에서는 데이터베이스 관리자가 DDL의 수정 사항을 추적할 수 있도록 DDL 관련 트리거를 추가합니다.

Sql 문은 세 가지 범주로 나뉩니다.

데이터 정의 언어, 테이블, 인덱스, 뷰, 함수, 저장 프로시저 및 트리거와 같은 개체 생성, 수정, 삭제를 담당합니다.

데이터 조작 언어, 데이터베이스의 데이터 삽입, 수정, 삭제 및 기타 작업을 담당합니다.

데이터 제어 언어. 사용자 권한을 부여하고 취소하는 데 사용됩니다.

Example

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로 선언하고, 계산 필드(Computed Field)에 직접 표현식을 부여하는 등의 작업을 수행합니다. CREATE TABLE 명령은 매우 일반적으로 사용되지만 설정이 더 복잡해지기 때문에 많은 데이터베이스 관리자가 GUI를 사용하게 됩니다. 도구.

기타:

CREATE INDEX: 데이터 테이블 인덱스를 생성합니다.

CREATE PROCEDURE: 저장 프로그램을 생성합니다.

CREATE FUNCTION: 사용자 함수를 생성합니다.

CREATE VIEW: 뷰 테이블을 생성합니다.

CREATE TRIGGER: 트리거 프로그램을 만듭니다.

등은 모두 다른 데이터베이스 개체를 만드는 데 사용되는 지침입니다.

위 내용은 데이터 정의 언어란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.