我创建了4个表,这些表需要相互关联,然后构建一个表单来添加/显示数据。
我已经在SQL中构建了4个表,但我不确定我是否输入了正确的关系或字段,以便正确访问数据
User Table
User_ID (Pkey)
Full_Name (varchar)
User_Name (varchar)
Department Table
Dept_ID (Pkey)
Department_Name (varchar)
User_ID (int)
Application Table
App_ID (Pkey)
Application_Name (varchar)
User_ID (int)
Access_Date Table
Date_ID (Pkey)
Access_Date (date)
Removal_Date (date)
User_ID (int)
我想看看有权访问一个或多个应用程序的用户,以及他们访问的日期和访问被删除的日期。
一个用户可以有多个应用程序,并且可以在多个部门。
我认为我在Access_Date
或Application
表中有错误的相关ID (int)
字段,但不确定。
我现在已经为UserDepartment, UserApplications, UserAccessDates
添加了连接表。当我在MS Access 2016中打开表单时,我会得到一个空白页。该表单是使用"用户"表作为主表单,使用部门、申请和访问日期作为子表单创建的。
我相信我的关系可能是错误的。
Users Table
User_ID (Pkey)
Full_Name (varchar)
User_Name (varchar)
Departments Table
Department_ID (Pkey)
Department_Name (varchar)
UserDepartments
User_ID (int)
Department_ID (int)
Other information, such as Effective_Date and End_Date
前两个表表示两个不同的实体,Users
和Departments
。第三个是实现多对多关系的关联/连接表。
同样,您需要一个UserApplications
表。您的访问表应该显示应用程序。
命名注意事项:
- 我通常用复数来命名表,因为它们包含一个实体的多个实例
- 主键是表名的单数,后跟
_id
或Id
- 主键和外键尽可能具有相同的名称
根据您提供的内容,您将能够确定用户有权访问应用程序,但不能确定他有权访问哪个应用程序。要提供该信息,您需要在Access_Date表中添加App_Id。Departments与用户无关。如果部门与应用程序或访问日期有关,则需要将部门链接到应用程序和/或访问日期表。
我添加了一张图片,显示了表格之间的关系,直到我理解为止(使用ms访问)
这是新照片。新关系