Et meget ofte brugt koncept i situationer som denne er ved at have en brugertabel og en posttabel, der forbinder dem med en unik identifikator. Denne identifikator kan være hvad som helst - et serialiseret id, et brugernavn, e-mailadresse osv. - så længe det er unikt. Linking udføres ved hjælp af en fremmednøgle-begrænsning. Præcis hvordan dette opnås i MySQL ved jeg ikke, men i Postgres gøres det sådan her:
CREATE TABLE users (
id serial PRIMARY KEY,
name text
);
CREATE TABLE posts (
content text,
user_id integer REFERENCES users(id) NOT NULL
);
Tabellerne flettes derefter ved hjælp af en joinforbindelse. Dette kan gøres på flere måder, men her er en krydssammenføjning efter indsættelse af nogle værdier at lege med:
@> INSERT INTO users (name) VALUES ('James');
@> INSERT INTO users (name) VALUES ('Jones');
@> INSERT INTO posts (content, user_id) VALUES ('Hello from James.', 1);
@> INSERT INTO posts (content, user_id) VALUES ('Greetings from Jones.', 2);
@> SELECT U.id AS user_id, U.name, P.content \
FROM users U, posts P \
WHERE U.id = P.user_id;
user_id | name | content
---------+-------+-----------------------
1 | James | Hello from James.
2 | Jones | Greetings from Jones.
YMMV i MySQL, men jeg tror, at ovenstående konstruktioner vil virke direkte.
(edit:Tilføjet INSERTs til afklaring)