Vous êtes sur la page 1sur 100

Base de Datos

Base de Datos

Objetivos del Curso


Al finalizar este curso ud. debera ser capaz de: Comprender los conceptos de RDBMS. Explicar el proceso de diseo de base de datos y el modelo conceptual. Definir normalizacin y entender la necesidad de normalizar. Entender SQL y tablas de datos. Trabajar con SQL avanzado y explicar sus conceptos, tales como claves primaria y fornea. Entender los fundamentos de MySQL y sus capacidades. Entender los fundamentos de PostgreSQL y sus capacidades. Explicar cmo crear y administrar objetos de la base de datos.
Copyright IBM Corp. 2007 2

Objetivos del Curso ...1


Explicar los tipos de datos y definiciones de columnas. Explicar el acceso a la base de datos y conceptos de

seguridad.

Copyright IBM Corp. 2007 3

Volumen 1

Fundamentos de RDBMS

Unidad 1

Introduccin a RDBMS

Copyright IBM Corp. 2007 5

Objetivos de Aprendizaje Al finalizar esta unidad ud. debera ser capaz de: Definir una base de datos. Describir el DBMS. Enumerar los diversos modelos de datos. Trabajar con RDBMS. Describir los fundamentos de la Administracin de Transacciones. Explicar la necesidad de las propiedades ACID de una transaccin.

Copyright IBM Corp. 2007 6

Inicio del Manejo de datos Gran cantidad de datos organizados en dispositivos de almacenamiento secundarios (discos y cintas) como archivos de datos.

Los archivos de datos llamados tambin archivos planos, son una coleccin de registros, cada uno teniendo un conjunto de campos.
Las relaciones en los archivos de datos deben ser manejadas por los programadores. Dependiendo de la aplicacin, los archivos de datos se pueden organizar como archivos secuenciales o archivos de acceso aleatorio. Los archivos de datos son completamente dependientes del dispositivo fsico que se utilice.
Copyright IBM Corp. 2007 7

Desventajas de Archivos Planos

No Concurrencia: Los datos no pueden ser accedidos y modificados por ms de una persona a la vez.
No Integridad: Si ms de una aplicacin utiliza la misma informacin, los datos pueden ser corrompidos.

No Relacin entre Datos: Es difcil establecer relaciones entre los datos.


No Reutilizacin: Un archivo plano diseado para un sistema no se puede reutilizar para otro sistema. Baja Seguridad: Es difcil establecer niveles altos de seguridad sobre los datos que se almacenan en los archivos planos.

Copyright IBM Corp. 2007 8

Qu es una Base de Datos?

Cmo puedo almacenar diferentes tipos de datos juntos?

Copyright IBM Corp. 2007 9

Qu es una Base de Datos? 1 Coleccin organizada de datos interrelacionados: Organizado:


Manera en que los datos necesitan ser almacenados.

Coleccin:
Grupo de datos. Colecciones de datos que pertenecen a diversos tipos de datos.

Inter-relacionado:
Datos que proporcionan informacin razonable y coherente.

Copyright IBM Corp. 200710

Qu es una Base de Datos? 2

Ejemplo

ID de Estudiante
Nombre de Estudiante Edad ID de Estudiante Foto de Estudiante

No. de Curso

Nombre de Curso
No. de Curso ID de Estudiante Notas

Copyright IBM Corp. 200711

Qu es una Base de Datos? 3 Una base de datos se usa para almacenar y recuperar grandes cantidades de datos.

8000 Estudiantes

32200 Notas

8000 Fotos de Estudiantes

- Fsicamente, los datos en una computadora se almacenan en forma de archivos. - Es una coleccin computarizada de datos, almacenados como archivos de datos.
Copyright IBM Corp. 200712

Sistema Administrador de Base de Datos Se requiere de un sistema apropiado para administrar una base de datos. Las tareas incluyen:
Recuperar datos. Agregar datos. Modificar datos. Remover datos.

Un DBMS se puede definir como un sistema que trabaja sobre las bases de datos, adems ayuda a los usuarios a administrar la base de datos de acuerdo a sus necesidades.

Copyright IBM Corp. 200713

Propiedades de un DBMS Proporciona al programador funcionalidades:


Para crear bases de datos. Para

agregar, modificar y eliminar hacia/desde una base de datos.

elementos

Para ordenar registros en una base de datos.

Proporciona comandos especiales para llevar a cabo tareas sin programacin de bajo nivel. Proporciona independencia de datos.

Copyright IBM Corp. 200714

Independencia de Datos Independencia de datos fsica: Los programas de aplicacin que usan la base de datos no deben ser afectados por cambios en la organizacin fsica subyacente de la base de datos. Independencia de datos lgica: Capacidad de cambiar el esquema lgico de la base de datos sin causar que las aplicaciones se reescriban.

Copyright IBM Corp. 200715

Modelo de Datos Un modelo de datos es la estructura subyacente de una base de datos. En esta unidad, se estudian los modelos lgicos basados en registros.

Los modelos lgicos basados en registros son llamados as porque la base de datos es estructurada en torno a registros.

Modelos Lgicos basados en registros

Copyright IBM Corp. 200716

Modelo Relacional

Una o ms tablas representan datos y las relaciones entre diversos datos.

Una tabla es una coleccin de registros en una base de datos.


Una tabla tiene mltiples columnas.

Cada columna tiene un nombre nico y contiene conjuntos de datos.


Cada conjunto se llama fila.

El valor de los datos se obtiene por la interseccin de una fila y una columna.

Copyright IBM Corp. 200717

Modelo Relacional1
RegistrosdeEstudiante
IDEstudiante NombreEstudiante Hospedaje CodigoDisciplina

93PS274 97PS087

James Alice

Ram Bhawan Meera Bhawan

A1 A2

CodigosdeDisciplina
CodigoDisciplina Disciplina

A1 A2

Ingeniera Qumica Ingeniera Civil

Copyright IBM Corp. 200718

Caractersticas del Modelo Relacional


Coleccin de tablas que contienen los datos que forman la base de RDBMS. Es soportado por un modelo matemtico formal:

Algebra Relacional. Clculo Relacional.

Soporta eficientes maneras administracin de datos. Operaciones relacionales:


de

recuperacin

Seleccionar (Select). Proyectar (View). Unir (Join).

Operaciones de conjuntos:

Unin. Interseccin. Producto Cartesiano.

Capacidad de hacer cumplir las restricciones de integridad de datos.


Copyright IBM Corp. 200719

Modelo de Red Los datos se representan mediante una coleccin de registros. Las relaciones entre los datos se representan por enlaces. Los enlaces pueden ser vistos como punteros. Los registros en la base de datos se organizan en una coleccin de grafos arbitrarios.

Copyright IBM Corp. 200720

Modelo de Red1

93PS274 James

Ram Bhawan

A1 A1 Ingeniera Qumica

97PS087 Alice

Meera Bhawan A2

97PS086 Anitha

Meera Bhawan A1 A2 Ingeniera Civil

97PS085 Jose

Meera Bhawan A2

Copyright IBM Corp. 200721

Modelo Jerrquico Similar al Modelo de Red.

Los datos se representan mediante una coleccin de registros.


Las relaciones entre los datos se representan por enlaces. Los registros estn organizados como una coleccin de rboles en vez de grafos arbitrarios.

Copyright IBM Corp. 200722

Modelo Jerrquico1

93PS274

James
97PS087

Ram Bhawan
Alice

A1
A2 A1 A2

Meera Bhawan Anitha

97PS086

Meera Bhawan 97PS085 Jose

A1 Ingeniera Qumica

A2 Ingeniera Civil

A1 Ingeniera Qumica

A2 Ingeniera Civil

Copyright IBM Corp. 200723

Modelo Relacional Vs. Otros Los otros modelos estn estrechamente ligados con la implantacin subyacente de la base de datos. El Modelo Relacional es superior porque soporta la independencia de datos. El Modelo Relacional establece relaciones entre los registros segn los valores que contienen.

Los otros usan punteros y enlaces complejos.

Copyright IBM Corp. 200724

Qu es un RDBMS? RDBMS es un DBMS basado en el modelo relacional.

Organiza los datos y las relaciones entre los datos en tablas que se componen de columnas y filas.
Permite la definicin de las estructuras de datos, de las operaciones de almacenamiento y recuperacin, adems de las restricciones de integridad. Ciertos campos pueden ser designados CLAVES para acelerar la bsqueda. como

Copyright IBM Corp. 200725

Proveedores de RDBMS
Proveedor Producto ltima Versin 9.7 2009 11g PIN SQL ultima 11 y tenemos 5.0 5.0.28enterprise 2010 9.1.4

IBM Oracle Corporation Microsoft MySQL

DB2 UDB Oracle Microsoft Server MySQL

PostgreSQL

PostgreSQL

Copyright IBM Corp. 200726

Administracin de Transacciones

Una transaccin es una coleccin de operaciones que realiza una nica unidad lgica de trabajo.
Una transaccin se considera incompleta si todas las operaciones no ocurren. La administracin de transacciones implica algunas propiedades importantes llamadas propiedades ACID (Atomicity, Consistency, Isolation, and Durability). Una serie de operaciones ocurre entre las sentencias BEGIN TRANSACTION y END TRANSACTION
Copyright IBM Corp. 200727

Atomicidad

Una transaccin se ejecuta exactamente una vez. Una transaccin es atmica; es decir, cuando se hace todo el trabajo o no se hace nada.

Copyright IBM Corp. 200728

Consistencia Una transaccin es una unidad de integridad porque: Preserva la consistencia de datos. Transforma un estado consistente de datos en otro estado consistente. La consistencia requiere que los datos comprometidos con una transaccin se preserven semnticamente.

Copyright IBM Corp. 200729

Aislamiento Una transaccin aislamiento. es tambin una unidad de

La Administracin de Transacciones permite que las transacciones concurrentes se comporten como si cada una fuera la nica transaccin ejecutndose en el sistema.

El aislamiento requiere que parezca que slo una transaccin est manipulando la base de datos.
Una transaccin nunca debe poder ver las etapas intermedias de otra transaccin.

Copyright IBM Corp. 200730

Durabilidad Una transaccin es tambin una unidad de recuperacin. Si una transaccin tiene xito, el sistema garantiza que persistirn sus actualizaciones.

Este requisito durabilidad.

de

persistencia

se

llama

Copyright IBM Corp. 200731

Ventajas de RDBMS La redundancia de datos puede ser minimizada. La integridad, la seguridad y la consistencia de los datos pueden ser aseguradas. Mejor rendimiento en recuperacin de datos. el almacenamiento y

Se aseguran operaciones fciles de manipulacin de datos.


Los datos pueden ser distribuidos.

Los datos pueden ser adaptados a los cambios del modelo del negocio.

Copyright IBM Corp. 200732

Resumen Se defini qu es una base de datos. Se describi qu es el DBMS.

Se presentaron los diversos modelos de datos.


Se explic que significa trabajar con un RDBMS. Se presentaron los fundamentos de la Administracin de Transacciones. Se explic la necesidad de las propiedades ACID de una transaccin.

Copyright IBM Corp. 200733

Unidad 2

Diagrama Entidad-Relacin

Copyright IBM Corp. 200734

Objetivos de Aprendizaje Al finalizar esta unidad ud. debera ser capaz de: Explicar los conceptos de diseo de base de datos. Enumerar los pasos para el diseo de base de datos. Discutir acerca de las entidades y sus relaciones. Describir los diagramas Entidad-Relacin (ER) y sus notaciones. Indicar las pautas para construir un modelo ER. Transformar Diseo Conceptual a Diseo Lgico.

Copyright IBM Corp. 200735

Diseo de Base de Datos Cmo se decide el nmero de tablas?

Qu datos se almacenan en una tabla particular?


Se debe formular el diseo del contenido de las tablas que pueden almacenar los datos. El proceso de formulacin se denomina proceso de diseo de base de datos.

Copyright IBM Corp. 200736

Pasos para el Diseo de una Base de Datos

Diseo Fsico Diseo Lgico Diseo Conceptual Recoleccin y Anlisis de Requerimientos

Copyright IBM Corp. 200737

El Modelo Conceptual

Modelacin de Datos

Diagramas ER

Entidades y Relaciones
Copyright IBM Corp. 200738

Modelacin de Datos El propsito principal de la identificacin de entidades es la produccin del Diagrama EntidadRelacin (ER) que:

Muestra la naturaleza de las relaciones significativas que existen entre los tipos de entidades. Es una representacin en la aplicacin del mundo real.

Copyright IBM Corp. 200739

Entidades y Relaciones Las entidades son objetos del mundo real que son relevantes al sistema de informacin. Las propiedades de una entidad son sus Atributos, que determinan los datos que deben ser almacenados. Considere como ejemplo un tipo de entidad carro con los atributos:

Nro-Reg (nmero de registro del carro) Modelo Capacidad del motor Color

Los datos reales se pueden describir como los valores de los atributos de las entidades.

Copyright IBM Corp. 200740

Entidades y Relaciones1 Un atributo nico de un tipo de entidad se llama clave o el identificador de la entidad. Dos o ms atributos juntos designados como la clave forman una clave compuesta. El identificador o clave debe identificar unvocamente un registro. Las entidades son asociadas por relaciones. En la sentencia, un cliente ha pedido ciertas mercancas, ha pedido es la relacin.

Copyright IBM Corp. 200741

Por qu Diagramas de Entidad Relacin? La modelacin ER es una buena ayuda para disear bases de datos.

Un modelo ER es una representacin grfica del sistema.


Es un modelo de datos conceptual de alto nivel.

Un modelo ER tambin soporta la percepcin de los datos por un usuario.


Es independiente de la plataforma particular del DBMS y del hardware.

Copyright IBM Corp. 200742

Componentes de un Diagrama de Entidad Relacin

Entidad

Relacin

Copyright IBM Corp. 200743

Entidades

Nombre de Entidad
Representa una coleccin de objetos. Los miembros (instancias) tienen ciertas caractersticas como un objeto.

Pueden ser fcilmente identificados.


Juega un papel necesario.

Copyright IBM Corp. 200744

Entidades 1

Dos tipos de entidades:

Entidad Fuerte

Entidad Dbil

Copyright IBM Corp. 200745

Relaciones Las entidades estn conectadas unas a otras a travs de relaciones. Las relaciones representan un conjunto de conexiones entre objetos.

Nombre de Relacin

Copyright IBM Corp. 200746

Relaciones entre Entidades

Estudiante

Escribe

Examen

Copyright IBM Corp. 200747

Cardinalidad

Especifica si una entidad est relacionada con una o ms instancias de otra entidad en una misma relacin.

Copyright IBM Corp. 200748

Relacin Uno a Uno Tambin se denota por 1:1. Un hombre se puede casar slo con una mujer y una mujer se puede casar slo con un hombre.

Hombre

Se casa con

Mujer

Copyright IBM Corp. 200749

Relacin Uno a Muchos Tambin se denota por 1:M o M:1. Una madre puede dar a luz a muchos nios. Un nio puede tener solamente una madre biolgica.

Madre

Tiene

Nio

Copyright IBM Corp. 200750

Relacin Muchos a Muchos Tambin se denota por M:N. Ms de una persona puede ser autor de un libro. Un autor puede escribir muchos libros.

Libro

Tiene

Autor

Copyright IBM Corp. 200751

Opcionalidad Una relacin puede ser opcional o mandatoria. La opcionalidad puede ser diferente a cada lado de la relacin.

Un estudiante no puede existir sin un curso.


Un curso puede existir antes de que los estudiantes se hayan matriculado.

Estudiante

Estudia

Curso

Copyright IBM Corp. 200752

Desarrollar un Diagrama de Entidad Relacin (ER) Considere un Sistema de Orden de Compra. Identifique las entidades del sistema. stas son:
- Proveedor. - Orden de Compra. - Artculo.

Copyright IBM Corp. 200753

Desarrollar un Diagrama de ER 1
Orden de

Proveedor

Obtiene

Compra

Relacin (1:M) Proveedor:Orden de Compra

Proveedor

Suministra

Artculo

Relacin (M:N) Proveedor:Artculo


Orden de Compra

Contiene

Artculo

Relacin (M:N) Orden de Compra: Artculo


Copyright IBM Corp. 200754

Desarrollar un Diagrama de ER 2

Proveedor

Obtiene

Orden de Compra

Contiene

Suministra

Artculo

Diagrama ER de un Sistema de Orden de Compra

Copyright IBM Corp. 200755

Atributos
Nombre del Atributo

Todos los datos referentes a una entidad estn contenidos en sus atributos.
Un atributo es alguna propiedad de la entidad que es interesante en un contexto especfico. El valor del atributo se almacena en la base de datos Cada instancia del conjunto de entidades tendr el mismo conjunto de atributos, pero puede contener valores diferentes.

Copyright IBM Corp. 200756

Mostrar los Atributos en un Diagrama de ER

Id del Estudiante

Nombre del Estudiante

Estudiante

Copyright IBM Corp. 200757

Mostrar las Claves en un Diagrama de ER

Id del Estudiante

Nombre del Estudiante

Estudiante

Una clave identifica de manera nica las ocurrencias de un tipo de entidad. Una clave candidata es un candidato potencial a convertirse en una clave primaria. La clave candidata seleccionada como identificador se conoce como clave primaria. el

Copyright IBM Corp. 200758

Diagrama ER
Nombre Empleado Id Empleado

Empleado

tien e Dependiente

Trabaja en

Trabaja para

Proyecto

Controla

Departamento

Nombre

Sexo Nombre Proyecto Relacin Id Proyecto Nombre Dept Id Dept

Copyright IBM Corp. 200759

Grados de una Relacin Relacin Unaria

Empleado

Supervisa

El nmero de entidades que participan en la relacin es uno.

Copyright IBM Corp. 200760

Relacin Binaria

Factura

Contiene

Artculo

El nmero de entidades que participan en la relacin es dos

Copyright IBM Corp. 200761

Relacin Ternaria

Empleado

Computadora

Relacin Empleado Computadora Proyecto

Proyecto

Copyright IBM Corp. 200762

Pasos para Construir un Diagrama de ER

Identifique las entidades.


Elimine las entidades duplicadas. Enumere los atributos de cada entidad.

Marque las claves primarias.


Defina las relaciones. Examine cada tipo de entidad para determinar cmo se relaciona con otras entidades. Describa la cardinalidad de las relaciones. Elimine las relaciones redundantes.

Copyright IBM Corp. 200763

Transformacin del Diseo Conceptual al Diseo Lgico


Relacin 1:1
Modelo Serial IdCertificado

FechaEmision

Color

Carro tiene
Marca Tipo Ao

CertificadodeCir culacion

Placa

Idpropietario

Clave Fornea
Tabla Carro Serial Modelo Color Placa Ao Marca IdCertificado

Clave Primaria
IdCertificado

Tabla CertificadodeCirculacion IdPropietario Tipo FechaEmisin

Clave Primaria

Copyright IBM Corp. 200764

Transformacin del Diseo Conceptual al Diseo Lgico1


Relacin 1:M o M:1
Modelo Serial IdPuerta

Color

Carro

tiene

Puerta

Placa Ao

Marca

Tipo

Color

Tabla Carro Serial Modelo Color Placa Ao Marca

Clave Fornea

Clave Primaria
IdPuerta Tipo

Tabla Puerta Color Serial

Clave Primaria

Copyright IBM Corp. 200765

Transformacin del Diseo Conceptual al Diseo Lgico 1


Relacin M:N
Titulo cant_paginas Idlibro Idautor FechaNac

Libro
Genero Ao Editorial

tiene

Autor

Direccion

Nombre

Apellido

Tabla Autor Idautor Nombre Apellido Direccion FechaNac

Clave Primaria

Clave Primaria

Tabla Libro Idlibro Titulo cant_paginas Genero Ao Editorial

Tabla Relacin Clave Primaria Compuesta


Tabla Autor-Libro Idautor Idlibro
Copyright IBM Corp. 200766

Resumen Se explicaron los conceptos necesarios para realizar el diseo de base de datos. Se describieron los pasos para el diseo de base de datos. Se estudiaron los conceptos de entidades y sus relaciones.

Se describieron los diagramas ER y sus notaciones.


Se presentaron las pautas para construir un modelo ER.

Se mostraron las maneras de cmo transformar Diseo Conceptual en Diseo Lgico.


Copyright IBM Corp. 200767

Unidad 3

Normalizacin de la Base de Datos

Copyright IBM Corp. 200768

Objetivos de Aprendizaje Al finalizar esta unidad ud. debera ser capaz de:

Explicar la normalizacin. Describir la importancia de la normalizacin en las bases de datos. Apreciar la necesidad de la normalizacin en las bases de datos. Discutir diversas clases de formas normales.

Copyright IBM Corp. 200769

Normalizacin Normalizacin es el proceso de organizar los datos para minimizar la duplicacin. Generalmente, implica dividir una base de datos en dos o ms tablas y definir las relaciones entre ellas. El objetivo es aislar los datos en una tabla.

Copyright IBM Corp. 200770

Proceso de Normalizacin Tabla Estudiante


ID Estudi ante

Nombre Estudiante

Ubicaci nDomicili o

ID Curso

Curso

S101

Joseph Daniel

New York

CS201

Sistema de Administracin de Base de Datos Anlisis y Diseo Orientado a Objetos Anlisis y Diseo Orientado a Objetos

S102

Jerry Jones

San Jose

CS202

S101

Joseph Daniel

New York

CS202

S103

Carl Baker

Washingt on

CS203

Ingeniera de Software

Copyright IBM Corp. 200771

Proceso de Normalizacin1 Hay un requerimiento del negocio que solicita cambiar el nombre del curso Anlisis y Diseo Orientado a Objetos a Anlisis Orientado a Objetos. Cmo puede ser incorporado este cambio? Se puede evitar la duplicacin si se divide la tabla Estudiante en dos tablas diferentes y despus se enlazan con una relacin de tabla.

Copyright IBM Corp. 200772

Proceso de Normalizacin2

Tabla Estudiante
ID Estudiante S101 S102 Nombre Estudiante Joseph Daniel Jerry Jones Ubicacin Casa New York San Jose

S103

Carl Baker

Washington

Copyright IBM Corp. 200773

Proceso de Normalizacin3

Tabla Curso
ID Curso
CS201

Curso
Sistema de Administracin de Base de Datos Relacional Anlisis y Diseo Orientado a Objetos Ingeniera de Software

CS202
CS203

Copyright IBM Corp. 200774

Proceso de Normalizacin4

Tabla Estudiante-Curso
ID Estudiante ID Curso

S101
S101 S102 S103

CS201
CS202 CS202 CS203

Copyright IBM Corp. 200775

Descomposicin sin Prdida Loss-Less Join Los datos deben ser analizados cuidadosamente antes de que se puedan dividir las tablas.

Cuando se hace una unin (join) de las tablas divididas, se debe obtener la tabla original sin normalizar.
Esta unin se llama Descomposicin sin Prdida Loss-Less Join. No debe haber prdida de datos despus de la normalizacin.

Copyright IBM Corp. 200776

Necesidad de Normalizar

Flexibilidad

Integridad de Datos

Eficiencia

Copyright IBM Corp. 200777

Primera Forma Normal 1NF Debe satisfacer las siguientes condiciones: - Los campos de variables repetidas o grupos de variables repetidas deben ser eliminados. - Todas las filas deben contener el mismo nmero Relaciones de campos.

Copyright IBM Corp. 200778

Primera Forma Normal 1NF1 Nombre Informacin de la Orden de Compra


Id Orden

Fecha Orden
11/30/1998

Cliente

Email Cliente Joe@ewr.com Joe@ewr.com Joe@ewr.com Sam@ter.com Sam@ter.com

Grado

Puntos
Credito

de Nombre entidad Cant Precio


Item
Martillo Sierra Clavos Sierra Clavos
Reque

Unitario

1 1 1 2 2

Joe Smith Joe Smith Joe Smith Sam Sam

A A A B B

1 1 1 4 4

5 10 15 20 25

$25 $30 $40 $30 $40

11/30/1998

11/30/1998

12/3/1998 12/3/1998

Copyright IBM Corp. 200779

Problemas por no estar en Primera Forma Normal 1NF Suponga que se necesita cambiar la direccin Email del Cliente Joe Smith. Nombre de Se debe cambiar en 3 Relacin lugares. Esto sera bastante extenso cuando el cliente coloca x rdenes con y items cada uno. Se tendra que cambiar en x*y lugares.

Copyright IBM Corp. 200780

Aplicar 1NF

Tabla Orden en 1NF


IdOrden Fecha orden Cliente EmailCliente Grado Puntos Credito

11/30/1998

Joe Smith

joe@iewr.com

Estudiante
2 12/3/1998 Sam

Escribe
sam@ter.com B

Examen
4

Copyright IBM Corp. 200781

Aplicar 1NF1

Tabla ArtculoOrden
IdOrden 1 1 1 2 2 NombreItem Martillo Sierra Clavos Sierra Clavos Cant Reque 5 10 15 20 25 Precio Unitario $25 $30 $40 $30 $40

Copyright IBM Corp. 200782

Segunda Forma Normal 2NF Un diseo relacional se dice que est en segunda forma normal (2NF) si, y slo si, est en 1NF y adems, cada columna que no est en la clave primaria es dependiente totalmente de la clave primaria. Se casa Hombre La 2NF se aplica a las con tablas que tienen Mujer claves primarias compuestas por dos o ms columnas. Si una Tabla est en 1NF y su clave primaria es simple (tiene una sola columna), entonces tambin est en 2NF.

Copyright IBM Corp. 200783

Segunda Forma Normal 2NF1 La Tabla Orden est en 2FN, ya que su clave primaria es simple. La Tabla ArticuloOrden tiene como clave primaria a las columnas IdOrden y NombreItem, en este caso se aplica la 2NF.

Copyright IBM Corp. 200784

Segunda Forma Normal 2NF2 La tabla ArticuloOrden se divide en 2 Tablas: DetalleOrden Item
Tabla DetalleOrden
IdOrden 1 1 1 2 2 IdItem 1 2 3 2 3 Cant Reque 5 10 15 20 25 Precio UnitarioVenta $25

$30
$40 $30 $40

Copyright IBM Corp. 200785

Segunda Forma Normal 2NF3 En la tabla tem se crea el campo IdItem para identificar unvocamente los registros.

Tabla Item
IdItem 1 2 3 Nombre Item Martillo Sierra Clavos Precio Unitario Tiene $25 $30 $40

Autor

Copyright IBM Corp. 200786

Tercera Forma Normal 3NF Para que un diseo relacional est en 3NF, tiene que estar en 2NF. Cada columna no-clave tiene que ser mutuamente independiente. No debe tener ninguna dependencia transitiva.

Copyright IBM Corp. 200787

Dependencia Transitiva Si se tiene tres columnas A, B y C en una tabla, donde A es la columna clave. La dependencia puede ser especificada como: A =>B, C

Si B depende de A, y C depende de B, entonces C tambin depende de A.


Esta clase de dependencia se llama Dependencia Transitiva.

Copyright IBM Corp. 200788

Por qu no es 3NF? Las columnas no-clave PuntosCredito y Grado noNombre son del mutuamente independientes. Atributo Las columnas no-clave cliente y emailCliente no son mutuamente independientes.

Tabla Orden
IdOrden 1 Fecha orden 11/30/1998 Cliente Joe Smith EmailCliente joe@iewr.com Grado A Puntos Credito 1

12/3/1998

Sam

sam@ter.com

Copyright IBM Corp. 200789

Tabla Cliente en 3NF

Tabla Cliente
IdCliente 1 2 Cliente Joe Smith Sam EmailCliente joe@iewr.com sam@ter.com Puntos Credito

Nombre del 1 Estudiante


4

Estudiante

Copyright IBM Corp. 200790

Tabla PuntosCredito en 3NF


Tabla PuntosCredito
Id del Estudiante Puntos Credito Grado Nombre del Estudiante

1
2 3 4 5 6

A Nombre del Estudiante A


A B B B

7
8 9

C
C C

Copyright IBM Corp. 200791

Tabla Orden en 3NF

Tabla Orden
IdOrden 1 2 FechaOrden 11/30/1998 12/3/1998

Nombre del Estudiante IdCliente 1 2

Madre

Tiene

Nio

Copyright IBM Corp. 200792

Cuarta Forma Normal 4NF Tiene que estar en 3NF.

La tabla no debe contener dos o ms columnas independientes de mltiples valores (multivaluadas).

Persona

PaisesVisitados

PremiosRecibidos

Copyright IBM Corp. 200793

Una Tabla Ambigua

Persona Scott Scott Scott

PaisesVisitados Germany France

PremiosRecibidos

Grammy

Scott
Scott

Oscar
Premio Nobel

Copyright IBM Corp. 200794

4NF Datos de la Tabla PaisesVisitados

Tabla PaisesVisitados

Persona Scott Scott

PaisesVisitados Germany France

Copyright IBM Corp. 200795

4NF Datos de la Tabla PremiosRecibidos

Tabla PremiosRecibidos

Persona
Scott Scott

PremiosRecibidos
Grammy Oscar

Scott

Premio Nobel

Copyright IBM Corp. 200796

Factores que afectan la Normalizacin Datos univaluados versus multievaluados.

Dependencia completa de la clave.


Hechos independientes contra hechos dependientes. La presencia de restricciones mutuas. La presencia de representaciones no nicas o no singulares.

Copyright IBM Corp. 200797

Resumen Se explic qu es la normalizacin.

Se present la importancia de la normalizacin en las bases de datos.


Se present la necesidad de la normalizacin en las bases de datos. Se explicaron las diferentes clases de formas normales.

Copyright IBM Corp. 200798

Unidad 4

Laboratorio de Diseo de Base de Datos

Copyright IBM Corp. 200799

Unidad 5

Laboratorio de Modelado de Base de Datos

10 Copyright IBM Corp. 2007 0