Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2009, 14:53
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Dudas al crear mi diseño de BD

Hola a todos,

Estoy proponiendome diseñar una base de datos para una página web que estoy montando. Pero el problema es que no acabo de ver como puedo enlazar las tablas (claves foraneas... ya que las claves primarias creo que las tengo controladas)

Alguien me puede echar una manita?

Es un diseño que no debería ser complicado ya que parto de 4 tablas

La tabla usuarios

Código:
CREATE  TABLE IF NOT EXISTS `mydb`.`usuarios` (
  `id` INT NOT NULL COMMENT 'Clave principal que se autoincrementa' ,
  `nombre` VARCHAR(45) NOT NULL COMMENT 'nombre del usuario' ,
  `email` VARCHAR(45) NOT NULL COMMENT 'correo electrónico' ,
  `password` VARCHAR(45) NOT NULL COMMENT 'Encriptado en MD5' ,
  `avatar` TINYBLOB NULL ,
  `verificado` BOOLEAN NULL DEFAULT False COMMENT 'True o False' ,
  `claveverificado` VARCHAR(45) NULL COMMENT 'Numero aleatorio' ,
  PRIMARY KEY (`id`) )
tabla tareas

Código:
CREATE  TABLE IF NOT EXISTS `mydb`.`tareas` (
  `idtareas` INT NOT NULL ,
  `categoria` VARCHAR(45) NOT NULL ,
  `asunto` VARCHAR(45) NOT NULL ,
  `prioridad` VARCHAR(45) NOT NULL ,
  `finicio` VARCHAR(45) NOT NULL ,
  `ffinal` VARCHAR(45) NULL ,
  `progreso` VARCHAR(45) NULL ,
  `comentario` VARCHAR(45) NULL ,
  PRIMARY KEY (`idtareas`) )
tabla categorias

Código:
CREATE  TABLE IF NOT EXISTS `mydb`.`categorias` (
  `idcategorias` INT NOT NULL ,
  `nombre` VARCHAR(45) NULL ,
  PRIMARY KEY (`idcategorias`) )
Y la tabla comentarios

Código:
CREATE  TABLE IF NOT EXISTS `mydb`.`comentarios` (
  `idcomentarios` INT NOT NULL ,
  `comentarios` VARCHAR(45) NULL ,
  PRIMARY KEY (`idcomentarios`) )
Mi pregunta es como relacionarlas entre sí.
Como véis ya he definido los campos que van a tener y las claves primarias.

Y sé lo siguiente...
  1. Un usuario puede tener varias tareas y (a su vez quiero que se permita que) una tarea pueda ser de varios usuarios.
  2. Una tarea tiene 0 o mas comentarios
  3. Una tarea solo tiene una categoria.

Necesito una manita para relacionar esto.....

Muchas gracias