■■■■■■■■■多对多关系数据库,增加的修改数据的有关问题

■■■■■■■■■多对多关系数据库,增加的修改数据的问题。
有一个企业库,里面的企业除了企业名称、介绍等,还分别属于(*名牌企业、省级名牌企业、创新型企业...)等企业类型,一个企业可能同时既是*名牌企业又是省级名牌企业或者其它,也有可能只是一个省级名牌企业,这样的关系,我现在准备做3个表,企业表、企业类型表、类型表。

企业表
企业id     企业名称   企业地址     法人代表....
1                 a
2                 b
.
.
               

类型表
类型id     类型名称
1               *名牌企业
2               省级名牌企业
3               创新型企业
.
.


企业类型表
企业id     类型id  
1                 1
1                 2
2                 1
3                 1
3                 2              
.
.

这样设计数据库可以吧,现在问题是增加和修改数据比较麻烦,如增加时,先加企业表后同时在企业类型表增加数据,修改更麻烦,先修改企业表数据后再删除企业类型表这个企业的全部数据,再把修改的数据增加上。。(我只能这样想)这个思路对吗?还有什么简便办法?请大家指教!!



------解决方案--------------------
多对多关系数据库基本就是这么设计,你的思路也没错
------解决方案--------------------
几个Update而已,不见得多麻烦把。。。
------解决方案--------------------
先加企业表后同时在企业类型表增加数据,修改更麻烦,先修改企业表数据后再删除企业类型表这个企业的全部数据,再把修改的数据增加上。。(我只能这样想)这个思路对吗?还有什么简便办法?谢谢!!
=====
可以用事务,和触发器

------解决方案--------------------
可以去掉企业类型表,只为企业表增加一个类型字段TypeID,这样就可以避免插入更新要操作两个或多个表了。
接下来解决关联的方法,如果一个企业属于多个类型:
1一个企业插入多个记录,类型字段不同,其它想同
2一个企业只有一条记录,类型字段以 ,或/ (1,2,3)之类的分割类型表的ID,这样数据唯一性更好一些,但你需要在读取或修改时做些处理,比如可以在sqlserver中写个函数,专门用于分割企业表中类型字段的数据
以上两种方法我都见过有用的,个人觉得第二个比较好
------解决方案--------------------
如果重新设置企业的(多个)所属类型,先清除原来的类型然后将各个类型插入,逻辑就是如此。如果不麻烦,要程序员干嘛,直接一个美工或者销售人员来开发软件就行了。
------解决方案--------------------
麻烦就要想办法简单一点,明知道麻烦还要去做,而不去想想办法——比如换个思路,改改结构。

明知道麻烦还要这么做,那就只能当一辈子代码工!

遇到问题要想办法解决,遇到麻烦的地方也要想办法解决!

程序员是解决问题的,减少麻烦事的,而不是去做麻烦事的。