相关疑难解决方法(0)

每个表都应该有一个主键吗?

我正在创建一个数据库表,并且没有为其分配逻辑主键.所以,我正考虑在没有主键的情况下离开它,但我对此感到有点内疚.我是不是该?

每个表都应该有一个主键吗?

database database-design

319
推荐指数
9
解决办法
24万
查看次数

外键可以作为主键吗?

我目前正在为我们团队的项目设计数据库结构.我目前心中有这样一个问题:是否有可能将外键作为另一个表的主键?

以下是我们系统数据库设计的一些表格:

user_accounts
students
guidance_counselors
Run Code Online (Sandbox Code Playgroud)

我想要发生的是,该user_accounts表应包含ID(据称是系统的登录凭证)以及学生用户和指导顾问用户的密码.简而言之,studentsguidance_counselors表的主键也是表中的外键user_accounts.但我不确定是否允许.

另一个问题是:student_rec还存在一个表,它需要一个student_number(user_iduser_accounts表中)和一个guidance_counsellor_id(也在user_id其中user_accounts)的每个记录.如果学生和辅导员的ID都来自user_accounts table,我将如何设计student_rec表格?为了将来参考,我如何手动将其编写为SQL代码?

这一直困扰着我,我找不到任何具体或肯定的答案.

mysql sql database foreign-keys primary-key

18
推荐指数
2
解决办法
4万
查看次数

8
推荐指数
2
解决办法
3747
查看次数

数据库中的复合主键

我需要创建一个数据库设计,其中bar或事件所有者(admin-table因为他们拥有配置文件)向用户发送警报.

我想创建一个"ALERT"表,但很难决定使用哪个主键.我想添加一个至少包含admin_ID(PFK),user_ID(PFK)的复合键,我想在主键上添加日期和时间戳,以指示管理员可以发送许多警报(通知),但只有1某个时间点.
但是,从这个线程:时间戳作为复合主键的一部分?,我了解到我不应该使用时间戳.
顺便说一句,还没有确定我们将在这一点上使用什么数据库软件.

我有时会倾向于快速移动到自动增量键.我从来没有注意到它的问题(在Access中),但是根据我的阅读,这可能并不总是最有意义的事情,因此我向专业人士提出这个问题.
我只有一次机会以正确的方式做到这一点,使后端基本正确.
你对此有何看法?

database database-design composite-primary-key

1
推荐指数
1
解决办法
1509
查看次数