You are on page 1of 10

Genbeta Dev

B u s c ae nG e n b e t aD e vc o nG o o g l e

Buscar

Respuestas

Desarrollo web

Actualidad

Trabajar como desarrollador

Desarrolladores

Ms

NO TE PIERDAS

Curiosidades

Open Source

Frameworks

Herramientas de desarrollo

Eventos para Desarrolladores

Fundamento de las bases de datos: Modelo entidadrelacin


05 de noviembre de 2013 | 09:10 CET

Pedro Gutirrez
Google+ @PedroXitrus Regstrate | Entra o conctate con

Editor en Genbetadev

Me gusta

Tw ittear

67

11

Me gusta

60

Comentarios 16

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 atributos y las relaciones de cada elemento.

Elementos del modelo entidad-relacin


Entidad
Utilizamos cookies propias y de terceros para mostrarle publicidad relacionada con sus entidades preferencias segn su navegacin. continua navegando consideramos que que se diferencian Las representan cosas u Si objetos (ya sean reales o abstractos), acepta el uso de cookies. Ms informacin > 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.

Nmero de chasis 5tfem5f10ax007210 6hsen2j98as001982 5rgsb7a19js001982

Matrcula 4817 BFK 8810 CLM 0019 GGL

DNI del propietario 45338600L 02405068K 40588860J

Este ejemplo es con tres atributos, pero un coche podra tener cientos (si fuese necesario) y seguiran la misma estructura de columnas, tras implementarlo en una BBDD.

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

Nombre Carlos Snchez Pepe Snchez Juan Snchez

DNI 45338600L 02405068K 40588860J

Cargo 001 002 002

Cargo del empleado

ID del cargo 001 002

Descripcin Jefe de taller Mecnico

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. Uno a uno : Una entidad se relaciona nicamente con otra y viceversa. Por ejemplo, si tuvisemos una entidad con distintos chasis y otra con matrculas deberamos de determinar que cada chasis 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? Ms informacin | Wikipedia

Categoras Tags

Bases de datos Modelo entidad-relacin

Bases de Datos

PUBLICIDAD

Artculos recomendados

Respuestas

Multitud de concursos de desarrollo sobre plataforma Microsoft

18 1

Qu gestor de bases de datos prefieres usar y porqu?


hace un mes

Instagram censura y cierra la cuenta de una madre que public una foto desnuda practicando Yoga y dando el pecho a su hijo
(Xataka Foto)

Las diez mejores pelis informticas (y II)

Cmo se hacen los procedimientos almacenados que retornan varios registros en ORACLE?
hace 4 meses

Un sencillo truco para esconder y ordenar los cables de la mesa del televisor
(Xataka Smart Home)

2 0
recomendado por

Diferencias entre lenguages SQL y NoSQL


hace 4 meses

Mark Zuckerberg se reduce el salario a 1 dlar mensual


(Xataka Mxico)

Sobre sincronizacion de bases de datos


hace 9 meses

Ver ms artculos

Powercenter
hace 2 aos

Ver ms respuestas

Deja un comentario
Entra
Reglas de participacin Notificacin de comentarios por correo: Todos Slo respuestas a los mos Nada

Publicar

PUBLICIDAD

Anuncios Google

Download Free Software


Download Free PC Manager Software. Easy File Transfer. Download Now ! mobogenie.com/download-software

Plantillas Web Gratuitas


Elige Una y Personalzala Gratis Crea Tu Pgina Web Gratis Ahora! wix.com

Mercedes-Benz Financial
Drive Home the new Mercedes-Benz A-Class at a low EMI of Rs 25,555/Request-Mercedes-Benz.com/Financial

16 comentarios
Suscribir Abrir todos Cerrar todos

Ordenar por:

Ms valorados

Ms recientes

Cronolgico

INTERESANTE
1

manp

5 de Noviembre de 2013 - 4:52

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:

5 votos | Karma 57.50

Responder

INTERESANTE
2

patxi198

5 de Noviembre de 2013 - 5:03

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 manp:

4 votos | Karma 55.00

Responder

Pedro Gutierrez
http://xitrus.es

5 de Noviembre de 2013 - 11:33

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 poco... Y al igual que mis compaeros a muchos otros que estn empezando y les cueste quizs les viene bien. Pero como te comenta @patxi198, muchos son los programadores y experimentados que ni conocen esto (tambin es verdad que no es indispensable) pero viene bien conocer las bases de la BBDD relacionales.

Cassidy

1 voto | Karma 23.00

Responder

INTERESANTE
3 5 de Noviembre de 2013 - 5:16

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:

2 votos | Karma 35.00

Responder

Pedro Gutierrez
http://xitrus.es

5 de Noviembre de 2013 - 11:34

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 ;)

1 voto | Karma 23.00

Responder

16

josuebspawn

6 de Noviembre de 2013 - 15:09

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://universojuegos.es

1 voto | Karma 30.00

Responder

5 de Noviembre de 2013 - 5:58

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.


Respondiendo a thebronx:

1 voto | Karma 20.00

Responder

isola009

5 de Noviembre de 2013 - 7:15

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:

0 votos | Karma 8.00

Responder

12

Pedro Gutierrez
http://xitrus.es

6 de Noviembre de 2013 - 11:33

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:

0 votos | Karma 13.00

Responder

robertito131

5 de Noviembre de 2013 - 7:14

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

0 votos | Karma 5.00

Responder

11

6 de Noviembre de 2013 - 6:51

estis posteando vuestros apuntes de la carrera? jijijiji

1 voto | Karma 20.00

Responder

Respondiendo a marbaz:

13

Pedro Gutierrez
http://xitrus.es

6 de Noviembre de 2013 - 11:34

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.


manutek

0 votos | Karma 13.00

Responder

10

5 de Noviembre de 2013 - 17:31

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/

3 votos | Karma 18.00

Responder

14

6 de Noviembre de 2013 - 12:49

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:

0 votos | Karma 10.00

Responder

15

Pedro Gutierrez
http://xitrus.es

6 de Noviembre de 2013 - 12:54

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...

0 votos | Karma 13.00

Responder

5 de Noviembre de 2013 - 7:14

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


Suscribir Abrir todos Cerrar todos

0 votos | Karma 8.00

Responder

Deja un comentario

PUBLICIDAD

Ms en Genbeta Dev

Google anuncia que Cloud SQL ya permite conexiones nativas MySQL

Multitud de concursos de desarrollo sobre plataforma Microsoft

GDE: Estructura del proyecto

SharePoint, Office y Office 365, anlisis de un excelente libro

Eventos para desarrolladores en Noviembre 2013: DevFest Madrid, BcnDevCon, Big Data Spain y PyConEs

en Genbeta Dev

LO MEJOR

TEMAS

PRODUCTOS

RESPUESTAS

CLUB

COMUNIDAD

STAFF

TECNOLOGA
Xataka Xataka Mvil Xataka Foto Xataka Android Xataka On

Xataka Smart Home

Xataka Windows

Xataka Ciencia

Applesfera

Vida Extra

Genbeta

Genbeta Dev

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

PARTICIPAMOS EN
eBayers Circula Seguro Circula Seguro PT Actibva Anexo M Happing Magazine Blog Sage Optimismo Digital 1001 Experiencias En Naranja Essie Blog Bloggin Zenith Urbanfire Tecnologa de t a t Ciudadano 0,0 Blog Fanta Mi Mundo Philips BBVA con tu empresa Per Travel Blog Bershka Bscene

QUIENES SOMOS?

CONDICIONES DE USO

POLTICA DE COOKIES

AVISO LEGAL

PUBLICIDAD

AYUDA

CONTACTO

WEBLOGS SL

You might also like