第一个数据库 - 如何构建所需信息

时间:2012-12-02 14:21:49

标签: sql database sqlite

我观看了一些关于如何使用表格和字段构建数据库的YouTube视频。我对如何构建我的信息感到有点困惑。

我把我的尝试放在下面:

// Identifier Table
// This is where we give each item a new unique identifier
UniqueID            []

// Item Table
// This is where the main content goes which is displayed
UniqueID            []
Title               []
Description         []
Date                []
Location            []
Coordinates         []
Source              []
Link                []

// Misc Table
// This is additional useful information, but not displayed
geocoded            []
country name        []

通过在删除记录时分离出uniqueID,我可以确保新记录仍然具有唯一的递增ID。我能否就如何将数据划分为三个表格获得一些反馈。

2 个答案:

答案 0 :(得分:1)

在上面提到的情况下,我会将所有内容打包到一个表格中,因为将数据拆分成不同的表格并不是很复杂。

如果您有更多元数据,可以将其拆分为:

项目(对于显示数据)

ItemMeta (对于元数据)

答案 1 :(得分:1)

你没有提示你想在你的数据库中代表什么。

例如:如果位置和坐标描述建筑物或可能是房间,那么将该信息保存在额外的表中并且具有项目之间的关系可能很有用,因为这样可以轻松获取与之相关的所有项目。在地方。

当然,您应该对国家/地区采用相同的原则:地点与国家/地区相同。

BEGIN;
CREATE TABLE "country" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(255) NOT NULL
)
;
CREATE TABLE "location" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(255) NOT NULL,
    "coordinate" varchar(255) NOT NULL,
    "country_id" integer NOT NULL REFERENCES "country" ("id")
)
;
CREATE TABLE "item" (
    "id" integer NOT NULL PRIMARY KEY,
    "title" varchar(25) NOT NULL,
    "description" text NOT NULL,
    "date" datetime NOT NULL,
    "source" varchar(255) NOT NULL,
    "link" varchar(255) NOT NULL,
    "location_id" integer NOT NULL REFERENCES "location" ("id")
)
;