我正在创建一个移动应用程序。在这个应用程序中,我创建了一个登录和注册活动。我还使用AWS(亚马逊网络服务)创建了一个在线数据库,用于在注册时存储用户的所有登录信息。
在我的数据库中,我有一个名为'users'的表。此表包含以下字段“fname”,“lname”,“username”,“password”。此部分可以工作并成功将数据从手机存储到数据库。
例如,
| fname | lname | username | password |
| ------ | ------ | -------- | -------- |
| john | doe | jhon123 | 1234 |
在应用程序内部,我有一个选项,用户可以单击“开始日志”,这将在seekBar上记录开始和结束值。
如何在登录的用户下创建表格。
(基本上,我希望能够在用户下创建多个表。)
例如,
此表应位于用户“john123”下:
| servo | Start | End |
| ------ | ------ | --- |
| 1 | 21 | 30 |
| 2 | 30 | 11 |
| 3 | 50 | 41 |
| 4 | 0 | 15 |
我知道这是一个令人困惑的问题,但是
我实际上只是想让多个表链接到用户。
答案 0 :(得分:3)
至于:
如何在数据库中为用户创建表
以下是一些您可能会觉得有用的GUI工具:
MySQL - MySQL Workbench
PostgreSQL - PG Admin
至于为每个用户创建一个单独的表,请参阅@Polymath的答案。为每个用户创建单独的表没有任何好处(您也可以使用json
文件。)
您应该做的是创建一个logs
表,其user_id
属性引用id
表中的users
。
-------------------------------------------------------
| id | fname | lname | username | password |
| -- | ------ | ------ | -------- | ------------------- |
| 1 | john | doe | jhon123 | encrypted(password) |
-------------------------------------------------------
|______
|
V
---------------------------------------
| id | user_id | servo_id | start | end |
| -- | ------- | -------- | ----- | --- |
| 1 | 1 | 1 | 21 | 30 |
| 2 | 1 | 2 | 30 | 11 |
---------------------------------------
您还应该将database normalization视为" john123
"表格不在3NF
中。伺服应该从logs
表中分解出来,如果它被多个用户记录或多次记录(我猜你的情况)。
答案 1 :(得分:2)
在阅读本文时,我想知道你的设计是否正确。听起来您正在尝试为每个用户创建一个表。我也想知道每个用户拥有一个独特的表是多么可扩展。如果扩展到数百万用户,则需要管理数百万个表,并且可能需要单独的索引表来为用户找到正确的表。为什么每张桌子都有?为什么不将具有UserID的单个表作为使用键值。您只需通过过滤UserID即可提取数据。
Select * FROM UsersData ORDER BY DateTime WHERE User == UserID
但是我会留下让你思考。
您提到这是一款移动应用。我认为您需要做的是查看AWS Federated访问和Cognito,它将允许您使用联邦身份识别用户。传递用户唯一ID,以及链接到访问角色的临时(一次使用)凭据。通过这种方式,您可以使用完整身份验证扩展到数百万用户,而无需管理数百万个帐户。
RL