Dag Mensen,

Klopt deze structuur? Ik vraag het me af namelijk! Ik heb het net in elkaar gezet.


-- phpMyAdmin SQL Dump
-- version 2.10.1
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generatie Tijd: 20 Mar 2008 om 16:31
-- Server versie: 5.0.45
-- PHP Versie: 5.2.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- Database: `portfolio`
-- 

-- --------------------------------------------------------

-- 
-- Tabel structuur voor tabel `categorie`
-- 

CREATE TABLE `categorie` (
  `id` int(11) NOT NULL auto_increment,
  `categorie` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Gegevens worden uitgevoerd voor tabel `categorie`
-- 


-- --------------------------------------------------------

-- 
-- Tabel structuur voor tabel `cat_cat`
-- 

CREATE TABLE `cat_cat` (
  `categorie_id` int(11) NOT NULL,
  `portfolio_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- 
-- Gegevens worden uitgevoerd voor tabel `cat_cat`
-- 


-- --------------------------------------------------------

-- 
-- Tabel structuur voor tabel `cat_tec`
-- 

CREATE TABLE `cat_tec` (
  `techniek_id` int(11) NOT NULL,
  `portfolio_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- 
-- Gegevens worden uitgevoerd voor tabel `cat_tec`
-- 


-- --------------------------------------------------------

-- 
-- Tabel structuur voor tabel `foto`
-- 

CREATE TABLE `foto` (
  `id` int(11) NOT NULL auto_increment,
  `portfolio_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Gegevens worden uitgevoerd voor tabel `foto`
-- 


-- --------------------------------------------------------

-- 
-- Tabel structuur voor tabel `portfolio`
-- 

CREATE TABLE `portfolio` (
  `id` int(11) NOT NULL auto_increment,
  `titel` varchar(255) NOT NULL,
  `opdrachtgever` varchar(255) NOT NULL,
  `website` varchar(255) NOT NULL,
  `omschrijving` text NOT NULL,
  `jaar` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Gegevens worden uitgevoerd voor tabel `portfolio`
-- 


-- --------------------------------------------------------

-- 
-- Tabel structuur voor tabel `technieken`
-- 

CREATE TABLE `technieken` (
  `id` int(11) NOT NULL auto_increment,
  `techniek` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Gegevens worden uitgevoerd voor tabel `technieken`
-- 


Ik heb er nu op aanraden van AndriesLouw koppeltabellen tussen gezet
`jaar` int(4) NOT NULL,

Een DATE of YEAR lijkt mij meer voor de hand liggen, een INT is tenslotte geen jaartal. En laat je niet foppen door de 4, daarmee hou jij jezelf voor de gek.

De tabel portfoto kan volgens mij zo weg, die doet niks.

De tabel technieken lijkt mij niet goed, 1 techiek kun je voor meerdere portfolio's gebruiken en 1 portfolio kan meerdere technieken gebruiken. Dus een meer-op-meer relatie, dat kan alleen met een koppeltabel tussen portofolio en technieken.

Waarom je in de tabel categorie het portfolio_id opslaat, is mij niet duidelijk. Het lijkt mij ook niet goed. Ik verwacht eerder een categorie_id in de tabel portfolio.

Edit: Wel bijzonder dat je zegt geen hulp nodig te hebben
Wat ik altijd bij 'categorie' tabellen doe is nog een 'parent_id' toevoegen. Mocht je meerdere lagen willen hebben, dan kan dat heel makkelijk!

Reageren