Está en la página 1de 13

Bases de Datos II

Crear Base de Datos, Tablas y


Campos.
Competencias y capacidades
COMPETENCIA N°1 (EA):
 Aplica herramientas y técnicas para la correcta operación de base de
datos.

CAPACIDAD :
 (C1) Aplica el lenguaje DDL para crear y modificar una base de datos.
Lenguaje de Definición de Datos (DDL)
 Un lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en inglés)
es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los
usuarios de la misma llevar a cabo las tareas de definición de las estructuras que
almacenarán los datos así como de los procedimientos o funciones que permitan
consultarlos
 Ladefinición de la estructura de la base de datos incluye tanto la creación inicial de los
diferentes objetos que formarán la base de datos, como el mantenimiento de esa
estructura. Las sentencias del DDL utilizan unos verbos que se repiten para los distintos
objetos. Por ejemplo para crear un objeto nuevo el verbo será CREATE y a continuación el
tipo de objeto a crear. CREATE DATABASE es la sentencia para crear una base de datos,
CREATE TABLE nos permite crear una nueva tabla, CREATE INDEX crear un nuevo índice…
Para eliminar un objeto utilizaremos el verbo DROP (DROP TABLE, DROP INDEX…) y para
modificar algo de la definición de un objeto ya creado utilizamos el verbo ALTER (ALTER
TABLE, ALTER INDEX…).
Crear una BD usando Transact-SQL
USE MASTER ;
CREATE DATABASE BDPEPE ; --Por defecto se crean en la carpeta Data del
SQL Server

CREATE DATABASE BDPEPE


ON ( NAME = BDPEPE, FILENAME = 'D:\BD\BDPEPE.mdf', SIZE = 10, MAXSIZE
= 50, FILEGROWTH = 5 ) LOG ON ( NAME = BDPEPE_LOG, FILENAME = 'D:\
BD\BDPEPE_LOG.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) ;
Separar una Base de Datos del Servidor SQL
Server

Ó puede usar el siguiente comando: exec sp_detach_db BDPEPE;


Crear una Base de Datos Separada pero
Existente
USE MASTER ;

CREATE DATABASE BDPEPE --Existen los archivos físicamente en la ruta indicada


ON ( NAME = BDPEPE, FILENAME = 'D:\BD\BDPEPE.mdf', SIZE = 10, MAXSIZE =
50, FILEGROWTH = 5 )
LOG ON ( NAME = BDPEPE_LOG, FILENAME = 'D:\BD\BDPEPE_LOG.ldf', SIZE =
5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) FOR ATTACH;

Nota: Que al adjuntar, el nombre de la base de datos puede ser diferente al


nombre de la base de datos  separada.
Crear una Instantánea de una Base de Datos
USE MASTER ;
Create Database BDPEPE_Instantanea
on primary
(Name='BDPEPE', FileName='D:\BD\BDPEPE.ss')
as snapshot of BDPEPE;

Nota: Una instantánea de base de datos en SQL Server es una vista estática de solo
lectura de una base de datos denominada base de datos de origen.
Las instantáneas de base de datos siempre reside en la misma instancia de servidor
que la base de datos de origen. Pueden existir varias instantáneas de una base de
datos.
Crear una Tabla usando Transact-SQL
USE BDPEPE;
CREATE SCHEMA RRHH;--POR SI DESEA CREAR UN ESQUEMA DONDE IRAN SUS TABLAS

CREATE TABLE dbo.Empleado -- PODRIA HABER SIDO RRHH.EMPLEADO


(
IdEmpleado int IDENTITY(1,1) PRIMARY KEY, --No es necesario definer como NOT NULL
Nombres varchar(50) NOT NULL,
Apellidos varchar(50) NOT NULL,
Fecha_Nacimiento date NULL,
Sexo char(1) NOT NULL,
Cargo varchar(20) NOT NULL,
Salario money NOT NULL,
IdOficina char(4) NOT NULL
); --POR DEFECTO SI NO SE ESPECIFICA EL ESQUEMA, SIEMPRE SE CREA EN dbo.

SELECT * FROM RRHH.Empleado;


Crear una Tabla usando Transact-SQL
USE BDPEPE;
CREATE Table Empleado
(
IdEmpleado int IDENTITY(1,1),
Nombres varchar(50) NOT NULL,
Apellidos varchar(50) NOT NULL,
DNI char(8) NOT NULL,
Direccion varchar(100) NULL,
Telefono varchar(15) NULL
);

Nota: Se puede crear un campo IDENTIDAD SIN NECESIDAD DE SER PRIMARY KEY
Crear otra Tabla usando Transact-SQL
USE BDPEPE;

CREATE Table Perfil


(
IdPerfil int IDENTITY(1,1) PRIMARY KEY,
Nombre varchar(30) NOT NULL
);

exec SP_HELP Perfil --PARA VER A DETALLE TODA LA ESTRUCTURA DE LA TABLA


Perfil
exec SP_COLUMNS Perfil --PARA VER A DETALLE SOLO LAS COLUMNAS DE LA
TABLA Perfil
Crear otra Tabla usando Transact-SQL
USE BDPEPE;
CREATE Table Categoria
(
IdCategoria int IDENTITY(1,1),
Nombre varchar(50) NOT NULL,
CONSTRAINT PK_Categoria PRIMARY KEY( IdCategoria )
);

Nota: Se puede definir la Clave Primaria como una restricción dentro


de la misma instrucción de creación de la Tabla.
Crear otra Tabla usando Transact-SQL
USE BDPEPE;
CREATE Table Cliente
(
IdCliente int IDENTITY(1,1) PRIMARY KEY,
Nombres varchar(50) NOT NULL,
Apellidos varchar(50) NOT NULL,
DNI char(8) NOT NULL,
RUC char(11)
);
Nota: Se puede obviar el especificar la NULIDAD, por defecto se
considerará dicho campo como QUE PERMITE VALORES NULOS (DATO
OPCIONAL).
•Gracias!

También podría gustarte