Sei sulla pagina 1di 36

BASE DE DATOS I

Normalizacin

Modelo Relacional
En 1970, el modo en que se
vean las bases de datos
cambi por completo cuando
E. F. Codd introdujo el modelo
relacional.
En aquellos momentos, el
enfoque existente para la
estructura de las bases de
datos utilizaba punteros fsicos
(direcciones de disco) para
relacionar
registros
de
distintos archivos.
2

Modelo Relacional
Codd demostr que estas bases
datos limitaban en gran medida
tipos
de
operaciones
que
usuarios podan realizar sobre
datos.

de
los
los
los

Adems, estas bases de datos eran


muy vulnerables a cambios en el
entorno fsico, considerndose como
modelos lgicos y siendo la primera
generacin de los SGBD.
3

Modelo Relacional

El
modelo
relacional
representa
la
segunda
generacin de los SGBD.
En l, todos los datos estn
estructurados a nivel lgico
como tablas formadas por filas
y columnas, aunque a nivel
fsico
pueden
tener
una
estructura
completamente
4
distinta.

Modelo Relacional

OBJETIVO
Se propone un modelo relacional de
datos como una base para proteger a
los usuarios de sistemas de datos
formateados de los cambios que
potencialmente pueden alterar la
representacin de los datos, causados
por el crecimiento del banco de datos y
por los cambios en los caminos de
acceso.
5

Estructura del Modelo Relacional


Campo, Atributo, Columna

Registro, Fila, Tupla


6

Modelo Relacional en Tablas

Modelo Relacional en Tablas

Estructura del Modelo Relacional


Relacin: es la estructura bsica del modelo
relacional. Se representan utilizando tablas.
Atributo: son las propiedades de la relacin. Se
representan mediante columnas en las tablas.
Dominio: conjunto de valores sobre los que se
define el tipo de un atributo.
Tupla: ocurrencia de la relacin. Se representa
mediante filas dentro de las tablas.
9

Estructura del Modelo Relacional


CONSIDERACIONES
1. No hay dos filas (tuplas) iguales.
2. El orden de las filas no es significativo
Los puntos 1 y 2 se deben a que la relacin es un
conjunto.
3. El orden de las columnas no es significativo.
4. Cada valor dentro de la relacin (cada valor de un
atributo) es un dato atmico (o elemental).

10

D.E.R. PROVEEDOR-PRODUCTO

NOMBREPROV
NROPROV

NOMBREPROD

DISTPROV

TIPOPROV

PROVEDORES

CANTIDAD

SP

PRECIOPROD

NROPROD

PESOPROD

PRODUCTOS

11

CONVERSION DEL D.E.R.


A MODELO RELACIONAL
SP

PROVEEDORES
NROPROV

NOMBREPROV

TIPOPROV

DISTRITOPROV

NRPROD

NROPROV

CANTIDAD

S1

PREZ

30

SAN ISIDRO

S1

P1

S2

RAMOS

10

SURCO

S1

P2

S3

ARENAS

20

SAN ISIDRO

S4

VALLE

20

LINCE

S1

P3

S1

P4

S2

P1

S2

P2

S2

P3

S3

P3

S3

P5

S4

P2

PRODUCTOS
NRPROD

NOMBREPROD

PRECIOPROD

PESOPROD

P1

CLAVO

0.10

12

P2

TUERCA

0.15

17

P3

MARTILLO

3.50

80

P4

TORNILLO

0.20

10

S4

P4

P5

ALICATE

2.00

50

S4

P5

12

Ventajas del Modelo Relacional


1. Simplicidad, pues el usuario formula
sus
demandas
en
trminos
del
contenido informativo de la BD sin
tener que atender a las complejidades
de
la
realizacin
del
sistema:
Independencia de los datos.
2. La informacin se maneja en forma de
tablas, lo que constituye una manera
familiar de representarla.
13

Operaciones en el Modelo Relacional


1. Creacin: Aadir un producto P6. Se agrega la nueva
ocurrencia en la tabla PRODUCTOS: Es posible hacerlo
aunque ningn proveedor lo suministre.

PRODUCTOS
PNRO

NOMBRE

PRECIO

PESO

P1

CLAVO

0.10

12

P2

TUERCA

0.15

17

P3

MARTILLO

3.50

80

P4

TORNILLO

0.20

10

P5

ALICATE

2.00

50

14

Operaciones en el Modelo Relacional


1. Creacin: Aadir un producto P6. Se agrega la nueva
ocurrencia en la tabla PRODUCTOS: Es posible hacerlo
aunque ningn proveedor lo suministre.

PRODUCTOS
PNRO

NOMBRE

PRECIO

PESO

P1

CLAVO

0.10

12

P2

TUERCA

0.15

17

P3

MARTILLO

3.50

80

P4

TORNILLO

0.20

10

P5

ALICATE

2.00

50

P6

ALAMBRE

1.00

20
15

Operaciones en el Modelo Relacional


2. Eliminacin: Supresin del Proveedor S1 y su detalle,
sin perder los productos P1, P2, P3 y P4.
SP

PROVEEDORES
SNRO

NOMBRE

TIPO

DISTRITO

SNRO

PNRO

CANTIDAD

S1

PREZ

30

SAN ISIDRO

S1

P1

S2

RAMOS

10

SURCO

S1

P2

S3

ARENAS

20

SAN ISIDRO

S1

P3

S4

VALLE

20

LINCE

S1

P4

S2

P1

S2

P2

S2

P3

S3

P3

S3

P5

PRODUCTOS
PNRO

NOMBRE

PRECIO

PESO

P1

CLAVO

0.10

12

P2

TUERCA

0.15

17

P3

MARTILLO

3.50

80

P4

TORNILLO

0.20

10

S4

P2

P5

ALICATE

2.00

50

S4

P4

P5

S4

16

Operaciones en el Modelo Relacional


2. Eliminacin: Supresin del Proveedor S1 y su detalle,
sin perder los productos P1, P2, P3 y P4.
SP

PROVEEDORES
SNRO

NOMBRE

TIPO

DISTRITO

SNRO

PNRO

CANTIDAD

S2

RAMOS

10

SURCO

S2

P1

S3

ARENAS

20

SAN ISIDRO

S2

P2

S4

VALLE

20

LINCE

S2

P3

S3

P3

S3

P5

S4

P2

S4

P4

S4

P5

PRODUCTOS
PNRO

NOMBRE

PRECIO

PESO

P1

CLAVO

0.10

12

P2

TUERCA

0.15

17

P3

MARTILLO

3.50

80

P4

TORNILLO

0.20

10

P5

ALICATE

2.00

50
17

Operaciones en el Modelo Relacional


3. Modificacin: Cambiar el precio del producto P2 sin
necesidad de bsquedas adicionales ni posibilidad de
inconsistencias.

PRODUCTOS
PNRO

NOMBRE

PRECIO

PESO

P1

CLAVO

0.10

12

P2

TUERCA

0.15

17

P3

MARTILLO

3.50

80

P4

TORNILLO

0.20

10

P5

ALICATE

2.00

50

18

Operaciones en el Modelo Relacional


3. Modificacin: Cambiar el precio del producto P2 sin
necesidad de bsquedas adicionales ni posibilidad de
inconsistencias.

PRODUCTOS
PNRO

NOMBRE

PRECIO

PESO

P1

CLAVO

0.10

12

P2

TUERCA

0.30

17

P3

MARTILLO

3.50

80

P4

TORNILLO

0.20

10

P5

ALICATE

2.00

50

19

Normalizacin

La teora de la normalizacin se ha desarrollado para


obtener estructuras de datos eficientes que eviten las
anomalas de actualizacin.

El concepto de normalizacin fue introducido por E.F.


Codd y fue pensado para aplicarse a sistemas
relacionales.

E.F. CODD
20

Normalizacin
DEFINICION
La normalizacin es la expresin formal
del modo de realizar un buen diseo.
Provee los medios necesarios para
describir la estructura lgica de los datos
en un sistema de informacin.

21

Normalizacin
FASES

Primera Forma Normal (1FN)


Segunda Forma Normal (2FN)
Tercera Forma Normal (3FN)
Forma Normal de Boyce-Codd (FNBC)
Cuarta Forma Normal (4FN)
Quinta Forma Normal (5FN) Formas

22

Normalizacin
FASES
Las relaciones en 1FN son un
subconjunto del universo de todas las
relaciones posibles. Las relaciones en 2FN
son un subconjunto de las que estn en
1FN y as sucesivamente, como se
muestra en el siguiente grfico:

23

Normalizacin
FASES
UNIVERSO DE RELACIONES
PRIMERA FORMA NORMAL
SEGUNDA FORMA NORMAL
TERCERA FORMA NORMAL
FORMA NORMAL BOYCE-CODD
CUARTA FORMA NORMAL
QUINTA FORMA NORMAL

24

Primera Forma Normal (1FN)


DEFINICION
Una relacin est en 1FN si cumple la propiedad de que sus
dominios no tienen elementos que, a su vez, sean conjuntos.
Los valores que puede tomar un atributo de una relacin son los
elementos contenidos en su correspondiente dominio. Si se
permitiera que un elemento del dominio de un atributo fuera un
conjunto, entonces dicho atributo pudiera tomar como valor ese
conjunto de valores

25

Primera Forma Normal (1FN)


CASO: diseo de la base de datos para la automatizacin del
control de los pedidos de productos.
Se cuenta con el siguiente documento para solicitar los productos:

ORDEN DE PEDIDO
FECHA:

01/06/2013

PEDIDO NRO.:

123456

NRO. CLIENTE:

75621

NOMBRE CLIENTE:

J. PEREZ

DIRECCION CLIENTE

LINCE

DESEAMOS ENVIEN:
Nmero
Producto

Descripcin

Precio
Unitario

Cantidad

Subtotal

969715

Televisor

600

600

439124

Antena

20

10

200

439126

Espiga

10

10

100

IMPORTE TOTAL:

900

26

Tener en cuenta antes de


normalizar
1.
2.
3.

Eliminar las columnas calculas


Agregar columnas (cdigo)
No tomar en cuenta para normalizar
los datos que se repiten(encabezado,
pie de pgina, logos etc. etc.) en los
documentos

27

ENCABEZADO, PIE DE
PGINA, LOGOS

28

Primera Forma Normal (1FN)


Paso 1
Se efecta un listado de Datos:
NumPed

:Nmero del pedido

FchPed
NumCli
NomCli
DirCli
NumProd
DescProd
PreUniProd
CantPed
SubTtlPed
MtoTtlPed

:Fecha en que se realiza el pedido


:Nmero del cliente
:Nombre del cliente
:Direccin del cliente
:Nmero del producto
:Descripcin del producto
:Precio unitario del producto
:Cantidad de unidades del producto que se solicita
:Monto a pagar por concepto de ese producto
:Monto a pagar por todo el pedido

Indicando la clave.

29

Primera Forma Normal (1FN)


Paso 2
Se verifica si existen grupos repetidos:
NumPed
FchPed
NumCli
NomCli
DirCli

:Nmero del pedido


:Fecha en que se realiza el pedido
:Nmero del cliente
:Nombre del cliente
:Direccin del cliente

NumProd
DescProd
PreUniProd
CantPed
SubTtlPed

:Nmero del producto


:Descripcin del producto
:Precio unitario del producto
:Cantidad de unidades del producto que se solicita
:Monto a pagar por concepto de ese producto

MtoTtlPed

:Monto a pagar por todo el pedido

Si no existen la relacin est en 1FN, de lo contrario:


30

Primera Forma Normal (1FN)


Paso 3
Se eliminan los grupos repetidos, crendose dos relaciones:

Una relacin para los campos que sean nicos; es decir,


se dejan en la relacin original slo los atributos que
no son repetitivos:
PEDIDO (NumPed, fchPed, numCli, nomCli,
dirCli, MtoTtlPed)
Una relacin para los grupos repetitivos; es decir, se
extraen en una nueva relacin los atributos
repetitivos, adems de la llave primaria de la relacin
original:
PED-PROD (NumPed, NumProd, descprod,
preuniprod, cantped, subttlped)
31

Primera Forma Normal (1FN)


01/06/2013

FECHA:

PEDIDO NRO.:

123456

NRO. CLIENTE:

75621

NOMBRE CLIENTE:

J. PEREZ

DIRECCION CLIENTE

LINCE

DESEAMOS ENVIEN:
Nmero
Producto

Descripcin

Precio
Unitario

Cantidad

Subtotal

969715

Televisor

600

600

439124

Antena

20

10

200

439126

Espiga

10

10

100

IMPORTE TOTAL:

900

Relacin Original
NumPed
123456

FchPed
01/06/2013

NumCli
75621

NomCli
J.
PEREZ

DirCli
LINCE

NumProd

DescProd

PreUniProd

CantPed

SubTtlPed

MtoTtlPed

969715,
439124,
439126

Televisor,
Antena,
Espiga

600,
20,
10

1,
10,
10

600,
200,
100

900

32

Primera Forma Normal (1FN)


Paso 3
Una relacin para los campos que sean nicos; es decir, se dejan en
la relacin original slo los atributos que no son repetitivos:
Relacin Original
PEDIDO
numped
123456

fchped

01/06/2013

numcli

nomcli

75621

J. PEREZ

dircli

mtottlped

LINCE

900

Una relacin para los grupos repetitivos; es decir, se extraen en una


nueva relacin los atributos repetitivos, adems de la llave
primaria de la relacin original:
Nueva Relacin
PED-PROD
preuniprod

numped

numprod

descprod

cantped

subttlped

123456

969715

Televisor

600

600

123456

439124

Antena

20

10

200

123456

439126

Espiga

10

10

100
33

Primera Forma Normal (1FN)


Consideraciones
1. Creacin: La informacin sobre un nuevo producto
no se puede insertar, si no hay un pedido que lo
incluya.
2. Eliminacin: Supresin de una lnea de pedido que
sea la nica que pida un producto, implica perder la
informacin del producto.
3. Modificacin: Por cada lnea de pedido en la que se
solicite
determinado
producto
se
tiene
una
ocurrencia en PED-PROD, que repite la informacin
sobre ste. Si cambia algn atributo del producto,
entonces es necesario hacer muchas actualizaciones.
34

UNIDAD 4: Normalizacin
1 FN : Eliminar los grupos
Pgina nro.
repetitivos
100

Pgina nro.
101

35

Para recordar

En el modelo relacional, tanto las entidades como las


relaciones se representan como relaciones (tablas). Las
ocurrencias (de las entidades o de las relaciones)se
almacenan como filas y las columnas son los atributos (de
las entidades o de las
relaciones).

Para toda tabla del modelo relacional se cumple lo


siguiente:
1) No hay dos filas (tuplas) iguales.
2) El orden de las filas no es significativo.
3) El orden de las columnas no es significativo.
4) Cada valor de un atributo es un dato atmico (o
elemental).

La normalizacin es la expresin formal del modo de


realizar un buen diseo. Con la aplicacin de la teora de la
normalizacin se evitan los problemas de actualizacin.
36