数据库如何命名?
在数据库中创建对象时,管理员还应该为其命名。现在来说一些起名的技巧。一、表名的大小写控制一般情况下,Oracle数据库中的表名或列名是不区分大小写的。创建表或列时,即使管理员采用小写名称,数据库也会在保存到数据字典之前将其转换为大写,然后再保存到数据字典中。这就是为什么我们使用小写的母亲和孩子的名字,但下一次我们看表的名字,他们变成大写的。尽管Oracle数据库中的表和列等数据库对象是不区分大小写的,但是如果数据库管理员确实需要使数据库系统区分表名的大小写,也可以这样做。通常,如果用双引号将一个名称括起来,它将成为Oracle数据字典中区分大小写的名称。不过在这里我要提醒一下数据库管理员,虽然强制数据库系统采取case在技术上是可行的,但是在实际工作中,包括在内的大部分数据库管理员可能并不建议这样做。因为如果存在大小写混合的情况,那么在引用这些表名或列名时需要非常小心。因为即使用户或者数据库管理员有过目不忘的能力,在写歌的时候也很难准确记住这些名字的大小。如果数据库管理员坚持这样做,很可能是在自找麻烦。询问或做其他作业时严格区分案件与案件是一件很头疼的事情。因此,我建议数据库管理员谨慎使用这种大小写控制。除非有充分的理由,否则不要轻易使用这个双引号来控制大小写。这个双引号不仅可以用来控制大小写,还具有引用一些特殊字符的特殊功能。例如,在创建表单时,需要设置一个名牌号字段。一些数据库管理员习惯使用num#这样的名称。这不会违反数据库的命名规则。但是处理起来会比较麻烦。例如,当使用create语句创建一个表时,需要给这个字段名加上双引号。否则,当执行该语句时,数据库将拒绝执行该语句,并以错误消息提示用户。类似的特殊符号还包括一个美元符号。当他们构建表时,他们需要在语句中使用双引号。然而,在建立字段之后,当引用这些对象时,不需要使用双引号。同样,尽管Oracle数据库支持这些特殊符号,但作者并不鼓励数据库管理员在命名表或列时采用这些特殊符号。这可能会给后续的引用带来不必要的麻烦。第二,要记住,命名空间不同于Oracle数据库中的其他数据库,有一个概念叫做命名空间。在同一命名空间中,其名称不能重复。如果表和视图共享同一个命名空间,则要求不仅表的名称不能相同,而且表的名称和视图的名称也不能相同。因为它们在同一个命名空间中。同样,表和函数在同一个表空间中,所以它们不能同名。但是,表和索引、表和约束属于不同的名称空间。也就是说,表的名称可以与约束的名称相同。因此,数据库管理员在命名表等对象时,必须知道哪些对象* * *共享同一个名称空间。如果同一名称空间中的对象不同(如视图和表),它们仍然不能有相同的名称。为了避免同一命名空间出现重名现象,作者在命名时最好根据对象的不同加上对象的固有前缀。例如,大多数数据库管理员通常不会在表名中添加表对象的前缀。但是,在定义函数或视图对象时,会添加一个前缀。例如,函数可能以FN为前缀,视图可能以vi为前缀。在这种情况下,不需要担心同一个命名空间中对象重命名的问题。然而,在任何情况下,数据库管理员都必须记住名称空间的概念。即使在实际工作中,这个陷阱也可以通过前缀的方式轻松避开,但是这个命名空间也是Oracle数据库管理员认证考试中的必要知识点。因此,无论从实际工作还是认证考试的需要,我们都必须对这位命名空间管理员有一个清醒的认识。第三,在表、索引、约束和列之间建立密切的关系。创建表时,可以向表中的某些列添加索引、约束等。例如,在员工信息表中,会设置员工编号唯一性约束。当您创建一个约束时,您还需要命名它。虽然约束与表和列不属于同一个命名空间,但命名时基本没有限制。不过为了后续使用的方便,笔者在约束的命名上有个小建议。简单地说,给与该表直接相关的其他对象赋予该表的名称是一个很好的做法。比如有一个名为ad_user的用户表(表名前面一般没有对象名,但可以根据应用软件的模块设计加上模块前缀)。该表中有一个名为vlaue的字段,用于存储员工编号。设计表时,需要向该字段添加索引。那么这个索引的名字可以命名为IDX _用户_值(即索引前缀+表名+字段名)。这样做的好处是什么?首先,它可以确保相关对象的名称不会重复。因为表的名字不会重复,如果把表的名字和列的名字组合起来组成一个对象的名字,重复的概率可以说基本为零。二是便于管理员阅读、理解和维护。只要看到索引或约束对象的名称,就可以看出这是一个索引,或者在哪个表的那个字段中使用了约束。而且可以知道这个约束是唯一性约束还是检查约束;索引时的主键索引或外键索引。给数据库管理员一个清晰的感觉。这为后续的维护、升级、调整、参考等提供了方便。尽管Oracle数据库中的表和列等数据库对象是不区分大小写的,但是如果数据库管理员确实需要使数据库系统区分表名的大小写,也可以这样做。通常,如果用双引号将一个名称括起来,它将成为Oracle数据字典中区分大小写的名称。不过在这里我要提醒一下数据库管理员,虽然强制数据库系统采取case在技术上是可行的,但是在实际工作中,包括在内的大部分数据库管理员可能并不建议这样做。因为如果存在大小写混合的情况,那么在引用这些表名或列名时需要非常小心。因为即使用户或者数据库管理员有过目不忘的能力,在写歌的时候也很难准确记住这些名字的大小。如果数据库管理员坚持这样做,很可能是在自找麻烦。询问或做其他作业时严格区分案件与案件是一件很头疼的事情。因此,我建议数据库管理员谨慎使用这种大小写控制。除非有充分的理由,否则不要轻易使用这个双引号来控制大小写。