SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Modelo Relacional, Entidad, Relaciones, atributos, cardinalidad. Tablas, Campos, laves primarias,
claves foráneas, restricciones
Unidad II: El Modelo De Datos Relacional
Objetivo de la Unidad:
Al finalizar esta unidad de aprendizaje los alumnos comprenden e interpreta el modelo relacional de
una base de datos
Desarrollo
Modelos de datos lógicos
Un modelo de datos lógicos describe los datos con el mayor detalle posible, independientemente de
cómo se implementarán físicamente en la base de datos.
Las características de un modelo de datos lógicos incluyen:
 Incluye todas las entidades y relaciones entre ellos.
 Todos los atributos para cada entidad están especificados.
 La clave principal para cada entidad está especificada.
Introducción
Los SGBD se pueden clasificar de acuerdo con el modelo lógico que soportan, el número de usuarios,
el número de puestos, el coste… La clasificación más importante de los SGBD se basa en el modelo
lógico, siendo los principales modelos que se utilizan en el mercado los siguientes: Jerárquico, en Red,
Relacional y Orientado a Objetos.
La mayoría de los SGBD comerciales actuales están basados en el modelo relacional, en el que nos
vamos a centrar, mientras que los sistemas más antiguos estaban basados en el modelo de red o el
modelo jerárquico.
Los motivos del éxito del modelo relacional son fundamentalmente, se basan en el álgebra relacional
que es un modelo matemático con sólidos fundamentos.
Objetivo.
En esta unidad se abordará el Modelo Relacional de Datos, dentro de la fase de análisis del proceso de
desarrollo software. El objetivo que nos planteamos es que, al finalizar el alumno sea capaz de
realizar el Modelo relacional de datos de un sistema de información.
Requerimientos.
Se debe contar con: Un (1) computador teniendo como mínimo el Sistema Operativo Libre
( Canaima/Ubuntu), Aplicación para diseñar modelo conceptual, papel, lápiz.
Componentes.
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
 Se especifican las claves externas (claves que identifican la relación entre diferentes entidades).
 La normalización ocurre en este nivel.
Los pasos para diseñar el modelo de datos lógicos son los siguientes:
 Especifique claves primarias para todas las entidades.
 Encuentra las relaciones entre diferentes entidades.
 Encuentra todos los atributos para cada entidad.
 Resuelva las relaciones de muchos a muchos.
 Normalización.
Modelo Relacional
El modelo relacional se basa en el concepto matemático de relación, que gráficamente se representa
mediante una tabla. Es decir, una relación es una tabla, con columnas y filas. Un SGBD sólo necesita
que el usuario pueda percibir la base de datos como un conjunto de tablas.
Elementos y propiedades del modelo relacional
 Relación (tabla): Representan las entidades de las que se quiere almacenar información en la
BD. Está formada por:
o Filas (Registros o Tuplas): Corresponden a cada ocurrencia de la entidad.
o Columnas (Atributos o campos): Corresponden a las propiedades de la entidad.
Siendo rigurosos una relación está constituida sólo por los atributos, sin las tuplas.
 Las relaciones tienen las siguientes propiedades:
o Cada relación tiene un nombre y éste es distinto del nombre de todas las demás
relaciones de la misma BD.
o No hay dos atributos que se llamen igual en la misma relación.
o El orden de los atributos no importa: los atributos no están ordenados.
o Cada tupla es distinta de las demás: no hay tuplas duplicadas. (Como mínimo se
diferenciarán en la clave principal)
o El orden de las tuplas no importa: las tuplas no están ordenadas.
 Clave candidata: atributo que identifica unívocamente una tupla. Cualquiera de las claves
candidatas se podría elegir como clave principal.
 Clave Principal: Clave candidata que elegimos como identificador de la tuplas.
 Clave Alternativa: Toda clave candidata que no es clave primaria (las que no hayamos elegido
como clave principal)
 Una clave principal no puede asumir el valor nulo (Integridad de la entidad).
 Dominio de un atributo: Conjunto de valores que pueden ser asumidos por dicho atributo.
 Clave Externa o foránea o ajena: el atributo o conjunto de atributos que forman la clave
principal de otra relación. Que un atributo sea clave ajena en una tabla significa que para
introducir datos en ese atributo, previamente han debido introducirse en la tabla de origen. Es
decir, los valores presentes en la clave externa tienen que corresponder a valores presentes en
la clave principal correspondiente (Integridad Referencial).
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Restricciones del Modelo Relacional
El modelo relacional de datos contempla tres tipos de restricciones:
1. Integridad de la clave. Ningún atributo de una clave candidata puede tomar valores nulos.
Lógicamente, los atributos que forman una clave candidata han de tomar siempre valores distintos para
cada posible tupla.
2. Integridad de referencia o referencial. Sea T1.a un atributo de la tabla T1 que forma parte de una
clave ajena para la tabla T2. Es decir, que en T2 existe un atributo definido con el mismo dominio,
aunque no obligatoriamente con igual nombre, y que es parte de su clave primaria. Entonces, T1.a
debe ser siempre igual a algún valor ya contenido en el atributo referenciado en la tabla T2, o bien
tomar un valor nulo.
3. Otras restricciones de acuerdo con la semántica concreta del problema. Pueden ser sencillas, como
la especificación de valores mínimos o máximos que puede tomar un atributo numérico, lista de
valores permitidos de un atributo, o más complejas: condiciones sobre valores de los atributos en
función de valores de otros atributos de esa u otras tablas.
Ejemplo
Se desea almacenar información sobre alumnos universitarios. Para cada alumno hay que almacenar el
estado donde reside.
Restricciones en el ejemplo
1. Integridad de clave
El atributo ALUMNO. Cedula no puede tomar valor nulo.
El atributo ESTADO.cod_estado no puede tomar valor nulo.
El atributo ESTADO.nombre no puede tomar valor nulo.
2. Integridad referencial
El atributo ALUMNO.cod_estado siempre debe tener un valor que se encuentre en
ESTADO.cod_estado,
3. Otras restricciones
El atributo ALUMNO.cedula solo puede tomar valores numéricos enteros de 8 cifras.
Conversión de Diagramas E/R a modelos Relacionales
Al pasar del esquema E/R al esquema Relacional deberemos añadir las claves foráneas necesarias para
establecer las interrelaciones entre las tablas. Dichas claves foráneas no aparecen representadas en el esquema
E/R.
Se deben elaborar los diagramas relacionales de tal forma que, posteriormente al introducir datos, no quede
ninguna clave foránea a valor nulo (NULL). Para ello se siguen las reglas que se muestran a continuación:
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Entidades
Cada entidad se transforma en una tabla. El identificador (o identificadores) de la entidad pasa a ser la clave
principal de la relación y aparece subrayada o con la indicación: PK (Primary Key).
Relaciones
Dependiendo de cómo se definan las cardinalidades de las relaciones, éstas pueden generar una tabla o por el
contrario traducirse en columnas dentro de las tablas asociadas a las entidades que participan en dicha relación.
Relaciones 1:N (Una a muchas)
Por lo general no generan tabla. Se dan 2 casos:
 Caso 1: Si la entidad del lado «1» presenta participación (0,1), entonces se crea una nueva tabla
para la relación que incorpora como claves ajenas las claves de ambas entidades. La clave
principal de la relación será sólo la clave de la entidad del lado «N».
 Caso 2: Para el resto de situaciones, la entidad del lado «N» recibe como clave ajena la clave
de la entidad del lado «1». Los atributos propios de la relación pasan a la tabla donde se ha
incorporado la clave ajena.
Ejemplo:1:N un propietario puede tener varios vehículos. Una instancia de entidad propietario se
relaciona con muchas instancias de la entidad vehículo y una instancia vehículo solo puede estar
relacionada con una instancia de propietario.
Tabla: propietario
cedula Nombre Dirección Ciudad telefono
Relaciones N:M: Es el caso más sencillo. Siempre generan tabla. Se crea una tabla que incorpora como claves
ajenas o foráneas FK (Foreign Key) cada una de las claves de las entidades que participan en la relación. La
clave principal de esta nueva tabla está compuesta por dichos campos. Es importante resaltar que no se trata de
2 claves primarias, sino de una clave primaria compuesta por 2 campos.
Nota: la clave primaria podría ser un nuevo campo auto-incrementable.
Tabla: vehiculo
matricula marca modelo color cedula_propietario
Clave
Primaria
Clave
Primaria
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Ejemplo: N:M: Una instancia AUTOR, está relacionada con muchas instancias de la entidad LIBRO y
viceversa
Tabla autor
codigo nombre
A1 Gabriel García Márquez
A2 Ferran Virgós Bel
A3 Joan Segura Casanovas
Normalización
El diseño de una BD relacional se puede realizar aplicando al mundo real, en una primera fase, un
modelo como el modelo E/R, a fin de obtener un esquema conceptual; en una segunda fase, se
transforma dicho esquema al modelo relacional mediante las correspondientes reglas de
transformación. También es posible, aunque quizás menos recomendable, obtener el esquema
relacional sin realizar ese paso intermedio que es el esquema conceptual. En ambos casos, es
conveniente (obligatorio en el modelo relacional directo) aplicar un conjunto de reglas, conocidas
como Teoría de normalización, que nos permiten asegurar que un esquema relacional cumple unas
ciertas propiedades, evitando:
 La redundancia de los datos: repetición de datos en un sistema.
Tabla: libro
codigo titulo isbn editorial paginas
L01 Fundamentos De
Informática
9788448167479 McGraw-Hill 450
L02 Cien Años de Soledad 9788497592208 Planeta 500
Tabla libroxautor
codigo codigo_autor codigo_libro
A2L01 A2 L01
A3L01 A3 L01
A1L02 A1 L02
Clave
Primaria
Clave
Primaria
Tabla Relación
Clave
Primaria
Clave
Foránea
Clave Foránea
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
 Anomalías de actualización: inconsistencias de los datos como resultado de datos redundantes
y actualizaciones parciales.
 Anomalías de borrado: pérdidas no intencionadas de datos debido a que se han borrado otros
datos.
 Anomalías de inserción: imposibilidad de adicionar datos en la base de datos debido a la
ausencia de otros datos.
En la práctica, si la BD se ha diseñado haciendo uso de modelos semánticos como el modelo E/R no
suele ser necesaria la normalización. Por otro lado si nos proporcionan una base de datos creada sin
realizar un diseño previo, es muy probable que necesitemos normalizar.
En la teoría de bases de datos relacionales, las formas normales (FN) proporcionan los criterios para
determinar el grado de vulnerabilidad de una tabla a inconsistencias y anomalías lógicas. Cuanta más
alta sea la forma normal aplicable a una tabla, menos vulnerable será a inconsistencias y anomalías.
Edgar F. Codd originalmente definió las tres primeras formas normales (1FN, 2FN, y 3FN) en 1970.
Estas formas normales se han resumido como requiriendo que todos los atributos sean atómicos,
dependan de la clave completa y en forma directa (no transitiva). La forma normal de Boyce-Codd
(FNBC) fue introducida en 1974 por los dos autores que aparecen en su denominación. Las cuarta y
quinta formas normales (4FN y 5FN) se ocupan específicamente de la representación de las relaciones
muchos a muchos y uno a muchos entre los atributos y fueron introducidas por Fagin en 1977 y 1979
respectivamente. Cada forma normal incluye a las anteriores.
Beneficios de la Normalización:
 Nos permite representar un conjunto de datos complejos en estructuras más simples y estables.
 Asegura de que los atributos se ubiquen apropiadamente a la entidad a la que pertenecen y que
estén en un solo lugar, con un solo nombre y con un solo valor a la vez.
 Simplifica la lógica de la base de datos.
 Facilita la estandarización, lectura y entendimiento de las bases de datos.
 Reduce el consumo de espacio.
 Optimiza la ejecución de las consultas.
 Reduce la redundancia de datos.
 Facilita el mantenimiento de la base de datos y de las aplicaciones.
 Protege la integridad de los datos.
 Facilita el diseño de consultas.
 Aumenta el número de usuarios concurrentes que la base de datos puede soportar.
Objetivos generales de la normalización.
-A Nivel Base:
 Elimina la repetición de grupos.
 Minimizar redundancia.
 Facilitar el mantenimiento de la base de datos.
 Optimizar el rendimiento de la base.
-A Nivel Tabla:
 Cada tabla debe representar sólo un tipo de entidad (como una persona, un lugar, un pedido de
cliente o un producto).
 Eliminar repetición de columnas.
 Definir una clave primaria por tabla.
 Eliminar el uso de claves compuestas.
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
 Separar los campos que no sean de esa tabla y/o clave primaria y ubicarlos en la tabla/entidad
correcta.
 Crear una nueva tabla para mover la repetición de grupos de la tabla original. (generación de
catálogos)
 Cada registro debe de tener una clave primaria única e irrepetible.
-A Nivel Campo:
 Todos los campos deben depender de la clave primaria, ya sea directamente o indirectamente.
 Cada campo debe de representar un hecho de la clave primaria y nada más.
 Eliminar dependencias de los campos a claves no primarias.
 Todos los campos deben contener un único valor.
 Todos los valores de cada campo debe tener el mismo tipo de dato.
1FN:
 Solo debe de existir un solo valor atómico (indivisible) por columna, el cual hay que evitar que
sea nulo(null).
 No se deben almacenar campos calculados (como el promedio).
2FN:
 La base de datos debe de estar normalizada a la forma 1FN.
 Cada registro debe depender de la clave primaria de la tabla a la que pertenece.
 Cada clave primaria debe determinar una solo ocurrencia para cada registro. Normalmente un
entero autoincremental hace el trabajo aquí.
3FN:
 La base de datos debe de estar normalizada a la forma 2FN.
 Generar catálogos (relaciones uno a muchos). Cada columna se debe de separar y colocar en su
respectiva tabla.
 Cada campo debe de representar un hecho acerca de la llave primaria y nada más.
 Los atributos que no sean clave única y que dependan de otra tabla deberán ser llaves foráneas
que hagan referencia a las llaves primarias de la tabla a la que pertenecen.
 No almacenar valores calculados como por ejemplo un promedio.
4FN:
 La base de datos debe de estar normalizada a la forma 3FN.
 Generación de tablas muchos a muchos. Esto para resolver las dependencias multivaluadas.
5FN:
 La base de datos debe de estar normalizada a la forma 4FN.
 Generación de tablas muchos a muchos, pero usando únicamente llaves foráneas.
Un ejemplo completo
A través del siguiente ejercicio se intenta afirmar los conocimientos de normalización con un ejemplo
simplificado de una base de datos para una pequeña biblioteca.
CodLibro Titulo Autor Editorial NombreLector FechaDev
1001 Variable compleja Murray Spiegel McGraw Hill Pérez Gómez,
Juan
15/04/2005
1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán, Ana 17/04/2005
1005 Estadística Murray Spiegel McGraw Hill Roca, René 16/04/2005
1006 Oracle University Nancy Greenberg
y Priya Nathan
Oracle Corp. García Roque,
Luis
20/04/2005
1007 Clipper 5.01 Ramalho McGraw Hill Pérez Gómez,
Juan
18/04/2005
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener campos atómicos,
pues el nombre del lector es un campo que puede (y conviene) descomponerse en apellido paterno,
apellido materno y nombres. Tal como se muestra en la siguiente tabla.
1NF
CodLibro Titulo Autor Editorial Paterno Materno Nombres FechaDev
1001 Variable compleja Murray Spiegel McGrawHill Pérez Gómez Juan 15/04/2005
1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán Ana 17/04/2005
1005 Estadística Murray Spiegel McGrawHill Roca René 16/04/2005
1006 OracleUniversity Nancy Greenberg OracleCorp. García Roque Luis 20/04/2005
1006 OracleUniversity Priya Nathan OracleCorp. García Roque Luis 20/04/2005
1007 Clipper 5.01 Ramalho McGrawHill Pérez Gómez Juan 18/04/2005
Como se puede ver, hay cierta redundancia característica de 1NF.
La Segunda Forma Normal (2NF) pide que no existan dependencias parciales o dicho de otra manera,
todos los atributos no clave deben depender por completo de la clave primaria. Actualmente en nuestra
tabla tenemos varias dependencias parciales si consideramos como atributo clave el código del libro.
Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre del lector
en realidad no tiene dependencia de este código, por tanto estos datos deben ser trasladados a otra
tabla.
2NF
CodLibro Titulo Autor Editorial
1001 Variable
compleja
Murray Spiegel McGraw Hill
1004 Visual Basic 5 E. Petroustsos Anaya
1005 Estadística Murray Spiegel McGraw Hill
1006 Oracle University Nancy Greenberg Oracle Corp.
1006 Oracle University Priya Nathan Oracle Corp.
1007 Clipper 5.01 Ramalho McGraw Hill
La nueva tabla sólo contendrá datos del lector.
CodLector Paterno Materno Nombres
501 Pérez Gómez Juan
502 Ríos Terán Ana
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
CodLector Paterno Materno Nombres
503 Roca René
504 García Roque Luis
Hemos creado una tabla para contener los datos del lector y también tuvimos que crear la
columna CodLector para identificar unívocamente a cada uno. Sin embargo, esta nueva disposición de
la base de datos necesita que exista otra tabla para mantener la información de qué libros están
prestados a qué lectores. Esta tabla se muestra a continuación:
CodLibro CodLector FechaDev
1001 501 15/04/2005
1004 502 17/04/2005
1005 503 16/04/2005
1006 504 20/04/2005
1007 501 18/04/2005
Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los atributos no clave
deben ser mutuamente independientes y dependientes por completo de la clave primaria. También
recordemos que dijimos que esto significa que las columnas en la tabla deben contener solamente
información sobre la entidad definida por la clave primaria y, por tanto, las columnas en la tabla deben
contener datos acerca de una sola cosa.
En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro, los autores y
editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de 3NF.
3NF
CodLibro Titulo
1001 Variable compleja
1004 Visual Basic 5
1005 Estadística
1006 Oracle University
1007 Clipper 5.01
CodAutor Autor
801 Murray Spiegel
802 E. Petroustsos
803 Nancy Greenberg
804 Priya Nathan
806 Ramalho
CodEditorial Editorial
901 McGraw Hill
902 Anaya
903 Oracle Corp.
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca de una entidad,
también hemos perdido la información acerca de qué autor ha escrito qué libro y las editoriales
correspondientes, por lo que debemos crear otras tablas que relacionen cada libro con sus autores y
editoriales.
Y el resto de las tablas no necesitan modificación.
Otro Ejemplo de tabla con normalización cero:
Vamos a darle solución a esta tabla llamada “CURSOS” para entender mucho mejor todo el proceso
de normalización.
CodLibro codAutor
1001 801
1004 802
1005 801
1006 803
1006 804
1007 806
CodLibro codEditorial
1001 901
1004 902
1005 901
1006 903
1007 901
CodLector Paterno Materno Nombres
501 Pérez Gómez Juan
502 Ríos Terán Ana
503 Roca René
504 García Roque Luis
CodLibro CodLector FechaDev
1001 501 15/04/2005
1004 502 17/04/2005
1005 503 16/04/2005
1006 504 20/04/2005
1007 501 18/04/2005
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
A simple vista podemos apreciar que esta tabla no cumple con el requisito mínimo de normalización
que dice que toda la información deben de ser atómicos, es decir que debemos de descomponerlo en su
mínima expresión de datos.
La solución: Formalizar la Tabla Cursos
La primera fase es crear tablas separadas para Cursos, para docentes, para manuales y cada una de
estas tendría su clave primaria y estarían relacionadas por una clave foránea (Foreign Key).
Tabla de Cursos:
Esta tabla posee el nombre del curso y está relacionada a manualId y docenteId
Tabla de Docente:
Recudiendo en su mínima expresión, separando en apellidos paternos, apellidos maternos, nombres y
fecha de registro.
Tabla de Manual:
Esta tabla está relacionada con la “tabla cursos” de uno a muchos mediante clave primaria.
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
La segunda fase de Normalización
Es relacionar las tablas mediante una clave primaria y clave foránea.
Otro Ejemplo partiendo que se tiene una base de datos en una tabla de Excel.
La Tabla 3.5 almacena los siguientes detalles:
 Cada orden que se realiza, es identificada por un IdOrden.
 La fecha de la orden (FechaOrden).
 Los detalles del cliente que ha pedido los artículos (Cliente, EmailCliente).
 A cada cliente, dependiendo de su historia de crédito, se le asigna PuntosCredito.
De acuerdo con PuntosCredito, se califica a un cliente. Por ejemplo, los clientes con los
PuntosCredito de 1, 2 y 3 están en el Grado A.
Los clientes con PuntosCredito de 4, 5 y 6 están en el Grado B. La tabla almacena
PuntosCredito y Grado del cliente.
 Los artículos pedidos (NombreItem).
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
 La cantidad pedida por cada artículo (CantReque).
 El precio unitario del artículo (PrecioUnitario).
Según la definición de 1NF, los campos de variables repetidas y los grupos de variables
repetidas deben ser eliminados.
¿Qué es un grupo de variables repetidas?
En la Tabla 3.5 Orden, los detalles del cliente se repiten por cada artículo que fue pedido.
Por ejemplo, el cliente Joe Smith ha pedido martillo, clavo y sierra. Los detalles de este
cliente se han repetido en la tabla tres veces, ya que ha pedido tres artículos.
Esta clase de repetición en grupos de valores se llama grupo de variables repetidas. La
tabla anterior no está en 1NF, pues viola la condición de repetición de grupo.
Observe las desventajas de una tabla no normalizada. En la tabla anterior, si se cambia la
dirección de correo electrónico (e-mail) del cliente Joe Smith, se debe cambiar en tres
lugares. Así pues, si el cliente ha hecho tres órdenes y en cada orden ha pedido cinco
artículos, entonces se debe cambiar su dirección de correo electrónico (e-mail) en 15 filas.
El precio unitario de los artículos también se repite para cada orden, si el artículo se incluye
en varias órdenes.
Se aplica la 1NF en la tabla anterior sobre órdenes. Cuando se aplica la normalización, dará
lugar a dos tablas, la Tabla 3.6 con clave primaria IdOrden y la Tabla 3.7 con clave primaria
IdOrden y NombreItem (Clave Compuesta).
2NF
Un diseño relacional se dice que está en segunda forma normal (2NF) si, y sólo si, está en
1NF y cada columna que no está en la clave primaria es dependiente totalmente de la clave
primaria.
La 2NF sólo se aplica a las Tablas que tienen claves primarias compuestas (por dos o más
columnas). Si una Tabla está en 1NF y su clave primaria es simple (tiene una sola columna),
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
entonces también está en 2NF.
Para pasar una Tabla en 1NF a 2NF hay que eliminar las dependencias parciales de la clave
primaria. Para ello, se eliminan las columnas que no dependen completamente de la clave
compuesta y se colocan en una nueva tabla con una copia de su determinante (las
columnas de la clave primaria de las que dependen).
La Tabla 3.6 está en 2NF, ya que la tabla tiene clave primaria simple, en este caso la tabla
permanece igual, el siguiente paso es verificar la 3NF.
Considere la Tabla 3.7 que enumera los artículos pedidos en cada orden. La columna clave
en esta tabla es una clave compuesta por IdOrden y NombreItem. IdOrden y NombreItem,
en combinación, identifican cada fila en la Tabla 3.7. Las otras columnas
(CantReque y PrecioUnitario) son columnas no-clave.
La columna cantidad requerida (CantReque) es totalmente dependiente de la clave
compuesta por IdOrder y NombreItem. Sin embargo, la columna del precio (PrecioUnitario)
no es totalmente dependiente de la clave compuesta, es dependiente de la columna
NombreItem, aunque se mantiene en la tabla DetalleOrden una columna
PrecioUnitarioVenta de Item, para asegurar tener el precio de venta del producto en ese
momento, en el caso de que en un futuro aumenten los precios del ítem. Para hacer que la
Tabla 3.7 cumpla con 2NF, se divide en dos tablas, las tablas DetalleOrden e Item.
Vea las Tablas 3.8 y 3.9.
Se agrega la columna IdItem la cual será el identificador de cada Item en la Tabla 3.9.
La columna de PrecioUnitario es una característica de un artículo, y por lo tanto, se incluye
en la tabla Item, se mantiene una columna PrecioUnitarioVenta en la Tabla 3.8 para
garantizar información histórica de venta de un Item. La Tabla 3.8 tiene como clave primaria
IdOrden e IdItem (Clave Compuesta) y la Tabla 3.9 tiene como clave primaria IdItem.
3NF
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Para que un diseño relacional esté en 3NF, tiene que estar en 2NF y cada columna oclave
tiene que ser mutuamente excluyente e independiente. No debe tener ninguna dependencia
transitiva.
Dependencia Transitiva:
Tome un ejemplo para entender la dependencia transitiva. Asuma que se tienen tres
columnas A, B y C en una tabla, donde A es la columna clave. La dependencia se puede
especificar como A---> B, C. En esta relación, si B depende de A y C depende de B,
entonces C también depende de A. Esta clase de dependencia se denomina dependencia
transitiva. Si hay una dependencia transitiva, entonces se elimina separando la tabla, en la
Tabla 1 que contiene las columnas A y B, y la Tabla 2 que contiene las columnas B y C.
La Tabla 3.6 está en 2NF, pero no en 3NF. La columna clave de la tabla Orden (Tabla 3.6)
es IdOrden. Según 3NF, todas las columnas no-clave tienen que ser mutuamente
independientes. Las columnas no-clave PuntosCredito y Grado no son mutuamente
independientes, así como las columnas cliente y emailCliente no son mutuamente
independientes.
Cada Grado se basa en PuntosCredito. A los clientes que tienen PuntosCredito 1, 2 y 3 se
les asigna el Grado A. Los clientes que tienen PuntosCredito 4, 5 y 6 se les asignan el
Grado B. Cuando se aplica 3NF en la Tabla 3.6, da lugar a tres tablas más: la tabla Cliente
Tabla 3.10, la tabla PuntosCredito Tabla 3.11 y la Tabla 3.12 Orden.
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
La tabla 3.10 Cliente contiene la información del cliente. A cada cliente se le asigna un
IdCliente, que es la columna clave en la tabla. Este IdCliente se utiliza en la tabla
Orden para cada orden. Vea la Tabla 3.12.
La Tabla 3.11 PuntosCredito la columna clave en esta tabla es PuntosCredito para
cada uno de los puntos se asigna un grado de descuento.
Las Tablas 3.10, 3.11 y 3.12 ahora están en 3NF. Las Tablas 3.8 y 3.9 están en 3NF.
Segunda fase de Normalización
Modelar las tablas y sus relaciones en día, utilizando los tipos de datos del SGBD Mysql.
En dia, elegir la opción Base de Datos
. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Referencias Bibliográficas
IBM Capacitación (2008) Base de Datos I

Más contenido relacionado

La actualidad más candente

03 Modelo Relacional
03 Modelo Relacional03 Modelo Relacional
03 Modelo RelacionalKudos S.A.S
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióNSergio Sanchez
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalSuarezJhon
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacionalLuis Jherry
 
Bases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacionalBases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacionalVideoconferencias UTPL
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 
T3 Modelo de Datos Relacional
T3 Modelo de Datos RelacionalT3 Modelo de Datos Relacional
T3 Modelo de Datos Relacionalrmonago
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8Andalucia
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridadkamui002
 
Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacionalJulio Pari
 
Bases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacionalBases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacionalCarlos Castillo (ChaTo)
 
El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)Jose Carlos Guerra
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Erivan Martinez Ovando
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacionalomarzon
 
Base de Datos. Modelo Relacional
Base de Datos. Modelo RelacionalBase de Datos. Modelo Relacional
Base de Datos. Modelo RelacionalHermes Sosa
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesRobert Rodriguez
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalUTN
 

La actualidad más candente (20)

03 Modelo Relacional
03 Modelo Relacional03 Modelo Relacional
03 Modelo Relacional
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Bases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacionalBases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacional
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
T3 Modelo de Datos Relacional
T3 Modelo de Datos RelacionalT3 Modelo de Datos Relacional
T3 Modelo de Datos Relacional
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
 
Bases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacionalBases de Datos - Parte 5/10 Modelo relacional
Bases de Datos - Parte 5/10 Modelo relacional
 
El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Base de Datos. Modelo Relacional
Base de Datos. Modelo RelacionalBase de Datos. Modelo Relacional
Base de Datos. Modelo Relacional
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos Relacionales
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Diseño relacional
Diseño relacionalDiseño relacional
Diseño relacional
 

Similar a Unidad III: Modelo Lógico de BD

Cuestiones de Repaso Capitulo 16
Cuestiones de Repaso Capitulo 16Cuestiones de Repaso Capitulo 16
Cuestiones de Repaso Capitulo 16Fabricio Sanchez
 
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalUt3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalCarlos Villarroel González
 
Base de datos
Base de datosBase de datos
Base de datosmarcia666
 
Diseño lógico de bases de datos.
Diseño lógico de bases de datos.Diseño lógico de bases de datos.
Diseño lógico de bases de datos.KareliaRivas
 
Tema2 disenio logico
Tema2 disenio logicoTema2 disenio logico
Tema2 disenio logicoHaydee Acosta
 
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalDiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalNatalia Ludeña
 
TEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.pptTEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.pptAbigailLiendolopez1
 
TEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.pptTEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.pptXiomaraVaca
 
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.spgutierrez86
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacionalLesli Pacheco
 

Similar a Unidad III: Modelo Lógico de BD (20)

Cuestiones de Repaso Capitulo 16
Cuestiones de Repaso Capitulo 16Cuestiones de Repaso Capitulo 16
Cuestiones de Repaso Capitulo 16
 
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalUt3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
 
MODELADO DE DATOS
MODELADO DE DATOSMODELADO DE DATOS
MODELADO DE DATOS
 
Base de datos
Base de datosBase de datos
Base de datos
 
Diseño lógico de bases de datos.
Diseño lógico de bases de datos.Diseño lógico de bases de datos.
Diseño lógico de bases de datos.
 
Expocision2beta
Expocision2betaExpocision2beta
Expocision2beta
 
Expocision2beta
Expocision2betaExpocision2beta
Expocision2beta
 
5 modelo relacional
5 modelo relacional5 modelo relacional
5 modelo relacional
 
Tema2 disenio logico
Tema2 disenio logicoTema2 disenio logico
Tema2 disenio logico
 
Unidad II Modelo Conceptual
Unidad II Modelo Conceptual Unidad II Modelo Conceptual
Unidad II Modelo Conceptual
 
Guia de Base de Datos Unidad 2. Lissette T
Guia de Base de Datos Unidad 2. Lissette TGuia de Base de Datos Unidad 2. Lissette T
Guia de Base de Datos Unidad 2. Lissette T
 
Unidad II Modelo Conceptual
Unidad II Modelo ConceptualUnidad II Modelo Conceptual
Unidad II Modelo Conceptual
 
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalDiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
 
Tutoria 2do bim-v1
Tutoria 2do bim-v1Tutoria 2do bim-v1
Tutoria 2do bim-v1
 
TEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.pptTEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
 
TEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.pptTEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.ppt
 
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.Contenido UNIDAD II.  COMO SON LAS BASES DE DATOS.
Contenido UNIDAD II. COMO SON LAS BASES DE DATOS.
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacional
 
Diseño Lógico
Diseño LógicoDiseño Lógico
Diseño Lógico
 

Más de lissette_torrealba (20)

Guia reportes
Guia reportesGuia reportes
Guia reportes
 
Guiajquery
GuiajqueryGuiajquery
Guiajquery
 
Plan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoríaPlan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoría
 
Plan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodologíaPlan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodología
 
Plan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 prácticaPlan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 práctica
 
Guiajsvalidacion
GuiajsvalidacionGuiajsvalidacion
Guiajsvalidacion
 
Guiajs2
Guiajs2Guiajs2
Guiajs2
 
Rubrica 2021 electiva 2
Rubrica 2021 electiva 2Rubrica 2021 electiva 2
Rubrica 2021 electiva 2
 
Mapa Tecnopedagogia
Mapa TecnopedagogiaMapa Tecnopedagogia
Mapa Tecnopedagogia
 
Matriz DOFA lissette
Matriz DOFA lissetteMatriz DOFA lissette
Matriz DOFA lissette
 
Planevaluacionproyectoivpractica
PlanevaluacionproyectoivpracticaPlanevaluacionproyectoivpractica
Planevaluacionproyectoivpractica
 
Rubrica bd 2021
Rubrica  bd  2021Rubrica  bd  2021
Rubrica bd 2021
 
Proyecto formativo iv metodologia
Proyecto formativo iv metodologiaProyecto formativo iv metodologia
Proyecto formativo iv metodologia
 
Plan evaluacion teoria
Plan evaluacion teoriaPlan evaluacion teoria
Plan evaluacion teoria
 
Plan de Evaluacion
Plan de EvaluacionPlan de Evaluacion
Plan de Evaluacion
 
Ejemplos de interfaz grafica
Ejemplos de  interfaz grafica Ejemplos de  interfaz grafica
Ejemplos de interfaz grafica
 
Rubrica bd 2021
Rubrica bd 2021 Rubrica bd 2021
Rubrica bd 2021
 
Rubrica Programación II 2021
Rubrica Programación II 2021 Rubrica Programación II 2021
Rubrica Programación II 2021
 
Rup
RupRup
Rup
 
Documentosistema
DocumentosistemaDocumentosistema
Documentosistema
 

Último

Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Último (20)

Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 

Unidad III: Modelo Lógico de BD

  • 1. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Modelo Relacional, Entidad, Relaciones, atributos, cardinalidad. Tablas, Campos, laves primarias, claves foráneas, restricciones Unidad II: El Modelo De Datos Relacional Objetivo de la Unidad: Al finalizar esta unidad de aprendizaje los alumnos comprenden e interpreta el modelo relacional de una base de datos Desarrollo Modelos de datos lógicos Un modelo de datos lógicos describe los datos con el mayor detalle posible, independientemente de cómo se implementarán físicamente en la base de datos. Las características de un modelo de datos lógicos incluyen:  Incluye todas las entidades y relaciones entre ellos.  Todos los atributos para cada entidad están especificados.  La clave principal para cada entidad está especificada. Introducción Los SGBD se pueden clasificar de acuerdo con el modelo lógico que soportan, el número de usuarios, el número de puestos, el coste… La clasificación más importante de los SGBD se basa en el modelo lógico, siendo los principales modelos que se utilizan en el mercado los siguientes: Jerárquico, en Red, Relacional y Orientado a Objetos. La mayoría de los SGBD comerciales actuales están basados en el modelo relacional, en el que nos vamos a centrar, mientras que los sistemas más antiguos estaban basados en el modelo de red o el modelo jerárquico. Los motivos del éxito del modelo relacional son fundamentalmente, se basan en el álgebra relacional que es un modelo matemático con sólidos fundamentos. Objetivo. En esta unidad se abordará el Modelo Relacional de Datos, dentro de la fase de análisis del proceso de desarrollo software. El objetivo que nos planteamos es que, al finalizar el alumno sea capaz de realizar el Modelo relacional de datos de un sistema de información. Requerimientos. Se debe contar con: Un (1) computador teniendo como mínimo el Sistema Operativo Libre ( Canaima/Ubuntu), Aplicación para diseñar modelo conceptual, papel, lápiz. Componentes.
  • 2. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba  Se especifican las claves externas (claves que identifican la relación entre diferentes entidades).  La normalización ocurre en este nivel. Los pasos para diseñar el modelo de datos lógicos son los siguientes:  Especifique claves primarias para todas las entidades.  Encuentra las relaciones entre diferentes entidades.  Encuentra todos los atributos para cada entidad.  Resuelva las relaciones de muchos a muchos.  Normalización. Modelo Relacional El modelo relacional se basa en el concepto matemático de relación, que gráficamente se representa mediante una tabla. Es decir, una relación es una tabla, con columnas y filas. Un SGBD sólo necesita que el usuario pueda percibir la base de datos como un conjunto de tablas. Elementos y propiedades del modelo relacional  Relación (tabla): Representan las entidades de las que se quiere almacenar información en la BD. Está formada por: o Filas (Registros o Tuplas): Corresponden a cada ocurrencia de la entidad. o Columnas (Atributos o campos): Corresponden a las propiedades de la entidad. Siendo rigurosos una relación está constituida sólo por los atributos, sin las tuplas.  Las relaciones tienen las siguientes propiedades: o Cada relación tiene un nombre y éste es distinto del nombre de todas las demás relaciones de la misma BD. o No hay dos atributos que se llamen igual en la misma relación. o El orden de los atributos no importa: los atributos no están ordenados. o Cada tupla es distinta de las demás: no hay tuplas duplicadas. (Como mínimo se diferenciarán en la clave principal) o El orden de las tuplas no importa: las tuplas no están ordenadas.  Clave candidata: atributo que identifica unívocamente una tupla. Cualquiera de las claves candidatas se podría elegir como clave principal.  Clave Principal: Clave candidata que elegimos como identificador de la tuplas.  Clave Alternativa: Toda clave candidata que no es clave primaria (las que no hayamos elegido como clave principal)  Una clave principal no puede asumir el valor nulo (Integridad de la entidad).  Dominio de un atributo: Conjunto de valores que pueden ser asumidos por dicho atributo.  Clave Externa o foránea o ajena: el atributo o conjunto de atributos que forman la clave principal de otra relación. Que un atributo sea clave ajena en una tabla significa que para introducir datos en ese atributo, previamente han debido introducirse en la tabla de origen. Es decir, los valores presentes en la clave externa tienen que corresponder a valores presentes en la clave principal correspondiente (Integridad Referencial).
  • 3. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Restricciones del Modelo Relacional El modelo relacional de datos contempla tres tipos de restricciones: 1. Integridad de la clave. Ningún atributo de una clave candidata puede tomar valores nulos. Lógicamente, los atributos que forman una clave candidata han de tomar siempre valores distintos para cada posible tupla. 2. Integridad de referencia o referencial. Sea T1.a un atributo de la tabla T1 que forma parte de una clave ajena para la tabla T2. Es decir, que en T2 existe un atributo definido con el mismo dominio, aunque no obligatoriamente con igual nombre, y que es parte de su clave primaria. Entonces, T1.a debe ser siempre igual a algún valor ya contenido en el atributo referenciado en la tabla T2, o bien tomar un valor nulo. 3. Otras restricciones de acuerdo con la semántica concreta del problema. Pueden ser sencillas, como la especificación de valores mínimos o máximos que puede tomar un atributo numérico, lista de valores permitidos de un atributo, o más complejas: condiciones sobre valores de los atributos en función de valores de otros atributos de esa u otras tablas. Ejemplo Se desea almacenar información sobre alumnos universitarios. Para cada alumno hay que almacenar el estado donde reside. Restricciones en el ejemplo 1. Integridad de clave El atributo ALUMNO. Cedula no puede tomar valor nulo. El atributo ESTADO.cod_estado no puede tomar valor nulo. El atributo ESTADO.nombre no puede tomar valor nulo. 2. Integridad referencial El atributo ALUMNO.cod_estado siempre debe tener un valor que se encuentre en ESTADO.cod_estado, 3. Otras restricciones El atributo ALUMNO.cedula solo puede tomar valores numéricos enteros de 8 cifras. Conversión de Diagramas E/R a modelos Relacionales Al pasar del esquema E/R al esquema Relacional deberemos añadir las claves foráneas necesarias para establecer las interrelaciones entre las tablas. Dichas claves foráneas no aparecen representadas en el esquema E/R. Se deben elaborar los diagramas relacionales de tal forma que, posteriormente al introducir datos, no quede ninguna clave foránea a valor nulo (NULL). Para ello se siguen las reglas que se muestran a continuación:
  • 4. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Entidades Cada entidad se transforma en una tabla. El identificador (o identificadores) de la entidad pasa a ser la clave principal de la relación y aparece subrayada o con la indicación: PK (Primary Key). Relaciones Dependiendo de cómo se definan las cardinalidades de las relaciones, éstas pueden generar una tabla o por el contrario traducirse en columnas dentro de las tablas asociadas a las entidades que participan en dicha relación. Relaciones 1:N (Una a muchas) Por lo general no generan tabla. Se dan 2 casos:  Caso 1: Si la entidad del lado «1» presenta participación (0,1), entonces se crea una nueva tabla para la relación que incorpora como claves ajenas las claves de ambas entidades. La clave principal de la relación será sólo la clave de la entidad del lado «N».  Caso 2: Para el resto de situaciones, la entidad del lado «N» recibe como clave ajena la clave de la entidad del lado «1». Los atributos propios de la relación pasan a la tabla donde se ha incorporado la clave ajena. Ejemplo:1:N un propietario puede tener varios vehículos. Una instancia de entidad propietario se relaciona con muchas instancias de la entidad vehículo y una instancia vehículo solo puede estar relacionada con una instancia de propietario. Tabla: propietario cedula Nombre Dirección Ciudad telefono Relaciones N:M: Es el caso más sencillo. Siempre generan tabla. Se crea una tabla que incorpora como claves ajenas o foráneas FK (Foreign Key) cada una de las claves de las entidades que participan en la relación. La clave principal de esta nueva tabla está compuesta por dichos campos. Es importante resaltar que no se trata de 2 claves primarias, sino de una clave primaria compuesta por 2 campos. Nota: la clave primaria podría ser un nuevo campo auto-incrementable. Tabla: vehiculo matricula marca modelo color cedula_propietario Clave Primaria Clave Primaria
  • 5. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Ejemplo: N:M: Una instancia AUTOR, está relacionada con muchas instancias de la entidad LIBRO y viceversa Tabla autor codigo nombre A1 Gabriel García Márquez A2 Ferran Virgós Bel A3 Joan Segura Casanovas Normalización El diseño de una BD relacional se puede realizar aplicando al mundo real, en una primera fase, un modelo como el modelo E/R, a fin de obtener un esquema conceptual; en una segunda fase, se transforma dicho esquema al modelo relacional mediante las correspondientes reglas de transformación. También es posible, aunque quizás menos recomendable, obtener el esquema relacional sin realizar ese paso intermedio que es el esquema conceptual. En ambos casos, es conveniente (obligatorio en el modelo relacional directo) aplicar un conjunto de reglas, conocidas como Teoría de normalización, que nos permiten asegurar que un esquema relacional cumple unas ciertas propiedades, evitando:  La redundancia de los datos: repetición de datos en un sistema. Tabla: libro codigo titulo isbn editorial paginas L01 Fundamentos De Informática 9788448167479 McGraw-Hill 450 L02 Cien Años de Soledad 9788497592208 Planeta 500 Tabla libroxautor codigo codigo_autor codigo_libro A2L01 A2 L01 A3L01 A3 L01 A1L02 A1 L02 Clave Primaria Clave Primaria Tabla Relación Clave Primaria Clave Foránea Clave Foránea
  • 6. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba  Anomalías de actualización: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.  Anomalías de borrado: pérdidas no intencionadas de datos debido a que se han borrado otros datos.  Anomalías de inserción: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos. En la práctica, si la BD se ha diseñado haciendo uso de modelos semánticos como el modelo E/R no suele ser necesaria la normalización. Por otro lado si nos proporcionan una base de datos creada sin realizar un diseño previo, es muy probable que necesitemos normalizar. En la teoría de bases de datos relacionales, las formas normales (FN) proporcionan los criterios para determinar el grado de vulnerabilidad de una tabla a inconsistencias y anomalías lógicas. Cuanta más alta sea la forma normal aplicable a una tabla, menos vulnerable será a inconsistencias y anomalías. Edgar F. Codd originalmente definió las tres primeras formas normales (1FN, 2FN, y 3FN) en 1970. Estas formas normales se han resumido como requiriendo que todos los atributos sean atómicos, dependan de la clave completa y en forma directa (no transitiva). La forma normal de Boyce-Codd (FNBC) fue introducida en 1974 por los dos autores que aparecen en su denominación. Las cuarta y quinta formas normales (4FN y 5FN) se ocupan específicamente de la representación de las relaciones muchos a muchos y uno a muchos entre los atributos y fueron introducidas por Fagin en 1977 y 1979 respectivamente. Cada forma normal incluye a las anteriores. Beneficios de la Normalización:  Nos permite representar un conjunto de datos complejos en estructuras más simples y estables.  Asegura de que los atributos se ubiquen apropiadamente a la entidad a la que pertenecen y que estén en un solo lugar, con un solo nombre y con un solo valor a la vez.  Simplifica la lógica de la base de datos.  Facilita la estandarización, lectura y entendimiento de las bases de datos.  Reduce el consumo de espacio.  Optimiza la ejecución de las consultas.  Reduce la redundancia de datos.  Facilita el mantenimiento de la base de datos y de las aplicaciones.  Protege la integridad de los datos.  Facilita el diseño de consultas.  Aumenta el número de usuarios concurrentes que la base de datos puede soportar. Objetivos generales de la normalización. -A Nivel Base:  Elimina la repetición de grupos.  Minimizar redundancia.  Facilitar el mantenimiento de la base de datos.  Optimizar el rendimiento de la base. -A Nivel Tabla:  Cada tabla debe representar sólo un tipo de entidad (como una persona, un lugar, un pedido de cliente o un producto).  Eliminar repetición de columnas.  Definir una clave primaria por tabla.  Eliminar el uso de claves compuestas.
  • 7. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba  Separar los campos que no sean de esa tabla y/o clave primaria y ubicarlos en la tabla/entidad correcta.  Crear una nueva tabla para mover la repetición de grupos de la tabla original. (generación de catálogos)  Cada registro debe de tener una clave primaria única e irrepetible. -A Nivel Campo:  Todos los campos deben depender de la clave primaria, ya sea directamente o indirectamente.  Cada campo debe de representar un hecho de la clave primaria y nada más.  Eliminar dependencias de los campos a claves no primarias.  Todos los campos deben contener un único valor.  Todos los valores de cada campo debe tener el mismo tipo de dato. 1FN:  Solo debe de existir un solo valor atómico (indivisible) por columna, el cual hay que evitar que sea nulo(null).  No se deben almacenar campos calculados (como el promedio). 2FN:  La base de datos debe de estar normalizada a la forma 1FN.  Cada registro debe depender de la clave primaria de la tabla a la que pertenece.  Cada clave primaria debe determinar una solo ocurrencia para cada registro. Normalmente un entero autoincremental hace el trabajo aquí. 3FN:  La base de datos debe de estar normalizada a la forma 2FN.  Generar catálogos (relaciones uno a muchos). Cada columna se debe de separar y colocar en su respectiva tabla.  Cada campo debe de representar un hecho acerca de la llave primaria y nada más.  Los atributos que no sean clave única y que dependan de otra tabla deberán ser llaves foráneas que hagan referencia a las llaves primarias de la tabla a la que pertenecen.  No almacenar valores calculados como por ejemplo un promedio. 4FN:  La base de datos debe de estar normalizada a la forma 3FN.  Generación de tablas muchos a muchos. Esto para resolver las dependencias multivaluadas. 5FN:  La base de datos debe de estar normalizada a la forma 4FN.  Generación de tablas muchos a muchos, pero usando únicamente llaves foráneas. Un ejemplo completo A través del siguiente ejercicio se intenta afirmar los conocimientos de normalización con un ejemplo simplificado de una base de datos para una pequeña biblioteca. CodLibro Titulo Autor Editorial NombreLector FechaDev 1001 Variable compleja Murray Spiegel McGraw Hill Pérez Gómez, Juan 15/04/2005 1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán, Ana 17/04/2005 1005 Estadística Murray Spiegel McGraw Hill Roca, René 16/04/2005 1006 Oracle University Nancy Greenberg y Priya Nathan Oracle Corp. García Roque, Luis 20/04/2005 1007 Clipper 5.01 Ramalho McGraw Hill Pérez Gómez, Juan 18/04/2005
  • 8. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener campos atómicos, pues el nombre del lector es un campo que puede (y conviene) descomponerse en apellido paterno, apellido materno y nombres. Tal como se muestra en la siguiente tabla. 1NF CodLibro Titulo Autor Editorial Paterno Materno Nombres FechaDev 1001 Variable compleja Murray Spiegel McGrawHill Pérez Gómez Juan 15/04/2005 1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán Ana 17/04/2005 1005 Estadística Murray Spiegel McGrawHill Roca René 16/04/2005 1006 OracleUniversity Nancy Greenberg OracleCorp. García Roque Luis 20/04/2005 1006 OracleUniversity Priya Nathan OracleCorp. García Roque Luis 20/04/2005 1007 Clipper 5.01 Ramalho McGrawHill Pérez Gómez Juan 18/04/2005 Como se puede ver, hay cierta redundancia característica de 1NF. La Segunda Forma Normal (2NF) pide que no existan dependencias parciales o dicho de otra manera, todos los atributos no clave deben depender por completo de la clave primaria. Actualmente en nuestra tabla tenemos varias dependencias parciales si consideramos como atributo clave el código del libro. Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre del lector en realidad no tiene dependencia de este código, por tanto estos datos deben ser trasladados a otra tabla. 2NF CodLibro Titulo Autor Editorial 1001 Variable compleja Murray Spiegel McGraw Hill 1004 Visual Basic 5 E. Petroustsos Anaya 1005 Estadística Murray Spiegel McGraw Hill 1006 Oracle University Nancy Greenberg Oracle Corp. 1006 Oracle University Priya Nathan Oracle Corp. 1007 Clipper 5.01 Ramalho McGraw Hill La nueva tabla sólo contendrá datos del lector. CodLector Paterno Materno Nombres 501 Pérez Gómez Juan 502 Ríos Terán Ana
  • 9. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba CodLector Paterno Materno Nombres 503 Roca René 504 García Roque Luis Hemos creado una tabla para contener los datos del lector y también tuvimos que crear la columna CodLector para identificar unívocamente a cada uno. Sin embargo, esta nueva disposición de la base de datos necesita que exista otra tabla para mantener la información de qué libros están prestados a qué lectores. Esta tabla se muestra a continuación: CodLibro CodLector FechaDev 1001 501 15/04/2005 1004 502 17/04/2005 1005 503 16/04/2005 1006 504 20/04/2005 1007 501 18/04/2005 Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los atributos no clave deben ser mutuamente independientes y dependientes por completo de la clave primaria. También recordemos que dijimos que esto significa que las columnas en la tabla deben contener solamente información sobre la entidad definida por la clave primaria y, por tanto, las columnas en la tabla deben contener datos acerca de una sola cosa. En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro, los autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de 3NF. 3NF CodLibro Titulo 1001 Variable compleja 1004 Visual Basic 5 1005 Estadística 1006 Oracle University 1007 Clipper 5.01 CodAutor Autor 801 Murray Spiegel 802 E. Petroustsos 803 Nancy Greenberg 804 Priya Nathan 806 Ramalho CodEditorial Editorial 901 McGraw Hill 902 Anaya 903 Oracle Corp.
  • 10. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca de una entidad, también hemos perdido la información acerca de qué autor ha escrito qué libro y las editoriales correspondientes, por lo que debemos crear otras tablas que relacionen cada libro con sus autores y editoriales. Y el resto de las tablas no necesitan modificación. Otro Ejemplo de tabla con normalización cero: Vamos a darle solución a esta tabla llamada “CURSOS” para entender mucho mejor todo el proceso de normalización. CodLibro codAutor 1001 801 1004 802 1005 801 1006 803 1006 804 1007 806 CodLibro codEditorial 1001 901 1004 902 1005 901 1006 903 1007 901 CodLector Paterno Materno Nombres 501 Pérez Gómez Juan 502 Ríos Terán Ana 503 Roca René 504 García Roque Luis CodLibro CodLector FechaDev 1001 501 15/04/2005 1004 502 17/04/2005 1005 503 16/04/2005 1006 504 20/04/2005 1007 501 18/04/2005
  • 11. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba A simple vista podemos apreciar que esta tabla no cumple con el requisito mínimo de normalización que dice que toda la información deben de ser atómicos, es decir que debemos de descomponerlo en su mínima expresión de datos. La solución: Formalizar la Tabla Cursos La primera fase es crear tablas separadas para Cursos, para docentes, para manuales y cada una de estas tendría su clave primaria y estarían relacionadas por una clave foránea (Foreign Key). Tabla de Cursos: Esta tabla posee el nombre del curso y está relacionada a manualId y docenteId Tabla de Docente: Recudiendo en su mínima expresión, separando en apellidos paternos, apellidos maternos, nombres y fecha de registro. Tabla de Manual: Esta tabla está relacionada con la “tabla cursos” de uno a muchos mediante clave primaria.
  • 12. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba La segunda fase de Normalización Es relacionar las tablas mediante una clave primaria y clave foránea. Otro Ejemplo partiendo que se tiene una base de datos en una tabla de Excel. La Tabla 3.5 almacena los siguientes detalles:  Cada orden que se realiza, es identificada por un IdOrden.  La fecha de la orden (FechaOrden).  Los detalles del cliente que ha pedido los artículos (Cliente, EmailCliente).  A cada cliente, dependiendo de su historia de crédito, se le asigna PuntosCredito. De acuerdo con PuntosCredito, se califica a un cliente. Por ejemplo, los clientes con los PuntosCredito de 1, 2 y 3 están en el Grado A. Los clientes con PuntosCredito de 4, 5 y 6 están en el Grado B. La tabla almacena PuntosCredito y Grado del cliente.  Los artículos pedidos (NombreItem).
  • 13. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba  La cantidad pedida por cada artículo (CantReque).  El precio unitario del artículo (PrecioUnitario). Según la definición de 1NF, los campos de variables repetidas y los grupos de variables repetidas deben ser eliminados. ¿Qué es un grupo de variables repetidas? En la Tabla 3.5 Orden, los detalles del cliente se repiten por cada artículo que fue pedido. Por ejemplo, el cliente Joe Smith ha pedido martillo, clavo y sierra. Los detalles de este cliente se han repetido en la tabla tres veces, ya que ha pedido tres artículos. Esta clase de repetición en grupos de valores se llama grupo de variables repetidas. La tabla anterior no está en 1NF, pues viola la condición de repetición de grupo. Observe las desventajas de una tabla no normalizada. En la tabla anterior, si se cambia la dirección de correo electrónico (e-mail) del cliente Joe Smith, se debe cambiar en tres lugares. Así pues, si el cliente ha hecho tres órdenes y en cada orden ha pedido cinco artículos, entonces se debe cambiar su dirección de correo electrónico (e-mail) en 15 filas. El precio unitario de los artículos también se repite para cada orden, si el artículo se incluye en varias órdenes. Se aplica la 1NF en la tabla anterior sobre órdenes. Cuando se aplica la normalización, dará lugar a dos tablas, la Tabla 3.6 con clave primaria IdOrden y la Tabla 3.7 con clave primaria IdOrden y NombreItem (Clave Compuesta). 2NF Un diseño relacional se dice que está en segunda forma normal (2NF) si, y sólo si, está en 1NF y cada columna que no está en la clave primaria es dependiente totalmente de la clave primaria. La 2NF sólo se aplica a las Tablas que tienen claves primarias compuestas (por dos o más columnas). Si una Tabla está en 1NF y su clave primaria es simple (tiene una sola columna),
  • 14. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba entonces también está en 2NF. Para pasar una Tabla en 1NF a 2NF hay que eliminar las dependencias parciales de la clave primaria. Para ello, se eliminan las columnas que no dependen completamente de la clave compuesta y se colocan en una nueva tabla con una copia de su determinante (las columnas de la clave primaria de las que dependen). La Tabla 3.6 está en 2NF, ya que la tabla tiene clave primaria simple, en este caso la tabla permanece igual, el siguiente paso es verificar la 3NF. Considere la Tabla 3.7 que enumera los artículos pedidos en cada orden. La columna clave en esta tabla es una clave compuesta por IdOrden y NombreItem. IdOrden y NombreItem, en combinación, identifican cada fila en la Tabla 3.7. Las otras columnas (CantReque y PrecioUnitario) son columnas no-clave. La columna cantidad requerida (CantReque) es totalmente dependiente de la clave compuesta por IdOrder y NombreItem. Sin embargo, la columna del precio (PrecioUnitario) no es totalmente dependiente de la clave compuesta, es dependiente de la columna NombreItem, aunque se mantiene en la tabla DetalleOrden una columna PrecioUnitarioVenta de Item, para asegurar tener el precio de venta del producto en ese momento, en el caso de que en un futuro aumenten los precios del ítem. Para hacer que la Tabla 3.7 cumpla con 2NF, se divide en dos tablas, las tablas DetalleOrden e Item. Vea las Tablas 3.8 y 3.9. Se agrega la columna IdItem la cual será el identificador de cada Item en la Tabla 3.9. La columna de PrecioUnitario es una característica de un artículo, y por lo tanto, se incluye en la tabla Item, se mantiene una columna PrecioUnitarioVenta en la Tabla 3.8 para garantizar información histórica de venta de un Item. La Tabla 3.8 tiene como clave primaria IdOrden e IdItem (Clave Compuesta) y la Tabla 3.9 tiene como clave primaria IdItem. 3NF
  • 15. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Para que un diseño relacional esté en 3NF, tiene que estar en 2NF y cada columna oclave tiene que ser mutuamente excluyente e independiente. No debe tener ninguna dependencia transitiva. Dependencia Transitiva: Tome un ejemplo para entender la dependencia transitiva. Asuma que se tienen tres columnas A, B y C en una tabla, donde A es la columna clave. La dependencia se puede especificar como A---> B, C. En esta relación, si B depende de A y C depende de B, entonces C también depende de A. Esta clase de dependencia se denomina dependencia transitiva. Si hay una dependencia transitiva, entonces se elimina separando la tabla, en la Tabla 1 que contiene las columnas A y B, y la Tabla 2 que contiene las columnas B y C. La Tabla 3.6 está en 2NF, pero no en 3NF. La columna clave de la tabla Orden (Tabla 3.6) es IdOrden. Según 3NF, todas las columnas no-clave tienen que ser mutuamente independientes. Las columnas no-clave PuntosCredito y Grado no son mutuamente independientes, así como las columnas cliente y emailCliente no son mutuamente independientes. Cada Grado se basa en PuntosCredito. A los clientes que tienen PuntosCredito 1, 2 y 3 se les asigna el Grado A. Los clientes que tienen PuntosCredito 4, 5 y 6 se les asignan el Grado B. Cuando se aplica 3NF en la Tabla 3.6, da lugar a tres tablas más: la tabla Cliente Tabla 3.10, la tabla PuntosCredito Tabla 3.11 y la Tabla 3.12 Orden.
  • 16. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba La tabla 3.10 Cliente contiene la información del cliente. A cada cliente se le asigna un IdCliente, que es la columna clave en la tabla. Este IdCliente se utiliza en la tabla Orden para cada orden. Vea la Tabla 3.12. La Tabla 3.11 PuntosCredito la columna clave en esta tabla es PuntosCredito para cada uno de los puntos se asigna un grado de descuento. Las Tablas 3.10, 3.11 y 3.12 ahora están en 3NF. Las Tablas 3.8 y 3.9 están en 3NF. Segunda fase de Normalización Modelar las tablas y sus relaciones en día, utilizando los tipos de datos del SGBD Mysql. En dia, elegir la opción Base de Datos
  • 17. . Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Referencias Bibliográficas IBM Capacitación (2008) Base de Datos I