Archive for 11月, 2006
我们知道在MS SQL中CHAR(N)或VARCHAR(N)的N是指Bytes,而不是字符的个数,那么在 oracle 中(CHAR或VARCHAR2),这个N到底是字符的个数还是字节长度?
在 oracle 中这个N既可以是Bytes也可以是Characters,那么如何去指定它是哪一种呢?有两种方法:
1.在CHAR或VARCHAR2中明确指定
如:CHAR(10 CHAR),VARCHAR2(20 CHAR),CHAR(10 BYTE),VARCHAR2(20 BYTE)
2.在初始化参数中指定
可以在初始化参数中指定NLS_LENGTH_SEMANTICS=’CHAR’或’BYTE’来确定
默认情况下这个参数是BYTE
那么这两种方式有什么关系和优缺点呢?
做这个项目有一段时间了,决定对数据库设计进行一些总结,大概如下:
1.数据库设计之字符集的选择
2.数据库设计之主键的选择
3.数据库设计之设计合理的表结构
4.数据库设计之建模工具的选择与使用
5.数据库设计之避免丢失更新
6.数据库设计之评估数据库规模
7.数据库设计之命名规范
8.数据库设计之存储规划
9.数据库设计之SQL Tuning
10.数据库设计之初始化参数设定
暂定这么多,呵呵
Page 1 of 11