Está en la página 1de 5

DDL y DML

Base de Datos II Esc. Prof. Ingeniería de Sistemas


ULADECH - Católica

Definición

Las sentencias SQL se dividen en dos categorías; Lenguaje de definición de datos; data definition
language (DDL) y Lenguaje de manipulación de datos; data manipulation language (DML).

Lenguaje de definición de datos (DDL)

Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas así como otros
objetos de la base de datos.

CREATE - para crear objetos en la base de datos.

ALTER - modifica la estructura de la base de datos.

DROP - borra objetos de la base de datos.

TRUNCATE - elimina todos los registros de la tabla, incluyendo todos los espacios asignados a
los registros.

Lenguaje de manipulación de datos (DML)

Las sentencias de lenguaje de manipulación de datos (DML) son utilizadas para gestionar datos
dentro de los schemas. Algunos ejemplos:

SELECT - para obtener datos de una base de datos.

INSERT - para insertar datos a una tabla.

UPDATE - para modificar datos existentes dentro de una tabla.

DELETE - elimina todos los registros de la tabla; no borra los espacios asignados a los registros.

Instrucciones CREATE(Transact-SQL)

SQL Server Transact-SQL contiene las siguientes instrucciones CREATE. Utilice las instrucciones
CREATE para definir nuevas entidades. Por ejemplo, utilice CREATE TABLE para agregar una
nueva tabla a una base de datos.

Crear una Base de Datos

CREATE DATABASE databasename;

Eliminar una Base de Datos

DROP DATABASE databasename;

Crear una Tabla en la Base de Datos

CREATE TABLE table_name ( column1 datatype,


column2 datatype,
column3 datatype,
....
);

Mgtr Ing. Victor Hugo Tapia Jacinto Pag. 2


Base de Datos II Esc. Prof. Ingeniería de Sistemas
ULADECH - Católica

Ejemplo crea una tabla Usuarios:

CREATE TABLE Usuarios(Loginvarchar(10),


Pwd varchar(255),
IdPersona int,
Estado Char(1));

Eliminar Tabla
DROP TABLE table_name;

Instrucciones ALTER (Transact-SQL)

SQL Server Transact-SQL contiene las siguiente instrucciones ALTER. Use las instrucciones ALTER
para modificar la definición de entidades existentes. Por ejemplo, use ALTER TABLE para agregar
una nueva columna a una tabla, o use ALTER DATABASE para establecer las opciones de una
base de datos.

ALTER AUTHORIZATION

Cambia la propiedad de un elemento protegible.

Sintaxis

ALTER AUTHORIZATION
ON [ <class_type>:: ] entity_name
TO { SCHEMA OWNER | principal_name }
[;]

Se puede usar ALTER AUTHORIZATION para cambiar la propiedad de cualquier entidad que
tenga propietario. La propiedad de las entidades que contienen bases de datos se puede
transferir a cualquier entidad de seguridad de nivel de base de datos. La propiedad de las
entidades de nivel de servidor solo se puede transferir a entidades de seguridad de nivel de
servidor. Se puede transferir la propiedad de las siguientes entidades contenidas en esquemas
de tipo "objeto": tablas, vistas, funciones, procedimientos, colas y sinónimos.

Ejemplos

Transferir la propiedad de la Base de datos

En el siguiente ejemplo se transfiere la propiedad de la base de datos Zipizape al usuario VTapia.

ALTER AUTHORIZATION ON DATABASE::ZipizapeBD TO VTapia;

GO

Transferir la propiedad de una tabla

En el siguiente ejemplo se transfiere la propiedad de la tabla Persona al usuario VTapia. La tabla


se encuentra dentro del esquema ZipizapeBD.

ALTER AUTHORIZATION ON OBJECT::ZipizapeBD.Persona TO VTapia;

GO

Mgtr Ing. Victor Hugo Tapia Jacinto Pag. 3


Base de Datos II Esc. Prof. Ingeniería de Sistemas
ULADECH - Católica

ALTER TABLE

Modifica una definición de tabla al alterar, agregar o quitar columnas y restricciones, reasignar
y regenerar particiones, o deshabilitar o habilitar restricciones y desencadenadores.

Sintaxis

ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name


{
ALTER COLUMN column_name
{
| ADD
{
<column_definition>
| <computed_column_definition>
| <table_constraint>
| <column_set_definition>
}

| DROP
{
[ CONSTRAINT ]
{
constraint_name
[ WITH
( <drop_clustered_constraint_option>)
]
}
| COLUMN
{
column_name
}
}
| [ WITH { CHECK | NOCHECK } ] { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name }

| { ENABLE | DISABLE } TRIGGER


{ ALL | trigger_name }

}
[;]

Ejemplos
Agregar una columna nueva
En el ejemplo siguiente se agrega una columna que permite valores NULL y a la que no se han
proporcionado valores mediante una definición DEFAULT. En la nueva columna, cada fila tendrá
valores NULL.
ALTER TABLE dbo.Persona ADD ciudad VARCHAR(20) NULL ;
GO

Agregar una columna con una restricción


En el ejemplo siguiente se agrega una nueva columna con una restricción UNIQUE.
ALTER TABLE dbo.Persona ADD telefono VARCHAR(15) NULL

Mgtr Ing. Victor Hugo Tapia Jacinto Pag. 4


Base de Datos II Esc. Prof. Ingeniería de Sistemas
ULADECH - Católica

CONSTRAINT UC_Telefono UNIQUE;


ALTER TABLE dbo.Persona
ADD CONSTRAINT UC_Telefono UNIQUE(telefono) ;

Eliminar una restricción


ALTER TABLE dbo.Persona
DROP CONSTRAINT UC_Telefono;

Agregar una Restricción de Clave Primaria a una columna existente


ALTER TABLE dbo.Usuarios ADD CONSTRAINT PK_Usuario PRIMARY KEY(Login);

Agregar una Restricción de Clave Foránea a una columna existente


ALTER TABLE dbo.Usuarios ADD CONSTRAINT FK_Persona FOREIGN KEY (IdPersona)
REFERENCES Persona(IdPersona);

Agregar una columna de Validación


ALTER TABLE dbo.Persona
ADD CONSTRAINT CHK_PersonaEdad CHECK (Edad>=18 AND Ciudad='Chimbote');

Agregar una restricción para un campo con valor por defecto


ALTER TABLE Persona
ALTER COLUMN Ciudad SET DEFAULT 'Chimbote';

Crear un ID Autoincrement
CREATE TABLE Personas(ID int IDENTITY(1,1) PRIMARY KEY,
Apellidos varchar(255) NOT NULL,
Nombres varchar(255),
Edad int);

Modificar el valor de incremento (Resetar)


DBCC CHECKIDENT ('[Distribuidoras]', RESEED, 0);

Crear Vistas
CREATE VIEW [Lista de Clientes] AS
SELECT IdPersona, Apellidos, Nombres, Direccion FROM dbo.Persona

Mgtr Ing. Victor Hugo Tapia Jacinto Pag. 5

También podría gustarte