请问以下部分的数据类型对应SQL SERVER2000中的哪些数据类型?
创建表空间
CREATE TABLESPACE USER_DATA
DATAFILE 'D:\stu\data\STUDENT.DBF' SIZE 50M;创建系统用户表
CREATE TABLE HXH.user_Info
(
  user_ID VARCHAR2(10) NOT NULL,
  user_PWD VARCHAR2(10) NOT NULL,
  user_DES VARCHAR2(20),
  CONSTRAINT user_ID_PK PRIMARY KEY(user_ID)
)
TABLESPACE "USER_DATA";创建学生基本信息表
CREATE TABLE HXH.student_Info
(
   student_ID NUMBER(8) NOT NULL,
   student_Name VARCHAR2(10),
   student_Sex  VARCHAR2(2),
   born_Data DATE,
   class_NO NUMBER(8),
   tele_Number VARCHAR2(10),
   ru_Date DATE,
   address VARCHAR2(50),
   comments VARCHAR2(200),
   CONSTRAINT student_ID_PK PRIMARY KEY(student_ID)
)
TABLESPACE "USER_DATA";创建班级信息表
CREATE TABLE HXH.class_Info
(
   class_NO NUMBER(8) NOT NULL,
   grade VARCHAR2(10),
   director VARCHAR2(10),
   classroom_NO VARCHAR2(10),
   CONSTRAINT class_NO_PK PRIMARY KEY(class_NO)
)
TABLESPACE "USER_DATA";创建课程基本信息表
CREATE TABLE HXH.course_Info
(
   course_NO NUMBER(8) NOT NULL,
   course_Name VARCHAR2(10),
   course_Type VARCHAR2(10),
   course_DES  VARCHAR2(50),
   CONSTRAINT course_NO_PK PRIMARY KEY(course_NO)
)
TABLESPACE "USER_DATA";创建年级课程设置信息表
CREATE TABLE HXH.gradecourse_Info
(
   grade VARCHAR2(10),
   course_NO NUMBER(8)
)
TABLESPACE "USER_DATA";创建学生成绩信息表
CREATE TABLE HXH.result_Info
(
   exam_NO VARCHAR2(10) NOT NULL,
   student_ID NUMBER(8) NOT NULL,
   student_Name VARCHAR2(10),
   class_NO NUMBER(8),
   course_Name VARCHAR2(10),
   result NUMBER(3,2),
   CONSTRAINT result_Info_PK PRIMARY KEY(exam_NO,student_ID)
)
TABLESPACE "USER_DATA";

解决方案 »

  1.   

    varchar2 是可以压缩的
    varchar  好象ORACLE 没有它吧!!NVARCHAR2 是可以压缩UNICODE字节记主要结帐
      

  2.   

    数据类型同Oracle比起来,Microsoft SQL Server在数据库类型的选择上更强大。在Oracle和SQL Server数据类型之间有很多可能的转换方式。我们建议你使用DTS向导来自动创建新的CREATE TABLE语句。需要的时候,你还可以修改它。Oracle Microsoft SQL   
    CHAR 推荐使用char。 char 类型的列比varchar列的访问速度要稍微快一点,因为char列使用一个固定的存储长度。 
    VARCHAR2 
    和 LONG varchar 或者 text. (如果在你的Oracle列中数据值的长度小于或等于8000 bytes ,使用varchar;否则,你必须使用text。)  
    RAW 和 
    LONG RAW varbinary 或者 image. (如果在你的Oracle列中数据值的长度小于或等于8000 bytes,使用varbinary;否则,你必须使用image。)  
    NUMBER 如果整数在1到255之间, 使用tinyint.
    如果整数在-32768到32767之间,使用smallint.
    如果整数在-2,147,483,648到2,147,483,647之间,使用int.
    如果你需要浮点型的数,使用numeric (精确且可以定标).
    注意: 不要使用float或者real, 因为可能会发生截断(Oracle NUMBER和 SQL Server numeric 不会截断).
    如果你不确定,使用numeric; 它同Oracle NUMBER数据类型非常相似。  
    DATE datetime.  
    ROWID 使用identity列类型  
    CURRVAL, NEXTVAL 使用identity列类型, 以及@@IDENTITY, IDENT_SEED(), 和IDENT_INCR() 函数。 
    SYSDATE GETDATE().  
    USER USER.