刚学ORACLE,对与建表有几个疑问,望高手帮我解答下
首先我建个表
create table students (
             student_id number(5)
             constraint student_pk primary key,
             student_name varchar2(20),
             student_age number(3)
             constraint check_age check(age between 15 and 50)
             department_id number(5)
             constraint student_fk_department
             references departments(department_id));
这个我从书上抄的一个表
问题1,第一个主健的constraint student_pk primary key,当中的student_pk 是不是任意取的一个名字,还是必须是表名加个-PK?
问题2,外健的问题也是同上,是不是那个student_fk_department是任意取的还是必须把两个表名中间加个_fk_.
问题3,student_age number(3)
             constraint check_age check(age between 15 and 50)  这个与句中的check 是不是oracle中的保留字,如果是的话,具体怎么使用
问题4,最后想问下constraint student_fk_department
             references departments(department_id));        和语句department_id number(5) 
             constraint fk_student foreign key(department) references departments(department_id)); 
是不是一样效果,都是设置外健?
请高手回答,我问的有点乱,在线等答案,

解决方案 »

  1.   

    问题1:主键名字可以随意取,不过习惯都带个PK
    问题2:同上;
    问题3:CHECK是约束条件,保证 student_age 字段中的值在15到50之间,如果有兴趣详细了解请GOOGLE;
    问题4:
      

  2.   


    关于第四题我重新问下
                  department_id number(5) 
                  constraint student_fk_department 
                references departmets(department_id));         和语句department_id number(5) 
                constraint fk_student foreign key(department) 
                references departments(department_id)); 
    是不是一样效果,都是设置外健?