现在我们的数据仓库里有两张数据表格,user 还有 post,存储的数据就是用户帐户还有用户发布的内容。下面我们可以在这两张表格之间建立一个关系,这样以后我们就可以利用这个关系,比如调取某个用户发布的内容列表,或者调取内容的作者相关的数据等等。
打开 sql 窗口,可以先在 user 这个数据表里插入几条数据记录,用一下 INSERT INTO 数据表是 user,字段是 name 还有 password,在 VALUES 的后面添加几条数据记录。
注意这个 password 字段的值以后我们会单独使用一种方法处理一下,这里不能直接存储用户密码,需要特别处理一下才行。暂时先这样。 执行一下这句话,关掉打开的 post 这个数据表,然后打开 user 这个数据表,因为免费版的 TablePlus 不能同时打开两个以上的标签。
现在,user 这个数据表格里就会有几个用户帐户相关的数据记录了。
下面我们要做的是在 post 这个数据表格里添加一个新的字段,用它存储一下这条内容的作者的 id 号。
回到 sql 窗口,这里要用的是 ALTER TABLE ,修改一个数据表的结构,要修改的是 post 这个数据表格,用 ADD 添加一个新的栏目,名字叫 userId,用它存储一下内容作者的 id 号,类型是 int,长度可以设置成 11 。 再用 DEFAULT 设置一个默认的值,可以是 NULL。
执行一下这句话,然后打开 post 数据表格的结构可以观察一下,你会发现这里多了一个 userID 栏目。 这个栏目还得再特别处理一下。
再回到 sql 窗口,用 ALTER TABLE 修改 post 这个数据表格,再用 ADD ,这里添加一个 FOREIGN KEY,也就是外键,字段是 userId,再用 REFERENCES 设置一下这个字段关联的东西,关联的就是 user 这个数据表格里的 id 。
后面再用 ON DELETE 设置一下删除动作,设置成 NO ACTION,再用 ON UPDATE 设置一下更新动作,也可以设置成 ON ACTION。 command 加回车,执行一下这句话。
这句话的整体的意思就是,修改一下 post 这个数据表,在它里面添加一个外键,字段是 userId,让这个字段关联的是数据仓库里的 user 这个数据表格里的 id 字段的值。
也就是我们在 post 这个数据表格里存储用户发布的内容的时候,要存储一下这个内容的作者的 id 号,也就是 userId 这个字段的值应该是在 user 这个数据表格里的某一条数据记录的 id 字段的值。
这就相当于是在这两个数据表格里建立了一个关系,在后面我们会利用一下这个关系。