给定一家旅游公司,Air T&T,有客户。当客户登记到 AirTnT 设施(即合租房)时,AirTnT 会记录客户的姓名、地址、出生日期、当前手机号码、一个用于身份验证的唯一标识符、一个用于支付详细信息的唯一标识符,以及紧急联络号码。
我在想用于身份验证的社会安全号码和用于支付详细信息的银行帐号?各自的优缺点是什么——尤其是在付款细节方面?由于安全威胁,我知道信用卡号码不好?
给定一家旅游公司,Air T&T,有客户。当客户登记到 AirTnT 设施(即合租房)时,AirTnT 会记录客户的姓名、地址、出生日期、当前手机号码、一个用于身份验证的唯一标识符、一个用于支付详细信息的唯一标识符,以及紧急联络号码。
我在想用于身份验证的社会安全号码和用于支付详细信息的银行帐号?各自的优缺点是什么——尤其是在付款细节方面?由于安全威胁,我知道信用卡号码不好?
您的问题是业务问题,而不是数据库问题。“唯一标识符”或您的密钥应该是企业用来区分客户的密钥。有些可能使用用户名,有些可能使用电子邮件,有些可能使用 SSN,有些可能使用视网膜扫描。数据库模式是业务现实的模型,因此,它应该遵循现实世界中使用的键。
分配代理键(例如 IDENTITY 或 GUID)对您没有多大帮助,因为您仍然无法将一个客户与另一个客户区分开来,因为您无法从客户本身中提取该属性,并且名称通常是不够。如果一个客户走进办公室并且有另外 4 个同名客户,你会怎么做?
问题提到收集的数据是“客户的姓名、地址、出生日期、当前手机号码”。如果这就是您在“现实世界”中区分客户的全部内容,那就是您的关键。也许只是名字和姓氏,也许是名字和姓氏+地址,也许只是手机号码......
至于付款,同样,这个问题没有提供足够的信息让你给出答案。有哪些付款方式可用?现金?支票?信用卡?只能电汇吗?客户可以通过多种付款方式和多种付款方式付款吗?再说一次 - 无论企业使用什么来区分付款,您的密钥都是。
高温高压