Dentro del modelado de datos , la cardinalidad es la relación numérica entre las filas de una tabla y las filas de otra. Las cardinalidades comunes incluyen uno a uno , uno a muchos y muchos a muchos . La cardinalidad se puede utilizar para definir modelos de datos y analizar entidades dentro de conjuntos de datos.
Por ejemplo, considere una base de datos de registros médicos electrónicos . Una base de datos de este tipo podría contener tablas como las siguientes:
doctor
tabla con información sobre los médicos.patient
mesa para sujetos médicos en tratamiento.appointment
tabla con una entrada para cada visita al hospital.Existen relaciones naturales entre estas entidades:
doctor
y los registros de entrada patient
porque los médicos tienen muchos pacientes y los pacientes pueden ver a muchos médicos.patient
y los registros de entrada appointment
porque los pacientes pueden tener muchas citas y cada cita involucra a un solo paciente. [1]En el modelado de datos , las colecciones de elementos de datos se agrupan en "tablas de datos" que contienen grupos de nombres de campos de datos llamados "atributos de base de datos". Las tablas están vinculadas por "campos clave". Una "clave principal" asigna un campo a su "tabla de pedidos especiales". Por ejemplo, el campo "Apellido del médico" podría asignarse como clave principal de la tabla Médico y todas las personas que tengan el mismo apellido se organizarán alfabéticamente según las tres primeras letras de su nombre. Una tabla también puede tener una clave externa que indica que el campo está vinculado a la clave principal de otra tabla. [2]
Un modelo de datos complejo puede incluir cientos de tablas relacionadas. El informático Edgar F. Codd creó un método sistemático para descomponer y organizar bases de datos relacionales . [3] Los pasos de Codd para organizar las tablas de la base de datos y sus claves se denominan normalización de la base de datos , lo que evita ciertos errores ocultos de diseño de la base de datos ( eliminar anomalías o actualizar anomalías ). En la vida real, el proceso de normalización de la base de datos termina dividiendo las tablas en un mayor número de tablas más pequeñas. [3]
En el mundo real, el modelado de datos es fundamental porque a medida que los datos crecen, se deben utilizar tablas vinculadas por claves para acelerar la recuperación programada de datos. Si un modelo de datos está mal elaborado, incluso un sistema de aplicaciones informáticas con sólo un millón de registros generará retrasos inaceptables en el tiempo de respuesta de los usuarios finales. Por esta razón, el modelado de datos es una piedra angular de las habilidades que necesita un desarrollador de software moderno. [ cita necesaria ]
El modelo entidad-relación propone una técnica que produce diagramas entidad-relación (ERD), que pueden emplearse para capturar información sobre los tipos de entidades, las relaciones y la cardinalidad del modelo de datos. La pata de gallo muestra una relación de uno a muchos . Alternativamente, una sola línea representa una relación uno a uno. [4]
En el paradigma de programación de aplicaciones orientada a objetos, que está relacionado con el diseño de la estructura de la base de datos, se pueden utilizar diagramas de clases UML para el modelado de objetos . En ese caso, las relaciones entre objetos se modelan mediante asociaciones UML y se utiliza la multiplicidad en esas asociaciones para denotar cardinalidad . A continuación se muestran algunos ejemplos: [5]