Está en la página 1de 6

TEMA: CREAR BASES DE DATOS, MEDIANTE:

DATA DEFINITION LANGUAGE (DDL)

1.- OBJETIVOS

Al finalizar la práctica el estudiante estará en condiciones de:

 Crear bases de datos.


 Definir tipos.
 Crear tablas.
 Implementar restricciones de: Entidad, integridad referencial y dominio.

2.- TRABAJO PREPARATORIO

Leer sobre la sintaxis y semántica de los siguientes comandos:


 CREATE DATABASE
 CREATE TYPE
 CREATE TABLE, PRIMARY KEY, FOREIGN KEY y CHECK.

3.- BASE TEÓRICA COMPLEMENTARIA

El Lenguaje Estructurado de Consulta (SQL) es una herramienta para organizar, gestionar y recuperar datos almacenados en
una base de datos.

Los usuarios interactúan con la base de datos mediante el SGBD. Esta interacción se efectúa mediante comandos SQL. El
SGBD es el responsable de interpretar, compilar y ejecutar estos comandos, y de acuerdo a la semántica de los mismos acceder
a la base de datos, ya sea para modificar y recuperar los datos.

En el SQL se puede identificar principalmente dos sub-lenguajes:

 Lenguaje de Definición de Datos (DDL).- Conjunto de sentencias orientas a la definición de los metadatos. Por ejemplo,
sentencias para la creación de la base de datos, creación o modificación de las tablas, etc.

 Lenguaje de Manipulación de datos (DML).- Conjunto de sentencias orientadas a insertar, modificar, eliminar o recuperar
datos.
4.- CONTENIDO DE LA PRÁCTICA.

Para realizar está práctica, primero cargar el analizador de consultas de SQL-SERVER.

En la práctica se puede utilizar el “script” correspondiente al modelo físico, generado por el ERWIN.

La práctica se realizará en tres partes:

PARTE 1.- Crear la base de datos.

Cada vez que se crea una base de datos en SQL-Server, ésta queda registrada en una base de datos denominada “master”. La
base de datos “master” almacena solamente metadatos (datos que describen datos, en este caso, la relación de bases de datos
registradas por SQL-Server en el servidor), no almacena información de la organización, en consecuencia, es de uso exclusivo
de SQL-Server; por tanto, el usuario no debe acceder directamente a esta base de datos, sino, mediante las herramientas
proporcionadas por SQL-Server para tal fin.

Se recomienda que antes de crear la base de datos revisar la sintaxis del comando CREATE DATABASE.

Para crear una base de datos, efectuar lo siguiente:

 En el analizador de consultas, en el combo box BD de la barra de herramientas seleccionar la base de datos “master”.
 En el analizador de consultas escribir el siguiente código:

-- Crear la base de datos


Create DATABASE DBAlmacenes -- Creates the Almacenes DataBase
on
(NAME = DBAlmacenes, -- Primary data file
FILENAME = 'D:\Data\DBAlmacenes.mdf',
SIZE = 5MB,
FILEGROWTH = 1MB
)
LOG ON
(NAME = DBAlmacenes_Log, -- Log file
FILENAME = 'D:\Data\DBAlmacenes.ldf',
SIZE = 5MB,
FILEGROWTH = 1MB
)
go

 El código digitado constituye el código fuente, guardar este código en algún dispositivo de almacenamiento, con algún
nombre, por ejemplo: Crear_BDAlmacenes. Notar que éste se almacena automáticamente con la extensión SQL.
 Compilar y ejecutar el código para crear la base de datos.

Este código o script genera la base de datos. Cada base de datos constará de dos archivos. El primer archivo de
extensión *.mdf, almacena la base de datos en si, tanto los metadatos (descripción de la estructura de la base de datos)
y los datos de la organización. El segundo archivo de extensión *.ldf, almacena las transacciones.

En lo sucesivo, cada vez que desee crear esta base de datos, sólo tendrá que recuperar el archivo
Crear_BDAlmacenes.SQL y ejecutarlo.

PARTE 2.- Crear los tipos.

Algunos nombres de atributos son utilizados en diferentes tablas, sobre todo las claves primarias y las claves foráneas. Por
ejemplo, el atributo CodArticulo se utiliza en la definición de diferentes tablas, en cada tabla se la debe definir como
varchar(12), sin embargo, hay el potencial riesgo de que en alguna de las tablas se la defina de diferente tipo o tamaño. La
definición de tipos evita estos potenciales errores, además de facilitar el mantenimiento y la comprensión del script.
Se recomienda que los atributos que constituyen las claves primarias y/o foráneas sean definidos como tipos, dado que éstos se
repiten en las diferentes tablas. Se recomienda también que antes de definir tipos revisar la sintaxis del comando CREATE
TYPE.

Para definir tipos, efectuar lo siguiente:

 En el analizador de consultas, en el combo box BD de la barra de herramientas seleccionar la base de datos para la
que se desea definir tipos. Para efectos de esta práctica, seleccionar la base de datos creada anteriormente (o incluirla
en la parte superior del código, mediante la cláusula USE)
 En el analizador de consultas escribir el siguiente código:

/* Activar Base de datos: DBAlmacenes */


use DBAlmacenes
go
/* Crear los tipos */
CREATE TYPE TCodAlmacen FROM varchar(12) NOT NULL ;
go

CREATE TYPE TCodArticulo FROM varchar(12) NOT NULL ;


go

CREATE TYPE TCodProveedor FROM varchar(12);


go

CREATE TYPE TDocEntrada FROM varchar(12) NOT NULL ;


go

CREATE TYPE TDocSalida FROM varchar(12) NOT NULL ;


go

CREATE TYPE TDocPedido FROM varchar(12) NOT NULL ;


Go

 Guardar el código o script digitado con algún nombre, por ejemplo: Crear_Tipos_BDAlmacenes.
 Compilar y ejecutar el script para crear los tipos como parte de los metadatos de la base de datos.

PARTE 3.- Crear las tablas.

Antes de crear las tablas se recomienda revisar la sintaxis del comando CREATE TABLE, considerando también las cláusulas:
PRIMARY KEY, FOREIGN KEY y CHECK.

Para crear las tablas de la base de datos, efectuar lo siguiente:

 En el analizador de consultas, en el combo box BD de la barra de herramientas seleccionar la base de datos para la que se
desea crear tablas. Para efectos de esta práctica, seleccionar la base de datos creada anteriormente (o incluirla en la parte
superior del código, mediante la cláusula USE); luego, en el analizador de consultas escribir el siguiente código:
/* Activar la Base de datos DBAlmacenes */
use DBAlmacenes
go

/* Crear las tablas */


create table Almacen(
CodAlmacen TCodAlmacen NOT NULL,
NombreAlmacen varchar(40) NOT NULL,
Direccion varchar(40),
Responsable varchar(40),
PRIMARY KEY (CodAlmacen)
)
go
create table Articulo(
CodArticulo TCodArticulo NOT NULL,
Descripcion varchar(40) NOT NULL,
UnidadMed varchar(3),
Stock numeric(15,6),
PRIMARY KEY (CodArticulo)
)
go

create table Proveedor(


CodProveedor TCodProveedor NOT NULL,
RazonSocial varchar(40) NOT NULL,
RUC varchar(11),
Ciudad varchar(25),
PRIMARY KEY (CodProveedor)
)
go

create table Entrada(


DocEntrada TDocEntrada NOT NULL,
Fecha DateTime,
CodProveedor TCodProveedor,
CodAlmacen TCodAlmacen,
Concepto varchar(10) check (Concepto in ('COMPRA','DEVOLUCION','AJUSTE')),
PRIMARY KEY (DocEntrada),
FOREIGN KEY (CodProveedor) REFERENCES Proveedor(CodProveedor),
FOREIGN KEY (CodAlmacen) REFERENCES Almacen(CodAlmacen),
)
go

create table Entrada_Detalle(


DocEntrada TDocEntrada NOT NULL,
CodArticulo TCodArticulo,
Cantidad numeric(15,2) check(Cantidad > 0),
CostoUnitario numeric(15,2) check(CostoUnitario > 0),
PRIMARY KEY (DocEntrada, CodArticulo),
FOREIGN KEY (DocEntrada) REFERENCES Entrada(DocEntrada),
FOREIGN KEY (CodArticulo) REFERENCES Articulo(CodArticulo)
)
go

create table Salida(


DocSalida TDocSalida NOT NULL,
Fecha DateTime,
Cliente varchar(40),
CodAlmacen TCodAlmacen,
Concepto varchar(10) check (Concepto in ('VENTA','DEVOLUCION','AJUSTE')),
PRIMARY KEY (DocSalida),
FOREIGN KEY (CodAlmacen) REFERENCES Almacen(CodAlmacen),
)
go

create table Salida_Detalle(


DocSalida TDocSalida NOT NULL,
CodArticulo TCodArticulo,
Cantidad numeric(15,2) check(Cantidad > 0),
PrecioUnitario numeric(15,2) check(PrecioUnitario > 0),
PRIMARY KEY (DocSalida, CodArticulo),
FOREIGN KEY (DocSalida) REFERENCES Salida(DocSalida),
FOREIGN KEY (CodArticulo) REFERENCES Articulo(CodArticulo)
)
Go
create table Pedido(
DocPedido TDocPedido NOT NULL,
Fecha DateTime,
CodProveedor TCodProveedor,
FechaEntrega DateTime,
PRIMARY KEY (DocPedido),
FOREIGN KEY (CodProveedor) REFERENCES Proveedor(CodProveedor),
)
go

create table Pedido_Detalle(


DocPedido TDocPedido NOT NULL,
CodArticulo TCodArticulo,
Cantidad numeric(15,2) check(Cantidad > 0),
CostoUnitario numeric(15,2) check(CostoUnitario > 0),
PRIMARY KEY (DocPedido, CodArticulo),
FOREIGN KEY (DocPedido) REFERENCES Pedido(DocPedido),
FOREIGN KEY (CodArticulo) REFERENCES Articulo(CodArticulo)
)
go

 Guardar el código o script digitado, con algún nombre, por ejemplo: Crear_Tablas_BDAlmacenes.
 Compilar y ejecutar el script para crear los tipos como parte de los metadatos de la base de datos.

Con “PRIMARY KEY” se implementa la restricción de entidad, es decir, que en cada tabla no se registre más de una vez la
información del mismo objeto o entidad. Por ejemplo, en la tabla ARTICULO, la base de datos no permitirá registrar el mismo
“CodArticulo” más de una vez.

Con “FOREIGN KEY” se implementa la restricción de integridad, es decir, no permitirá registrar atributos que no hayan sido
definidos previamente en otras tablas, o no permitirá modificar o borrar atributos que han sido definidas (como claves
primarias) en otras tablas.

Con “CHECK” se implementa la restricción de dominio, es decir, el conjunto de valores que puede tomar un atributo. Al
momento de ingresar o modificar los datos, la base de datos chequeará que los datos sean válidos (estén dentro del dominio), si
no son válidos serán rechazados.

5.- EJERCICIOS COMPLEMENTARIOS.

 Investigar la sintaxis y semántica de la sentencia ALTER, por ejemplo para agregar una columna a una tabla. Luego,
agregar mediante el comando ALTER el atributo Email de tipo varchar(80) a la tabla proveedor.

 Los SGBD ofrecen además interfaces gráficas de usuario (pantallas) para ingresar, modificar y eliminar datos de las
diferentes tablas de la base de datos. Investigue en SQL-Server estas interfaces gráficas y por medio de ellas ingrese,
modifique y elimine datos de las diferentes tablas.

6.- TRABAJOS COMPLEMENTARIOS.

Presentar este trabajo en la siguiente sesión de laboratorio.

Diseñar una base de datos (tema libre) y escriba el Script correspondiente para crear la base de datos, con sus respectivos tipos
y tablas.

7.- TRABAJOS DE INVESTIGACIÓN COMPLEMENTARIOS.

Presentar esta monografía en la siguiente sesión de laboratorio.

Elaborar un trabajo monográfico sobre la sintaxis y semántica de las sentencias que conforman el Lenguaje de Manipulación de
Datos (DML).

También podría gustarte