MySQL - Relacionar Tablas en Mysql

 
Vista:

Relacionar Tablas en Mysql

Publicado por Laura (6 intervenciones) el 29/05/2007 15:44:33
Hola Soy principiante en MySql y no se como puedo relacionar mis tablas
Tengo una Tabla Cliente y Una Facturas
como relaciono mis tablas Cliente con Facturas de uno a muchos 1:m
por favor alguien me lo podria explicar por favor.
o si eso lo tengo que hacer a travez de mi codigo estoy usando Java y tambien soy principiante en Java
espero que me puedan ayudar.
de antemano gracias
saludos
Laura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Relacionar Tablas en Mysql

Publicado por Luiso (2 intervenciones) el 30/05/2007 18:11:50
Hola Laura

Yo lo hago de la siguiente manera. En la sentencia SQL tienes que utilizar el INNER JOIN de esta forma

"SELECT facturas.precio,clientes.nombre FROM clientes INNER JOIN facturas ON (clientes.id_factura=facturas.id_factura) WHERE id_cliente=1"

No se si está bien del todo pero es algo así. Lo que hace es seleccionar el precio de las facturas de la tabla facturas y el nombre del cliente de la tabla clientes cuando el cliente es 1. Como me imagino que tendrás mas de una factura por cliente tendrás que jugar con la sentencia SQL para seleccionar todas.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar Tablas en Mysql

Publicado por Laura (6 intervenciones) el 30/05/2007 18:19:52
Ok muchas gracias entonces todo sobre relaciones de tablas lo debo de hacer por medio de codigo.

De atemano te agradezco tu ayuda.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar Tablas en Mysql

Publicado por carlos (5 intervenciones) el 07/06/2007 23:13:29
La relación entre tablas la has de hacer con una clave foránea en la tabla relacionada que apunte a la clave primaria de la tabla a relacionar (foreig key). De esta menera existirá integridad en tu base de datos. Otra forma es como obtienes los datos, que como han comentado será mediante JOINS. Existen diferentes JOINS según te interese el resultado final.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar Tablas en Mysql

Publicado por victor (1 intervención) el 22/10/2007 20:49:46
podrias enviarme el codigo para relacionar dos tablas en mysql ahi t dejo mi correo si pueds hazme ese favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar Tablas en Mysql

Publicado por yordenis (1 intervención) el 20/03/2008 16:31:52
Bueno yo tambien teno una dudita en esto, yo estoy haciendo mi tesis , pero para crear la base de datos la hago en el erwinestudio 6.6 , es una herramienta para hacer bases de datos y luego la exporta a cualquier gestor, alli yo hice mi base de datos con las relaciones y todo y luego la exporté a mysql,y lo hizo muy bien, pero aun no he probado si en verdad me mantiene las tablas relacionadas, yo trabajo con tipos de tablas MyISAM...aqui les mando un scrip de lo que hizo en solo 3 tablas, una realizadores con llave principal id_realizadores , una tabla tesis con llave primaria id_tesis y una tabla ttutores con con llave primaria id_llave.....las tablas ttutores y ttesis estan relacionadas con rrealizadores de uno a muchos y cuando y en el scrip que se copian en Mysql-front aparece relacionado asi...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CREATE TABLE `ttesis` (
  `id_tesis` int(5) NOT NULL default '0',
  `titulo` varchar(20) NOT NULL default '',
  `ubicacion_fisica` varchar(20) NOT NULL default '',
  `resumen` varchar(100) default NULL,
  `puntuacion` int(1) NOT NULL default '0',
  `cantidad_alumnos` int(1) default NULL,
  PRIMARY KEY  (`id_tesis`)
) TYPE=MyISAM;
CREATE TABLE `ttutores` (
  `nombre` varchar(10) NOT NULL default '',
  `id_llave` int(11) NOT NULL default '0',
  `1er_apellido` varchar(10) NOT NULL default '',
  `2do_apellido` varchar(10) default NULL,
  `cen_trabajo` varchar(30) default NULL,
  `nivel` varchar(15) default NULL,
  PRIMARY KEY  (`id_llave`)
) TYPE=MyISAM;
 
CREATE TABLE `rrealizadores` (
  `nombre` varchar(10) NOT NULL default '',
  `id_realizador` int(11) NOT NULL default '0',
  `1er_apellido` varchar(10) NOT NULL default '',
  `2do_apellido` varchar(10) NOT NULL default '',
  `direccion` varchar(20) default NULL,
  `ubicacion` varchar(20) default NULL,
  `año_ de_ graduacion` date NOT NULL default '0000-00-00',
  `id_llave` int(11) NOT NULL default '0',
  `id_tesis` int(5) NOT NULL default '0',
  PRIMARY KEY  (`id_realizador`)
) TYPE=MyISAM;

como se puede ver, me cige las llaves de la tabla ttesis y ttutores y las pone en rrealizadores, y creo que esto funciona...cuando lo pruebe les digo..
salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar Tablas en Mysql

Publicado por max (1 intervención) el 07/02/2008 16:53:15
ALGIEN ME PODRIA AYUDAR COMO RELACIONAR TABLAS EN MYSQL KIERO UN EJEMPLO DEMUESTA PAA GUIARLE S ELOS AGRADECERIA MEN´s
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar Tablas en Mysql

Publicado por Luis Antonio Barrios Vargas (1 intervención) el 17/11/2009 01:09:11
SELECT * FROM Cliente c, Facturas where NumeroclienteFacturas=c.idcliente

tu numero de cliente defactura debe ser el mismo que tu idcliente osease tu key de relacion espero explicarme yo tampoko se mucho ese seria un ejemplo espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Relacionar Tablas en Mysql

Publicado por Hector (1 intervención) el 29/12/2009 13:40:40
La unica manera que yo conozco de relacionar tablas en MySql es mediante tablas InoDB. No esta soportado para tablas MyISAM.

Cuando creas una tabla InoDB, en la pantalla de estructura aparece abajo la opcion "vista de relaciones" y ahi se configuran.

Pero no os confundais. Las reaciones a nivel de base de datos son para resolver problemas de integridad de datos. Las consultas SQL tienen que hacerse con JOINs igualmente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar Tablas en Mysql

Publicado por conejillo de indias (1 intervención) el 11/05/2010 18:22:02
bueno amigo aqui te dejo un codigo muy claro q encontre en internet. aclaro no es propiedad mio.."de las cosas pequeñas estan hechas las cosas grandes"

create table tabla1
(
IdTabla1 int not null auto_increment primary key,
campo1 varchar(20)
)type=innodb;

create table tabla2
(
IdTabla1 int not null,
campo1 varchar(20),
foreign key tabla1_tabla2 (IdTabla1) references tabla1(IdTabla1)
)type=innodb;

insert into tabla1 values (1,'nombre1');
insert into tabla1 values (2,'nombre2');
insert into tabla1 values (3,'nombre3');

insert into tabla2 values (3,'dato3');
insert into tabla2 values (5,'dato5');
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar