我现在已经思考了一段时间,但是还没有得出最终的解决方案。因此我希望在这里能够找到一些交流或者帮助,来解决这个架构层面上的问题。
我现在面临着以下情景:我想编写一个网络应用程序(我使用Java,但这并不是解决方案的关键,因为这是目前一个更高级别的问题),其中存在这种关系:
意思是:我有一个事件,其中将有许多团队,每个团队有许多成员。到目前为止,这在SQL数据库中很容易处理。
但是那里也有一个目录树,代表了相同的关系在文件结构中:
我想你已经明白了这个概念。每个参与者的目录中都有许多文件,这些文件通过文件系统复制到此目录中。每当文件系统上有一个目录时,它应该连接到数据库中的相应条目,其中有一些附加数据,应该与Web GUI中的文件一起显示。未定义首先会出现什么(数据库条目还是目录),因为它由不同的用户操作。
现在有几件事情需要记住,这对我来说很有意义:
1. 如果目录名称更改(即事件、团队或参与者更改),它仍应与数据库中的相同条目相关联(因为可能还有其他实体仍然与参与者相关联,例如)。
2. 任何事件/团队/参与者的目录都可能被删除,但是数据库中的数据应该保留。但是——如果以后再创建具有相同名称的新目录,并且事件“关闭”,则该目录将指向一个新的数据库条目(例如,新事件)。如果事件仍然活动,则具有相同名称的目录的创建应映射到以前分配的数据库中的条目。
3. 理想情况下,创建目录就已经导致相应的数据库条目的创建。
4. 还应该能够在Web GUI中创建事件/团队/参与者,从而自动在文件系统上创建相应的目录。
我希望我的描述足够清楚,以理解这种情况。我已经有一些想法,但是所有这些想法都没有让我自己完全信服,它们都不是一个强大的解决方案。所以希望你们中的一个已经有了一些想法来解决这个问题。我非常开放任何可能有助于解决此问题的技术或框架。
期待您的想法和美好的讨论!
感谢您的帮助!
我现在面临着以下情景:我想编写一个网络应用程序(我使用Java,但这并不是解决方案的关键,因为这是目前一个更高级别的问题),其中存在这种关系:
Event --1:n--> Team --1:n--> Participant
意思是:我有一个事件,其中将有许多团队,每个团队有许多成员。到目前为止,这在SQL数据库中很容易处理。
但是那里也有一个目录树,代表了相同的关系在文件结构中:
+--event1
| +--team1
| | +--participant1
| | +--participant2
| | +--participant3
| +--team2
| | +--participant4
| +--team3
+--event2
| +--team4
...
我想你已经明白了这个概念。每个参与者的目录中都有许多文件,这些文件通过文件系统复制到此目录中。每当文件系统上有一个目录时,它应该连接到数据库中的相应条目,其中有一些附加数据,应该与Web GUI中的文件一起显示。未定义首先会出现什么(数据库条目还是目录),因为它由不同的用户操作。
现在有几件事情需要记住,这对我来说很有意义:
1. 如果目录名称更改(即事件、团队或参与者更改),它仍应与数据库中的相同条目相关联(因为可能还有其他实体仍然与参与者相关联,例如)。
2. 任何事件/团队/参与者的目录都可能被删除,但是数据库中的数据应该保留。但是——如果以后再创建具有相同名称的新目录,并且事件“关闭”,则该目录将指向一个新的数据库条目(例如,新事件)。如果事件仍然活动,则具有相同名称的目录的创建应映射到以前分配的数据库中的条目。
3. 理想情况下,创建目录就已经导致相应的数据库条目的创建。
4. 还应该能够在Web GUI中创建事件/团队/参与者,从而自动在文件系统上创建相应的目录。
我希望我的描述足够清楚,以理解这种情况。我已经有一些想法,但是所有这些想法都没有让我自己完全信服,它们都不是一个强大的解决方案。所以希望你们中的一个已经有了一些想法来解决这个问题。我非常开放任何可能有助于解决此问题的技术或框架。
期待您的想法和美好的讨论!
感谢您的帮助!