【发布时间】:2010-09-30 14:52:47
【问题描述】:
我正在尝试了解有关数据库交互的更多信息,这让我开始开发本地应用程序。嗯,基本上,到目前为止,我所做的事情有一些不同的结果,我改变了很多东西,我什至不确定我现在改变了什么,哈哈。我不太确定我的一张桌子是否正确,所以我决定重新开始。这就是我希望我的愚蠢的本地应用程序执行的操作。
- 最多可存储 9 个特定的 RSS 提要(我之前做过 url/链接,但我不想被我以前做过的任何事情弄糊涂,所以我将其更改为 RSS 提要)
- 默认情况下将填充 1 个供稿(因此每个用户都有一个共同供稿 - 他们可以更改)
- Feed 应以某种排序方案存储,以便可以按照输入时的相同顺序检索/打印它们。
会有一个包含 9 个文本字段的编辑屏幕,由相应的数据库条目填充,如下所示:
feed 1: <input type="text" value="http://rss.news.yahoo.com/rss/topstories"> **the default feed for everyone, but they can change it**
feed 2: <input type="text" value="http://content.usatoday.com">
feed 3: <input type="text" value="http://newsrss.bbc.co.uk/rss/newsonl.../world/rss.xml">
feed 4: <input type="text" value="">
feed 5: <input type="text" value="">
feed 6: <input type="text" value="">
feed 7: <input type="text" value="">
feed 8: <input type="text" value="">
feed 9: <input type="text" value="">
<input type="submit" value="update">
我希望能够在此处编辑/添加新的提要并以相同的顺序检索这些提要 - 这是我之前尝试的一大困惑。
会有一个输出屏幕以相同的顺序输出提要 URL。
我有 2 个表,users 和现在的 feeds,我相信我的 users 表很好,它基本上存储了一些个人信息。我认为那里的一切都应该很明显。 “状态”列将存储来自选择/下拉列表的 2 个字符的状态缩写,我已将其编入索引,因为我希望能够按状态搜索用户。我在检索/编辑/更新该数据时没有任何问题。
CREATE TABLE users (
user_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
first_name VARCHAR(20) NOT NULL,
last_name VARCHAR(40) NOT NULL,
state CHAR(2) NOT NULL,
email VARCHAR(60) NOT NULL,
pass CHAR(32) NOT NULL,
registration_date DATETIME NOT NULL,
PRIMARY KEY(user_id),
UNIQUE (email),
INDEX login (email, pass),
INDEX state (state)
);
这是我的新提要表
CREATE TABLE feeds (
user_id SMALLINT UNSIGNED NOT NULL,
feed_url VARCHAR(255) NOT NULL DEFAULT 'http://rss.news.yahoo.com/rss/topstories',
feed_id SMALLINT UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY(user_id, feed_url)
);
当用户输入新的提要时,假设提要 #2,该值将插入到 feed_url 中,而 feed_id 将插入一个值为 2 的值。如果输入 feed #3,则 feed_id 将插入值 3。那应该给我一些东西来 ORDER BY 来按顺序检索记录,对吧?
数据编辑屏幕应始终显示 Feed 的输入方式。
数据输出屏幕应始终显示 Feed 的输入方式。
那么,这看起来合适吗?我是否遗漏了一些东西?我的 feed_url VARCHAR(255) 可能不是万无一失的,但我只会使用短网址进行测试。它也总是很容易被撞到。
【问题讨论】: