Php 在web应用程序中使用Sqlite

Php 在web应用程序中使用Sqlite,php,mysql,database,sqlite,web-applications,Php,Mysql,Database,Sqlite,Web Applications,我目前正在开发一个应用程序,允许医生通过电子邮件生成发票。事实上,每个医生需要6个不同的数据库表,可能有50个医生同时连接并同时处理数据库(写入和读取) 我想知道的是我的应用程序的结构是否适合。我为每个医生创建了一个personnal Sqlite3数据库(所有数据库都是安全的),只有他才能连接到该数据库。我将有大约200个Sqlite数据库,但有什么问题吗?我认为这可能比每个人都使用大型MySQL数据库要好 这个解决方案可行吗?我会有问题要处理吗?我从未使用过这么多用户的应用程序,但我认为这可

我目前正在开发一个应用程序,允许医生通过电子邮件生成发票。事实上,每个医生需要6个不同的数据库表,可能有50个医生同时连接并同时处理数据库(写入和读取)

我想知道的是我的应用程序的结构是否适合。我为每个医生创建了一个personnal Sqlite3数据库(所有数据库都是安全的),只有他才能连接到该数据库。我将有大约200个Sqlite数据库,但有什么问题吗?我认为这可能比每个人都使用大型MySQL数据库要好


这个解决方案可行吗?我会有问题要处理吗?我从未使用过这么多用户的应用程序,但我认为这可能是最好的解决方案。首先,回答您的问题:不,如果一个sqlite数据库一次只由一个人(用户)使用,您可能不会遇到任何重大问题。如果您高度重视某些边缘情况,例如将某些用户/数据库移动到另一台服务器的能力,这可能是一个非常好的解决方案

但这不是一个非常好的设计。通常的方法是将所有数据放在同一个数据库中,并且表具有一个字段,该字段标识哪些行属于哪些用户。应用程序代码负责维护安全性(即不让用户看到不属于他们的数据),数据库中的索引(在任何情况下都应该使用,甚至在您自己的设计中)负责使其快速运行


有大量的教程可以帮助您进行更好的数据库设计;一个随机的谷歌结果是。

为什么它必须是独立的数据库,真的?如果不可避免的话,为什么不在MySQL服务器上分离数据库呢?每个医生都有不同的数据和大量的数据,但是如果我在MySQL上有1000个不同的表,可以吗?每个表中可能有1000行数据,为什么会有不同的表?只需要有一个列来标识负责该行数据的医生,但这意味着要遍历所有表来查找每个医生的数据?如果我只有一个表,这意味着每个表中至少有一万个数据。。如果其中一个医生出错,所有的表都会被破坏如果你在表上有适当的索引,你就永远不会“迭代一万个数据”。。。医生不能犯这样的错误(希望如此,因为他不能直接访问数据库),只有你的代码可以。如果您真的想分离数据,至少只需使用不同的SQL用户创建具有各自访问权限的独立数据库;如果你真的热衷于安全性,这仍然是有意义的。我的想法是用每个数据库密码哈希的加密版本命名,因此它们应该是唯一可以访问的数据库it@solarBanana不,坏主意。任何有权访问数据库的人都可以列出所有存在的数据库。这并没有提高安全性,只会让您感到困惑。只需添加“影子表”。从查询创建视图,使用用户名命名此视图,并且仅允许此用户访问此表。这将增加一点数据安全性,没有用户会意外删除其他用户的数据。此外,在医疗行业,如果有“授权流程”,他们应该能够更改其“权限”(或从较低的授权级别开始,并增加权限)。我知道,从我输入数据的时候起,有时你不想得到结果的完全授权,直到你有了所有的结果。