2013-09-23 65 views
1

我正在尝试学习Oracle数据库中的规范化,但在理解规范化是解决方案的问题时感到困难,即我无法正确理解不同的异常(插入,删除和更新)。不是,我对他们一无所知。我从我的教科书中了解了理论(Navathe & Elmsari)。异常是这些过程中在数据库中引发的问题,并导致数据库不一致。但是我无法正确地想象它,即如何在数据库中引入异常。因此,如果有人提出一个非常简单的数据库示例并帮助我理解数据库中如何引入这些异常,这将非常有帮助。我试图在网上找到,但找不到好的例子。如何将异常(插入,删除和更新)引入到Oracle数据库中?

回答

4

enter image description here

click here for full image

从数据冗余处于未归一化的数据库表而产生的问题被统称为更新异常。因此,任何数据库插入,删除或修改都会导致数据库处于不一致状态,因此导致更新异常。它们被分类为

插入异常:要插入上面显示的位于分支B1到Tbl_Staff_Branch表的工作人员的一个新成员的详细信息,我们必须进入分支numner B1的正确细节,使分支细节与其他行中分支B1的值一致。 要将当前没有员工成员的新分支的详细信息插入到Tbl_Staff_Branch表中,必须输入空值以便员工详细信息不被允许,因为staffID是主键。但是,如果将Tbl_Staff_Branch(第二范式(2NF))正常化为第三正常宿舍(3NF),则最终会得到Tbl_Staff和Tbl_Branch,并且不应该有上述问题。

删除异常:如果删除,表示位于该分行的工作人员的最后一个成员的Tbl_Staff_Branch表中的一行,(对于例如,行与分行号B”,B3或B4)关于该分支的detals是还从数据库丢失

修改异常:我们应该需要更改Tbl_Staff_Branch表中特定分支的地址,我们必须更新位于该分行全体员工的行。如果这种修改不进行。在所有相关行中,数据库将变得不一致。

了解更多:http://www.mahipalreddy.com/dbdesign/dbqa.htm#update

相关问题