Im trying to get my design right first time and came up with this on MySQL
work bench.
I have 4 tables which is all I think I need.
Reader
Tag
Uploader
Resource
Diagram
Now the reader can have many interests so this would be a one to many relationship to the Tag table?
The resource can have may tags so again this would be one to many?
The uploader can upload many resources to this is one to many also?
Is this right? Have i missed anything out?
work bench.
I have 4 tables which is all I think I need.
Reader
Tag
Uploader
Resource
Diagram
Now the reader can have many interests so this would be a one to many relationship to the Tag table?
The resource can have may tags so again this would be one to many?
The uploader can upload many resources to this is one to many also?
Is this right? Have i missed anything out?
Code:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`Reader`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Reader` (
`idReader` INT NOT NULL AUTO_INCREMENT ,
`Username` VARCHAR(45) NOT NULL ,
`Password` VARCHAR(20) NOT NULL ,
`Email` VARCHAR(60) NOT NULL ,
`Interests` VARCHAR(45) NOT NULL COMMENT 'Relates to tags. A user can have many interests\n' ,
PRIMARY KEY (`idReader`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Tag`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Tag` (
`idTag` INT NOT NULL AUTO_INCREMENT ,
`Tag` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idTag`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Resource`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Resource` (
`idResources` INT NOT NULL AUTO_INCREMENT ,
`Title` VARCHAR(45) NOT NULL ,
`Dateuploaded` TIMESTAMP NOT NULL ,
`Deleationdate` DATETIME NOT NULL ,
`Discription` LONGTEXT NOT NULL ,
`Link` VARCHAR(45) NOT NULL ,
`Tags` VARCHAR(45) NOT NULL ,
`Uploadedby` VARCHAR(45) NOT NULL ,
`Contactdetails` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idResources`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Uploader`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Uploader` (
`idUploader` INT NOT NULL AUTO_INCREMENT ,
`Username` VARCHAR(45) NOT NULL ,
`Password` VARCHAR(45) NOT NULL ,
`Email` VARCHAR(60) NOT NULL ,
PRIMARY KEY (`idUploader`) )
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;