时间类型到底用datetime类型存储好还是用nvarchar存储好

asdfg_ 2014-12-11 04:10:27
时间类型到底用datetime类型存储好还是用nvarchar存储好

用datetime的话处理null比较麻烦
用nvarchar的话转化 比较 这些操作麻烦

求高手详细的说下到底用哪种好 .net mssqlserver
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
专注or全面 2014-12-11
  • 打赏
  • 举报
回复
楼主说的好处理时在C#中号处理吧, C#的实体中可以定义为可空值类型,传参的时候就比较好处理了 比如 pulic class className ( public string code, public DateTime? createdate ) 这样给实体赋值的时候就可以赋null值
还在加载中灬 2014-12-11
  • 打赏
  • 举报
回复
明显应该用DATETIME,用字符串存储是新手才会犯的错 用DATETIME还可以用日期的一些方式属性,还省空间 null的情况,.net也非常容易处理 一个string.Format("{0:yyyy-MM-dd}",date)的方式自动处理成空字符串
發糞塗牆 2014-12-11
  • 打赏
  • 举报
回复
为什么要用nvarchar而不用varchar?如果不是什么非常特殊的要求,用内置专用类型更好,它门有专门的处理和优化,比如2014-2-29这种数据,字符串和数值型类型可以直接存进去,但是明显不合理,而日期型会报错存不进去
中国风 2014-12-11
  • 打赏
  • 举报
回复
datetime=8字节 nvarchar=(字符数*2)字节
中国风 2014-12-11
  • 打赏
  • 举报
回复
用日期类型,占用空间小,查询时性能更佳
平行语料库数据库设计方案 平行语料库数据库设计主要涉及到对对应单位及其外围信息的存储方面,下面是对平 行语料库数据库中主要表的初始设计方案。 "表一:Language(语言表) " "列名 "数据类型 "说明 " "LanId "Int(10)"唯一标识符 " "LanName "Nvarchar "语言名称 " "LanMark "Int(10)"语言标识说明 " 注:为语言字典,为了对平行语料库的扩展,实现多语种的翻译。 "表二:Domain(领域表) " "列名 "数据类型 "说明 " "DomId "Int(10) "领域的唯一标识符 " "PdomId "Int(10) "父节点的ID " "DomName "Nvarchar "领域名称 " "DomDate "Datetime "领域添加时间 " "Isleaf "Bit "是否叶子节点(1-not leaf " " " "0-leaf) " "DomMark "Int(10) "领域标识说明 " 注:此表为领域信息表,实现对领域知识的自动识别,领域的树形结构的显示 "表三:ParallelDoc(平行文档表) " "列名 "数据类型 "说明 " "DocId "Int(10) "平行文档唯一标示 " "OriginDocXML"XML "源文档的XML存储 " "TargetDocXML"XML "目标文档的XML存储 " "ExtendType "XML "扩展字段 " 注:为平行文档的存储 "表四:datatype(数据来源信息类型记录表) " "DatatypeId "Int(10) "数据来源信息类型标识" "DatatypeName "Nvarchar "数据来源信息类型 " 注:此表记录着外围信息表中的数据信息来源类型,如网络、书籍、报纸等。 "表 五:PropertiesInfo(外围信息表) " "列名 "数据类型 "说明 " "DocId "Int(10) "平行文档外围信息唯一标示 " "OriginTitle "Nvarchar "源文档的标题 " "OriginAuthor "Nvarchar "源文档的作者 " "OriginPublish"datetime "源文档发行时间 " "Time " " " "DomId "Int(10) "文档的领域信息 " "OriginLanId "Int(10) "源文档的语言信息 " "OriginPublish"Nvarchar "源文档出版社 " "er " " " "TargetTitle "Nvarchar "目标文档的标题 " "TargetAuthor "Nvarchar "目标文档的作者 " "TargetPublish"datetime "目标发行时间 " "Time " " " "Intodbtime "datetime "文档入库时间 " "TargetLanId "Int(10) "目标文档的语言信息 " "TargetPublish"Nvarchar "目标文档出版社 " "er " " " "UserId "Int(10) "用户信息 " "DataTypeId "Int(10) "数据来源信息类型 " "XmlExtends "Xml "扩展字段 " 注:外围信息的存储 "表六:CorrespondCu (语料对应块记录表) " "列名 "数据类型 "说明 " "CuSn "Int(10) "对应块唯一标识符 " "DocId "Int(10) "文档唯一标识符 " "OriginPassag"Int(10) "源文语料块所在的段落 " "e " " " "OriginSenten"Int(10) "源文语料块所在的句子 " "ce " " " "OriginPositi"Int(10) "源文语料块在句子中的位置" "on " " " "OriginSrartI"Int(10) "源文语料块开始索引位置 " "ndex " " " "OriginCu "Nvarchar "源文语料块内容 " "TargetPassag"Int(10) "目标语料块所在的段落 " "e " " " "TargetSenten"Int(10) "目标语料块所在的句子 " "ce " " " "TargetPositi"Int(10) "目标语料块在句子中的位置" "on " " " "TargetSrartI"Int(10) "目标语料块开始索引位置 " "ndex " " " "TargetCu "Nvarchar "目标语料块内容 " "Xmlextends "Xml "备注字段 " 注:对应单位的存储 "表七:Origin_UnCu(源文语料保留块记录表) " "列名 "数据类型
用数据库设计影院售票管理系统 一.系统概述; 1.设计需求; 现在中国大部分的家庭都喜欢在家里置办属于自己风格的家庭影院。但是,仍然有很多人喜欢到电影院去看电影。因为家里的气氛毕竟不如影院好。所以,现代家庭影院的出现并不会让电影院没有生路。 每个社会服务系统都有自己的一套管理机制。当然,电影院也不除外。其实电影院的管理系统应该来说比其他的社会服务系统的管理要简单一点。电影院不外乎是引进电影,制定播放影片的时间表,买票,检票进场观看,还有就是一些数据管理方面的事。如工作人员管理,票务管理等等。为了工作机制简单有序,必然要引进一套管理系统。 2.需求分析; 具体而言,影院售票系统需要实现以下的需求: (1) 能够对播放电影,工作人员,售票事宜,检票事宜,无用数据进行处理。 用数据库设计影院售票管理系统全文共68页,当前为第1页。(2) 售票管理自然有专人负责,要处理各电影的电影票销售问题。当然包括退票问题,还有就是预订电影票其实也就相当于买票。两者可以当一回事处理。 用数据库设计影院售票管理系统全文共68页,当前为第1页。 (3) 检票管理事宜要完成观众进场时检票的事宜。其中包括了电影票的真假检测问题。 (4) 数据管理要处理电影的播放的次序,工作人员的管理,以及过期电影票的处理问题。 电影电影号电影名称主演导演生产地上映时间二.结构设计座位座位编号座位票价是否售出 电影 电影号 电影名称 主演 导演 生产地 上映时间 座位 座位编号 座位票价 是否售出 电影票电影号电影名座位号 价格电影票号上映时间时间?验证码 电影票 电影号 电影名 座位号 价格 电影票号 上映时间时间 ?验证码 职工信息职工号职工类型职工密码 职工信息 职工号 职工类型 职工密码 三.设计说明 用数据库设计影院售票管理系统全文共68页,当前为第2页。 1.分析与创建数据库; 用数据库设计影院售票管理系统全文共68页,当前为第2页。 根据系统的功能分析结果,影院售票管理系统将会使用Microsoft SQL Sever 2000 作为后台的数据库管理系统。本管理系统是应用于电影院中,而且需要和数据库之间进行频繁数据交换,所以采用Microsoft SQL Sever 2000 作为后台的数据库管理系统。 在本管理系统中,需要掌握影库充实信息,职工管理信息,票务管理信息,此外,由于要进行职工管理,还需要掌握使用本系统的职工。表1存储硬库信息列表,表2存储了电影院座位的相关数据连接关系,表3存储了电影票销售情况管理,表4存储了系统使用者职工的相关情况的管理列表。 用数据库设计影院售票管理系统全文共68页,当前为第3页。表1 影库管理表---MOVIES 用数据库设计影院售票管理系统全文共68页,当前为第3页。 字段名称 数据类型 字段属性 字段大小 作用 必填字段 索引 是否主键 Movie_id smallint 2 电影号 是 有(无重复) 是 Movie_name Nvarchar 50 电影名称 是 无 actor Nvarchar 50 导演 否 无 actress Nvarchar 50 主演 否 无 producer Nvarchar 25 制片厂 否 无 palydate datetime 8 上映时间 是 无 用数据库设计影院售票管理系统全文共68页,当前为第4页。表2 电影院座位管理表---SEATS 用数据库设计影院售票管理系统全文共68页,当前为第4页。 字段名称 数据类型 字段属性 字段大小 作用 必填字段 索引 是否主键 seatid smallint 2 座位号 是 有(无重复) 是 price float 8 票价 是 无 soldornot smallint 2 是否售出 是 无 用数据库设计影院售票管理系统全文共68页,当前为第5页。表3 电影票信息表---TICKETS 用数据库设计影院售票管理系统全文共68页,当前为第5页。 字段名称 数据类型 字段属性 字段大小 作用 必填字段 索引 是否主键 ticketsid smallint 2 电影票号 是 有(无重复) 是 seatid smallint 2 座位号 是 有 Movie_id smallint 2 电影号 是 有 Movie_name Nvarchar 50 电影名 否 无 palydate datetime 8 上映时间 是 无 price float 8 价格 是 无 yanzhengma smallint 2 验证码 是 无 是 表4 职工信息表---WORKERS 字段名称 数据类型 字段属性 字段大小 作用 必填字段 索引 是否主键 workerid smallint 2 职工号 是 无 是 password smallint 2 职工密码 是
变更记录 "日期 "版本 "变更说明 "作者 " "2013/08/02 "1.0 "数据字典设计 " " "2013/08/03 "2.0 "数据库设计 " " "2013/08/05 "2.1 "审核 " " "2013/08/08 "2.5 "升级及审核 " " " " " " " " " " " " 签字确认 "职务 "姓名 "签字 "日期 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 目 录 1 引言 4 1.1 预期的读者 4 1.2 数据库 4 1.3 目的和作用 4 2 数据字典设计 4 3 数据库设计 5 3.1 系统物理结构设计 5 3.2 表设计 5 3.2.1 TableName(表名的解释) 5 3.3 表之间的关联设计 5 3.4 存储过程设计 6 3.5 触发器设计 6 3.6 Job设计 6 引言 1 预期的读者 本文预期读者: OA办公自动化管理系统的设计、开发人员; OA办公自动化管理系统的验收、评审人员; OA办公自动化管理系统的测试人员; 客户方的市场部人员、开发人员。 2 数据库 数据库采用 MSSQL SERVER 2008 R2 数据库名称:OASYSDB/OA系统数据库 3 目的和作用 将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据 库。 数据字典设计 数据字典的主要目的是提供查阅对不了解的条目的解释。在数据字典中记录数据 元素的下列信息:一般信息(名字,别名,描述等),定义(数据类型,长度,结构 等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等), 控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构 ,物理位置—记录、文件和数据库等)。 下面的例子是通过卡片来描述数据字典: 2.1个人信息数据项与数据流 2.1.1名字:人员编号 描述:每个人员的唯一标识,用来区分人员 定义:字符串类型nvarchar(20) 位置:个人信息 2.1.2名字:姓名 描述:人员姓名,对人员的称呼 定义:字符串类型nvarchar(20) 位置:个人信息 2.1.3名字:性别 描述:每个人员的性别,男或女 定义:字符串类型nvarchar(50) 位置:基本信息 2.1.4名字:出生年月 描述:人员的出生日期,精确到月份 定义:日期类型datetime 位置:个人信息 2.1.5名字: 部门 描述:人员所在部门名称,用部门编号标识 定义:整型int 位置:部门信息 2.1.6名字:岗位 描述:人员所处岗位名称,用岗位编号标识 定义:整形int 位置:岗位信息 2.1.7名字:婚姻状况 描述:人员的婚姻状况,分为"未婚"、"已婚" 定义:字符串类型nvarchar(20) 位置:基本信息 2.1.8名字: 联系电话 描述:人员的联系电话,可以是固定电话或移动电话 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.9名字: 入职日期 描述:人员的入职日期,精确到日 定义:datetime 位置:个人信息 2.1.10名字: 电子邮箱 描述:人员常用的电子邮箱 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.11名字: 家庭地址 描述:人员的居住地址 定义:字符串类型nvarchar(MAX) 位置:个人信息 2.1.12名字: 照片 描述:人员的正式头像,存储方式为照片的本地地址 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.13名字: 密码 描述:人员登录系统的密码,可修改 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.14名字: 旧密码 描述:人员正在使用的密码 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.15名字: 新密码 描述:人员新设置的密码 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.16名字: 工资 描述:人员的月度工资,单位为元 定义:货币类型money 位置:个人信息 2.1.17名字: 个人信息 描述:个人的一切信息,部分为用户不可见或不可改 定义:个人信息=人员编号+人员姓名+密码+性别+出生年月+部门+岗位+工资+电子邮 箱+联系电话+婚姻状况+入职日期+家庭地址+照片 位置:个人信息 2.1.18名字: 个人可修改信息 描述:可由个人修改的部分个人信息 定义:个人可修改信息=性别+出生年月+电子邮箱+联系电话+婚姻状况+家庭地址+照 片 位置:个人信息 2.1.19名字: 密码修改信息 描述:个人的密码修改 定义:密码修改信息=人员编号+姓名+新密码+旧密码 位置:个人信息 2.2报销信息数据项与数据流 2.2
变更记录 "日期 "版本 "变更说明 "作者 " "2013/08/02 "1.0 "数据字典设计 " " "2013/08/03 "2.0 "数据库设计 " " "2013/08/05 "2.1 "审核 " " "2013/08/08 "2.5 "升级及审核 " " " " " " " " " " " " 签字确认 "职务 "姓名 "签字 "日期 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 目 录 1 引言 4 1.1 预期的读者 4 1.2 数据库 4 1.3 目的和作用 4 2 数据字典设计 4 3 数据库设计 5 3.1 系统物理结构设计 5 3.2 表设计 5 3.2.1 TableName(表名的解释) 5 3.3 表之间的关联设计 5 3.4 存储过程设计 6 3.5 触发器设计 6 3.6 Job设计 6 引言 1 预期的读者 本文预期读者: OA办公自动化管理系统的设计、开发人员; OA办公自动化管理系统的验收、评审人员; OA办公自动化管理系统的测试人员; 客户方的市场部人员、开发人员。 2 数据库 数据库采用 MSSQL SERVER 2008 R2 数据库名称:OASYSDB/OA系统数据库 3 目的和作用 将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据 库。 数据字典设计 数据字典的主要目的是提供查阅对不了解的条目的解释。在数据字典中记录数据 元素的下列信息:一般信息(名字,别名,描述等),定义(数据类型,长度,结构 等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等), 控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构 ,物理位置—记录、文件和数据库等)。 下面的例子是通过卡片来描述数据字典: 2.1个人信息数据项与数据流 2.1.1名字:人员编号 描述:每个人员的唯一标识,用来区分人员 定义:字符串类型nvarchar(20) 位置:个人信息 2.1.2名字:姓名 描述:人员姓名,对人员的称呼 定义:字符串类型nvarchar(20) 位置:个人信息 2.1.3名字:性别 描述:每个人员的性别,男或女 定义:字符串类型nvarchar(50) 位置:基本信息 2.1.4名字:出生年月 描述:人员的出生日期,精确到月份 定义:日期类型datetime 位置:个人信息 2.1.5名字: 部门 描述:人员所在部门名称,用部门编号标识 定义:整型int 位置:部门信息 2.1.6名字:岗位 描述:人员所处岗位名称,用岗位编号标识 定义:整形int 位置:岗位信息 2.1.7名字:婚姻状况 描述:人员的婚姻状况,分为"未婚"、"已婚" 定义:字符串类型nvarchar(20) 位置:基本信息 2.1.8名字: 联系电话 描述:人员的联系电话,可以是固定电话或移动电话 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.9名字: 入职日期 描述:人员的入职日期,精确到日 定义:datetime 位置:个人信息 2.1.10名字: 电子邮箱 描述:人员常用的电子邮箱 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.11名字: 家庭地址 描述:人员的居住地址 定义:字符串类型nvarchar(MAX) 位置:个人信息 2.1.12名字: 照片 描述:人员的正式头像,存储方式为照片的本地地址 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.13名字: 密码 描述:人员登录系统的密码,可修改 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.14名字: 旧密码 描述:人员正在使用的密码 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.15名字: 新密码 描述:人员新设置的密码 定义:字符串类型nvarchar(50) 位置:个人信息 2.1.16名字: 工资 描述:人员的月度工资,单位为元 定义:货币类型money 位置:个人信息 2.1.17名字: 个人信息 描述:个人的一切信息,部分为用户不可见或不可改 定义:个人信息=人员编号+人员姓名+密码+性别+出生年月+部门+岗位+工资+电子邮 箱+联系电话+婚姻状况+入职日期+家庭地址+照片 位置:个人信息 2.1.18名字: 个人可修改信息 描述:可由个人修改的部分个人信息 定义:个人可修改信息=性别+出生年月+电子邮箱+联系电话+婚姻状况+家庭地址+照 片 位置:个人信息 2.1.19名字: 密码修改信息 描述:个人的密码修改 定义:密码修改信息=人员编号+姓名+新密码+旧密码 位置:个人信息 2.2报销信息数据项与数据流 2.2

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧