多公司使用统一个平台,数据库如何设计?

公司目前让我们开发一个平台,这个平台类似与saas平台,多个公司租用同一个平台,每一个公司数据如何存入数据库,以至于可以建立数据库来区分每一个公司自己的数据。

你的描述太不清楚具体了,就和老板说要我做一个淘宝,我该怎么设计数据库一样。

这种多租户的设计要看数据量,数据量小了在表里加个租户字段用来区分不同的公司,进行数据隔离。数据量大了可以考虑分库存储。

先期如果数据量、用户群体不是很大的话直接使用企业ID区分数据就可以了,再大点就使用分区,海量就要考虑集群了

先设计基本表数据,分析数据面向的最小对象,把层次分清楚再设计表结构

关键要考虑数据库的架构,数据量负荷,性能等多方面综合考虑。

这总情况建议使用oracle数据库进行设计,oracle数据库中就有相应的机制(应用上下文环境
)处理这种情况,安全性比单单通过某个字段来区分不同公司的数据要高得多,而且统计数据时会方便很多。

这要看你整个平台 的架构,一般情况下,将各公司名作为一张数据表,以对应ID号为标识建立部门表与员工表、顾客表。层次还是分明的。

你这个属于saas里面的多租户,详细的可以写一本书

建议你自己google下,或先看下面的入门:
http://blog.csdn.net/imhuqiao/article/details/51731048
https://baike.baidu.com/item/多租户技术/10061761?fr=aladdin

这种的,就需要每个表,至少要关联到一个公司上,如果多个公司是同一个行业的话,可以使用一些通用的表来方便管理。

可以用同一套程序,然后在每个公司保存,查询,删除,增加的时候带上公司ID,这样即使有个性化需求,也可以判断是哪个公司的再来进行修改。

这个问题。。。没法回答,太宽泛了

涉及到 业务结构划分、多系统聚合、技术架构

写几本书不成问题

不过我觉得LZ完全可以先简单做就是了,后面再改。。。

你问的应该是SaaS多租户数据的隔离方式把。一般有以下几种:
1. 租户使用相同的表,表中添加租户标识字段,用于区分
2. 不同租户使用不同的表
3. 不同租户使用不同的库
4. 不同租户使用不同的DB服务器
根据客户需求采用不同方式