UNIDAD DE
APRENDIZAJE
1
SEMANA
FUNDAMENTOS DE SQL SERVER 2008
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al terminar la unidad, los alumnos construirn una base de datos relacional utilizando
el gestor de base de datos SQL Server 2008 y los comandos del Lenguaje de
Definicin de Datos (DDL), asegurando la integridad de los datos mediante el empleo
de restricciones tomando como caso un proceso de negocio real.
TEMARIO
1.1 Creacin de tablas e integridad de relacin
1.2 Implementacin de restricciones PRIMARY KEY, FOREIGN KEY, CHECK,
UNIQUE y DEFAULT
ACTIVIDADES PROPUESTAS
Efectan la creacin de tablas.
Definen las claves o llaves de cada tabla y las relacionan.
Precisan restricciones sobre los campos definidos.
1. APRENDIENDO A CREAR TABLAS
1.1. DEFINICIN DE UNA TABLA
Una tabla es una coleccin de datos sobre una entidad (Persona, Lugar, Cosa)
especfica, que tiene un nmero discreto de atributos designados (por ejemplo
cantidad o tipo). Las tablas son los objetos principales de SQL Server y del
modelo relacional en general. Las tablas son fciles de entender, ya que son
prcticamente iguales a las listas que utiliza de manera cotidiana. En SQL Server
una tabla suele denominarse tabla de base, para hacer nfasis sobre dnde se
almacenan los datos. La utilizacin de << Tabla de base >>, tambin distingue la
tabla de una vista (View), (una tabla virtual que es una consulta interna de una
tabla base.)
Conforme se utiliza la base de datos con frecuencia se encontrar conveniente
definir tablas propias para almacenar datos personales o datos extrados de otras
tablas.
Los atributos de los datos de una tabla (tamao, color, cantidad, fecha, etc.)
toman la forma de columnas con nombre en la tabla.
Las columnas de la tabla recin creada se definen en el cuerpo de las sentencias
CREATE TABLE. La definicin de las columnas aparece en una lista separada
por comas e incluida entre parntesis. La definicin de la columna determina el
orden de izquierda a derecha de la columna en la tabla.
a.
Nombre de columna:
Pueden ser iguales a los nombre de las columnas de otras tablas, pero
no pueden tener el nombre de una columna existente en la misma tabla.
b.
Tipo de datos
Identifica la clase de datos que la columna almacenar.
c.
Datos requeridos:
Si la columna contiene datos requeridos se debe especificar si la columna
no acepta valores nulos. La clusula NOT NULL impide que aparezcan
valores NULL en la columna. Por defecto se admiten valores NULL. Las
tablas suelen estar relacionadas con otras tablas.
1.2. Clave Primaria y Clave Fornea
El principio fundamental del modelo relacional, es que cada fila de una tabla es en
cierta medida exclusiva y puede distinguirse de alguna forma de cualquier otra fila
de la tabla. La combinacin de todas las columnas de una tabla puede utilizarse
como un identificador exclusivo, pero en la prctica el identificador suele ser
mucho como la combinacin de unas pocas columnas y, a menudo, es
simplemente una columna, a la cual se le denomina Primary Key o Clave
Primaria.
Una Clave Fornea o Foreign Key es una o varias columnas de una tabla cuyos
valores deben ser iguales a los de una restriccin Primary Key en otra tabla. SQL
Server impone de manera automtica la integridad referencial mediante la
utilizacin de Foreign Key y a esta caracterstica se le denomina integridad
referencial declarativa.
1.3. Definicin de relaciones
El trmino "relaciones" usualmente se refiere a las relaciones entre claves forneas
y primarias, y entre tablas. Estas relaciones deben ser definidas porque determinan
qu columnas son o no claves primarias o claves forneas. A continuacin,
veamos los tipos de relacin que pueden existir entre las tablas:
1.2.1
Relacin Uno-a-Varios:
La relacin uno a varios (uno a muchos), es el tipo de relacin ms comn.
En este tipo de relacin, una fila de la tabla A puede tener varias columnas
coincidentes en la tabla B, pero una fila de la tabla B slo puede tener una
fila coincidente en la tabla A. Por ejemplo, las tablas Editor y Libro tienen
una relacin uno a varios: cada editor produce muchos ttulos, pero cada
Libro procede de un nico editor. Una relacin de uno a varios slo se crea
si una de las columnas relacionadas es una clave principal o tiene una
restriccin nica (una restriccin nica impide que el campo tenga valores
repetidos). El lado de la clave principal de una relacin de uno a varios se
indica con un smbolo de llave, mientras que el lado de la clave externa de
una relacin se indica con un smbolo de infinito.
En el ejemplo tenemos:
Un estado lo es de muchos usuarios pero un usuario tiene nicamente
un estado.
Primary Key
Primary Key
Foreing Key
A continuacin, se muestra la relacin uno a muchos en una relacin
recursiva.
Un contrato puede ser la extensin de otro contrato y un contrato
puede tener muchas extensiones.
1.2.2
Relaciones de varios a varios
En las relaciones de varios a varios (muchos a muchos), una fila de la tabla
A puede tener varias filas coincidentes en la tabla B, y viceversa. Para crear
una relacin de este tipo, defina una tercera tabla, denominada tabla de
unin, cuya clave principal est formada por las claves externas de las
tablas A y B. Por ejemplo, la tabla Autor y la tabla Libro tienen una relacin
de varios a varios definida por una relacin de uno a varios entre cada de
estas tablas y la tabla Autor_Libro. La clave principal de la tabla Autor_Libro
es la combinacin de la columna cod_aut (la clave principal de la tabla
Autor) y la columna cod_lib (la clave principal de la tabla Libro).
Otro ejemplo:
Un contrato puede registrar muchos departamentos y un
departamento puede estar registrado en muchos contratos. Para
poder implementar esta relacin compleja debemos adicionar una
tabla de detalle (DetalleContrato).
1.2.3
Relaciones de uno a uno
En una relacin de uno a uno, una fila de la tabla A no puede tener ms de
una fila coincidente en la tabla B y viceversa. Una relacin de uno a uno se
crea si las dos columnas relacionadas son claves principales o tienen
restricciones nicas.
Este tipo de relacin no es comn porque la mayor parte de la informacin
relacionada de esta manera estara en una tabla. Se puede utilizar una
relacin de uno a uno para:
Dividir una tabla con muchas columnas
Aislar parte de una tabla por razones de seguridad
Almacenar datos que no se deseen conservar y se puedan eliminar
fcilmente con tan slo suprimir la tabla
Almacenar informacin aplicable nicamente a un subconjunto de la
tabla principal.
Implementar entidades
especializaciones.
del
tipo
Generalizacin
con
sus
El lado de la clave principal de una relacin de uno a uno se indica con un
smbolo de llave. El lado de la clave externa tambin se indica con un
smbolo de llave.
El ejemplo, a continuacin, muestra a la tabla USUARIO (generalizacin)
relacionndose con la tabla PROPIETARIO (especializacin 1) y la tabla
INQUILINO (especializacin 2), de uno a uno.
Ahora que ya conoce el concepto de tablas y el concepto de relaciones,
empezar a implementar algunas tablas para distintos casos.
ACTIVIDADES A DESARROLLAR EN CLASE
Se desea implementar una base de datos para el control de contratos de departamentos
entre diferentes edificios. Para ello se cuenta con el siguiente diagrama:
Usando TRANSACT/SQL, cree las siguientes bases de datos:
1. Cree la base de datos Departamentos
2. Active la base de datos Departamentos
3. Cree las tablas mostradas
4. Agregue las llaves Primarias (ADD PRIMARY KEY)
5. Agregue las llaves Forneas y Relaciones (ADD FOREIGN KEY REFERENCES)
SOLUCIN:
Implemente las tablas, las llaves primarias, las llaves forneas y las relaciones paso a
paso:
SCRIPT EN TRANSACT/SQL
SQL SERVER 2008
CREATE DATABASE DEPARTAMENTOS
GO
USE DEPARTAMENTOS
CREATE TABLE CONTRATO (
COD_CONT
PROP_COD_USUA
INQ_COD_USUA
FEC_FIRMA
REFERENCIA
COD_EST
COD_CONT_ORIG
char(6) NOT NULL,
char(6) NULL,
char(6) NULL,
datetime NOT NULL,
varchar(100) NULL,
char(6) NULL,
char(6) NULL
)
CREATE TABLE DEPARTAMENTOS (
COD_EDIF
char(6) NOT NULL,
COD_DEP
char(6) NOT NULL,
AREA_TOTAL_DEP
decimal NOT NULL,
AREA_CONSTRUIDA_DEP decimal NULL,
NUM_AMB_DEP
int NULL,
PISO_DEP
int NULL,
PRECIO_ALQXMES_DEP money NULL,
COD_EST
char(6) NULL
)
CREATE TABLE DETALLECONTRATO (
COD_EDIF
char(6) NOT NULL,
COD_DEP
varchar(6) NOT NULL,
COD_CONT
char(6) NOT NULL,
FEC_INI_ALQ
datetime NOT NULL,
FEC_FIN_ALQ
datetime NOT NULL
)
CREATE TABLE EDIFICIOS (
COD_EDIF
char(6) NOT NULL,
NOM_EDIF
varchar(60) NOT NULL,
DIRECC_EDIF
varchar(60) NOT NULL,
CODPOSTAL_EDIF
varchar(4) NOT NULL,
AREA_TOTAL_EDIF
decimal NOT NULL,
AREA_CONSTRUIDA_EDIF decimal NULL,
REFERENCIA_EDIF
varchar(100) NULL,
COD_EST
char(6) NULL
)
CREATE TABLE ESTADO (
COD_EST
DESC_EST
)
char(6) NOT NULL,
varchar(20) NOT NULL
CREATE TABLE FAMILIARES (
COD_FAMI
COD_USUA
NOM_FAMI
APEPATER_FAMI
APEMATER_FAMI
GRADO_PARENTES_FAMI
)
CREATE TABLE INQUILINO (
COD_USUA
NOM_AVAL_INQ
APELL_AVAL
HABER_BAS_INQ
EST_CIVIL_INQ
LUG_TRAB_INQ
)
char(6) NOT NULL,
char(6) NOT NULL,
varchar(25) NOT NULL,
varchar(25) NOT NULL,
varchar(25) NOT NULL,
varchar(50) NOT NULL
char(6) NOT NULL,
varchar(30) NOT NULL,
char(30) NOT NULL,
int NOT NULL,
char(1) NULL,
varchar(50) NULL
CREATE TABLE PROPIETARIO (
COD_USUA
char(6) NOT NULL,
TIPO _PROP
varchar(30) NOT NULL ,
TELEFONO_PROP
char(10)
)
CREATE TABLE USUARIO (
COD_USUA
NOM_USUA
APEPATER_USUA
APEMATER_USUA
FEC_NAC_USUA
FEC_REG_USUA
TIPO_DOC_USUA
NUM_DOC_USUA
COD_EST
)
char(6) NOT NULL,
varchar(25) NOT NULL,
varchar(25) NOT NULL,
varchar(25) NOT NULL,
datetime NULL,
datetime NULL,
varchar(20) NOT NULL,
char(8) NOT NULL,
char(6) NOT NULL
Agregando las llaves primarias a todas las tablas
NONCLUSTERED: Crea un ndice en el que el orden lgico de los valores de clave determina el orden fsico de
las filas correspondientes de la tabla.
ALTER TABLE CONTRATO
ADD PRIMARY KEY NONCLUSTERED (COD_CONT)
ALTER TABLE DEPARTAMENTOS
ADD PRIMARY KEY NONCLUSTERED (COD_EDIF, COD_DEP)
ALTER TABLE DETALLECONTRATO
ADD PRIMARY KEY NONCLUSTERED (COD_EDIF, COD_DEP, COD_CONT)
ALTER TABLE EDIFICIOS
ADD PRIMARY KEY NONCLUSTERED (COD_EDIF)
ALTER TABLE ESTADO
ADD PRIMARY KEY NONCLUSTERED (COD_EST)
ALTER TABLE FAMILIARES
ADD PRIMARY KEY NONCLUSTERED (COD_FAMI, COD_USUA)
ALTER TABLE INQUILINO
ADD PRIMARY KEY NONCLUSTERED (COD_USUA)
ALTER TABLE PROPIETARIO
ADD PRIMARY KEY NONCLUSTERED (COD_USUA)
ALTER TABLE USUARIO
ADD PRIMARY KEY NONCLUSTERED (COD_USUA)
Agregando llaves Forneas y relacionando tablas
-- SE CREA LA RELACIN RECURSIVA.
ALTER TABLE CONTRATO
ADD FOREIGN KEY (INQ_COD_USUA) REFERENCES INQUILINO,
FOREIGN KEY (COD_CONT_ORIG) REFERENCES CONTRATO
-- SE CREAN LAS RELACIONES DEL RESTO DE TABLAS.
ALTER TABLE CONTRATO
ADD FOREIGN KEY (PROP_COD_USUA) REFERENCES PROPIETARIO
ALTER TABLE CONTRATO
ADD FOREIGN KEY (COD_EST) REFERENCES ESTADO
ALTER TABLE DEPARTAMENTOS
ADD FOREIGN KEY (COD_EDIF) REFERENCES EDIFICIOS
ALTER TABLE DEPARTAMENTOS
ADD FOREIGN KEY (COD_EST) REFERENCES ESTADO
ALTER TABLE DETALLECONTRATO
ADD FOREIGN KEY (COD_CONT) REFERENCES CONTRATO
ALTER TABLE DETALLECONTRATO
ADD FOREIGN KEY (COD_EDIF, COD_DEP) REFERENCES DEPARTAMENTOS
ALTER TABLE EDIFICIOS
ADD FOREIGN KEY (COD_EST) REFERENCES ESTADO
ALTER TABLE FAMILIARES
ADD FOREIGN KEY (COD_USUA) REFERENCES INQUILINO
ALTER TABLE INQUILINO
ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE PROPIETARIO
ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE USUARIO
ADD FOREIGN KEY (COD_EST) REFERENCES ESTADO
1.4. Definicin y uso de los DEFAULTS
Un DEFAULT es un valor por defecto que se puede asignar en un campo cuando
el valor de este campo no es insertado en el registro.
Las definiciones DEFAULT se pueden utilizar de las siguientes maneras:
1.4.1 Generarlo cuando se crea la tabla, durante el proceso de definicin de la
misma.
CREATE TABLE PROPIETARIO (
COD_USUA
char(6) NOT NULL,
TIPO_PROP
varchar(30) NOT NULL
TELEFONO_PROP
char(11) DEFAULT DESCONOCIDO
1.4.2 Agregar a una tabla ya existente. Cada columna de una tabla puede
contener una sola definicin DEFAULT.
ALTER TABLE CONTRATO
ADD DEFAULT DESCONOCIDO
FOR TELEFONO_PR
Pueden realizarse modificaciones o eliminaciones, si ya existen definiciones
DEFAULT. Por ejemplo, puede modificar el valor que se inserta en una
columna cuando no se escribe ningn valor.
No se puede crear definiciones DEFAULT para columnas definidas con:
Una propiedad IDENTITY2
Una definicin DEFAULT o un objeto DEFAULT ya existentes
Cuando se agrega una definicin DEFAULT a una columna existente en
una tabla, SQL Server 2008 aplica de forma predeterminada el nuevo valor
predeterminado slo a las nuevas filas de datos que se agregan a la tabla.
Los datos existentes que se insertan mediante la definicin DEFAULT
anterior no se ven afectados. No obstante, cuando agregue una nueva
columna a una tabla ya existente, puede especificar que SQL Server inserte
en la nueva columna el valor predeterminado (especificado mediante la
2
Crea una columna de identidad en una tabla. Esta propiedad se usa con las instrucciones CREATE
TABLE y ALTER TABLE del lenguaje Transact/SQL. Su sintaxis es IDENTITY [(valor inicial, incremento)],
donde el valor inicial es el valor entero a partir del cual empezar a contar el campo identity y el
incremento es el valor que se agrega al valor de identidad de la fila anterior. Si no se coloca nada se
asume que los dos valores son 1. Esta funcin ser detallada en el punto 1.6.
definicin DEFAULT) en vez de un valor NULL para las filas existentes en la
tabla.
El DEFAULT crea un objeto denominado predeterminado. Cuando se
enlaza a una columna o tipo de datos definido por el usuario, un valor
predeterminado especifica un valor que debe insertarse en la columna a la
que est enlazada el objeto (o en todas las columnas, que estn asociadas
al tipo de datos en el caso de un tipo de datos definido por el usuario)
cuando no se proporciona explcitamente un valor durante la insercin. Los
valores predeterminados, que son una caracterstica de compatibilidad con
versiones anteriores, realizan algunas de las mismas funciones que las
definiciones predeterminadas creadas mediante la palabra clave DEFAULT
de las instrucciones ALTER o CREATE TABLE. Las definiciones
predeterminadas son el mtodo preferido y estndar para restringir los
datos de columna, debido a que la definicin se almacena con la tabla y se
quita automticamente cuando se quita sta. Sin embargo, un valor
predeterminado es til cuando se utiliza mltiples veces en mltiples
columnas.
1.4.3 Crear un objeto DEFAULT
Crea un objeto denominado valor predeterminado. Cuando se enlaza a un
tipo de datos de columna o de alias, un valor predeterminado especifica un
valor que debe insertarse en la columna a la que est enlazada el objeto (o
en todas las columnas, en el caso de un tipo de datos de alias) si no se
proporciona explcitamente un valor durante la insercin.
CREATE DEFAULT nombre_default
AS <Expresin>
1.4.3.1 Argumentos
Nombre_default
Es el nombre del valor predeterminado. Los nombres
predeterminados deben cumplir las reglas de los identificadores.
Especificar el nombre del propietario del valor predeterminado es
opcional.
Expresin
Una expresin contiene slo valores constantes (no puede contener
el nombre de ninguna columna u otros objetos de base de datos).
Se puede utilizar cualquier constante, funcin integrada o expresin
matemtica. Incluya las constantes de caracteres y fechas entre
comillas simples ('); las constantes de moneda, de enteros y de
signo flotante no necesitan comillas. Los datos binarios deben
precederse de 0x y los datos de moneda deben precederse de un
signo de dlar ($). El valor predeterminado debe ser compatible con
el tipo de datos de la columna.
1.4.3.2 Ejemplo:
A. Crear un valor predeterminado
Este ejemplo crea un valor predeterminado de carcter
denominado 'desconocido'.
CREATE DEFAULT telefono AS 'desconocido
B. Enlazar un valor predeterminado
Este ejemplo enlaza el valor predeterminado creado en el
ejemplo A. El valor predeterminado slo entra en efecto si no hay
ninguna entrada en la columna Telfono de la tabla ALUMNO.
Observe que la falta de entrada no es lo mismo que un valor
NULL explcito.
SP_BINDEFAULT telefono, 'propietario.telefono_usu'
Importante: Esta caracterstica se quitar en una versin futura de
Microsoft SQL Server. Evite utilizar esta caracterstica en nuevos
trabajos de desarrollo y tenga previsto modificar las aplicaciones que
actualmente la utilizan. En su lugar, use definiciones
predeterminadas creadas con la palabra clave DEFAULT de ALTER
TABLE o CREATE TABLE desarrollados inicialmente.
1.5. Definicin y uso del CHECK CONSTRAINT
Es importante imponer la integridad de dominio, asegurar que slo puedan existir
entradas de los tipos o rangos esperados para una columna determinada). SQL
Server impone la integridad de dominio a travs del Check Constraint.
Una columna puede tener cualquier nmero de restricciones CHECK y la
condicin puede incluir varias expresiones lgicas combinadas con AND y OR.
Por ello, las restricciones CHECK para una columna se validan en el orden en
que se crean.
La condicin de bsqueda debe dar como resultado una expresin booleana y
no puede hacer referencia a otra tabla.
Una restriccin CHECK, en el nivel de columna, slo puede hacer referencia a
la columna restringida y una restriccin CHECK, en el nivel de tabla, slo
puede hacer referencia a columnas de la misma tabla.
Las restricciones CHECK y las reglas sirven para la misma funcin de
validacin de los datos durante las instrucciones INSERT y DELETE.
Cuando hay una regla y una o ms restricciones CHECK para una columna o
columnas, se evalan todas las restricciones.
Sintaxis:
ALTER TABLE tabla
ADD CONSTRAINT nombre_check CHECK (condicin)
Nombre_check
Es el nombre del check constraint
Condicin
Es una expresin que contiene slo valores constantes (aqu es necesario
contener el nombre de alguna columna como parte de la condicin).
Ejemplo
A. Crear un check constraint que valide las descripciones de la tabla estado
ALTER TABLE ESTADO ADD CONSTRAINT CHKDESC_EST
CHECK ( DESC_EST IN ('OPERATIVO', 'INOPERATIVO', 'REGULAR')
B. Crear un check constraint desde la creacin de la tabla ESTADO
CREATE TABLE ESTADO (
COD_EST
char(6) NOT NULL,
DESC_EST
varchar(20) NOT NULL CHECK ( DESC_EST IN
( 'OPERATIVO', 'INOPERATIVO', 'REGULAR' ) )
1.6. Definicin y uso del IDENTITY
Crea una columna de identidad en una tabla. Esta propiedad se usa con las
instrucciones CREATE TABLE y ALTER TABLE de Transact-SQL.
Sintaxis:
IDENTITY [ (inicio , incremento) ]
Argumentos:
Inicio: es el valor que se utiliza para la primera fila cargada en la tabla.
Incremento: se trata del valor incremental que se agrega al valor de identidad
de la anterior fila cargada.
Debe especificar tanto el valor de inicializacin como el incremento, o bien
ninguno de los dos. Si no se especifica ninguno, el valor predeterminado es
(1,1).
Ejemplo:
--Se activa la base de datos Ventas; luego, se verifica si existe la tabla
--new_empleados para eliminarla y proceder a su creacin.
USE Ventas
IF OBJECT_ID ('dbo.new_empleados', 'U') IS NOT NULL
DROP TABLE new_empleados
GO
CREATE TABLE new_empleados
(
id_Emp int IDENTITY(1,1),
nombreEmp varchar (20) not null,
apePatEmp varchar(30) not null
apeMatEmp varchar(30) not null
sexo char(1) not null
)
--Se ingresan datos a la tabla new_empleados
INSERT new_empleados ( nombreEmp, apePatEmp, apeMatEmp, sexo)
VALUES ('Lidia', 'Sanchez', 'Vargas', F)
INSERT new_empleados ( nombreEmp, apePatEmp, apeMatEmp, sexo)
VALUES ('Alfredo', 'Escalante', 'Sifuentes', M)
ACTIVIDADES PROPUESTAS
Caso: VENTAS
Se ha diseado una base de datos para el control de las ventas realizadas en una
empresa, como se detalla en el siguiente diagrama:
Se solicita:
1. Cree la base de datos Ventas y luego actvela.
2. Cree las tablas de la base de datos VENTAS, las llaves primarias y forneas
deben ser creadas dentro de la generacin de la tabla.
3. Cree las siguientes restricciones:
a.
Asigne el valor por defecto NO REGISTRA en el campo CORREO_E de la
tabla CLIENTE.
b.
El precio del producto, de la tabla PRODUCTO, debe ser mayor igual a cero
(0) pero menor o igual a mil nuevos soles (1000).
c.
La fecha de nacimiento del empleado debe ser menor a la fecha actual
(obtener la f echa de sistema).
d.
Por defecto establezca el valor TIPO01 en el campo COD_TIPO_PROD de la
tabla Producto.
e. Cree la tabla CLIENTE_BAK con los mismos campos de la tabla CLIENTE.
Aplique la restriccin IDENTITY al campo que ser llave primaria e ingrese 3
registros.
Resumen
Recuerde siempre que las tablas son el corazn de las bases de datos relacionales
en general y de SQL Server en particular. Las restricciones de integridad aseguran
que la clave primaria identifique unvocamente a cada entidad representada de la
base de datos y adems aseguran que las relaciones entre entidades de la base de
datos se preserven durante las actualizaciones.
Si desea saber ms acerca de estos temas, puede consultar las siguientes
pginas:
http://technet.microsoft.com/es-es/library/ms174979.aspx
Tutorial para investigar el comando Create Table.
http://technet.microsoft.com/es-es/library/ms186775.aspx/
Tutorial para investigar la propiedad Identidad (Identity)
http://technet.microsoft.com/es-es/library/ms190273.aspx
Tutorial para investigar el comando Alter para tablas que han sido creadas.