【发布时间】:2011-08-22 16:08:55
【问题描述】:
我正在进行一项练习,希望我创建一个小型 Twitter 克隆,其中包含用户、推文和关注系统。好吧,我想出了以下数据库结构:
CREATE TABLE tweets (
tweet_id INT NOT NULL AUTO_INCREMENT,
tweet VARCHAR(140) NOT NULL,
PRIMARY KEY (tweet_id)
) ENGINE=INNODB;
CREATE TABLE users (
user_id INT NOT NULL AUTO_INCREMENT,
user VARCHAR(255) NOT NULL,
password VARCHAR(40) NOT NULL,
email VARCHAR(255) NOT NULL,
PRIMARY KEY (user_id)
) ENGINE=INNODB;
CREATE TABLE user_tweets (
id INT NOT NULL AUTO_INCREMENT,
id_user INT NOT NULL,
id_tweet INT NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY (id_tweet)
REFERENCES tweets(tweeth_id)
ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY (id_user)
REFERENCES users(user_id)) ENGINE=INNODB;
CREATE TABLE followers (
id_user INT NOT NULL REFERENCES users (user_id),
id_following INT NOT NULL REFERENCES users (user_id),
PRIMARY KEY (id_user, id_following)
) ENGINE=INNODB;
有效吗?我错过了什么吗?另外:
- 如何选择用户的推文?
- 如何从用户中选择关注者?
- 如何选择用户关注的人?
我对外键概念有点迷失了。 :(
【问题讨论】:
-
练习或家庭作业?
-
有个开源的类似twitter的微博系统,我想是identi.ca
-
我不是在寻找可以使用的东西,我正在尝试自己制作以提高我的技能