YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Simplified subtitles

← Uniqueness and Keys - Intro to Relational Databases

Get Embed Code
4 Languages

Showing Revision 1 created 08/18/2016 by Udacity Robot.

  1. 在很多数据库中 我们处理的都是外部世界中唯一存在的东西
  2. 比如每个人或每个地点 或电子邮件账户、城市或大猩猩
  3. 如果某样东西是唯一的 那就不会出现两个
  4. 例如 名字不是唯一的 即使全名也不是
  5. 全世界有很多人叫 Jennifer Smith
  6. 但一个名叫 Jennifer Smith 的特定人物仍然是个独一无二的个体
  7. 你不会希望仅仅因为两个人的名字相同
  8. 就把一个人的分数或者违规停车罚单给予另一个人吧
  9. 不论我们何时想要没有歧义地把一个表的一行 与另一个表的一行进行关联
  10. 都要确认其内容指的是同一个人 或者是同一样东西
  11. 我们在提到那样东西时 必须有一个唯一的值
  12. 在最可爱的动物数据库中 我们对每张动物的照片使用数字 ID
  13. 我们用这个 ID 把它与投票表格进行关联
  14. 这是个很常见的选择
  15. 用你的数据库编制一个唯一的数字吧
  16. 这很平常 大多数数据库系统都可以为你完成这项工作
  17. 论坛上的用户 ID、评论 ID 等等都是这样的例子
  18. 在数据库术语中 对行
  19. 进行唯一标识的列和表被称为主键
  20. 有时候 现实世界中存在一种自然的主键
  21. 例如 如果你有一个包含不同国家及其首都的表
  22. 你可以确信 这个世界上不会有两个国家都叫法国
  23. 因此 在那种情况下 你可以放心使用国家名称作为主键
  24. 你不需要把它命名为第29号国家
  25. 但你必须确定主键确实是唯一的
  26. 例如 在美国
  27. 有几个州都有一个名为 Springfield 的城市
  28. 有马萨诸塞州的 Springfield
  29. 伊利诺伊州的 Springfield 等等
  30. 很明显 单有 Springfield 这个名称并不确保唯一性
  31. 现在 你可能不禁会想城市加上州名就是唯一的
  32. 但实际上这也不是事实
  33. 在威斯康星州有五个不同的城市都叫 Springfield
  34. 新泽西有三个 德克萨斯有两个
  35. 哦!
  36. 这就是为何大多数国家都使用邮政编码的原因
  37. 美国称为 zip code
  38. 好比说某人是3号选手 或者
  39. 用户 1723 而不使用他们的名字
  40. 使用编制的数字 比如54028或54659
  41. 而不是威斯康星州 Springfield 这样可以确保唯一性