4G0016 APU ModeladoDatos 231Q v1-0 PDF
4G0016 APU ModeladoDatos 231Q v1-0 PDF
4G0016 APU ModeladoDatos 231Q v1-0 PDF
Reglas de negocio
Las reglas de negocios son aquellas reglas que deben cumplir los datos de la base de
datos.
Se debe ser muy preciso y cuidadoso a la hora de obtener estas reglas. Se pueden
recopilar de diversas fuentes, como el personal de la organización, libros de normas y
procedimientos, manuales, etc.
Recordemos que un modelo es “una construcción teórica de la realidad”. Por este motivo,
cuanto más profundo sea el conocimiento de las reglas de negocio, más correcto será el
modelado que realicemos.
Es el diseñador de la base de datos quien debe tener una comprensión completa y cabal
de dichas reglas y saber cuáles deben aplicarse al modelado de la base de datos y cuáles
no. A modo de ejemplo, una regla que afirme que “se considera cliente a quien realizó al
menos una compra” será de utilidad para el modelado. En cambio, una regla que diga “los
clientes de la región A no pueden comprar productos de tipo X” no podrá ser modelada en
el diseño (Aunque luego sí podrá controlarse esta regla mediante la programación de las
aplicaciones que hagan uso de la base de datos).
El D.E.R. es una representación conceptual en la que solo se obtienen los datos del
sistema real, características de esos datos, las relaciones existentes entre ellos y las
restricciones correspondientes, dejando de lado aspectos físicos, como tipo de dato,
organización de los archivos o métodos de acceso para el diseño físico.
Se dice que su técnica es de arriba hacia abajo porque comienza identificando a los datos
más relevantes para los usuarios (Entidades), luego se añaden los detalles o características
(Atributos) que definen a esos datos, las relaciones entre dichos datos y, por último, las
restricciones necesarias para los datos y sus relaciones.
Entiéndase:
Objeto: en el sentido amplio, podría ser un objeto físico (ejemplo: artículo), acción
(compra), persona (cliente), concepto: tipo de IVA, etc.
Universo de discurso, minimundo o dominio del problema: abarca la porción del mundo
real que resulta de interés para el usuario y, por tal motivo, se desea representar.
Ejemplo: número de legajo, razón social, teléfono, email, zona donde se debe entregar la
mercadería, etc., son las características que nos interesa registrar de cada cliente
(Entidad).
Tipos de atributos
Podremos establecer 2 tipos de atributos:
Ejemplo:
*cine
En este apartado es fundamental destacar que los atributos que no son atómicos o
indivisibles reciben el nombre de “multivaluados”. Esto es, pueden poseer múltiples
valores. A modo de ejemplo, si el atributo “Provincia” tuviese como valor “Formosa,
Córdoba, Chubut” (los tres juntos), sería multivaluado. Esto está estrictamente prohibido.
La forma correcta, entonces, es que el atributo “Provincia” tome el valor “Formosa”, o
bien “Córdoba” o bien “Chubut”, pero nunca más de un valor.
Clasificación de atributos
Nominadores – Descriptivos – Referenciales.
• Atributos Nominadores: son los atributos que identifican de manera unívoca a las
entidades. Estos pueden ser simples (Ejemplo: nro-cliente) o compuestos (nro-
factura, tipo-factura).
• Atributos Descriptivos: describen características de la entidad de interés para el
sistema (Ejemplo: domicilio del proveedor, teléfono, email).
• Atributos Referenciales: permiten relacionar la entidad a la que pertenecen con
otra entidad (Ejemplo: codcategoria de la entidad EMPLEADO permitirá relacionar
a las tuplas de la entidad EMPLEADO con las tuplas correspondientes de la entidad
CATEGORIAS).
Ejemplo:
Claves
Un atributo nominador es clave cuando identifica unívocamente una tupla de la entidad.
Tupla: cada una de las ocurrencias de la entidad, también llamada instancia de la entidad,
lo cual representa un acontecimiento particular de la entidad. O registro de la futura tabla
del modelo relacional. Es decir que cualquier valor que tome una clave permitirá ingresar
a una única tupla de la entidad. Por lo cual, se desprende que no puede haber 2 tuplas con
la misma clave.
• Clave Primaria (PK – Primary Key): es aquella clave candidata que el diseñador
considera más adecuada para la aplicación. Normalmente, se conversa con los
analistas funcionales para elegirla, teniendo en cuenta, por ejemplo, el empleo
habitual del usuario de nro. de legajo o la clave candidata más corta, etc.
• Clave Foránea (FK – Foreign Key): es un atributo de la entidad que, a su vez, es PK
de alguna entidad y tiene la función de relacionar ambas tuplas. Generalmente,
una FK hace referencia a la PK de otra entidad. Entonces, podemos concluir que la
Clave Foránea es un atributo que hace referencia a la clave primaria de la entidad
referenciada.
• Clave Simple: es una clave que está compuesta por un solo atributo.
• Clave Múltiple o Concatenada: es una clave que está compuesta por más de un
atributo.
Relación: es una asociación entre dos entidades. Por lo general, un verbo o preposición
que conecta dos entidades implica una relación.
Ejemplo: para la entidad Empleado con atributos: legajo, nombre, apellido. Una tupla o
instancia podría ser: 104, José Manuel, Pérez García Las cardinalidades pueden ser
máximas o mínimas.
Por ejemplo:
Por ejemplo:
• La cantidad mínima de padres biológicos (padre y madre) que puede tener una
persona es: dos.
• La cantidad mínima de ingredientes que puede contener una comida es: uno.
Por ejemplo: si la regla de negocios establece que los empleados de una empresa
específica pueden ser asignados como mínimo a ningún proyecto y como máximo a tres
proyectos a la vez y cada proyecto tiene al menos dos empleados asignados.
Aquí, las cardinalidades de la relación de los empleados a los proyectos (que se denota en
el otro extremo de la relación) es cero como mínimo y tres como máximo.
La cardinalidad de proyectos, uno como mínimo y de dos como máximo, ya que cada
proyecto requiere al menos un empleado para ejecutarlo.
Las relaciones con ambas cardinalidades máximas 1 se llaman 1:1 (se lee 1 a 1). Las
relaciones con una cardinalidad máxima 1 y la otra más de 1 se llaman 1: m (se lee 1 a
muchos).
Las relaciones con ambas cardinalidades máximas mayores a 1 se llaman m:n (se lee
muchos a muchos).
Relaciones condicionales: son aquellas que tienen al menos una cardinalidad mínima cero.
Cada tupla de la entidad PAIS se puede relacionar como máximo con “una” tupla de la
entidad JEFE_GOBIERNO y cada tupla de la entidad JEFE_DE-GOBIERNO se puede
relacionar como máximo con una tupla de la entidad PAIS, considerando que solo se
guardan los datos de los jefes de Gobierno actuales.
El análisis correspondiente para establecer las cardinalidades mínimas sería: cada tupla de
la entidad País se puede relacionar como mínimo con una tupla de la entidad
Jefe_gobierno. Y cada tupla de la entidad Jefe_gobierno se puede relacionar como
mínimo con “una” tupla de la entidad País.
Las relaciones con cardinalidad 1:1 se resuelven pasando la PK (Clave Primaria) de una
de las entidades a la otra entidad como FK (Clave Foránea). De esta manera, además de
tener los datos de cada país y cada jefe de Gobierno, podemos conocer qué país se
relaciona con qué gobernante.
Esto podemos hacerlo a través de una clave foránea, que será atributo referencial en
una entidad y clave primaria en la otra.
Aquí la regla de negocio o restricción a aplicar sería: cada empleado trabaja en una sola
sucursal.
Cada tupla de la entidad SUCURSALES se puede relacionar como máximo con “muchas”
tuplas de la entidad EMPLEADOS y cada tupla de la entidad EMPLEADOS se puede
relacionar como máximo con una tupla de la entidad SUCURSAL.
Cada tupla de la entidad SUCURSALES se puede relacionar como mínimo con “una” tupla
de la entidad EMPLEADOS y cada tupla de la entidad EMPLEADOS se puede relacionar
Nota importante:
Esto anterior es siempre válido. Pero es importante analizar dos escenarios. Uno, el
ejemplo dado, SUCURSALES-EMPLEADOS. En dicho ejemplo, la PK de SUCURSALES pasa a
EMPLEADOS como FK.
Se trata de una cadena de cines, que identifica a cada sucursal por un número_sucursal, y
considerar que cada sucursal posee varias salas, cada una de ellas identificada por un
número de sala.
Entonces:
Entonces, en este caso, la clave primaria debe estar COMPUESTA por las dos claves: La
original concatenada/compuesta con la FK que pasó de la otra relación.
Gráficamente:
Relaciones condicionales
Las relaciones condicionales son aquellas que tienen alguna cardinalidad mínima cero.
Cada tupla de la entidad VEHÍCULO se puede relacionar como máximo con “una” tupla
de la entidad PATENTES y cada tupla de la entidad PATENTES se puede relacionar como
máximo con una tupla de la entidad VEHICULOS.
Por lo tanto, para resolver esta relación 1:1c y considerando que hay tuplas de la
entidad VEHÍCULOS que no están relacionadas con tupla alguna de la entidad PATENTES,
pero todas las tuplas de la entidad PATENTES se relacionan con una tupla de la entidad
VEHÍCULOS, y con el fin de evitar que queden atributos que son clave foránea con valor
“nulo”, se debe pasar la clave primaria de la entidad VEHÍCULOS como foránea a la
entidad PATENTES.
Cada tupla de la entidad ÁREA se puede relacionar como máximo con “muchas” tuplas
de la entidad ARTÍCULOS y cada tupla de la entidad ARTÍCULOS se puede relacionar como
máximo con una tupla de la entidad ÁREA.
El análisis correspondiente para establecer las cardinalidades mínimas sería: cada tupla de
la entidad ÁREA se puede relacionar como mínimo con “ninguna” tupla de la entidad
ARTÍCULOS (Ejemplo: Área Recursos Humanos).
Cada tupla de la entidad ARTÍCULOS se puede relacionar como mínimo con “una” tupla de
la entidad ÁREA.
Las relaciones m:n (muchos a muchos), las muchos a 1 condicional (m:1c), así como las
bicondicionales, serán tema de estudio del próximo módulo.