
在数据库中创建对象时,管理员也要对其进行取名。现在谈谈取名的一些技巧。 一、表名大小写的控制 一般情况下Oracle数据库中的表名或者列名是不区分大小写的。在创建表或者列的时候,即使管理员采用了小写的名字,数据库在将其保存到数据字典之前,会先将其转换为大写,再将他们保存到数据字典中。这也就是为什么我们取名使用小写的子母取名,但是下次查看表的名字的时候,却变成了大写。 虽然说Oracle数据库中表与列等数据库对象对于大小写是不敏感的,但是如果数据库管理员确实有需要要让数据库系统对表的名字区分大小写,这也是可以做到的。通常情况下,如果把名字使用双引号括起来,则在Oracle数据字典中就会成为区分大小写的名字。不过笔者这里要提醒各位数据库管理员,虽然说从技术上可以让数据库系统强制取分大小写,但是在实际工作中,包括在内的绝大部分数据库管理员可能都不建议这么做。因为如果有混合的大小写存在,那么在引用这些表或者列名称的时候就需要特别的小心。因为即使用户或者数据库管理员有着过目不忘的本领,也很难准确的记住这些名称的大小写歌时。如果数据库管理员硬要这么做的话,那么很可能是自寻烦恼。在查询时或者其他作业时,要严格区分大小写那是一件很头疼的事情。为此,对于这个大小写的控制,笔者建议数据库管理员要谨慎使用。除非有充分的理由,否则的话,不要轻易使用这个双引号来控制大小写。 这个双引号不仅可以用来控制大小写,还有一个比较特殊的作用,就是用引用一些特殊的字符。如在建立表格的时候,需要设置一个名牌号的字段。有些数据库管理员习惯使用num#类似的名称。这不会违反数据库的取名规则。不过在处理的时候会比较麻烦。如利用create语句建立表格的时候,需要给这个字段名称加上双引号。否则的话,执行这条语句的时候,数据库会拒绝执行并向用户提示错误信息。类似的特殊符号还包括一个$美元符号。他们在建立表格的时候,在语句中都需要使用双引号。不过字段建立好之后,在引用这些对象的时候,不需要使用双引号了。同理,虽然Oracle数据库支持这些特殊符号,但是笔者不鼓励数据库管理员在表或者列的取名中采取这些特殊的符号。这有可能给后续的引用带来不必要的麻烦。 二、牢记取名空间 在Oracle数据库中,跟其他的数据库不同,有一个叫做取名空间的概念。在同一个取名空间中,其名字不可以重复。如表与视图就共享同一个取名空间,为此就要求不仅表的名字不能够相同,而且表的名字与视图的名字也不能够相同。因为他们处于同一个取名空间。类似的,表与函数也是同处于一个表空间,为此他们也不能够同名。不过表与索引、表与约束等等却属于不同的取名空间。也就是说,表的名字可以与约束的名字相同。所以说,数据库管理员在给表等对象取名的时候,一定要了解哪些对象共享同一个名称空间。如果在同一个名称空间内的,即使对象不同(如视图与表),但是他们仍然不能够取相同的名字。 为了避免同一个取名空间内重名的现象,笔者建立在取名的时候最好能够根据对象的不同加上对象的固有前缀。如大部分的数据库管理员,在给表取名的时候,一般不会表名前面加上表对象的前缀。但是在定义函数或者视图对象的时候,则会加上前缀。如在函数前面可能会加上FN的前缀,而在视图前面可能会加上vi的前缀。如此的话,在同一个取名空间内也不用担心对象重名的问题。不过无论怎么说,这个取名空间的概念数据库管理员必须牢记。即使在实际的工作中,可以通过前缀等手段轻易的避免这个陷阱,但是在Oracle数据库管理员的认证考试中,这个取名空间也是一个必要的知识点。所以无论从实际的工作还是认证考试的需要,对于这个取名空间管理员都必须要有一个清晰的认识。 三、在表、索引、约束、列之间设置密切的联系 在创建表的同时,可以给表中的某些列添加索引、约束等等。如在员工信息表中,会设置员工编号唯一性约束。在创建约束的时候,也需要对约束进行取名。虽然说也约束与表、列不属于同一个取名空间,所以在取名的时候基本上没有限制。但是为了后续使用的方便,笔者对约束的取名还有一个小小的建议。简单的说,就是给一个与表直接有关的其他对象具有该表的名字是一种好的做法。如现在有一张用户表名字叫做ad_user(在表名前面一般不加对象名,但是可以根据应用软件的模块设计加上模块的前缀),这种表中有一个字段叫做叫做vlaue,用来存储员工的编号。在表设计的时候,需要给这个字段加一个索引。那么这个索引的名字就可以取名为IDX_USER_VALUE(也就是索引前缀+表名+字段名的形式)。这么做有什么好处呢一是可以确保相关对象的名字不会重复。因为表的名字不会重复,所以将表的名字与列的名字一起组成某个对象的名字,那么其重复的几率可以说基本上没有。二是方便管理员阅读、理解、维护等等。一看到索引或者约束对象的名字时,就可以看到这个是索引或者约束是用在哪个表的那个字段上的。而且也可以知道这个约束是唯一性约束还是检查约束;索引时主键索引还是外键索引。给数据库管理员一目了然的感觉。这对于后续的维护、升级、调整、引用等等都提供了方便。 虽然说Oracle数据库中表与列等数据库对象对于大小写是不敏感的,但是如果数据库管理员确实有需要要让数据库系统对表的名字区分大小写,这也是可以做到的。通常情况下,如果把名字使用双引号括起来,则在Oracle数据字典中就会成为区分大小写的名字。不过笔者这里要提醒各位数据库管理员,虽然说从技术上可以让数据库系统强制取分大小写,但是在实际工作中,包括在内的绝大部分数据库管理员可能都不建议这么做。因为如果有混合的大小写存在,那么在引用这些表或者列名称的时候就需要特别的小心。因为即使用户或者数据库管理员有着过目不忘的本领,也很难准确的记住这些名称的大小写歌时。如果数据库管理员硬要这么做的话,那么很可能是自寻烦恼。在查询时或者其他作业时,要严格区分大小写那是一件很头疼的事情。为此,对于这个大小写的控制,笔者建议数据库管理员要谨慎使用。除非有充分的理由,否则的话,不要轻易使用这个双引号来控制大小写。
dbc是Microsoft Visual FoxPro数据库容器文件。
Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。Visual FoxPro源于美国Fox Software公司推出的数据库产品FoxBase,在DOS上运行,与xBase系列相容。FoxPro原来是FoxBase的加强版,最高版本曾出过26。之后,Fox Software被微软收购,加以发展, 使其可以在 Windows 上运行, 并且更名为 Visual FoxPro。目前最新版为 Visual FoxPro 90,而在学校教学和教育部门考证中还依然延用经典版的 Visual FoxPro 60。在桌面型数据库应用中,处理速度极快,是日常工作中的得力助手。一、DBC文件介绍(让大家了解DBC是什么)
DBC文件是由德国维克多公司发布的,它被用来描述单一CAN网络中各逻辑节点信息,依据该文件可以开发出来监视和分析CAN网络中所有逻辑节点的运行状态,也可以是有针对性的ECU通信应用软件。
DBC是一种文件格式,dbc文件是一个ASCII格式的文件,其dbc扩展名可用于定义CAN网络。
二、DBC解析(DBCView)
下面,让我们带着工具DBCView进一步了解DBC文件的格式。
1)DBC是描述CAN网络节点间的数据通讯的文件:
DBC文件中开头会描述此dbc文件中有多少个节点,例如下面一行:
BU_: Labcar_Receive ABAG ABS EPS GW
这里会少一个默认的vector_xxx节点,在DBCView中会有比较好的拓扑图来显示:
例如下面的3dbc文件,包括了6个节点连接在CAN网络上
2)dbc文件中会为每个节点定义发送消息,接收消息
紧接着节点之后,dbc文件中会描述节点间MSG传送,例如下面这样:
BO_ 1546 DIAG_Rsp_ABS: 8 ABS
其中BO表示此行描述的是一个MSG,1546是MSG的CANID,DIAG_Rsp_ABS是MSG的名字,8是MSG的size(8个字节), ABS是该MSG由ABS节点发送从来。
在DBCView中,左边树状列表图会表示CANBUS上所有节点,展开节点,就是该节点的所有发送MSG。
BO_ 1546 DIAG_Rsp_ABS: 8 ABS
SG_ Byte2 : 8|8@1+ (1,0) [0|255] "" Labcar_Receive,GW
在BO_下面,会定义该MSG中包含的所有Signal,例如上面SG_ Byte2 : 8|8@1+ (1,0) [0|255] "" Labcar_Receive,GW
DIAG_Rsp_ABS MSG中有一个Signal,名字叫Byte2,名字后面“8|8@1+ (1,0) [0|255] "" ”是Signal的细节,后面再介绍。
Labcar_Receive,GW 是表示改Signal会被Labcar_Receive 和 GW接收,对于Labcar_Receive 和GW来说,也就是他会接收到来自
ABS的DIAG_Rsp_ABS消息,在DBCView中,节点的接收消息会在右边显示。
例如下图所示:3dbc文件中ABS节点有3个发送MSG,同时从GW节点接收3个MSG。
在DBCView中,用鼠标点击某个MSG,Signal,Node会高亮显示消息的发送和接收路径,如下图,点击了ABS消息后,蓝色线是ABS
节点的所有接收消息。
Linux文件的拓展名是以文件名的末尾指定的,通常它们不会被存储在文件系统中特定的位置。不同于Windows *** 作系统,Linux不依赖于文件拓展名来识别文件类型,而是依赖于文件的头信息(magic number)来判断文件类型。一些Linux发行版中可能也存在一些特定的文件名约定,如掩码(mask)来隐藏一些特殊的文件,但这些约定通常也是可配置的。在Linux中,一个文件的类型和权限信息都被存储在文件的元数据中。如果您需要查看文件的详细信息,可以使用"ls -l"命令来列出文件的权限、所有者、创建日期、大小等元数据信息。
一、数据库名
什么是数据库名?
数据库名就是一个数据库的标识,就像人的身份z号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。格式如下:
DB_NAME=myorcl
在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。
数据库名的作用
数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
有很多Oracle安装文件目录是与数据库名相关的,如:
winnt: d:\oracle\product\1010\oradata\DB_NAME\
Unix: /home/app/oracle/product/1010/oradata/DB_NAME/
pfile:
winnt: d:\oracle\product\1010\admin\DB_NAME\pfile\iniora
Unix: /home/app/oracle/product/1010/admin/DB_NAME/pfile/init$ORACLE_SIDora
跟踪文件目录:
winnt: /home/app/oracle/product/1010/admin/DB_NAME/bdump/
另外,在创建数据时,careate database命令中的数据库名也要与参数文件中DB_NAME参数的值一致,否则将产生错误。
同样,修改数据库结构的语句alter database, 当然也要指出要修改的数据库的名称。
如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount方式启动实例,然后以create controlfile命令创建控制文件,当然这个命令中也是指指DB_NAME。
还有在备份或恢复数据库时,都需要用到数据库名。
总之,数据库名很重要,要准确理解它的作用。
查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。
修改数据库名
前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修改数据库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创建数据之后,修改数据库名。步骤如下:
1关闭数据库。
2修改数据库参数文件中的DB_NAME参数的值为新的数据库名。
3以NOMOUNT方式启动实例,修建控制文件(有关创建控制文件的命令语法,请参考oracle文档)
二、数据库实例名
什么是数据库实例名?
数据库实例名是用于和 *** 作系统进行联系的标识,就是说数据库和 *** 作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。
数据库名和实例名可以相同也可以不同。
在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。这一点在第一篇中已有图例说明。
查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在参数文件中查询。
数据库实例名与ORACLE_SID
虽然两者都表是oracle实例,但两者是有区别的。instance_name是oracle数据库参数。而ORACLE_SID是 *** 作系统的环境变量。ORACLD_SID用于与 *** 作系统交互,也就是说,从 *** 作系统的角度访问实例名,必须通过ORACLE_SID。在winnt不台,ORACLE_SID还需存在于注册表中。
且ORACLE_SID必须与instance_name的值一致,否则,你将会收到一个错误,在unix平台,是“ORACLE not available”,在winnt平台,是“TNS:协议适配器错误”。
数据库实例名与网络连接
数据库实例名除了与 *** 作系统交互外,还用于网络连接的oracle服务器标识。当你配置oracle主机连接串的时候,就需要指定实例名。当然8i以后版本的网络组件要求使用的是服务名SERVICE_NAME。这个概念接下来说明 。
三、数据库域名
什么是数据库域名?
在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的 *** 作系统是unix或是windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于oracle分布式环境中的复制。举例说明如:
全国交通运政系统的分布式数据库,其中:
福建节点: fjjtyz
福建厦门节点: xmfjjtyz
江西: jxjtyz
江西上饶:srjxjtyz
这就是数据库域名。
数据库域名在存在于参数文件中,他的参数是db_domain
查询数据库域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在参数文件中查询。
全局数据库名
全局数据库名=数据库名+数据库域名,如前述福建节点的全局数据库名是:oradbfjjtyz
四、数据库服务名
什么是数据库服务名?
从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。
如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。
查询数据库服务名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在参数文件中查询。
数据库服务名与网络连接
从oracle8i开如的oracle网络组件,数据库与客户端的连接主机串使用数据库服务名。之前用的是ORACLE_SID,即数据库实例名。
常用数据库有哪些?
1 IBM 的DB2
作为关系数据库领域的开拓者和领航人,IBM在1997年完成了System R系统的原型,1980年开始提供集成的数据库服务器—— System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2 forMVSV1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988年DB2 for MVS 提供了强大的在线事务处理(OLTP)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2 Universal Database 61则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。
2 Oracle
Oracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的 *** 作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。
3 Informix
Informix在1980年成立,目的是为Unix等开放 *** 作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。InformixSE是在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。
4 Sybase
Sybase公司成立于1984年,公司名称“Sybase”取自“system”和 “database” 相结合的含义。Sybase公司的创始人之一Bob Epstein 是Ingres 大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer10。Sybase首先提出Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。
5 SQL Server
1987 年,微软和 IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 10 版。
6 PostgreSQL
PostgreSQL 是一种特性非常齐全的自由软件的对象——关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于BSD的Ingres项目。PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统
数据库名称和用户是什么
数据库名称是你建立的database 的名字! 用户,就是你登录数据库这一类软件用户名 比如SQL2000或者2005:一般用户名和密码都是sa,如果是mysql:一般用户名和密码都是root。
数据库名称和数据源名称有何区别
没有联系,数据源是一个变量,我们定义的一个数据源,可以随时修改指向不同的数据库,而处据库是个存在的实体。
什么是数据库名称?还有用户名和密码?
你说的要看空间服务商提供的是什么数据库类型
1、如果说数据库是Access,那么数据库名称就是你上传的文件名(即xxxmdb文件,可修改),
用户名和密码即自己在文件里设置,无需询问空间服务商
2、如果说数据库是SQL-Server(即MsSQL),那么数据库服务器IP地址、数据库名称、登录用户名和密码空间服务商会告诉你的,他们告诉你什么你就填上去就可以了,一般来说网站和数据库会被安装到一台服务器上,那么服务器IP地址项就为(local)
数据库服务器IP地址:即你要恭录到那一台服务器上,互联网上服务器很多,你要登录哪一台?
数据库名称:一台数据库服务器空间服务商不可能只为你服务,他们还要为其他人服务,
所以他们为每一个人开通一个数据库名称,一般不允许你修改
用户名和密码:你登录服务器的验证方式,不是任何人都能登录使用的,只有知道的才能使用
3、如果说是MySQL那么原理和MsSQL原理一样,不过使用时要注意中文编码
数据库有多少种?一般公司,常用有哪些?
这为朋友您好,很高兴本团队能为您作答 中小型企业一般用SQL Server 大型企业,并且数据量庞大,用Oracle 越来越多的企业,出于更安全的考虑,用Linux系统加MySQL等linux平台的数据库,简洁方便,尤其是安全。 这些具体你可以百度随便查下都有,具体这些公司用的比较多, 希望能帮助到您
dede数据库名称是什么
DEDE数据库名称,需要你填写你服务器(或者空间)带的SQL数据库的那个名称
安装DEDE数据库这部分,有三个地方需要更改:
1、数据库主机(一般有的主机,只要写localhost就可以了,但有些空间的数据库有自己的地址,所以需要单独写);
搐2、数据库用户,这个一般是数据库的名字;
3、数据库名称,一般是空间商的数据库给定的名字(如果你想用自己起的名字,需要去数据库手动添加,才可以使用)
具体 *** 作如下图:
数据库中的列名表及表名列表有什么区别
列名表即字段列表,表名列表即表名称的列表。
比如有表学生表,包括字段学号,姓名,性别等,学号,姓名,性别 即列名表,学生表 即为表名列表
什么是主站数据库名称? 40分
你可以这样来查看
1、从网站的数据库连接程序代码,即可知道数据库类型,比如
"Provider=MicrosoftJetOLEDB40;Data Source=" & ServerMapPath("aamdb")
一看就知道是Access数据库
2、数据库名字,也是从上面的连接信息里看得出为aamdb,其它的也能看得出,比如
ConnStr = "Provider = Sqloledb; User id = " & SqlUsername & "; Password = " & SqlPassword & "; initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlHostIP & ";"
信息里面的initial Catalog等于的就是数据库名称信息,是mssql类型数据库
3、关于字段,由于字段是包含在表里面的,打开表就能看到字段及记录,当然也可以修改
一般右击数据表,都有字段设计功能
4、关于索引,加索引的目的一般是使数据库检索信息时能提高速度,大多在主键上建立
楼主可以百度一把看看,应该有不少关于数据库的信息
数据库的命令都有哪些?
1、显示当前存在的数据库 mysql> show databases;
2、选择数据库 mysql> USE mysql Database changed (USE 和 QUIT 命令不需要分号结束。),显示当前选择的数据库 mysql> select database();
3、显示当前数据库中存在的表 mysql> SHOW TABLES;
4、显示表(db)的内容 mysql>select from db;
5、命令的取消 当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令 mysql> select -> user() -> c
6、创建一个数据库abccs mysql> CREATE DATABASE abccs;
7、选择你所创建的数据库 mysql> USE abccs Database changed;
8、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (000 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));
9、显示表的结构: mysql> DESCRIBE mytable;
10、 往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select from mytable; Empty set (000 sec) 这说明刚才创建的表还没有记录。 加入一条新记录: mysql> insert into mytable values ('abccs','f','1977-07-07','china');
11、用文本方式将数据装入一个数据库表 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。 创建一个文本文件“mysqltxt”,每行包含一个记录,用定位符(tab)把值分开,并且以在 CREATE TABLE语句中列出的列次序给出,例如: abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa 使用下面命令将文本文件“mytabletxt”装载到mytable表中: mysql> LOAD DATA LOCAL INFILE "mytabletxt" INTO TABLE pet; 再使用如下命令看看是否已将数据输入到数据库表中: mysql> select from mytable;
12、从数据库表中检索信息 select语句格式一般为: SELECT 检索关键词 FROM 被检索的表 WHERE 检索条件
13、查询所有数据: mysql> select from mytable;
14、修正错误记录: 假如tom的出生日期有错误,应该是1973-09-02,则可以用update语句来修正: mysql> u
数据库文件都有哪些后缀名呢?
数据库文件如果你不改的话都是固定的文件后缀名mdf,但是你可以把他改成任何一个后缀名,然后用数据库相关程序打开
以上就是关于如何为数据库取名全部的内容,包括:如何为数据库取名、dbc是word文档的后缀名、linux文件拓展名存放在哪里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)