随笔分类 - 数据库
摘要:1、使用OUTPUT类型参数的存储过程的技巧一般的存储过程都是直接返回一段记录集给调用者,但是有的时候我们只需要一些存储过程返回的一些参数的值,这时候可以指定存储过程的OUTPUT参数,比如: Create procedure GetName @uid nvarchar(1), @usernam nvarchar(10)='' output AS set @username='hongchao' GO 在上面的存储过程当中我们传递进的参数是@uid,而参数@username则在调有的时候不需要传递进去。这样,存储过程会返回给我们参数@username的值是‘ho
阅读全文
摘要:1.原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。比如:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。2.主键与外键一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙
阅读全文
摘要:1.确定entities及relationshipsa) 明确宏观行为。数据库是用来做什么的?比如,管理雇员的信息。b) 确定entities。对于一系列的行为,确定所管理信息所涉及到的主题范围。这将变成table。比如,雇用员工,指定具体部门,确定技能等级。c) 确定relationships。分析行为,确定tables之间有何种关系。比如,部门与雇员之间存在一种关系。给这种关系命名。d) 细化行为。从宏观行为开始,现在仔细检查这些行为,看有哪些行为能转为微观行为。比如,管理雇员的信息可细化为:增加新员工修改存在员工信息删除调走的员工e) 确定业务规则。分析业务规则,确定你要采取哪种。比如,
阅读全文
摘要:1.等效的语句select count(*) from dbo.zjdm_enterprises where zjdm_title like '%%'select count(*) from dbo.zjdm_enterprises2.order by+聚合--错误 group by+聚合 --分组聚合 3.IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值。是因为建表是的标识规范设置为了“是”。解决方法是重新设置列把标识规范选否再去插值或重建表。4.nvarchar与varchar的区别Varchar[(n)]长度为n个字节的可变长度且非Unic
阅读全文
摘要:1.SQLserver2005有两种数据类型:DATETIME和SMALLDATETIME SQLserver2008新增以下几种数据类型:DATITIME2,DATE,TIME,DATETIMEOFFSET2.当前系统日期、时间:getdate() 3.时间间隔获取:datediff(day,被减数时间,减数时间) ,间隔类型:day,year,mouth datediff(day,'2004-09-01','2004-09-18') --返回:17 datediff(day,'2004-09-18','2004-09-01')
阅读全文
posted @ 2012-03-02 02:29
翱翔之鹰
摘要:数据库连接串设置标准连接:"Server=Aron1;Database=pubs;UID=sa;PWD=asdasd;"信任连接:"Server=Aron1;Database=pubs;Trusted_Connection=yes;"Integrated Security=SSPI 等同于 Trusted_Connection=yesEnabling MARS (multiple active result sets):"Server=Aron1;Database=pubs;Trusted_Connection=yes;MARS_Connect
阅读全文
posted @ 2012-03-02 02:29
翱翔之鹰
摘要:SQL中的NULL值,表示不知道(UNKNOWN)的数据,用作不知道数据的具体值,或者不知道数据是否存在,或者数据不存在等情况。因为引入了NULL值,故此SQL的逻辑系统是三值逻辑系统FALSE、TRUE、NULL三种值构成的逻辑系统。C#中数据有引用与的区分,SQL则没有.所以逻辑判断就形成了三值特色.1、OR、AND、NOT真值表ABA OR BA AND BNOT AFALSEFALSEFALSEFALSETRUEFALSETRUETRUEFALSE-FALSENULLNULLFALSE-TRUEFALSETRUEFALSEFALSETRUETRUETRUETRUE-TRUENULLTR
阅读全文
posted @ 2012-03-02 02:28
翱翔之鹰
摘要:自定义函数是SQL Server 的数据库对象,它不能用于执行一系列改变数据库状态的操作,但它可以像系统函数一样在查询或存储过程等的程序段中使用,也可以像存储过程一样通过EXECUTE 命令来执行。1.标量值函数CREATE FUNCTION dbo.Foo()RETURNS intAS BEGIN declare @n intselect @n=3return @n -------返回的是一个标量值END2.内嵌表值函数CREATE FUNCTION dbo.Foo()RETURNS TABLEAS return select id, title from msgs3.多语句表值函数CRE.
阅读全文
posted @ 2012-03-02 02:11
翱翔之鹰
摘要:1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value] []为可选内容要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:insert into tjjrmx(yybh,xh,tjxmbh,jg,sfyx,zhxmbh,tjksbh,jcrq,jcys,ts,ckfw,disporder)select '24'
阅读全文
posted @ 2012-01-11 15:44
翱翔之鹰
摘要:数据库设计说明书(GB8567——88)1引言1.1编写目的说明编写这份数据库设计说明书的目的,指出预期的读者。1.2背景说明:a. 说明待开发的数据库的名称和使用此数据库的软件系统的名称;b. 列出该软件系统开发项目的任务提出者、用户以及将安装该软件和这个数据库的计算站(中心)。1.3定义列出本文件中用到的专门术语的定义、外文首字母组词的原词组。1.4参考资料列出有关的参考资料:a. 本项目的经核准的计划任务书或合同、上级机关批文;b. 属于本项目的其他已发表的文件;c. 本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得
阅读全文
摘要:1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 百分号会导致相关列的索引无法使用,最好不要用.深层原因:首先,like '%asdasd%'会造成表扫描。而且,like 并不是只有查不到的时候才遍历全表,是每次都要遍历。用like等于让索引失效。解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了。b、直接修改后台——
阅读全文
摘要:数据库设计原则:范式1 规范化 在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。正确进行表设计的正式名称就是"数据库规范化"。 2 数据冗余 数据应该尽可能少地冗余,这意味着重复数据应该减少到最少。比如说,一个部门雇员的电话不应该被存储在不同的表中,因为这里的电话号码是雇员的一个属性。如果存在过多的冗余数据,这就意味着要占用了更多的物理空间,同时也对数据的维护和一致性检查带来了问题,当这个员工的电话号码变化时,冗余数据会导致对
阅读全文
浙公网安备 33010602011771号