En el ámbito 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 más comunes son uno a uno , uno a muchos y muchos a muchos . La cardinalidad se puede utilizar para definir modelos de datos, así como para analizar entidades dentro de conjuntos de datos.
Por ejemplo, considere una base de datos de registros médicos electrónicos . Dicha base de datos podría contener tablas como las siguientes:
doctor
tabla con información sobre los médicos.patient
mesa para sujetos médicos sometidos a tratamiento.appointment
tabla con una entrada para cada visita al hospital.Existen relaciones naturales entre estas entidades:
doctor
entre los registros en y los registros en patient
porque los médicos tienen muchos pacientes y los pacientes pueden ver a muchos médicos.patient
entre los registros en y los registros en appointment
porque los pacientes pueden tener muchas citas y cada cita involucra solo a un 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 orden especial". Por ejemplo, el campo "Apellido del médico" podría asignarse como una clave principal de la tabla del médico con todas las personas que tienen el mismo apellido organizadas alfabéticamente de acuerdo con las primeras tres 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 involucrar cientos de tablas relacionadas. El científico 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 bases de datos y sus claves se denominan normalización de bases de datos , que evita ciertos errores ocultos de diseño de bases de datos ( anomalías de eliminación o anomalías de actualización ). En la vida real, el proceso de normalización de bases 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 se hacen más voluminosos, se deben utilizar tablas vinculadas por claves para acelerar la recuperación programada de datos. Si un modelo de datos está mal diseñado, incluso un sistema de aplicaciones informáticas con solo un millón de registros dará a los usuarios finales retrasos inaceptables en el tiempo de respuesta. Por este motivo, el modelado de datos es una piedra angular de las habilidades que necesita un desarrollador de software moderno. [ cita requerida ]
El modelo entidad-relación propone una técnica que produce diagramas entidad-relación (ERDs), que pueden emplearse para capturar información sobre los tipos de entidades, relaciones y cardinalidad del modelo de datos. Una pata de gallo muestra una relación de uno a muchos . Alternativamente, una sola línea representa una relación de uno a uno. [4]
En el paradigma de programación de aplicaciones orientadas a objetos, que está relacionado con el diseño de la estructura de bases de datos, se pueden utilizar diagramas de clases UML para el modelado de objetos . En ese caso, las relaciones entre objetos se modelan utilizando asociaciones UML y se utiliza la multiplicidad en esas asociaciones para indicar la cardinalidad . A continuación se ofrecen algunos ejemplos: [5]