Documentos de Académico
Documentos de Profesional
Documentos de Cultura
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
Buscar
Respuestas
Desarrollo web
Actualidad
Desarrolladores
Ms
NO TE PIERDAS
Curiosidades
Open Source
Frameworks
Herramientas de desarrollo
Pedro Gutirrez
Google+ @PedroXitrus Editor en Genbetadev
PUBLICIDAD
Sguenos
Newsletter: Suscrbete
Comentarios 18
Versin mvil
Versin tablet
Las bases de datos son un gran pilar de la programacin actual, ya que nos permiten almacenar y usar de forma rpida y eficiente cantidades ingentes de datos con cierta facilidad. En la actualidad se usa de forma mayoritaria las bases de datos relacionales (dominadas por distintos gestores a travs del lenguaje SQL, en gran medida). Pero ahora vamos a dar un pequeo repaso a lo ms esencial del modelo entidad-relacin, que es y ha sido durante aos la mejor forma de representar la estructura de estas bases de datos relacionales (o de representar sus esquemas).
Qu es el modelo entidad-relacin?
Como ya he comentado este modelo es solo y exclusivamente un mtodo del que disponemos para disear estos esquemas que posteriormente debemos de implementar en un gestor de BBDD (bases de datos). Este modelo se representa a travs de diagramas y est formado por varios elementos. Este modelo habitualmente, adems de disponer de un diagrama que ayuda a entender los datos y como se relacionan entre ellos, debe de ser completado con un pequeo resumen con la lista de los
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
1 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
Entidad
Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre s. Para poder seguir un ejemplo durante el artculo aadir ejemplos sobre un taller mecnico, donde se podra crear las siguientes entidades: Coches (objeto fsico): contiene la informacin de cada taller. Empleado (objeto fsico): informacin de los trabajadores. Cargo del empleado (cosa abstracta): informacin de la funcin del empleado. Estas entidades se representan en un diagrama con un rectngulos, como los siguientes.
Atributos
Los atributos definen o identifican las caractersticas de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan informacin sobre esta entidad. Estos atributos pueden ser de distintos tipos (numricos, texto, fecha). Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad Coches, que nos darn informacin sobre los coches de nuestro supuesto taller. Unos posibles atributos seran los siguientes: nmero de chasis, matrcula, DNI del propietario, marca, modelo y muchos otros que complementen la informacin de cada coche. Los atributos se representan como crculos que descienden de una entidad, y no es necesario representarlos todos, sino los ms significativos, como a continuacin.
En un modelo relacional (ya implementado en una base de datos) una ejemplo de tabla dentro de una BBDD podra ser el siguiente.
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
2 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
Relacin
Es un vnculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable. Por ejemplo, los empleados del taller (de la entidad Empleados) tienen un cargo (segn la entidad Cargo del empleado). Es decir, un atributo de la entidad Empleados especificar que cargo tiene en el taller, y tiene que ser idntico al que ya existe en la entidad Cargo del empleado. Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante lneas.
Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una implementacin en una BBDD), por lo que voy a poner el ejemplo de como se representara (resaltada la relacin, que posteriormente veremos como se hara). Empleados
Relaciones de cardinalidad
Podemos encontrar distintos tipos de relaciones segn como participen en ellas las entidades. Es decir, en el caso anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados. Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relacin que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relacin.
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
3 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
solo puede tener una matrcula (y cada matrcula un chasis, ni ms en ningn caso).
Uno a varios o varios a uno: determina que un registro de una entidad puede estar relacionado con varios de otra entidad, pero en esta entidad existir solo una vez. Como ha sido en el caso anterior del trabajador del taller.
Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o varios registros y viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecnicos distintos y esos mecnicos pueden reparar varios coches distintos.
Los indicadores numricos indican el primero el nmero mnimo de registros en una relacin y posteriormente el mximo (si no hay lmite se representa con una n).
Claves
Es el atributo de una entidad, al que le aplicamos una restriccin que lo distingue de los dems registros (no permitiendo que el atributo especfico se repita en la entidad) o le aplica un vnculo (exactamente como comentbamos en las relaciones). Estos son los distintos tipos: Superclave: aplica una clave o restriccin a varios atributos de la entidad, para as asegurarse que en su conjunto no se repitan varias veces y as no poder entrar en dudas al querer identificar un registro. Clave primaria: identifica inequvocamente un solo atributo no permitiendo que se repita en la misma entidad. Como sera la matrcula o el nmero de chasis de un coche (no puede existir dos veces el mismo). Clave externa o clave fornea: este campo tiene que estar estrictamente relacionado con la clave primaria de otra entidad, para as exigir que exista previamente ese clave. Anteriormente hemos hablado de ello cuando comentbamos que un empleado indispensablemente tiene que tener un cargo (que lo hemos representado numricamente), por lo cual si intentsemos darle un cargo inexistente el gestor de bases de datos nos devolvera un error.
Resumen
Esto ha sido solo un repaso por encima de lo que es el modelo entidad-relacin, sin entrar en grandes detalles. Tambin, bajo mi punto de vista, creo que es una buena forma de disear correctamente las bases de datos, aunque algunas veces resulta ms rpido implementarlo directamente en nuestro gestor de BBDD sin la necesidad de crear un gran diagrama, sino usando notas ms simples. Y vosotros cmo diseis las bases de datos?
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
4 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
Tags
Bases de Datos
Modelo entidad-relacin
PUBLICIDAD
lifeprojector.com.br
Artculos recomendados
Respuestas
Desarrollo de aplicaciones mviles (II): Para qu plataformas mviles desarrollar y para cul primero?
(Xataka Mvil)
18 1
Cmo se hacen los procedimientos almacenados que retornan varios registros en ORACLE?
hace 10 meses
2 0
recomendado por
Ver ms artculos
Powercenter
hace 3 aos
Ver ms respuestas
Deja un comentario
Entra
Reglas de participacin Notificacin de comentarios por correo: Todos Slo respuestas a los mos Nada
Publicar
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
5 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
18 comentarios
Suscribir Abrir todos Cerrar todos
Ordenar por:
Ms valorados
Ms recientes
Cronolgico
manp
INTERESANTE
5 de Noviembre de 2013 - 4:22
Enhorabuena por el artculo, muy bien redactado y explicado. Pero sinceramente, no creo que sea muy til para la mayora de los que visitamos esta web. Un saludo ;)
Respondiendo a manp:
Responder
patxi198
INTERESANTE
5 de Noviembre de 2013 - 4:33
yo creo que te sorprenderia cuantos programadores no saben esto, o no lo tienen bien aprendido aunque si que es cierto, que quizas estos programadores no vengan por estos lares. Igualmente enhorabuena por el articulo. Aunque hubiera explicado en las claves primaria, la diferencia entre clave natural y clave autonumerica, ya que no siempre podemos tener una clave natural
Respondiendo a patxi198:
Responder
18
jairiski96
Pues yo, como aprendiz de programador, te doy las gracias. En 10 minutos he aprendido lo que mi profesora de ofimtica (Que tambin da bases de datos[en mi curso de grado medio]) no ha logrado explicar en 3 horas. Genial tambin el artculo de la arquitectura von-neumman, aunque no s si lo has redactado tu o no. Saludos, @jairoV96.
Respondiendo a manp:
Responder
Pedro Gutierrez
http://xitrus.es
Realmente me he echado a escribirlo para complementar las explicaciones de clase y echarles un cable a mis compaeros, que es algo que sin saber de BBDD cuesta un
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
6 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
que ni conocen esto (tambin es verdad que no es indispensable) pero viene bien conocer las bases de la BBDD relacionales.
Cassidy
Responder
INTERESANTE
5 de Noviembre de 2013 - 4:46
Hola, buen artculo bsico y sencillamente explicado. Slo un par de cosas (pejigueras): La relacin, por norma general, se expresa con un slo verbo o verbo + artculo. Ese "Es en el taller", no mola. La entidad tambin debe contener un slo sustantivo. En el ejemplo de Empleados / Cargo el empleados.id_cargo 003 puede llevar a confusin en el ejemplo. O se aade un cargo con id 003 o se pone a 001/002 el de Juan Snchez. El resto guay :-)
Respondiendo a Cassidy:
Responder
Pedro Gutierrez
http://xitrus.es
Si, es un poco "chapucero" poner algo tan largo, pero ha sido para garantizar que se entiende. En cuanto a lo de Empleados y Cargos del empelado es una relacin 1:N, que lo he mencionado un poco antes para abrir camino a estos tipos. Pero gracias por el comentario ;)
josuebspawn
Responder
INTERESANTE
6 de Noviembre de 2013 - 14:39
16
Refrescar conceptos y la memoria va muy bien. Para los iniciados puede ser una introduccin a las bases de datos relacionales. Sea chapucero o no, el pararse a escribir una entrada por parte de una persona que dedica su tiempo a dar una pequea muestra del saber sobre estos temas es de agradecer cuanto mnimo.
thebronx
http://salvatorelab.es
Responder
mira que me gustan poco los esquemas... si la base de datos es sencilla es una prdida de tiempo andar con esquemitas, y si es complicada, ver un esquema con tropecientas entidades y relaciones por todas partes lo nico que hace es que vayas directamente a las tablas a ver ejemplos reales ya que no hay dios que saque algo en claro de semejante laberinto.
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
7 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Entra
o conctate con
isola009
Hay herramientas que te generan los diagramas automticamente y tambin hay software que diseando esquemticamente, te crea las tablas. Cada uno sabr cmo lo quiere hacer, lo importante cuando heredas un cdigo ajeno es tener ambas cosas.
Respondiendo a isola009:
Responder
12
Pedro Gutierrez
http://xitrus.es
El problema es que algunos de esos programas que te pasan del modelo entidad-relacin te meten paja innecesaria. Pero si, viene bien tener todo esto cuando te toca manipular un esquema que ha hecho otro.
Respondiendo a thebronx:
Responder
robertito131
En general no esquematizas toda la base de datos. Hay tablas que son comunes para casi todos los proyectos y que ya las conoces de memoria en su forma normalizada. El modelado es til cuando trabajas con estructuras de datos complejas o desconocidas.
marbaz
Responder
11
Respondiendo a marbaz:
Responder
13
Pedro Gutierrez
http://xitrus.es
Nooooo... Si. Realmente no es de la carrera, es de una Formacin Profesional, pero si son cosas de mi temario habitual. Genbeta Dev me permite ampliar cosas de clase o re-explicarlas para echarles un cable a mis compaeros y de paso refresco la memoria a muchos que lo vieron hace aos.
acepta el uso de cookies. Ms informacin >
Responder
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que
8 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
10
manutek
Esta muy mal hecho, aunque es un ejemplo! Para empezar una entidad no puede decir "Empleados, coches" sino "Empleado, coche" por que confunde decirlo en plural, otro detalle nunca usaria palabras largas para las realciones como "Es en el taller" usaria "Posee o Pertenece"! eso si depende de cada quien. Por ultimo un ID debe ser 1,2,3 no 001,002,003.
Gerardo
http://www.treeweb.es/
Responder
14
Por el ttulo pensaba que era cmo surgi el modelo entidad-relacin pero slo son resmenes de apuntes de bases de datos relacionales. No hay nada sobre cardinalidad, normalizacin/desnormalizacin, lgebra relacional, ni ndices
Respondiendo a Gerardo:
Responder
15
Pedro Gutierrez
http://xitrus.es
Si, solo es sobre el modelo de entidad-relacional por encima, lo ms bsico, si me metiese en detalles o en la historia de cuando se cre este modelo (por Peter Chen) sera eterno el artculo y no cumplira su cometido, que es el de repasar el modelo. Aunque sobre la historia de Peter Chen y porqu y como cre este modelo podra hablar en ms adelante... Saludos :)
jorgeregidor
http://www.linkedin.com/pub/jorg...
Responder
muy bueno el articulo!! y yo creo que nunca esta demas a quienes nos lo sabemos pegarle un repasito y a quien no lo sepa que se lo aprenda, porque es lo mas basico a la hora de disear DB y si es verdad que alguno no sabe ni que existe
adordth
Responder
17
Casi no me lo creo cuando comentaron que hay programadores que no saben esto. In lo personal, prefiero tender in diagrams E-R por my sencilla o compleja que sea LA base de datos.
acepta el uso de cookies. Ms informacin >
Responder
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que
9 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Regstrate
Entra
o conctate con
Suscribir
Abrir todos
Cerrar todos
PUBLICIDAD
Ms en Genbeta Dev
MariaDB 10 sigue aportando mejoras al cdigo legacy de MySQL, soporte NoSQL y ms escalable
WebScaleSQL, el proyecto libre de Facebook, Twitter, Google y Linkedin para hacer MySQL ms escalable
TECNOLOGA
Xataka Xataka Mvil Xataka Foto Xataka Android Xataka On
ESTILOS DE VIDA
Trendencias Trendencias Belleza Trendencias Hombre Trendencias Shopping Trendencias Lifestyle Directo al Paladar Bebs y Ms Peques y Ms Vitnica Decoesfera Embelezzia Ambiente G Poprosa
MOTOR
Motorpasin Motorpasin F1 Motorpasin Moto Motorpasin Futuro
OCIO
Blog de Cine Vaya Tele! Hipersnica Diario del Viajero Papel en Blanco
ECONOMA
El Blog Salmn Pymes y Autnomos Tecnologa Pyme Ahorro Diario
LATINOAMRICA
Xataka Brasil Trendencias Brasil Motorpasin Brasil Xataka Mxico Motorpasin Mxico Directo Al Paladar Mxico Xataka Android Mxico Vida Extra Mxico Vitnica Mxico
PARTICIPAMOS EN
Circula Seguro Circula Seguro PT Actibva Anexo M Happing Magazine Blog Sage Optimismo Digital En Naranja Bloggin Zenith Urbanfire Tecnologa de t a t Ciudadano 0,0 Blog Fanta Mi Mundo Philips
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
10 de 11
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-...
Entra
o conctate con
CONDICIONES DE USO
POLTICA DE COOKIES
AVISO LEGAL
PUBLICIDAD
AYUDA
CONTACTO
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus preferencias segn su navegacin. Si continua navegando consideramos que acepta el uso de cookies. Ms informacin >
11 de 11