Sunteți pe pagina 1din 42

SQL Server

Aplicado
Roco Contreras guila
Primer Semestre 2010
- Conceptos Bsicos
- Intro a SQL Server
Qu es una base de datos?

Una base de datos es un programa residente en
memoria, que se encarga de gestionar todo el
tratamiento de entrada, salida, proteccin y
elaboracin de la informacin que almacena.
Conceptos Bsicos
El corazn de una base de datos es el motor, que
es el programa que debe estar ejecutndose en una
mquina para gestionar los datos.
Funciones de las bases de datos

a) Permitir la introduccin de datos.

b) Salida de datos.

c) Almacenamiento de datos.

d) Proteccin de datos

e) Elaboracin de datos.
Funciones de las bases de datos
Modelo de Datos
Un modelo de datos es un lenguaje orientado a
describir una Base de Datos.

Permite describir los elementos que intervienen en
una realidad dada y la forma en que se relacionan
esos elementos entre s.
Modelo de Datos
Es una representacin de la realidad que contiene
las caractersticas generales de algo que se va a
realizar. En base de datos, esta representacin la
elaboramos de forma grfica.

Modelo de Datos
Es una coleccin de herramientas conceptuales
para describir los datos, las relaciones que existen
entre ellos, semntica asociada a los datos y
restricciones de consistencia.

Objetivos
Formalizacin: definir formalmente las estructuras
permitidas y las restricciones a fin de representar los
datos de un SI.

Diseo: el modelo resultante es un elemento bsico
para el desarrollo de la metodologa de diseo de la
base de datos.
Sub Lenguajes
Un modelo de datos es un lenguaje que, tpicamente,
tiene dos sublenguajes:

Un Lenguaje de Definicin de Datos o DDL (Data
definition Language), orientado a describir de una
forma abstracta las estructuras de datos y las
restricciones de integridad.
Sub Lenguajes
Un Lenguaje de Manipulacin de Datos o DML (Data
Manipulation Language), orientado a describir las
operaciones de manipulacin de los datos.

A la parte del DML orientada a la recuperacin de
datos, usualmente se le llama Lenguaje de Consulta
o QL (Query Language).

Concepto de tabla

Una tabla es una estructura lgica que sirve para
almacenar los datos de un mismo tipo, esto es, en
una misma estructura.

Una tabla se compone de campos o columnas, que
son conjuntos de datos del mismo tipo
Concepto de tabla

Base de Datos Relacional
Es un conjunto de una o ms tablas estructuradas
en registros (lneas) y campos (columnas), que se
vinculan entre s por un campo en comn.

Normalizacin
Las bases de datos relacionales pasan por un
proceso al que se le conoce como normalizacin de
una base de datos, el cual es entendido como el
proceso necesario para que una base de datos sea
utilizada de manera ptima.
Ventajas
Garantiza herramientas para evitar la duplicidad
de registros, a travs de campos claves o llaves.

Garantiza la integridad referencial: As al eliminar
un registro elimina todos los registros relacionados
dependientes.

Favorece la normalizacin por ser ms
comprensible y aplicable.

Normalizacin
Las Formas Normales buscan optimizar las
estructuras de una base de datos eliminando la
redundancia utilizando como medio principal las
dependencias funcionales.
Ejemplo para aplicar FN
Tenemos una empresa pblica donde los puestos de
trabajo estn regulados por el Estado, de modo que
las condiciones salariales estn determinadas por el
puesto. Se ha creado el siguiente esquema
relacional

EMPLEADOS(nss, nombre, puesto, salario, emails)
con nss como clave primaria.
Ejemplo para aplicar FN
Normalizacin:1FN
Una tabla est en 1FN si sus atributos contienen
valores atmicos.

En el ejemplo, podemos ver que el atributo emails
puede contener ms de un valor, por lo que viola 1FN.

En general, tenemos una relacin R con clave primaria
K. Si un atributo M viola la condicin de 1FN, tenemos
dos opciones.
Normalizacin:1FN
Solucin 1, duplicar los valores repetidos:Siguiendo el
ejemplo, tendramos el siguiente esquema para la nueva tabla
EMPLEADOS'(a) con clave primaria (nss, email):
Normalizacin:1FN
Solucin 2: separar el atributo que viola 1FN en una
tabla: tendramos el siguiente esquema para la nueva
tabla EMPLEADOS'(b)


Normalizacin:1FN
Y adems tendramos una nueva tabla EMAILS con
clave primaria (nss, email):
Normalizacin: 2FN
Un esquema est en 2FN si:

Est en 1FN.

Todos sus atributos que no son de la clave principal
tienen dependencia funcional completa respecto de
todas las claves existentes en el esquema. En otras
palabras, para determinar cada atributo no clave se
necesita la clave primaria completa, no vale con una
subclave.

Normalizacin: 2FN
La 2FN se aplica a las relaciones que tienen claves
primarias compuestas por dos o ms atributos.

Si una relacin est en 1FN y su clave primaria es
simple (tiene un solo atributo), entonces tambin
est en 2FN.

Normalizacin: 2FN
Por tanto, de las soluciones anteriores, la tabla
EMPLEADOS'(b) est en 1FN (y la tabla EMAILS no
tiene atributos no clave), por lo que el esquema est
en 2FN.

Sin embargo, tenemos que examinar las
dependencias funcionales de los atributos no clave
de EMPLEADOS'(a).

Normalizacin: 2FN
Las dependencias funcionales que tenemos son las
siguientes:

nss->nombre, salario, email
puesto->salario

Como la clave es (nss, email), las dependencias de
nombre, salario y email son incompletas, por lo que
la relacin no est en 2FN.
Normalizacin: 3FN
Una relacin est en tercera forma normal si, y slo
si:

est en 2FN

y, adems, cada atributo que no est incluido en la
clave primaria no depende transitivamente de la
clave primaria.

Por lo tanto, a partir de un esquema en 2FN,
tenemos que buscar dependencias funcionales entre
atributos que no estn en la clave
Normalizacin: 3FN
En general, tenemos que buscar dependencias
transitivas de la clave, es decir, secuencias de
dependencias como la siguiente: K->A y A->B,
donde A y B no pertenecen a la clave.

La solucin a este tipo de dependencias est en
separar en una tabla adicional N el/los atributos B, y
poner como clave primaria de N el atributo que
define la transitividad A.
Normalizacin: 3FN
Siguiendo el ejemplo anterior, podemos detectar la
siguiente transitividad:
nss->puesto
puesto->salario
Por lo tanto la descomposicin sera la siguiente:
En la nueva tabla PUESTOS, la
clave sera el puesto, que
tambin queda como clave
ajena referenciando la tabla
EMPLEADOS. El resto de las
tablas quedan como estaban.
Normalizacin: 4FN
Cuarta Forma Normal (4NF): Una fila no debe
contener dos o ms campos multi-valorados
(aquellos que pueden contener ms de un valor
simultneamente) sobre una entidad.

La definicin de la 4NF confa en la nocin de una
dependencia multivalor. Una tabla con una
dependencia multivalor es una donde la existencia
de dos o ms relaciones independientes muchos a
muchos causa redundancia; y es esta redundancia
la que es suprimida por la cuarta forma normal.
Normalizacin: 4FN
Normalizacin:5FN
Una tabla se dice que est en 5NF si y slo si est
en 4NF y cada dependencia de unin (join) en ella
es por las llaves candidato.
Normalizacin:5FN
Concepto de Relacin
Se denomina relacin a todo aquellos vnculos que
establecen unas tablas con otras, debidos a la
aplicacin de las formas normales.


Propiedades de las relaciones
Cada relacin tiene un nombre y ste es distinto del
nombre de todas las dems. En el modelo
relacional este nombre es intrnseco, no se
identifica como otra entidad.

Los valores de los atributos son atmicos: en cada
tupla, cada atributo toma un solo valor. Se dice que
las relaciones estn normalizadas.

No hay dos atributos que se llamen igual.

Propiedades de las relaciones
El orden de los atributos no importa: los atributos no
estn ordenados.

Cada tupla es distinta de las dems: no hay tuplas
duplicadas.

El orden de las tuplas no importa: las tuplas no
estn ordenadas.

Cardinalidad
Cardinalidad
Cardinalidad
Reglas de Integridad
Ninguno de los atributos que componen la clave
primaria puede ser nulo.

Si en una relacin hay alguna clave ajena, sus
valores deben coincidir con valores de la clave
primaria a la que hace referencia, o bien, deben ser
completamente nulos.

S-ar putea să vă placă și