DBMS 中的异常2024 年 8 月 28 日 | 3 分钟阅读 什么是异常?异常是指与正常形式模式不一致。在数据库管理系统(DBMS)中,异常是指在对关系表进行操作期间发生在关系表中的不一致。 数据库中出现异常可能有很多原因。例如,如果数据库中存在大量冗余数据,则可能发生 DBMS 异常。如果表的构造方式很差,则可能存在数据库异常。由于数据库异常,数据库的完整性会受到影响。 数据库异常的另一个原因是所有数据都存储在单个表中。因此,为了消除数据库的异常,规范化是一个过程,在该过程中会发生表的拆分和表的连接(不同类型的连接)。 我们将通过不同的例子来查看表中的异常 示例 1
在上面的表中,我们有四列,描述了工人的详细信息,如姓名、地址、部门和 ID。上表未进行规范化,表中肯定存在异常的可能性。 数据库中可能存在三种类型的异常 更新异常当我们更新表中的某些行,并且这会导致表不一致时,就会发生此异常。此类异常称为更新异常。在上面的表中,如果我们想更新 Ramesh 的地址,那么我们将不得不更新 Ramesh 出现的所有行。如果在更新过程中遗漏了任何一行,那么 Ramesh 将有两个地址,这将导致数据库不一致和错误。 插入异常如果向表中插入了一个新行,并且这会导致表不一致,那么它就称为插入异常。例如,在上面的表中,如果我们创建一个新工人行,并且该工人未分配给任何部门,那么我们就无法将其插入表中,因此它将创建插入异常。 删除异常如果我们从表中删除了某些行,并且任何其他所需的信息或数据也从数据库中删除,那么这就称为数据库中的删除异常。例如,在上面的表中,如果我们想删除部门号 ECT669,那么 Rajesh 的详细信息也将被删除,因为 Rajesh 的详细信息依赖于 ECT669 的行。因此,表中将存在删除异常。 为了消除这类异常,我们将对表进行规范化,或者拆分表,或者连接表。表可能存在各种规范化形式,如 1NF、2NF、3NF、BCNF 等。我们将根据表的当前形式应用不同的规范化方案。 示例 2
在上面的表中,我们列出了学生姓名、ID、专业和他们各自的社团。 更新异常在上面的表中,如果 Shivani 将她的专业从计算机科学改为电子学,那么我们将不得不更新所有行。如果我们遗漏任何一行,那么 Shivani 将拥有超过一个专业,这将导致表中的更新异常。 插入异常如果我们为不属于任何社团的学生 Ankit 添加新行,我们就无法将该行插入表中,因为我们不能在 stu_club 列中插入 null。这就称为插入异常。 删除异常如果我们从学院中删除摄影社团,那么我们将不得不从表中删除其行。但这也将删除 Gopal 的表格和他详细信息。因此,这就称为删除异常,并且它将使数据库不一致。 下一主题DBMS 的功能 |
我们请求您订阅我们的新闻通讯以获取最新更新。