数据库设计时数据库名表名和列名大小写问题

数据库设计时数据库名表名和列名大小写问题,第1张

有好几种,如果是java的话

表名可以跟对应的对象名一样,比如UserInfo,然后列名可以写跟类的属性命名形式一样,比如userName, lastLoginTime, insertTime

这样命名可能一些自动工具会方便一些(比如hibernate, ibatis都有生成代码的工具)

还见过一种是表名和列都是全大写,单词之间用"_"分割,表名还要加对应的前缀,例如"T_"前缀表示是表, "V_"前缀表示视图等

网上有一些公司内部自己定的数据库规范文档,可以参考下

(对不起!您的提问(回答)中包含不适合发表的内容,请修改后再提交)<--居然提示这个,我擦

一:表中应该避免可为空的列;二:表不应该有重复的值或者列;三:表中记录应该有一个唯一的标识符在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分

每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值

另外,这个ID值最好有数据库来进行自动管理,而不要把这个任务给前台应用程序

否则的话,很容易产生ID值不统一的情况

另外,在数据库设计的时候,最好还能够加入行号

如在销售订单管理中,ID号是用户不能够维护的

但是,行号用户就可以维护

如在销售订单的行中,用户可以通过调整行号的大小来对订单行进行排序

通常情况下,ID列是以1为单位递进的

但是,行号就要以10为单位累进

如此,正常情况下,行号就以10、20、30依次扩展下去

若此时用户需要把行号为30的纪录调到第一行显示

此时,用户在不能够更改ID列的情况下,可以更改行号来实现

如可以把行号改为1,在排序时就可以按行号来进行排序

如此的话,原来行号为30的纪录现在行号变为了1,就可以在第一行中显示

这是在实际应用程序设计中对ID列的一个有效补充

这个内容在教科书上是没有的

需要在实际应用程序设计中,才会掌握到这个技巧

四:数据库对象要有统一的前缀名一个比较复杂的应用系统,其对应的数据库表往往以千计

若让数据库管理员看到对象名就了解这个数据库对象所起的作用,恐怕会比较困难

而且在数据库对象引用的时候,数据库管理员也会为不能迅速找到所需要的数据库对象而头疼

为此,笔者建立,在开发数据库之前,最好能够花一定的时间,去制定一个数据库对象的前缀命名规范

如笔者在数据库设计时,喜欢跟前台应用程序协商,确定合理的命名规范

笔者最常用的是根据前台应用程序的模块来定义后台数据库对象前缀名

如跟物料管理模块相关的表可以用M为前缀;而以订单管理相关的,则可以利用C作为前缀

具体采用什么前缀可以以用户的爱好而定义

但是,需要注意的是,这个命名规范应该在数据库管理员与前台应用程序开发者之间达成共识,并且严格按照这个命名规范来定义对象名

其次,表、视图、函数等最好也有统一的前缀

如视图可以用V为前缀,而函数则可以利用F为前缀

如此数据库管理员无论是在日常管理还是对象引用的时候,都能够在最短的时间内找到自己所需要的对象

五:尽量只存储单一实体类型的数据这里将的实体类型跟数据类型不是一回事,要注意区分

这里讲的实体类型是指所需要描述对象的本身

笔者举一个例子,估计大家就可以明白其中的内容了

如现在有一个图书馆里系统,有图书基本信息、作者信息两个实体对象

若用户要把这两个实体对象信息放在同一张表中也是可以的

如可以把表设计成图书名字、图书作者等等

可是如此设计的话,会给后续的维护带来不少的麻烦

如当后续有图书出版时,则需要为每次出版的图书增加作者信息,这无疑会增加额外的存储空间,也会增加记录的长度

而且若作者的情况有所改变,如住址改变了以后,则还需要去更改每本书的记录

若这个作者的图书从数据库中全部删除之后,这个作者的信息也就荡然无存了

很明显,这不符合数据库设计规范化的需求

遇到这种情况时,笔者建议可以把上面这张表分解成三种独立的表,分别为图书基本信息表、作者基本信息表、图书与作者对应表等等

如此设计以后,以上遇到的所有问题就都引刃而解了

开发网站,往往需要用数据库保存数据。我们该如何创建数据库与创建数据表呢?方法其实很简单,下面就由小编教你如何用NavicatforMySql创建数据库与数据表的 *** 作流程。

工具/原料

电脑

Navicat数据库管理工具

方法/步骤

1、第一步:在本地创建数据库,首先把数据库运行环境启动,Apache与MySQL都显示绿色,表示环境开启成功,否则环境开启失败就无法 *** 作数据库。

2、第二步:打开NavicatforMySql这个数据库管理工具,它是用来管理我们的数据库的创建,管理等 *** 作,所示:

3、第三步:打开NavicatforMySql之后,在左侧用鼠标右键,选择新建数据库

4、第四步:进入创建数据库的页面,数据库名命名为myxiaoze;字符集填写utf8--UTF-8Unicode;排序规则填写utf8_general_ci,填好之后点击确定:

5、第五步:在左侧右键刷新,就可以看到刚刚创建好的数据库,所示:

6、第六步:双击打开刚刚创建好的数据库,点击表,在右边空白处右键,选择新建表,:

7、第七步:进入创建表的页面,接下来就是创建字段了,设置主键并且自动递增,自动递增的作用是,每增加一条数据,id就会自动增加,不需要我们输入。

8、第八步:同时按Ctrl+s保存数据表,并且填写数据表名,命名为xz。通过上面的步骤,我们就完美实现数据库的创建与数据表的创建。

select student姓名,avg(sc成绩)

from student,sc

where student学号=sc学号 and 姓名

in

(

select student姓名 from student,sc

where student学号=sc学号 and sc成绩<60

group by student姓名

having count()>=2

)

group by student姓名

另外group by的详细资料最好使用sql自带的帮助文档。

这个不是一句两句可以说清楚的

给你语句还有其他工作要做

比如用ADO连接数据源前的准备工作

1)在头文件中引入相应的库文件(一般放在StdAfxh中)。

……

#import "c:\Program Files\Common Files\System\ADO\msado15dll"

no_namespace rename("EOF","_EOF")

……

注意:为了避免类型库文件中EOF与系统定义的EOF相关的名称相冲突,所以使用rename将其重命名。

2)初始化COM环境(一般放在函数BOOL CTheApp::InitInstance()里面)。

CoInitialize(NULL);//初始化COM环境

还有Connection与Recordset

因为在使用数据库时,首先会打开数据库,然后再对数据库中的某个数据表进行 *** 作。ADO访问数据库时也要遵循这个规矩。Connection对象代表了打开与数据源的连接。而Recordset对象表示的是来自基本表或命令执行结果的记录集。在使用Connection与Recordset之前,需要创建它们的实例:

_ConnectionPtr cnn=NULL;

cnnCreateInstance(__uuidof(Connection));

_RecordsetPtr rst=NULL;

rstCreateInstance(_uuidof(Recordset));

完全可以把cnn及rst看成是一个对象指针来使用。而不用考虑它的COM对象的实例。

声明一个Connection对象实例后,就可以使用这个对象实例来连接数据库了。

比如cnn-ConnectionString="uid=admin;pwd=111;DRIVER=;

DBQ=khzymdb;"; //连接ACCESS数据库。

cnn-Open(L"",L"",L"",adConnectUnspecified);

还有具体的

还是建议你先看书

慢慢实践

不愿意问老师

可以问同学

同学间还是有高手的

public void actionPerformed(ActionEvent e)

{

if(egetSource()==xinjian)

{

textsetText("");

}

if(egetSource()==dakai)

{

openFDshow();

String s;

以上就是关于数据库设计时数据库名表名和列名大小写问题全部的内容,包括:数据库设计时数据库名表名和列名大小写问题、开发一个完整的数据库系统具体的流程是什么、如何用NavicatforMySql创建数据库与数据表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10186340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存