在设计数据库时,一般的像员工编号,部门编号,职位编号,是否需要,如果需要是怎么产生的,他们的类型是数字还是字符?如果是数字是利用数据库的Sequence产生还是自己定义产生?就是说是否让用户知道这个编号的存在还是让编号隐藏?

解决方案 »

  1.   

    通常需要编号,利用数据库的Sequence即可。
    但你要注意数据的完整性、一致性。
      

  2.   

    一,先创建充列
    USERID  用户序列号
    --
    CREATE SEQUENCE USERID INCREMENT BY 1 START WITH 1 
        MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE 
        NOCACHE NOORDER二再创建触发器
    CREATE OR REPLACE TRIGGER USERADD
    BEFORE INSERT ON MEMBERRG
    FOR EACH ROW
    BEGIN
        SELECT LPAD(USERID.NEXTVAL,4,'0') INTO :NEW.NUM FROM DUAL;
    END;
      

  3.   

    实际中好多都不使用序列,而是在程序中生成一定规则的id,比如机构编号+流水号,时间+流水号,等等。这个需要写函数,在应用层把id号生成出来。