0

我观看了一些关于如何使用表和字段构建数据库的 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。我能得到一些关于我如何将数据分成三个表的反馈吗?

4

2 回答 2

1

在上述情况下,我会将所有内容打包到一个表中,因为将数据拆分到不同的表中并没有足够的复杂性。

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

项目(用于显示数据)

ItemMeta(用于元数据)

于 2012-12-02T15:47:38.283 回答
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")
)
;
于 2012-12-02T16:03:16.910 回答