私はこれまでに見たことのないカスタムWebサイトソフトウェアを持っているクライアントと仕事をしています。 MySQLデータベースのバックエンドがありますが、ほとんどのテーブルはPHPコードによって自動生成されます。これにより、エンドユーザーはテーブルやフィールドを適切に作成することができます。つまり、データベース内のデータベースですが、明らかに、「最も外側の」データベースで使用可能なすべての機能はありません。基本的に自動生成されたテーブル名とフィールドをユーザーフレンドリーなテーブル名とフィールドにマッピングするカップルテーブルがあります*これによりクエリは非常に直感的になりません:P自動データベーススキーマ生成システム?
データ型の適用、外部キー、ユニークなインデックスなど、データベースを直接使用するとすぐに使用できますが、データベース内のデータベースなので、データベースを実行するPHPコードにすべての機能を追加する必要があります。私の頭に最初に来たのはInner Platform Effect *ですが、データベースのエミュレーションから抜け出し、必要な機能を提供する方法はありません。
私は、実際のテーブルを作成するための機能をユーザーに提供し、すべてのリレーショナル機能を無料で利用できるシステムを作ることができますか?以前はテーブルを作成したのは開発者/管理者でしたが、ユーザーはアプリケーションを通じてCRUD操作を行いました。私は、たとえそれがアプリケーションを通してであっても、スキーマ操作にユーザーがアクセスできるようにするという不快感を感じています。私は未知の領域にいる。
この種のシステムの名前はありますか?内部的には、コード内では、これを「コレクション」システムと呼びます。データベース内の「仮想」テーブルとフィールドの名前は「タクソノミー」と呼ばれます。これはCCKやDrupalのタクソノミーモジュールに似ていますか?私はこのようなことをするソフトウェアのモデルを探しているので、落とし穴と利点が分かります。基本的に私は、この種のシステムに関するより多くの外部情報を探しています。
- これは、内部プラットフォームのエフェクトリファレンスに関するウィキペディアの記事と同様、単純なキーと値のマッピングではありません。これらは、単純なデータベーステーブルのような複数のセルの実際のタプルのように機能します。