一个基本的问题。
想想足球/足球。我想为它做一个设计模式,但想知道是否已经有了。
它是这样的:
我想创造一个足球运动员。
我们有性别。(男性和女性)。
A性别有系列类别(例如,19岁以下的青年、18岁以下的青年等)。
该系列类别放置在一个区域(或声明任何)。
该区域有其系列名称(例如系列1、系列2、除法1等)。
例如,我想让女的,资深的,她在伯明翰打球,并且在第一组。
我想把它映射到数据库中,但是我想遵循一个软件设计模式,但是我不知道是否有这样的软件设计模式。
我的尝试是这样的:
Gender
{
int GenderID
GenderType
}
SeriesCategory
{
int SeriesCategoryID
string SeriesCategoryName
int GenderID
}
Region
{
int RegionID
string RegionName
int SeriesCategoryID
}
Series
{
int SeriesID
string SeriesName
int RegionID
int SeriesCategoryID
}
发布于 2017-08-16 10:09:31
我认为您应该使用规范化原则来设计您的数据库(请参阅这里的更多内容- http://www.studytonight.com/dbms/database-normalization.php )
关于软件模式-对于您的情况,没有确切的模式。但是要使用最好的实践和原则,比如坚实的。将代码实体映射到数据库实体(反之亦然)是ORMs的责任,ORMs针对不同的语言和需求(SQL/NOSQL、代码优先/数据库优先等)存在大量的变化。
因此,对于你与足球运动员和球队的具体情况,我认为DB规范化是你目前所需要的。
发布于 2017-08-16 09:54:07
为什么你需要所有的属性“系列”分开。如果这不是必要的话,我只会创造一个“足球运动员”和一个“联赛”对象。也许一个足球运动员可以在一个联赛中踢球,但在一个联赛中可以有很多足球运动员。因此,“足球运动员”和“联赛”之间会有一个多对一的关系。
Footballer
{
int FootballerID
int age
GenderType
League
}
League
{
int LeagueID
String leagueName
String regionName
String categoryName
GenderType
}
因此,FootballerID和LeagueID之间有一种多对一的关系.首先,您可以在it.Then中创建一个没有任何足球运动员的联盟,您可以创建一个具有其年龄和性别的足球运动员,然后通过检查他们在联赛类别中的年龄和性别限制,您可以将他们添加到一个联赛中。不过,team对象也可能是很好的。
https://stackoverflow.com/questions/45694369
复制相似问题