打算做一个管理公司内所有服务器信息的系统。但是在数据设计上有个问题,基本逻辑是:硬件——》操作系统——》IP——》端口——》服务这个顺序,但是在“操作系统——》IP——》端口”这个环节存在 1 对 N 的情况,于是我就不知道表怎么设计了,难道要提前把 N 个 IP 和这 N 个 IP 的 N 个端口的列在 g model 的时候都列出来?这样岂不是会有大量的表空间空白,而且做这个 model 会非常费力。 看到 mongodb 的非关系型我感觉 mongodb 才合适,但在咱们社区看了一些文章又犹豫了,好多人说 mongodb 不好,并且说 pg 也能做这种非关系型的。希望请教: 1、我这样的需求哪个更合适? 2、相对应的方向在 rails4.2.2 中怎么配置……表骂我,我尝试着 mongoid,发现 rails s 都跑不起来了,说找不到方法 active_record……被整懵了。
本人小白,还望各位朋友多多指导,哪怕给个方向自己在 google 都行,谢谢!
关于数据库表设计的问题,可以遵循规范化 (normalization) 原则去想,网上有很多参考,也是程序员考试的必考内容 楼主可以稍微花点时间学习一下 1NF, 2NF, 3NF 都是什么,什么时候用反范式设计,再看几个例子,然后就豁然开朗了