Heim >häufiges Problem >Was ist eine Datendefinitionssprache?
Data Definition Language (DDL) ist eine Sprache in der SQL-Sprache, die für die Definition von Datenstrukturen und Datenbankobjekten verantwortlich ist. Sie besteht aus drei Syntaxen: CREATE, ALTER und DROP.
wurde ursprünglich vom Datenmodell Codasyl (Conference on Data Systems Languages) ins Leben gerufen und ist nun als Teilmenge von in SQL-Anweisungen integriert Es .
Die meisten DBMS unterstützen derzeit DDL-Operationen für Datenbankobjekte. Einige Datenbanken (z. B. PostgreSQL) können DDL in Transaktionsanweisungen einfügen, was bedeutet, dass es zurückgezogen werden kann (Rollback). Neuere Versionen von DBMS werden DDL-spezifische Trigger hinzufügen, damit Datenbankadministratoren Änderungen von DDL verfolgen können.
SQL-Anweisungen sind in drei Kategorien unterteilt:
Datendefinitionssprache , die für das Erstellen, Ändern und Löschen von Tabellen, Indizes usw. verantwortlich ist. Ansichten, Funktionen, Objekte wie gespeicherte Prozeduren und Trigger;
Datenmanipulationssprache, verantwortlich für das Einfügen, Ändern, Löschen und andere Vorgänge von Daten in der Datenbank;
Datenkontrollsprache, die zum Gewähren und Widerrufen von Benutzerberechtigungen verwendet wird.
BeispielCREATE
CREATE ist für die Einrichtung von Datenbankobjekten verantwortlich, einschließlich Datenbanken, Datentabellen und Datenbankindizes und Pre-Storage-Objekte wie Programme, Benutzerfunktionen, Triggerprogramme oder benutzerdefinierte Typen können alle mit dem CREATE-Befehl erstellt werden. Um den Unterschieden in verschiedenen Datenbankobjekten Rechnung zu tragen, verfügt CREATE auch über viele Parameter.
Der Befehl CREATE DATABASE (Datenbank erstellen) lautet beispielsweise: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 )
wobei ON die Anweisung der Datenbankdatei ist und LOG ON die Anweisung der Transaktionsdatensatzdatei. Wenn erweiterte Einstellungen erforderlich sind, gibt es FOR, WITH, COLLATE usw.
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]
Unter diesen wird das Format jedes Felds definiert und eine Referenz erstellt Bei Bedarf können für vollständige Links REFERENCES zum Deklarieren verwendet werden, Primärschlüssel können mit PRIMARK KEY deklariert werden und berechneten Feldern können direkt Ausdrücke zugewiesen werden usw. Die CREATE TABLE-Anweisung wird sehr häufig verwendet, ist jedoch komplizierter festzulegen Komplex, daher verwenden viele Datenbankmanager GUI-Tools zum Entwerfen.
Andere sind:
INDEX ERSTELLEN: Erstellen Sie einen Datentabellenindex.
VERFAHREN ERSTELLEN: Erstellen Sie ein gespeichertes Programm.
FUNKTION ERSTELLEN: Benutzerfunktion erstellen.
ANSICHT ERSTELLEN: Erstellen Sie eine Ansichtstabelle.
TRIGGER ERSTELLEN: Erstellen Sie ein Triggerprogramm.
usw. sind alles Anweisungen, die zum Erstellen verschiedener Datenbankobjekte verwendet werden.
Das obige ist der detaillierte Inhalt vonWas ist eine Datendefinitionssprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!