Ir al contenido principal

SQL - MySQL - Modelo Relacional de Base de Datos 2



Analizando a fondo la mayoria de las relaciones son del tipo llamado 1:M ( uno a muchos).
Es decir cada tabla de relacion contiene un renglon de la primera tabla y muchos renglones de la segunda tabla.
Por ejemplo en una factura solo hay o se encuentra un cliente y muchos productos.

En una receta por ejemplo solo hay un paciente pero hay muchas medicinas
En una orden de compra o de pedido hay un solo proveedor pero hay muchos productos y asi sucesivamente.
En general existen los siguientes tipos de relaciones:
a) 1:1 (uno a uno):
Por ejemplo un recibo de renta, una boleta individual de calificaciones, etc.
b) 1:CTE ( uno a constante):
Por ejemplo una nota de renta de peliculas, donde la politica de la empresa es que solo se rentan hasta cuatro peliculas.
c) 1:M ( uno a muchos):
El caso mas comun facturas, notas de ventas, ordenes de salida de almacen, solicitudes o requisiciones de material o de equipo o de personal, etc.
d) M:M (muchos a muchos):
Cuadros o concentrados muchos de ellos de tipo fiscal, por ejemplo informes fiscales al gobierno acerca de los muchos clientes que hacen muchas transacciones mayores de $ 10,000.00, informes al gobierno de los muchos distribuidores e importadores de equipo de computo y las muchas transacciones que hacen mensualmente de equipo, etc.
Repitiendo el caso mas comun de relaciones, son las de 1:M en este caso, solamente la tabla de relacion no permite resolver el problema de informacion.
En casos de relaciones 1:M se ocupara una segunda tabla llamada detalle-relacion.
El modelo completo de tablas para una y solamente una relacion de tipo 1:M se compone de 4 TABLAS LAS CUALES SON y aparte deberan contener los campos descritos en cada una de ellas :
TABLA de 1(uno)
- Clave de uno -
- otros campos -
TABLA de M(muchos)
- Clave de muchos
- otros campos
TABLA de R(relacion)
- Clave de relacion
- Clave de uno
- otros campos
TABLA DetalleRelacion
- Clave de relacion
- Clave de muchos
- otros campos
Este es el modelo principal de una base de datos relacional tanto en SQL como en MYSQL y se debera siempre aplicar cuando se tenga que construir una base de datos que tenga una relacion 1:M.

Este es el modelo principal de una base de datos relacional en SQL y MYSQL y se debera siempre aplicar cuando se tenga que construir una base de datos que tenga una relacion 1:M.
Ejemplo1:
Clientes (1)
Clave Cliente
Nombre Cliente
Direccion Cliente
Telefono Cliente
etcetera Cliente
Productos (M)
- Clave Producto
- Nombre Producto
- Descripcion Producto
- Precio Producto
Facturas (Relacion)
Clave Factura
Clave Cliente
Fecha Factura
etcetera Factura
Detalle Factura (DetalleRelacion)
- Clave Factura
- Clave Producto
- Cantidad Producto
- Etcetera
ejemplo 2:
Pacientes (1)
Clave Paciente
Nombre Paciente
etcetera
Medicinas (Muchos)
- Clave Medicina
- Nombre Medicina
- Presentacion Medicina
Recetas (Relacion)
Clave Receta
Clave Paciente
Fecha Receta
Etcetera
Detalle Receta
- Clave Receta
- Clave Medicina
- Dosis
Como se observa en los dos ejemplos las tres claves ( la de uno, la de muchos y la de relacion) solo se repiten una sola vez en otra tabla.
Si no esta asi su diseno, estan en serios problemas.
De nuevo un problema o sistema de informacion que descansa en una base de datos de tipo relacional y solo contiene una relacion de tipo 1:M ocupa cuatro tablas ( la de uno, la de muchos, la de relacion y la de detalle-relacion).
Si el problema incluye una segunda relacion 1:M por ejemplo NotaDeVenta que se deriva de las mismas dos tablas basicas, entonces el modelo completo se resuelve con seis tablas ( las dos basicas, las dos de relacion y las dos de detalle) y asi sucesivamente.
Como se dijo anteriormente un problema sencillo de informacion por ejemplo el de una tienda de video, ocupa unas cuatro o cinco tablas basicas, unos dos o tres procesos y cada proceso dos o tres relaciones minimo, entonces el sisMYSQL TEMA se resuelve con 20 o mas tablas, las quejas sobre este modelo a Codd (creador del modelo relacional de bases de datos).
El caso de relaciones 1:1 se resuelve con solo tres tablas, solo agregar tambien en la tabla de relacion la clave de muchos.
El caso de relaciones 1:Cte tambien se resuelve con tres tablas, solo agregar en la tabla de relaciones tantas claves de la tabla de constantes como constantes existan en la relacion, por ejemplo si la relacion es boleta de calificaciones y solo contiene tres materias, entonces se ocupan la tabla de alumnos, la de materias y la tabla de boleta, esta ultima tendria clave alumno, clave material, clave materia2, clave materia3.
El caso de relaciones M:M solo se resuelve localizando o identificando o de plano construyendo la dos relaciones 1:M originales de donde salio este documento, por ejemplo en el informe al gobierno de todos los distribuidores de equipo de computo y todos los equipos que compraron en el mes, es probable que este informe se construya con las tablas de relaciones de facturas y notas de ventas.
Para propositos de este curso y libro, solo se profundiza en relaciones 1:M.
tareas
1.- CONSTRUIR EL MODELO DE LAS CUATRO TABLAS PARA LA RELACION EL CLIENTE COMPRA A CREDITO PARTES O REFACCIONES EN UNA REFACCIONARiA.
2.- CONSTRUIR EL MODELO DEL CLIENTE APARTA JOYAS EN UNA JOYERiA
3.- CONSTRUIR EL MODELO COMPLETO DE CLIENTES Y PELICULAS CON LAS RELACIONES, RENTA PELICULAS, DEVUELVE PELICULAS, DANA PELICULAS, COMPRA PELICULAS.
4.- CONSIDERANDO EL PROBLEMA DE LOTES DE AUTOS, AUTOS, CLIENTES, TALLERES CONSTRUIR MODELO PARA LOS PROCESOS DE COMPRA DE AUTOS, Y RESTAURACION DE AUTOS( ES CUANDO EL LOTE COMPRA LOS AUTOS Y LES DA UNA ARREGLADA PARA SU VENTA).
 

Comentarios

Entradas populares de este blog

Cómo desarrollar un algoritmo que permita botar la basura

Crear un algoritmo para botar la basura puede parecer sencillo, pero es una excelente manera de introducir conceptos de programación y automatización. A continuación, te presento un ejemplo de algoritmo en pseudocódigo, seguido de un artículo que explica su funcionamiento. Algoritmo en Pseudocódigo: Botar la Basura Inicio Si hay basura en el bote Si el bote está lleno Llevar el bote a la zona de recolección Fin Si Si es día de recolección Colocar el bote en la acera Fin Si Fin Si Fin Artículo: Automatizando la Tarea de Botar la Basura Introducción En la vida diaria, las tareas repetitivas como botar la basura pueden consumir tiempo valioso que podríamos dedicar a actividades más productivas o placenteras. La automatización de estas tareas mediante algoritmos no solo nos ahorra tiempo, sino que también nos permite introducir eficiencia y consistencia en nuestras rutinas diarias. El Algoritmo de Botar la Basura El algoritmo presentado es un conjunto de ins...

Compartir presentaciones en línea con SlideShare

Si eres de los usuarios que suelen trabajar en equipo, sabes de lo difícil que a veces resulta compartir la información relativa al trabajo que estamos realizando, muchas veces seguramente nos ha sucedido que a algunos miembros del equipo, o no les ha llegado la información, o directamente la han perdido. Y nuevamente debemos crear un correo, adjuntarles el archivo y esperar a que salga de la bandeja. Aburrido y cansador, sobre todo en el caso de las pesadas presentaciones.

Pasos Para Instalar Windows XP

Cuando nos hablan de instalar sistemas operativos, creemos que es muy difícil y que seguramente no seremos capaces de de hacerlo solos. Pues me he tomado a la tarea de realizar este pequeño tutorial para demostrarles paso a paso que no es tan complejo como parece. Para que se ahorren un buen dinerito a la hora de enfrentarse una instalación promovida por un daño en el disco duro o quizás por un virus informático.