首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite中的简单书签管理器

SQLite中的简单书签管理器
EN

Stack Overflow用户
提问于 2011-05-30 11:51:46
回答 1查看 614关注 0票数 3

我想准备一个简单的SQLite数据库,用于存储(标记的)互联网书签,因为似乎没有简单的工具可以这样做。

我想我可以有三个表,一个用于URL,另一个用于标记,另一个用于URL和标记之间的关系。

例如:

URL:

http://www.google.com/

  • 2:http://maps.google.com/

  • 1

标签:

  • 1 : google
  • 2 : map
  • 3 : search

关系:

  • 1 :1: 1
  • 1 :1: 3
  • 1 :2: 1
  • 1 :2:2

F 225

问题是,我对SQLite的了解很小,使用"map“标记检索所有URL的唯一方法是通过嵌套选择:

代码语言:javascript
复制
select name from url where id=(
   select url_id from rel where tag_id=(
      select id from tag where name = 'map'
   )
);

手动存储书签也是一项枯燥的操作。

那么,是否有更有效的方法来实现这一点呢?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-05-30 20:18:54

代码语言:javascript
复制
--
-- URLs
--
CREATE TABLE urls (
  id INTEGER PRIMARY KEY,
  url TEXT NOT NULL
);

--
-- Tags
--
CREATE TABLE tags (
  id INTEGER PRIMARY KEY,
  tag TEXT NOT NULL
);

--
-- UrlTags
--
CREATE TABLE UrlTags (
  id INTEGER PRIMARY KEY,
  urls_id INTEGER,
  tags_id INTEGER,
  FOREIGN KEY(urls_id) REFERENCES url(id),
  FOREIGN KEY(tags_id) REFERENCES tags(id)
);

--
-- URLS sample data
--
INSERT INTO urls VALUES (null, 'http://www.google.com/');
INSERT INTO urls VALUES (null, 'http://maps.google.com/');

--
-- Tags sample data
--
INSERT INTO tags VALUES (null, 'google');
INSERT INTO tags VALUES (null, 'map');
INSERT INTO tags VALUES (null, 'search');

--
-- URLtags sample data
-- Let's say http://www.google.com/ has all 3 tags
INSERT INTO urltags VALUES (null, 1, 1);
INSERT INTO urltags VALUES (null, 1, 2);
INSERT INTO urltags VALUES (null, 1, 3);

-- http://maps.google.com/ has only the 'map' tag
INSERT INTO urltags VALUES (null, 2, 2);

--- The following retrieves all urls associated with the 'search' tag
--- which I assume will be only http://www.google.com/
SELECT url
FROM urls u INNER JOIN urltags r ON u.id = r.urls_id
            INNER JOIN tags t ON t.id = r.tags_id
WHERE t.tag = 'search';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6175924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档