Q&A

  • Null값에 대해서 질문...?
초보자입니다.

테이블을 만들고 있는데.. 저희는 informix를 쓰고 있습니다.

그런데.. Null의 개념이 아직 확실하지 않아서요..

어떤때 널값을 쓰는건지.. 예를 들어 설명 좀 해주세요..



예를 들어 부서명, 사번, 이름, 분류번호.. 등등의 레코드가 있다고 하면



어떤때 널값을 쓰는 건지.. 이밖의 예를 들어 설명해 주셔도 괜찮습니다.



혹 시간이 나시면 .. 인덱스에 대한 개념도 좀 설명 좀 해주세요..

1  COMMENTS
  • Profile
    김영대 1999.10.05 21:09
    썬 wrote:

    > 초보자입니다.

    > 테이블을 만들고 있는데.. 저희는 informix를 쓰고 있습니다.

    > 그런데.. Null의 개념이 아직 확실하지 않아서요..

    > 어떤때 널값을 쓰는건지.. 예를 들어 설명 좀 해주세요..

    >

    > 예를 들어 부서명, 사번, 이름, 분류번호.. 등등의 레코드가 있다고 하면

    > 어떤때 널값을 쓰는 건지.. 이밖의 예를 들어 설명해 주셔도 괜찮습니다.

    > 혹 시간이 나시면 .. 인덱스에 대한 개념도 좀 설명 좀 해주세요..



    혹시 데이터 무결성 제한(Data Integrity Constraint)에 대해 들어보셨어요?

    NOT NULL 제한은 그중 일부입니다

    데이터 무결성 제한은 데이터베이스 테이블에 무효한(invalid)

    데이터 입력을 원천적으로 막는데 사용됩니다

    종류는 DB마다 좀 틀리겠지만 ORACLE의 경우는 다음과 같은 제한들이 있습니다

    null

    unique

    primary key

    referential

    check



    그중 NOT NULL 제한은 간략하게 다음과 같습니다

    일반적으로 한 테이블의 모든 열(필드)는 null 값을 허용합니다

    그래서 NOT NULL 무결성 제한을 설정함으로써 지정한 열이 반드시

    하나의 값을 갖도록 제한하는 것입니다

    자료를 입력하는 사람이 실수로 값을 입력할 수 있으므로...



    테이블을 만드는 문장에서 예로 들겠습니다

    CREATE TABLE emp (

    부서명 varchar2(30),

    사번 varchar2(5) constraint 사번제한 NOT NULL,

    이름 varchar2(10),

    분류번호 number(5));

    문법적으로 틀린부분이 있지만 위처럼 테이블을 생성하면

    "사번" 열(필드)는 반드시 INSERT,UPDATE 동작에서 어떤 값이 지정되야 합니다

    그리고 열(필드에) primary key 제한을 두면 not null과 unique 제한은

    묵시적으로 적용됩니다