It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center
                            
                        
                    
                
                                6年前关闭。
            
                    
除了显而易见的,删除列,重命名列/表,删除表/模式,数据库模式中的更改列表可能会破坏使用它的应用程序?
是否可以举出一些具体的例子?

最佳答案

任何更改数据库逻辑状态的操作都可能破坏依赖于数据库的代码。例如,对数据类型,键或完整性约束的更改可能会破坏需要某种类型的数据或假定适用某些约束的业务逻辑。

遗憾的是,许多现代SQL DBMS损害了物理数据的独立性,以致于模糊了用于定义逻辑特征的语法与用于物理特征的语法之间的重要区别。例如,索引定义语法也可以用于定义键约束(ISO标准SQL中没有这样的索引语法)。

DBMS并不总是在逻辑和物理问题之间做出明确区分的事实可能解释了根本需要问这个问题的事实。这应该是一个非常容易回答的问题,但是DBMS供应商糟糕的设计决策使事情变得复杂得多。因此,回答该问题的唯一方法是彻底了解数据库原理,然后了解您的软件,以便可以正确地区分所使用的DBMS的逻辑和物理功能。

关于mysql - 数据库模式中导致应用程序中断的更改(微妙与否),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17137132/

10-11 22:36
查看更多