骆驼式命名法:

骆驼式命名法是通过单词的首字母大些来区分变量或函数名、类名的一个命名方式。因其大写的首字母类似骆驼的驼峰而得名。以下是一个例子:

printEmployeeName();

介绍:
http://baike.baidu.com/view/1165629.html

匈牙利命名法:
匈牙利命名法广泛应用于象Microsoft Windows这样的环境中。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。这种命名方式由一位就职于微软的匈牙利的程序员查尔斯- 西蒙尼(Charles Simonyi) 提出。 以下是一个例子:
hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄。

匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母

详细介绍见:
http://baike.baidu.com/view/419474.htm

大写的一个单词或多个单词组合,该单词要指明变量的用途。

下划线命名法:

下划线命名法是通过下划线来区分变量、函数名、类名中的单词的一种方法。以下是一个例子:

print_employee_name();

  
帕斯卡(pascal)命名法:

与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写,如:

DisplayInfo();
string UserName;

介绍:
http://baike.baidu.com/view/1276459.htm

在项目实践中可以结合使用这几种命名方式。比如,JSP文件的命名采用下划线式命名法,而java类和方法则可以采用骆驼式命名法。

评论关闭
发表于: DB/ES | 作者: | 日期: 2008/11/22 09:11

基本概念
数据库连接串主要用于建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改。数据库连接串可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。

创建语法
CREATE DATABASE LINK TEST CONNECT TO USERNAME IDENTIFIED BY PASSWORD USING ‘CONNECT_STRING’;
解释:
TEST是数据库连接串的名字。以后就通过这个名字来进行调用远程数据库的内容。
USERNAME是用来连接到远程数据库的合法Oracle用户名。
PASSWORD为该用户连接到Oracle时候的合法密码。
CONNECT_STRING为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。

使用方法
SELECT COUNT(*) FROM TABLE_NAME@DB_LINK WHERE WHERE_CLAUSE;//查阅远程数据库的内容。

UPDATE TEST.TEST@DB_LINK SET SO_NBR=NEW_SO_NBR WHERE WHERE_CLAUSE;//修改远程数据库的内容。

在实际使用过程中,还可以通过为这个远程表建立一个同义词来进一步增加透明性,使该数据库连接串对于程序和开发人员来讲完全透明。
CREATE SYNONYM TABLE_NAME FOR TABLE_NAME@DB_LINK;

数据库连接的管理
1。如何知道当前用户、当前系统中有哪些数据库连接串?
SELECT * FROM USER_DB_LINKS;
这个查询会给出当前用户的数据库联接的名字、联接用户名、联接密码、要连接的主机以及创建时期。
SELECT * FROM DBA_DB_LINKS;
这个查询会给出当前系统中所有的数据库联接的创建用户、联接用户名、要连接的主机以及创建时期。
SELECT * FROM V$DBLINK;
这个查询会给出当前打开的数据库联接。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

数据库链接(DATABASE LINK)是在分布式环境下,为了访问远程数据库而创建的数据通信链路。数据库链接隐藏了对远程数据库访问的复杂性。通常,我们把正在登录的数据库称为本地数据库,另外的一个数据库称为远程数据库。有了数据库链接,可以直接通过数据库链接来访问远程数据库的表。常见的形式是访问远程数据库固定用户的链接,即链接到指定的用户,创建这种形式的数据库链接的语句如下:

CREATE DATABASE LINK 链接名 CONNECT TO 账户 IDENTIFIED BY 口令 USING 服务名;

创建数据库链接,需要CREATE DATABASE LINK系统权限。

数据库链接一旦建立并测试成功,就可以使用以下形式来访问远程用户的表。

表名@数据库链接名

例:在局域网上创建和使用数据库链接。
步骤1:创建远程数据库的服务名,假定局域网上另一个数据库服务名为MYDB_REMOTE。
步骤2:登录本地数据库SCOTT账户,创建数据库链接:

CONNECT SCOTT/TIGER@MYDB

CREATE DATABASE LINK abc CONNECT TO scott IDENTIFIED BY tiger USING ‘MYDB_REMOTE’;

执行结果为:

数据库链接已创建。

查询远程数据库的数据:

SELECT * FROM emp@abc;

结果略。

步骤4:一个分布查询:

SELECT ename,dname FROM emp@abc e,dept d WHERE e.deptno=d.deptno;

结果略。

说明:在本例中,远程数据库服务名是MYDB_REMOTE,创建的数据库链接名称是abc.emp@abc表示远程数据库的emp表。步骤4是一个联合查询,数据来自本地服务器的dept表和远程服务器的emp表。如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。与此类似的任务可以通过在set子句中使用多列子查询而在一个UPDATE命令中完成。当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?建议用户认真学习如何最大限度地发挥SQL的功能。

参考:
http://blog.chinaunix.net/u/15454/showart_510638.html
http://www.blogjava.net/soddabao/archive/2007/03/09/102821.aspx
http://moonsoft.itpub.net/post/15182/125559

Creating Database Links

评论关闭
发表于: DB/ES | 作者: | 日期: 2008/11/22 09:11

概述
同义词是表、索引、视图或者其他模式对象的一个别名。同义词只是数据库对象的一个替代名,在使用同义词的时候,oracle简单的将它翻译为对应的基础数据对象的名称。oracle只在数据字典中保存同义词的定义描述,因此同义词并不占用任何实际的存储空间。

在以下的场景中DBA可以考虑建同义词:
1:为重要的数据库对象创建同义词,以便隐藏对象的实际名称;
2:在分布式数据库系统中,为存储在远程库中的对象创建同义词,使用户可以像使用本地对象一样对远程对象进行操作;
3:为名称很长或者很复杂的数据库对象创建同义词,以简化SQL语句。

在oracle中,同义词分为两类:
1:公有同义词。公有同义词由一个特殊的用户组PUBLIC所拥有,数据库中所有的用户都可以使用公有同义词。
2:私有同义词。由创建它的用户(或模式)所拥有。

创建同义词语句

create public synonym table_name for user.table_name;

其中第一个user_table和第二个user_table可以不一样。

此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:create synonym table_name for table_name@DB_Link;

当然,你可能需要在user用户中给当前用户(user2)授权: grant select/delete/update on user2

删除同义词

drop public synonym table_name;

查看所有同义词

select * from dba_synonyms;

同义词拥有如下好处:
节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;
扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;
同义词可以创建在不同的数据库服务器上,通过网络实现连接。

评论关闭
发表于: DB/ES | 作者: | 日期: 2008/11/22 08:11

sequence概述
模式对象的一种,能够以串行方式生成一系列顺序整数。其最大的有点是可以在多用户并发环境中为各个用户生成不会重复的顺序整数,基本上可以认为序列天生就是为主键而存在的。使用create sequence 语句创建序列之后,oracle将序列的定义描述存储在数据字典中,序列并不占用实际的存储空间。 More …

评论关闭
发表于: sitebuild | 作者: | 日期: 2008/11/22 07:11

概述
在窗体的继承中,返回对顶层窗体的引用。

语法
var topWindow = window.top;

说明
window.parent属性返回当前窗体的父窗体,而window.top则返回当前窗体的最顶层窗体。该属性在框架集的处理中尤其有用。

参考:
https://developer.mozilla.org/En/DOM/Window.top

评论关闭
发表于: DB/ES | 作者: | 日期: 2008/11/22 03:11

当插入值需要从另外一张表中检索得到的时候,如下语法的sql语句已经不能完成该功能:
insert into my_table(id, name) value ((select seq_my_table.nextval from dual), ‘runto30’);
会报“ORA-02287: sequence number not allowed here”的错误,可以使用如下语句来完成:
insert into my_table(id, name) select seq_my_table.nextvalue, ‘runto30’ from dual;

参考:http://www.dbforums.com/printthread.php?t=380997

评论关闭
发表于: lnmp | 作者: | 日期: 2008/11/21 02:11
标签:
评论关闭
发表于: lnmp | 作者: | 日期: 2008/11/21 02:11
标签:
评论关闭
发表于: lnmp | 作者: | 日期: 2008/11/21 02:11
标签:

基本概念
php的数组分为两种数组:索引数组和关联数组。索引数组的键值为整数,从0开始;关联数组的键值为字符串。
不管是索引数组还是关联数组,键值都不能重复。重复的话,之前的值会被覆盖。
$arr[1] 与 $arr[‘1′]引用相同的元素,但与 arr[’01’] 引用不同元素。
关联数组的索引值要加单引号或者双引号,在php5中不加引号会报错。但在字符串中引用数组元素时则不能加引号。
$arr[‘a’] = ‘AAA’;
$arr[‘b’] = ‘BBB’;
echo “array[a] is $arr[a]”;

数组的创建
1:通过array()结构
创建索引数组:
$arr = array(‘aaa’, ‘bbb’);
创建关联数组:
$arr = array(‘a’=>’AAA’, ‘b’=>’BBB’);
创建空数组
$arr = array();

2:如果数组不存在,那么向数组存放值将创建数组,但是在一个还没有定义的数组中检索一个值不会创建数组。
$arr[0] = ‘aaa’;
$arr[1] = ‘bbb’;
foreach($arr as $v){
echo $v;
}

操作数组
1:在数组末尾添加值
$arr = array(‘a’=>’AAA’, ‘b’=>’BBB’);
$arr[] = ‘CCC’;

常用数组函数
count()或者sizeof()
获得数组大小;

array_pad()
填充数组

评论关闭
发表于: lnmp | 作者: | 日期: 2008/11/18 09:11
标签:

1:
首先找到位于WordPress安装目录/wp-includes/”目录里面的”formatting.php”文件;

2:
搜索到如下代码:
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

3:
将其全部注释掉:
// static strings
// $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

4:
OK,搞定。

评论关闭