ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • T-SQL 에서 테이블 생성
    Database/MS-SQL 2008. 10. 7. 10:55
    반응형
    테이블 생성 구문

    테이블 생성 구문 형식

    CREATE TABLE

        [ database_name . [ schema_name ] . | schema_name . ] table_name

            ( { <column_definition> | <computed_column_definition> }

            [ <table_constraint> ] [ ,...n ] )

        [ ON { partition_scheme_name ( partition_column_name ) | filegroup

            | "default" } ]

        [ { TEXTIMAGE_ON { filegroup | "default" } ]

    [ ; ]


    제약 조건 (기본키제약조건)

    데이터의 무결성을 지키기 위한 제한된 조건
    즉 특정데이터를 입력할 때 무조건 입력되는것이 아니라 어떠한 조건을 만
    쪽했을때에만 입력되도록 제한하는것

    * 기본키 제약 조건
    테이블의 각 행들을 구분할 수있는 식별자
    중복될 수 없고 NULL 값이 입력될 수 없다
    기본키로 설정하면 자동으로 클러스터형 인덱스가 생성됨
    기본키는 하나의 열 또는 열개의 열을 합쳐서 설정할 수는 있으나 한개만 설정할 수있다

    기본키 1개이상 잢을수있다 ㅋㅋ 관련 그림


    기본키 설정 예

    –CREATE TABLE userTbl

      ( userID  nchar(8) NOT NULL PRIMARY KEY,

        name    nvarchar(10) NOT NULL,

    –CREATE TABLE userTbl

      ( userID  nchar(8) NOT NULL

      CONSTRAINT PK_userID PRIMARY KEY ,

        name    nvarchar(10) NOT NULL,






    코딩하는거 실무에서 많이 쓴단다 알아놓으면 좋아~! 위에 그럼~!!



    제약조건 외래 키(Foreign Key)

    외래 키(Foreign Key) 제약 조건

    두테이블간의 관계를 선언함으로써 데이터의 무결성을 보장해줌
    하나의 테이블이 다른테이블을 의존하게 된다
    외래키 테이블에 데이터를 입력할 때는 꼭 기준 테이블을 참조해서 입력해야하므로
    기준 테이블에 이미 데이터가 존재해야만 한다~!!


    위의 그림을 보면 구문 분석이라는 아이콘이있다 이 아이콘은 쿼리 실행하기전에
    체크하는것이다 유용할것이다~!!


    제약 조건 3 Unique

    Unique 제약 조건 (유니크 제약조건) // 디아블로 유니크 아이템 생각해
    중복되지 않는 유일한 값을 입력해야 함
    Primary Key 제약 조건과 거의 비슷하며 차이점은 NULL 값을 허용(단 1개만)

    유니크설정은 매우 간단하다
    –CREATE TABLE userTbl
    (
    userID  nchar(8) NOT NULL PRIMARY KEY,
    ......
      email  
    nchar(30) NULL  UNIQUE
    )
    –CREATE TABLE userTbl
    (
    userID  nchar(8) NOT NULL PRIMARY KEY,
      ......
      email  
    nchar(30) NULL 
      CONSTRAINT
    AK_email  UNIQUE
    )

    제약 조건 4 Check 제약 조건

    Check 제약 조건 
    입력되는 데이터를 점검하는 기능
    check 제약조건이 설정되면 제약조건에 위배되는 데이터는 입력 안됨
    예로 출생년도가 1900년 이후이고 현재시간이전이어야하는 조건을 지정

    ex) 대학교 학년 1학년에서 4학년까지만 제한 5가 포함된 그쪽 줄은 데이터를 넣을수없다
    Check 설정 예

    ALTER TABLE userTbl

      ADD CONSTRAINT CK_birthYear

      CHECK 

              (birthYear >= 1900 AND birthYear <= YEAR(GETDATE()))

    NULL 값 허용
    기본 개념
    –NULL값을 허용하려면 ‘NULL’ 을 허용하지 않으려면 ‘NOT NULL’을 사용.
    –Primary Key의 경우 생략하면 자동으로 ‘NOT NULL’이 된다.









    .




    NULL 과 빈칸은 구분한다



    제약조건 5 Default

    기본개념  데이터를 입력하지 않았을때 자동으로 입력되는 값을 정의하는 방법
    단 값이 직접 명기되면 DEFAULT로 설정된 값은 무시된다
    예로 출생년도를 입력하지 않으면 그냥 현재의 연도를 입력하고 
    주소를 특별히 입력하지 않았아면 서울이 입력되도록하는것








    반응형

    댓글

Designed by Tistory.