当前位置: 首页 > news >正文

员工支付做网站的费用分录/推广公司app主要做什么

员工支付做网站的费用分录,推广公司app主要做什么,转播新闻联播过程一套,人民网做最好内容的网站一般来说关系型数据库,绝大多数表都有数据库主键。数据库主键的创建,一般有如下几种形式:1. 使用数据库自增长主键的语法。有些数据库,比如 MS SQL Server, MySQL ,都有对应的语法,可以在创建数据库表的时候,指定某个字…

一般来说关系型数据库,绝大多数表都有数据库主键。

数据库主键的创建,一般有如下几种形式:

1. 使用数据库自增长主键的语法。

有些数据库,比如 MS SQL Server, MySQL ,都有对应的语法,可以在创建数据库表的时候,指定某个字段为自增长主键。Oracle , PostgreSQL 则使用 sequence , 来达到类似的作用。

以下是 MS SQL Server 示例:

create table tb(id int identity(1,1) primary key );

以下是 PostgreSQL 示例:

//serial 并不是psql的类型,只是一个宏,

create tabletablename ( colname serial );//等价于CREATESEQUENCE tablename_colname_seq;CREATE TABLEtablename (

colnameinteger NOT NULL DEFAULT nextval('tablename_colname_seq')

);ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;

自增长数据库主键,一般是 int/long 之类的整数/长整数。理论上有数据最大容量限制。

在 java/c# 代码中,可将这种主键字段,转换为 long.

2. 使用数据库的 GUID/UUID 之类的语法。

一般是数据字段类型 + 数据库内置函数设置默认值,来定义一个列。

以下是 MS SQL Server 示例:

CREATE TABLEdbo.Globally_Unique_Data

(

GUIDUNIQUEIDENTIFIER

CONSTRAINT Guid_Default DEFAULTNEWSEQUENTIALID()ROWGUIDCOL,

Employee_NameVARCHAR(60)CONSTRAINT Guid_PK PRIMARY KEY(GUID)

);

在 java/c# 代码中,可将这种主键字段,转换为 string.

3. 使用字符串作为表主键,在java/c# 代码中生成 uuid ,填充数值。

以下是 MS SQL Server 示例:

CREATE TABLE [dbo].[tt_process_request]([process_request_uuid] [varchar](40) NOT NULL,

...[created_time] [datetime] NULL,[created_by] [varchar](50) NULL,[updated_time] [datetime] NULL,[updated_by] [varchar](50) NULL,[updated_cnt] [bigint] NULL,CONSTRAINT [PK_tt_process_request] PRIMARY KEY CLUSTERED([process_request_uuid] ASC);

C# 生成 uuid 的代码示例:

string fileUuid = System.Guid.NewGuid().ToString();

Java 生成 uuid 的代码示例如下:

publicString createUuid() {return UUID.randomUUID().toString().replaceAll("-", "");

}

代码生成的 uuid, 中间有 - 分割数据,可以保留,也可以替换/去掉。

4. 使用字符型字段作为数据库表主键,对应某个业务数据。比如合同号: PS21152357。

这类数据中,往往其中的某几位,有一定的业务业务含义,比如,此处 "PS" 为合同号的标识。其它位数,为顺序号。

需要编写 在 java/c# 代码中,来生成这种编号,并做并发防范。

总结:

方法4 , 一般称之为“业务主键”。对应的, 1-3 为“逻辑主键”。

总体而言,应尽量避免使用“业务主键”。因为使用这种主键,有时并非系统自动生成,而是人工录入(比如,数据源头在 ERP,现要在另一个系统中录入数据),人工录入存在一定的出错几率,如果录入出错需要更改主键数据,则外键也要一并更改,往往比较麻烦。

1-3 的三种“逻辑主键”,我更倾向于第三种。

方法3" 使用字符串作为表主键,在java/c# 代码中生成 uuid ,填充数值",不用考虑不同数据库间的差异,可以认为任何数据库都支持。使用起来也简单。

如果是使用自动生成代码工具,要看情况吧。可能有的工具,处理不了。我自己编写的工具,处理起来没问题。

至于 uuid 字段串,占用磁盘空间,比自增长整数/长整数占用的大的问题,其实我觉得并不是大问题。

这不会导致整个系统,磁盘空间需求,增加 1/4 或更多。一般可以忽略。

另,

数据库主键的定义,在某些数据库中,往往会自动带上"按此字段进行顺序存储"之类的语法。比如,SQL Server ,以下是示例:

CREATE TABLE [dbo].[tt_process_request]([process_request_uuid] [varchar](40) NOT NULL,

...,CONSTRAINT [PK_tt_process_request] PRIMARY KEY CLUSTERED([process_request_uuid] ASC)

) ;

这可以通过更改创建表的 SQL, 使用 PRIMARY KEY NONCLUSTERED语法

CREATE TABLEdbo.Department

(

xxxVARCHAR(10) NOT NULL PRIMARY KEY NONCLUSTERED,

...

)

;

然后再加 CLUSTERED INDEX ,来解决此问题。

CREATE CLUSTERED INDEXIX_TestTable_TestCol1ON dbo.TestTable (TestCol1);

当然,数据库表也可以既没有 CLUSTERED key、 也没有 CLUSTERED index 。

这种情况下,表的数据存储,按 insert 的时间顺序,从先到后。大多数情况下,这种数据存放方式,是可以接受的。

数据显示时,再按照某个时间字段(交易数据, 比如销售单的销售时间),或者业务数据主键(主数据/系统配置等),进行查询排序,查询到排序后的数据,显示给用户。

===============欢迎转载,转载请注明出处:https://www.cnblogs.com/jacklondon/

http://www.lbrq.cn/news/1256509.html

相关文章:

  • 毕业设计网站建设题目/新网站怎么推广
  • seo网站模板/适合30岁女人的培训班
  • wordpress输入密码访问/seo标题优化导师咨询
  • php网站开发实用技术练习题/南昌seo专业团队
  • 阿里巴巴免费做国际网站/站长统计幸福宝下载
  • 新网做网站流程/网站制作企业有哪些
  • 如何建设企业网站/成人再就业技能培训班
  • 如何查网站是那家做的/中国十大新闻网站排名
  • 做旅游网站的目的/网上推广平台有哪些
  • 中国移动网站备案管理系统不能用/百度24小时客服电话136
  • 网站建设与网页设计制作教程/西安seo霸屏
  • 微云怎么做网站/百度推广方法
  • 单页面网站制作/天天广告联盟
  • 企业网站设计建设/免费推广的方式有哪些
  • 中小企业网站建设方案/网络营销策划书800字
  • 动叫建个网站刷排名/百度推广费用可以退吗
  • 宁波做微信网站/app注册拉新平台
  • 安庆做网站公司/网站seo优化网站
  • 政务信息系统网站建设规范/360推广平台登录入口
  • iis怎么配置网站/如何做营销
  • 光谷网站推广/网站一级域名和二级域名
  • 网站资质优化/百度空间登录入口
  • 重庆制作网站开发app开发公司/海外网络推广平台
  • 如何查看一个网站流量/免费的推广平台
  • 美国网站开发公司/比较经典的营销案例
  • 网站屏幕自适应/网站快速收录工具
  • 网站发布到ftp/seo优化网页
  • 网站建设的主要功能及定位/免费seo营销软件
  • 做外卖那些网站好/推广通
  • wordpress英文源码/关键词优化一年多少钱
  • 云计算一阶段Ⅱ——11. Linux 防火墙管理
  • 服务器的Mysql 集群技术
  • Nginx服务做负载均衡网关
  • [硬件电路-150]:数字电路 - 数字电路与模拟电路的异同
  • 音视频学习(五十):音频无损压缩
  • [硬件电路-134]:模拟电路 - 运算放大器常见运算:两模拟信号相加、相减、单模拟信号的积分、微分...