viernes, 28 de marzo de 2014

Reglas Normales (2)

Introducción

 Las reglas normales, son aplicables al modelo relacional, nos ayudan a facilitar el entendimiento del diseño de una base de datos, ademas de organizar los datos para evitar comportamientos indeseables en el comportamiento de estos, por ejemplo la redundancia. Existen muchas formas normales, en este trabajo, se presentaran ejemplos de la primeras tres.


Desarrollo

Ejercicio 1
Cliente(apellido paterno, apellido materno, Nombre)

Carros(Nombres, id:coche, No. de accidentes, marca)




Ejercicio 2
Clientes(DNIcliente, nombre, apellido paterno, apellido materno, calle, colonia, municipio, no. exterior, telefono)c

Carro(matricula, modelo, marca, color, DNIcliente)
Nuevo(No. De unidades, matricula)
Usado(km recorridos, matricula)
      Reparan(fecha, hora, DNImecanicomatricula)

Mecánicos(Nombre, apellidos, fecha de contratacionDNImecanico, matricula)

Contratacion(fecha de contratacion, salario)






Ejercicio 3
Jugadores(apellidos, nombres, numero, partidos jugados, tiros_antodos, coladas_realizadas, faltas)

Juegan(marcador, equipo_ganador, mejores_jugadores, numero, id:partido)

Partidos(id:partido, sede, hora, fecha, Resultado, numero)




Ejercicio 4
Clientes(No. de cliente, descuento, saldo, limite de credito)

Direcciones(calle, No. exterior, no. interior, colonia, municipio, pais, id:direccionNo. de cliente)

Pedido(id:direccion, fecha de pedido, cantidad, No. de pedidoNo. de cliente)

Articulos(No. de articuloid:direccion, descripcion, No. de pedido, No. de fabrica)

Fabricas(No. de fabrica, telefono)





Ejercicio 5
Proveedores(RUTproveedor, pagina web, nombre, calle, colonia, no. exterior, municipio, telefono)

Productos(RUTproveedor, Id:productos, precio, stock)

Categoria(Nombre, Id:categoria, descripcion, Id:productos)

Clientes(RUTcliente, apellidos, nombres, pagina web, telefono, calle, no. exterior, no. interior, municipio, estado)

Genera(Cantidad, precio producto, RUTclienteId:venta)

Venta(Id:venta, descuento, fecha, cliente, RUTcliente)





Ejercicio 6
Aeropuertos(pais, codigo, nombre, ciudad)

Programas de vuelo(Id: programas de vuelocodigo)

Escalas tecnicas(aeropuerto de despegue, aeropuerto de aterrizaje, Id: programas de vuelo, id: escalas tecnicas)

Aviones(Modelo, no. de plazas, codigo, id;avion)

Vuelo(fecha, plazas vacias, numeroid:avion)






Ejercicio 7
Complejo(Localizacion, jefe de organizacion individual, area total ocupada,id:complejo)
    Unico deporte(No. de complejos, presupuesto aproximado, id:complejo)
    Varios deportes(presupuesto, id:complejo)

Eventos(Fecha, duracion, numero de participantes, no. de comisarios, equipamiento,id:evento)

Comisarios(id:comisarios, id;evento, puesto)

Mantenimiento(id:mantenimiento, equipamiento, id:evento)





Ejercicio 8
Sedes(id:sede, lugar, pais)

Torneo(id:torneo, año, arbitros, categoria, id:sede)

Partidos(Premio, premio de consolacion, id: partidos, id:torneo)

Jugadores(nacionalidad, nombre, ganancias, entrenador, fecha de entrenamiento)





Ejercicio 9
Peliculas(L de directores, duracion, titulo de distribucion, titulo, genero, idioma original, id:produccion)

Produccion(id:produccion año de produccion, l. de actores, subtitulos, calificacion)

Participantes(Nombre, apellidos, nacionalidad, numero de peliculas, id:participantes, titulo)

Cines(telefono, calle, colonia, municipio, pais, delegacion, cartelera, nombre, no. de salas)
    Con promocion(descripcion, descuento, nombre)

Funciones(dia de la funcion, hora de comienzo, sala, no. de pelicula, nombre, id;funcion)

Opinion(fecha, persona, calificacion, comentario, no. de opinion, titulo)






Ejercicio 10
Muebles(nombre, precio, id:piezas)

Piezas(id:piezas, tamaño, funcion)

Estantes(id:estante, pasillo, altura, id:piezas)





Conclusión

Es importante, e incluso impresindible aplicar las reglas normales a nuestros modelos, debido a que esto no solo facilitara el entendimiento, sino que pondra la base de acorde a los estandares establecidos, permitiendo un facil entendimiento para cualquier persona conocedora del tema.


sábado, 22 de marzo de 2014

Reglas Normales

INTRODUCCIÓN

El Proceso de Normalización permite, mediante una serie de reglas(normas), organizar los datos que se poseen para evitar características indeseables, por ejemplo: evitar la redundancia, proteger la integridad de los datos, disminuir problemas de actualización de los datos en las tablas, etc . Este proceso es aplicable al modelo relacional y permite un buen diseño de una base de datos. La normalización se adoptó porque el
viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos,
era ineficiente y conducía a errores de lógica cuando se trataban de manipular los datos (Fred Coulson, 2009). En el siguiente trabajo definire a las primeras tres formas normales y  mostrare algunos ejemplos aplicando las primeras tres reglas normales a los ejercicios anteriormente expuestos.



DESARROLLO

Primera Forma Normal (1FN): No elementos repetidos o grupos de elementos
Una relación que está en Primera Forma Normal cuenta, primeramente, con todas las celdas llenas y, con al menos, una clave primaria. Además de ello, lo que busca la 1FN es que todas las tuplas tengan sólo un valor por atributo. Es decir que por más que una celda pueda poseer dos valores para el mismo atributo, no pueden figurar juntas, sino que se debe crear una tupla nueva para colocar por separado esos dos datos. Cabe mencionar que la 1FN busca que los datos sean simples y que estén colocados en la columna correcta (Fred Coulson, 2009). En otras palabras, esta forma normal intenta evitar las redundancias en una base datos.

Segunda Forma Normal (2FN): Sin dependencias parciales en llaves concatenadas
Para iniciar la 2FN, se debe haber pasado antes por el proceso de 1FN. Lo que busca esta forma normal en una tabla es que los atributos que no son claves primarias presenten dependencia funcional completa con sus claves primarias. En caso existan dos claves primarias y algún atributo sólo presente dependencia parcial, es decir, dependencia de algunos atributos clave (no todos), se remueve ese atributo junto con la clave primaria a la cual es dependiente para formar una nueva tabla.

Tercera Forma Normal (3FN): Sin Dependencia de Atributos que nos son llaves
Sólo se puede iniciar el proceso 3FN si es que la tabla se encuentra en 2FN. La tercera forma normal resuelve los problemas causados por las dependencias funcionales entre atributos no clave. Lo que busca es que todas las claves no primarias de la relación no posean dependencias funcionales con otros atributos que tampoco son claves primarias (Fred Coulson, 2009). De modo que si deseo transformar una relación que no está en tercera forma normal, lo que deberá hacerse es remover los atributos no clave que dependen de otros atributos no clave. Estos atributos removidos formarán parte de una nueva relación la cual tendrá como clave primaria al atributo del cual dependía el anterior en mención. De esta forma, cada atributo no clave de la relación es independiente al resto de atributos.


Ejercicio 1
Cliente(Apellidos, Nombres)
Carros(Nombres, id:coche, No. de accidentes, Marca)

Ejercicio 2
Clientes(DNIcliente, nombre, apellidos, calle, colonia, municipio, no. exterior, telefono, matricula)
Carro(matricula, modelo, marca, color, DNIcliente)
Nuevo(No. De unidades, matricula)
Usado(km recorridos, matricula)
      Reparan(fecha, hora, DNImecanicomatricula)
Mecánicos(Nombre, apellidos, fecha de contratacion, salario, DNImecanico, matricula)

Ejercicio 3
Jugadores(apellidos, nombres, numero, partidos jugados, tiros_antodos, coladas_realizadas, faltas)
Juegan(marcador, equipo_ganador, mejores_jugadores, numero,id:partido)
Partidos(id:partido, sede, hora, fecha, Resultado, numero)

Ejercicio 4
Clientes(No. de cliente, descuento, saldo, limite de credito)
Direcciones(calle, No. exterior, no. interior, colonia, municipio, pais, id:direccion, No. de cliente)
Pedido(id:direccion, fecha de pedido, cantidad, No. de pedidoNo. de cliente)
Articulos(No. de articulo, id:direccion, descripcion, No. de pedido, No. de fabrica)
Fabricas(No. de fabrica, telefono, total de articulos)

Ejercicio 5
Proveedores(RUTproveedor, pagina web, nombre, calle, colonia, no. exterior, municipio, telefono)
Productos(RUTproveedor, Id:productos, precio, stock)
Categoria(Nombre, Id:categoria, descripcion, Id:productos)
Clientes(RUTcliente, apellidos, nombres, pagina web, telefono, calle, no. exterior, no. interior, municipio, estado)
Genera(Cantidad, precio producto, RUTclienteId:venta)
Venta(Id:venta, descuento, fecha, cliente, RUTcliente)

Ejercicio 6
Aeropuertos(pais, codigo, nombre, ciudad)
Programas de vuelo(Id: programas de vuelocodigo)
Escalas tecnicas(aeropuerto de despegue, aeropuerto de aterrizaje, Id: programas de vuelo, id: escalas tecnicas)
Aviones(Modelo, no. de plazas, codigo, id;avion)
Vuelo(fecha, plazas vacias, numeroid:avion)

Ejercicio 7
Complejos deportivos(Localizacion, jefe de organizacion individual, area total ocupada,id:complejo)
    Unico deporte(No. de complejos, presupuesto aproximado, id:complejo)
    Varios deportes(presupuesto, id:complejo)
Eventos(Fecha, duracion, numero de participantes, no. de comisarios, equipamiento,id:evento)
Comisarios(id:comisarios, id;evento, puesto)
Mantenimiento(id:mantenimiento, equipamiento, id:evento)

Ejercicio 8
Sedes(id:sede, lugar, pais)
Organiza(id:sede, id:torneo)
Torneo(id:torneo, año, arbitros, categoria, id:sede)
Partidos(Premio, premio de consolacion, id: partidos, id:torneo)
Jugadores(nacionalidad, nombre, ganancias, entrenador, fecha de entrenamiento)

Ejercicio 9
Peliculas(L de directores, duracion, titulo de distribucion, titulo, genero, idioma original, año de produccion, l. de actores, subtitulos, calificacion)
Participantes(Nombre, apellidos, nacionalidad, numero de peliculas, id:participantes, titulo)
Cines(telefono, calle, colonia, municipio, cartelera, nombre, no. de salas)
    Con promocion(descripcion, descuento, nombre)
Funciones(dia de la funcion, hora de comienzo, sala, no. de pelicula, nombre, id;funcion)
Opinion(fecha, persona, calificacion, comentario, no. de opinion, titulo)

Ejercicio 10
Muebles(nombre, precio, id:piezas)
Piezas(id:piezas, tamaño, funcion)
Estantes(id:estante, pasillo, altura, id:piezas)



CONCLUSIÓN

Las reglas normales son importantes, simplifican las tablas del modelo relacional y evitan las caracteristicas indeseables que provicarian errores en la logica, esto permite que el diseño de una base de datos se vuelva mas facil de entender y de corregir.



FUENTES

http://phlonx.com/resources/nf3/nf3_tutorial_spanish.pdf
http://normalizacion-bd.blogspot.mx/2012/08/2-definicion.html

lunes, 10 de marzo de 2014

Introducción

Entre los modelos lógicos, el modelo relacional está considerado como el más simple. Fue inventado en  la decada de los setenta por Edgar Frank Codd, científico informático ingles conocido por sus aportaciones a la teoría de bases de datos relacionales, definió el modelo relacional a la par que publicó una serie de reglas para los sistemas de datos relacionales a través de su artículo “Un modelo relacional de datos para grandes bancos de datos compartidos”.




Desarrollo


Ejercicio 1

Cliente(Id:coche)   Coche(Id: coche, Marca, No. De accidentes)   Accidente(Id:coche)



Ejercicio 2

Clientes(DNI, nombre, apellidos, dirección, teléfono, matricula)

Carro(matricula, modelo, marca, color)
Nuevo(No. De unidades, matricula)
Usado(km recorridos, matricula)

      Reparan(fecha, hora, DNI, matricula)


Mecánicos(Nombre, apellidos, fecha de contratación, salario, DNI, matricula)



Ejercicio 3

Jugadores(Nombre, numero, partidos jugados, estadisticas)

Juegan(Estadisticas resumidas, numero)

Partidos(Resultado, numero)}



Ejercicio 4

Clientes(No. de cliente, descuento, saldo, limite de crédito, Direcciones de envio)

Hace(No. de cliente, No. de pedido)

Pedido(direccion de envio, fecha de pedido, cantidad, No. de pedido, No. de cliente)

Solicita(No. de pedido, No. de articulo)

Articulos(No. de articulo, direcciones de envio, fabricas distribuidoras, descripcion, No. de pedido, No. de fabrica)

Produce(No. de fabrica, No. de articulo)

Fabricas(No. de fabrica, telefono, total de articulos)



Ejercicio 5

Proveedores(RUTproveedor, pagina web, nombre, direccion, telefono)

Reparte(RUTproveedor, Id:productos)

Productos(Nombre proveedor, Id:productos, precio, stock)

Tienen(Id:productos, Id)

Categoria(Nombre, Id, descripcion, Id:productos)

Clientes(RUTcliente, nombre, pagina web, telefono, direccion)

Genera(Cantidad, monto total, precio producto, RUTcliente, Id:venta)

Venta(Id:venta, descuento, fecha, cliente, monto final, RUTcliente)



Ejercicio 6

Aeropuertos(pais, codigo, nombre, ciudad)

Tienen(codigo, Id:programas de vuelo)

Programas de vuelo(Id: programas de vuelo, codigo,)

Tienen(Id: programas de vuelo, id: escalas tecnicas)

Escalas tecnicas(aeropuerto de despegue, aeropuerto de aterrizaje, Id: programas de vuelo, id: escalas tecnicas)

Aviones(Modelo, no. de plazas, codigo, id;avion)

Vuelo(fecha, plazas vacias, modelo del avion, numero, id:avion)

Poseen(codigo, id:avion)

Planean(Id: programas de vuelo, numero)



Ejercicio 7

Complejos deportivos(Localizacion, jefe de organizacion individual, area total ocupada, id:complejo)
    Unico deporte(No. de complejos, presupuesto aproximado, id:complejo)
    Varios deportes(Localizacion, presupuesto, id:complejo)

Eventos(Fecha, duracion, numero de participantes, no. de comisarios, equipamiento, id:evento)

Comisarios(evento, id:comisarios, id;evento)
    Observador(id:comisarios)
    Juez(id:comisarios)

Mantenimiento(id:mantenimiento, equipamiento, id:evento)

Celebra(id:complejo, id:evento)

Mantiene(id:evento, id:mantenimiento)

Supervisa(id:evento, id:comisario)



Ejercicio 8

Sedes(id:sede, lugar, pais, id:torneo)

Organiza(id:sede, id: torneo)

Torneo(id:torneo, año, arbitros, categoria)

tiene(id:torneo, id:partidos)

Partidos(Premio, premio de consolacion, id: partidos, id:sede)

Juegan(id:partidos, nombre)

Jugadores(nacionalidad, nombre, ganancias, entrenador, fecha de entrenamiento)



Ejercicio 9

Peliculas(L de directores, duracion, titulo de distribucion, titulo, genero, idioma original, año de produccion, l. de actores, subtitulos y calificacion)

Participantes(Nombre, nacionalidad, numero de peliculas, id:participantes, titulo)

Cines(telefono, direccion, cartelera, nombre, salas)
    Con promocion(descripcion, descuento, nombre)

Funciones(dia de la funcion, hora de comienzo, sala, no. de pelicula, nombre, id;funcion)

Opinion(fecha, persona, calificacion, comentario, no. de opinion, titulo)

Hacen(titulo, id:participantes)

Exiben(titulo, nombre)

Tienen(nombre, id:funcion)

Critican(no. de opinion, titulo)



Ejercicio 10

Muebles(nombre, precios, id:piezas)

Piezas(id:piezas)

Estantes(id:estante, pasillo, altura, id:piezas)

Forman(nombre, id:piezas)

Almacenan(id:piezas, id:estante)




Conclusión

Este es el modelo mas sencillo de todos, sin embargo es uno de los ma utiles en el momento de querer realizar una base de datos ya que permite oranizar la informacion en forma de tablas, lo cual permite una facil conexion con el mundo de la programación.