Summary of Managing Business Information Systems
Managing Business Information Systems: An ERP Implementation Guide
Introducción
Las bases de datos relacionales representan información en tablas y establecen relaciones entre ellas para modelar el mundo real. Entender los tipos de relaciones (1:1, 1:∞, ∞:∞) y su implementación práctica es clave para diseñar esquemas coherentes y eficientes.
Definición: Una relación entre tablas conecta registros de una tabla con registros de otra tabla mediante claves primarias y foráneas.
Conceptos básicos
- Tabla: conjunto de registros con atributos (columnas). Cada tabla tiene una clave primaria (PK) que identifica unívocamente cada registro.
- Clave foránea (FK): campo en una tabla que referencia la PK de otra tabla para establecer una relación.
Tipos de relaciones
1:1 (uno a uno)
- Descripción: Cada registro de la tabla A se relaciona con como máximo un registro de la tabla B y viceversa.
- Implementación: añadir la PK de una tabla como FK en la otra. Es buena práctica poner la FK en la tabla que se crea después o en la que tenga sentido lógico.
Definición: Relación 1:1: Cada registro de A corresponde a un único registro de B y cada registro de B corresponde a un único registro de A.
Ejemplo práctico:
- Tablas: ORDERS (OrderCode PK, OrderDescription, OrderEntryDate, ...) y SHIPMENTS (ShipmentCode PK, ShipmentDescription, ExpectedDeliveryDate, ...)
- Regla del negocio: cada pedido genera una única entrega y cada entrega corresponde a un único pedido.
- Implementación: agregar OrderCode como FK en SHIPMENTS.
Tabla comparativa: 1:1
| Característica | Detalle |
|---|---|
| Cardinalidad | 1 — 1 |
| Dónde ubicar la FK | Tabla creada después o la que representa la entidad dependiente |
| Uso típico | Datos de extensión, datos opcionales que no siempre existen |
1:∞ (uno a muchos)
- Descripción: Un registro de la tabla A puede asociarse con muchos registros de la tabla B, pero cada registro de B solo se asocia con un registro de A.
- Implementación: poner la PK de A como FK en B.
Definición: Relación 1:∞: Un registro de A puede relacionarse con múltiples registros de B; cada registro de B se relaciona con un solo registro de A.
Ejemplo práctico:
- Tablas: CUSTOMER (CustomerID PK, Name, ...) y ORDERS (OrderCode PK, OrderDate, CustomerID FK, ...)
- Un cliente puede tener muchos pedidos; cada pedido pertenece a un único cliente.
∞:∞ (muchos a muchos)
- Descripción: Cada registro de A puede relacionarse con varios registros de B y cada registro de B puede relacionarse con varios registros de A.
- Implementación: crear una tabla intermedia (JOIN table) que contenga al menos las FK de ambas tablas; la combinación de esas FK suele ser la PK de la tabla intermedia.
Definición: Relación ∞:∞: Registros de A pueden estar vinculados con múltiples registros de B y viceversa; se resuelve mediante una tabla de relación.
Ejemplo práctico:
- Tablas: ORDERS (OrderCode PK, ...) y PRODUCTS (ProductCode PK, ...)
- Un pedido puede incluir varios productos y un producto puede estar en muchos pedidos.
- Tabla intermedia: ORDER_LINES (OrderCode FK, ProductCode FK, Quantity, Price), con PK compuesta por (OrderCode, ProductCode).
Tabla comparativa: ∞:∞ vs 1:∞
| Tipo | Implementación | Ejemplo |
|---|---|---|
| 1:∞ | FK en la tabla del “muchos” | CUSTOMER -> ORDERS |
| ∞:∞ | Tabla intermedia con FKs y PK compuesta | ORDERS <-> PRODUCTS con ORDER_LINES |
Pasos para modelar relaciones (metodología práctica)
- Identificar las tablas que intervienen en la consulta o requisito.
- Formular siempre las dos preguntas:
- "Cada registro de A, ¿con cuántos registros de B puede relacionarse?"
- "Cada registro de B, ¿con cuántos registros de A puede relacionarse?"
- Determinar el tipo de relación (1:1, 1:∞, ∞:∞) según las respuestas.
- Implementar la relación siguiendo las reglas de colocación de FK:
- Para 1:1, elegir una tabla para alojar la FK (preferiblemente la creada después o la dependiente).
- Para 1:∞, agregar la PK del lado 1 como FK en el lado ∞.
- Para ∞:∞, cre
Already have an account? Sign in
Relaciones en Bases de Datos
Klíčové pojmy: Una relación 1:1 vincula un registro de A con un registro de B y viceversa, En 1:1 la FK puede estar en cualquiera de las dos tablas; preferir la creada después, En 1:∞ la PK del lado 1 se añade como FK en el lado ∞, Una relación ∞:∞ se implementa mediante una tabla intermedia (JOIN) con las dos FKs, La PK de la tabla intermedia suele ser la combinación de las dos FKs, Siempre formular las dos preguntas: ¿cuántos de B por A? y ¿cuántos de A por B?, En la tabla JOIN se pueden guardar atributos de la relación (cantidad, precio, etc.), Definir restricciones de integridad referencial (ON DELETE/ON UPDATE), Separar datos opcionales en otra tabla puede optimizar un 1:1 con muchos nulos, Ubicar la FK en la tabla conceptualmente dependiente o creada después