我正在设计一个网站用户界面(注册、登录、编辑配置文件、编辑地址等)
我已经创建了以下表格。我的问题是,有没有多余的列或表?另外,考虑到用户可以添加/编辑另一个地址,哪些列将是主键,哪些列将是外键?
我正在为CountryCode
(移动电话号码)使用三个下拉列表-从CountryCode
的ACountry
填充,Country
(用于地址)-从Country Name
的ACountry
填充,State
(用于地址)-从StateName
的Astate
填充。其中,国家代码下拉列表出现在注册页面上。另外两个在用户登录后显示的地址簿页面上。AUser
&AUserAddress
表将存储数据。
我不知道该怎么加入这些桌子。我是否包含了足够的/多/少的列?我应该做些什么改变。
更新1:
我已将数据库更新为以下表/列。现在我该如何在countrycode和countrycode(已标记)之间建立关系…或者我应该把国家代码从Auser删除。如果我保留这两个表,我将在两个地方存储数据。我不想那样做…问题是国家代码的格式。它接受名称和拨号代码(例如印度(+91))。如果我把那篇专栏文章从Auser上撤下来,那我该如何储存手机号码呢?
可能是我将不得不打破国家代码字符串,并删除拨号代码部分,并与手机号码存储在移动栏。听起来太复杂了。
最佳答案
你唯一没有把握的关系就是AUser
和ACountry
之间的关系。目前,您已经打开了CountryCode
。应该是AUser
,因为这是CountryID
的主键。
另外,难道ACountry
不应该有AUserAddress
而不是StateID
?如果是这样,则不需要在该表上同时包含State
和StateID
,您可以通过查看CountryID
列中引用的相应State
来确定用户的国家。