Archive for 04月, 2007

每日一句:You put the cart before a horse.( 4.27 )

You put the cart before a horse.
你本末倒置。
—————————————————————————————————
  cart的意思是马车,字面意思是,把马车放在马的前面。这是一个习惯用法,相当于汉语中的成语“本末倒置”“颠倒黑白”之类。

每日一句:Sleep tight!( 4.25 )

Sleep tight!
睡个好觉!
—————————————————————————————————
  很简单的两个词,也是很地道一个英语表达。其中,tight并不是指被子盖得严,而是指早期人们睡的稻草床上的鬃绳绷得紧。过去,稻草的垫子就铺在纵横交错的鬃绳上,鬃绳起到弹簧的作用。这些鬃绳要定期的进行绷紧,否则鬃绳则变的松松垮垮,很不舒服。
  来自于一首美国儿童中流行的形成于19世纪的儿歌:”Good night, sleep tight. Don’t let the bed bugs bite.”(晚安,好觉,别让虫子吵你觉)。
  按照牛津字典的解释,tight的意思就是soundly(熟睡的)。还有一首相似的儿歌“Good night, sleep tight. Wake up bright in the morning light. To do what’s right with all your might.”

(转)数据库设计60个技巧

数据库设计指南
如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据
库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的
老师也比不过经验的教诲。所以我们最近找了些对数据库设计颇有造诣的专业人士给大家传授一些设
计数据库的技巧和经验。我们的编辑从收到的130 个反馈中精选了其中的60 个最佳技巧,并把这些
技巧编写成了本文,为了方便索引其内容划分为5 个部分:
第1 部分― 设计数据库之前
这一部分罗列了12 个基本技巧,包括命名规范和明确业务需求等。
第2 部分― 设计数据库表
总共24 个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等。
第3 部分― 选择键
怎么选择键呢?这里有10 个技巧专门涉及系统生成的主键的正确用法,还有何时以及如何索引字段
以获得最佳性能等。
第 4 部分 ― 保证数据完整性
讨论如何保持数据库的清晰和健壮,如何把有害数据降低到最小程度。
第5 部分― 各种小技巧
不包括在以上4 个部分中的其他技巧,五花八门,有 了它们希望你的数据库开发工作会更轻松一些。
Page 2 © CNET Networks Inc. 2002
www.zdnet.com.cn/developer
第1 部分― 设计数据库之前
1. 考察现有环境
在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。大多数数据库
项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实
现自动计算)。显然,现有系统并不完美,否则你就不必再建立新系统了。但是对旧系统的研究
可以让你发现一些可能会忽略的细微问题。一般来说,考察现有系统对你绝对有好处。
― Lamont Adams
我曾经接手过一个为地区运输公司开发的数据库项目,活不难,用的是Access 数据库。我设置
了一些项目设计参数,而且同客户一道对这些参数进行了评估,事先还查看了开发环境下所采取
的工作模式,等到最后部署应用的时候,只见终端上出了几个提示符然后立马在我面前翘辫子
了!抓耳挠腮的折腾了好几个小时,我才意识到,原来这家公司的网络上跑着两个数据库应用,
而对网络的访问需要明确和严格的用户帐号及其访问权限。明白了这一点,问题迎刃而解:只需
采用客户的系统即可。这个项目给我的教训就是:记住,假如你在诸如Access 或者Interbase 这
类公共环境下开发应用程序,一定要从表面下手深入系统内部搞清楚你面临的环境到底是怎么回
事。
― kg
2. 定义标准的对象命名规范
一定要定义数据库对象的命名规范 。对数据库表来说,从项目一开始就要确定表名是采用复数还
是单数形式。此外还要给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词
的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如
果表的名字由3 个单词组成,你不妨从头两个单词中各取一个然后从最后一个单词中再取出两个
字母,结果还是组成4 字母长的别名,其余依次类推)对工作用表来说,表名可以加上前缀
WORK_ 后面附上采用该表的应用程序的名字。表内的列要针对键采用一整套设计规则。比如,
如果键是数字类型,你可以用_NO 作为后缀;如果是字符类型则可以采用 _CODE 后缀。对列名
应该采用标准的前缀和后缀。再如,假如你的表里有好多“money”字段,你不妨给每个列增加
一个_AMT 后缀。还有,日期列最好以DATE_作为名字打头。
― richard
检查表名、报表名和查询名之间的命名规范。你可能会很快就被这些不同的数据库要素的名称搞
糊涂了。假如你坚持统一地命名这些数据库的不同组成部分,至少你应该在这些对象名字的开头
用table、query 或者report 等前缀加以区别。
― rrydenm
如果采用了Microsoft Access,你可以用 qry、rpt、 tbl 和mod [...]

mysql,access,sql 随机读取N条记录的写法

随机取出n条记录:
Sql server:select top n * from 表 order by newid()
Access:Select top n * FROM 表 orDER BY Rnd(id)
mysql:Select * From 表 order By rand() Limit n

每日一句:You are a professional, but I am an amateur.( 4.17 )

You are a professional, but I am an amateur.
你是专职的,而我是业余的。
—————————————————————————————————
  amateur a. 业余的 n. 业余爱好者
  再如:The tournament is open to amateurs as well as professionals.     
  这次比赛不仅职业运动员可以参加,而且业余运动员也可以参加。

每日一句:I've been learning English off and on for 12 years.( 4.13 )

I’ve been learning English off and on for 12 years.
我断断续续学了十二年英语了。
—————————————————————————————————
  汉语“断断续续”的概念一般都是用off and on 这一短语来表示的。Off and on 在句中一般作状语,相当于一个副词,可放在动词之前,也可放在动词之后。除了可以用来表示“断断续续”的概念,还可以用来表示“有时……有时”或“一会儿……一会儿”之类的意思。
  例句:
  The light is on and off. 这个灯有时亮,有时又不亮了。
  The ache in the tooth is off and on. 牙疼时断时续。

每日一句:I blew the whistle on the whole thing.( 4.12 )

I blew the whistle on the whole thing.
我把整件事都抖落出来了。
—————————————————————————————————
  名词whistle的一个主要意思就是警哨、警笛,动词短语blow the whistle(吹哨子)沿袭下来的意义就表示“告密,揭发,检举(不正当行为)”,是个俚语。由此形成的一个名词“告发”就是whistleblowing,“告密者”就是whistleblower。
  例句:
  Someone has blown the whistle on his doctoring the accounts.
有人告发他伪造帐目。
  It’s said that those government officials who had blown the whistle also got transferred.
据说检举这个事的政府官员也被调职了。
  资料来源:《越狱》精讲之十二

每日一句:Why should you yell bloody murder to the boss?( 4.11 )

Why should you yell bloody murder to the boss?
你为什么一定要和老板大吵大闹?
—————————————————————————————————
  我们经常用动词shout表示汉语的“吵闹”,其实这个词最核心的意思是“大声地叫喊”(make a loudy strong cry),并没有能传达出“闹”的成分和“吵”的语气。英语口语中有个yell bloody murder的说法,即包含了“吵”的架势,也包含了“闹”的色彩。
  yell bloody murder,字面意思就是,像看到血腥谋杀一样地叫嚷,就像汉语中经常使用到的那个比喻“杀猪一样的嚎叫”,是很生动的一个短语。另外,英国口语中很少使用bloody这个词,因此当英国人在表示“大吵大闹”的概念时,一般习惯使用scream blue murder。
  例句:
  He’ll yell bloody murder to me if he knows I’ve told you this.
如果他知道我把这个消息告诉了你,一定会跟我大吵大闹的。
  When she learned that her husband had dated other girls, she started yelling bloody murder.
当她得知他的丈夫和别的女孩子约会时,她就大吵大闹起来。

每日一句:I find amusement in collecting stamps.( 4.10 )

I find amusement in collecting stamps.
我发现了集邮的乐趣。
—————————————————————————————————
  amuse,消遣,娱乐,使……发笑
  例句:The boys amuse themselves by drawing caricatures of their teacher.
  男孩子们以画老师的漫画取乐。

SQL语句导入导出大全

   /*******   导出到excel
EXEC master..xp_cmdshell ‘bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S”GNETDATA/GNETDATA” -U”sa” -P””‘
/***********   导入Excel
SELECT *
FROM OpenDataSource( ‘Microsoft.Jet.OLEDB.4.0′,
   ‘Data Source=”c:\test.xls”;User ID=Admin;Password=;Extended properties=Excel 5.0′)…xactions
/*动态文件名
declare @fn varchar(20),@s varchar(1000)
set @fn = ‘c:\test.xls’
set @s =”’Microsoft.Jet.OLEDB.4.0”,
”Data Source=”‘+@fn+’”;User ID=Admin;Password=;Extended properties=Excel 5.0”’
set @s = ‘SELECT * FROM OpenDataSource (‘+@s+’)…sheet1$’
exec(@s)
*/
SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+’ ’ 转换后的别名
FROM OpenDataSource( ‘Microsoft.Jet.OLEDB.4.0′,
   ‘Data Source=”c:\test.xls”;User ID=Admin;Password=;Extended properties=Excel 5.0′)…xactions
/********************** [...]