Modelo de Entidad - Relación
DER
Introducción
Cuando se utiliza una base de datos para gestionar información, se está plasmando una parte del mundo real en una serie de tablas, registros y campos ubicados en un ordenador; creándose un modelo parcial de la realidad. Antes de crear físicamente estas tablas se debe realizar un modelo de datos.
El modelo entidad-relación (E-R) es uno de los varios modelos conceptuales existentes para el diseño de bases de datos.
Se suele cometer el error de ir creando nuevas tablas a medida que se van necesitando, haciendo así el modelo de datos y la construcción física de las tablas simultáneamente.
El modelo de datos más extendido es el denominado ENTIDAD/RELACIÓN (E/R) En el modelo E/R se parte de una situación real a partir de la cual se definen entidades y relaciones entre dichas entidades
Entidad
- Una entidad es cualquier "objeto" discreto sobre el que se tiene información.
- Cada ejemplar de una entidad se denomina instancia.
- Las entidades son modeladas en la base de datos como tablas.
Clave Foránea (FOREIGN KEY)
- La Clave Foránea referencia a la clave primaria de una tabla.
- Esta puede referenciar a la clave primaria de la misma tabla o de otra.
- SQL Valida la legitimidad de los datos almacenados en una clave foránea.
- Fuerza la integridad referencial.
Sintaxis del FOREIGN KEY
FOREIGN KEY(Campo1) REFERENCES tablapadre (campo2)ON DELETE [CASCADE NO ACTION RESTRICT]
ON UPDATE [CASE NO ACTION RESTRICT]
Ejemplo:
CREATE DATABASE IF NOT EXISTS nomina2; CREATE TABLE IF NOT EXISTS departamentos( cod_dep INT(2) NOT NULL, descripcion VARCHAR(30) NOT NULL, telf_dep VARCHAR(12) NOT NULL, ciudad VARCHAR(20) NOT NULL, presupuesto FLOAT(9,2) UNSIGNED NOT NULL, fec_creacion DATE NOT NULL, PRIMARY KEY(cod_dep) ) ENGINE=innodb; CREATE TABLE IF NOT EXISTS empleado( codigo INT(5) NOT NULL, nombre VARCHAR(50) NOT NULL, ingreso DATE NOT NULL, sueldo FLOAT(7,2) UNSIGNED NOT NULL DEFAULT 7300.00, num_hijos INT(2) UNSIGNED NOT NULL, tipo ENUM("Fijo","Temporal") NOT NULL, tiempo_contrato TINYINT(2) UNSIGNED DEFAULT 1 NOT NULL, dep_asignado INT(2) NOT NULL, PRIMARY KEY(codigo), FOREIGN KEY(dep_asignado) REFERENCES departamentos(cod_dep) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=innodb;
Super llave
Es un conjunto de uno o más aCADtributo que "juntos" identifican de manera única a una entidad.
Es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única un registro en el conjunto de registros. Es un conjunto de atributos mediante los cuales es posible reconocer a un registro. Este tipo de llaves contiene comúnmente atributos ajenos; es decir, atributos que no son indispensables para llevar a cabo el reconocimiento del registro.
Clave candidata
Llave candidata: es una súper llave mínima. Una tabla puede tener varias llaves candidatas, pero solo una es elegida como llave primaria.Relación
- Una relación describe cierta interdependencia (de cualquier tipo) entre una o más entidades.
- Una relación no tiene sentido sin las entidades que relaciona.
- Las relaciones son definidas con claves primarias y claves foráneas y mantienen la integridad referencial.
Cardinalidad de las Relaciones
Una relación describe cierta interdependencia (de cualquier tipo) entre una o más entidades.- Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B.
- Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B.
- Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B.
Atributos
Las entidades tienen atributos. Un atributo de una entidad representa alguna propiedad que nos interesa almacenar
En el modelo de Bases de Datos, los atributos son almacenados como columnas o campos de una tabla.
Consideraciones en el Planeamiento del Diseño Lógico de la Base de Datos
Determinar el negocio y las necesidades del usuario. Considerando cuales son los problemas que hay que salvar y las tareas que los usuarios deberán completar
Crear Bases de Datos Normalizadas. Prever innecesariamente información duplicada, inconsistencias en la base de datos, anomalías y problemas de pérdida de la información.
0 Comentarios