私は従業員のスキルとスキルセットを示す内部アプリケーションを構築しています。しかし、私は膨大な量のデータに対処するのには苦労しています。私はこれを正しくやっているかどうか分からず、フィードバックがほしいと思う。Webアプリケーションの設計 - 複雑なデータを扱う
RailsでAPIを作成し、Backbone.jsを使用してその上に構築したいと思っていました。私はそれが良い学習体験となると思っていました。
しかし、私はここでたくさんのデータを扱っているので、Railsでそれを行うことはできませんでした。モデルやモデルの関係を通して私が気づいていたデータベーススキーマを再作成することに悩まされました。しかし、私が本当に好きではない、
employee skill skillset department
-------- ------ -------- ----------
id id id id
name name name name
firstname
description
email
departmentid
departmenthasskillset employeehasskill
--------------------- ----------------
departmentid employeeid
skillsetid skillid
rating
skillsethasskill
----------------
skillsetid
skillid
私は以来、PHP/CodeIgniterの中でオーバー開始しました:
は、おそらくそれは、それはこの質問の非常に重要な部分なので、ここでDBスキーマを投稿することをお勧めします私が取ったアプローチと私は本当にこれをRails/Backboneで始めたいと思います。 Rails/ActiveRecordでこれらの複雑なクエリを実行する方法はありますか?これにはどのように取り組んでいますか?
私のフロントページでは、すべての従業員を表示し、isotope.jsプラグインを使用して部門、スキル、スキルセットに基づいてフィルタリングすることができます。これはまた、最初のリクエストで多くのデータをロードする必要があることを意味します。私は1人の従業員のために、このように、今のところ一つの巨大な配列で、このデータのすべてを入れている:
[51] => Array
(
[id] => 51
[name] => Name
[firstname] => Firstname
[description] => Multimedia developer
[email] => [email protected]
[departmentid] => 9
[skills] => Array
(
[html] => 3
[css] => 3
[javascript] => 3
[jquery] => 3
[php] => 2
)
[skillsets] => Array
(
[1] => frontend
[2] => backend
)
[department] => development
[class] => html css javascript jquery php frontend backend development
)
(。私はフィルタリングすることができますので、「クラスのインデックスが同位体のために必要とされる)
は、このAですまともなアプローチ(すべてのデータを1つのHUGE配列にロードする)、これをRailsで行うことができますか?あるいは、異なるデータに対して別々の要求を行う方がよいでしょうか?
私はまだPHPでこれに取り組んでいないか、別の試みのためにRailsに戻っていくかどうかはまだ決まっていないので、歓迎します。現時点では全体がちょっと不器用だと感じており、現時点では本当に楽しんでいるとは言えません。
おかげ
レールのネーミングテーブルには規則がありますか?つまり、「従業員のハラスキル」は本当に駄目です。私は間違いなくドキュメントをチェックアウトし、おそらくこれをもう一度試してみます。再度、感謝します。 – cabaret
そうだね!足場を使用する場合は、テーブルを自動でモデル名の複数形で名前を付ける必要があります!最初にスキャフォルダーに関する文書を読むことをお勧めします! – davidb