잊지 않겠습니다.

필드 정밀 조정
  1. 이름이 설명적이고, 전체 조직에서 의미가 있는가?
  2. 필드 이름이 명확하고 명료한가?
  3.  필드이름으로 두문자어 또는 약어를 사용하고 있는가? 
    1. 수정해야지 된다. 필드 이름이 후ㅞ손된 상태이다.
  4.  한가지 특성이상의 특성을 가지고 있는가? 
    1. 수정 사항이다. 두개 이상의 필드로 나누는 것을 고려해본다.
필드의 구조 조정
  1. 필드가 테이블 조제의 특별한 특성을 나타내는지 확인한다. 
    1. 테이블과 밀접한 관계가 없는 경우 제거한다.
  2. 필드가 단일 값을 가지고 있는지 확인한다.
  3. 필드가 계산이나 연결 결과를 저장하지 않는지 확인한다. 
    1. 계산된 필드는 잘 설계된 데이터베이스에서 허용되지 않는다.
    2. 계산을 하는 경우에는 이를 SELECT 문에 넣는 것을 권장한다.
  4. 필드가 전체 데이터베이스에서 단 한번만 나타나도록 한다.  
    1. 이 규칙의 예외는 외래키로서 이용되는 단 두번의 표현 뿐이다.
  • 다중 부분 필드 해결하기
    • 데이터 무결성을 파괴하기 때문에 문제 발생을 피하기 위해서 해결해야지 된다.
    • "이 필드의 값을 뽑아서 더 작고 확실한 부분으로 분할 할 수 있을까?" 라는 질문에 답으로서 필드를 설계해야지 된다.
  • 다중값 필드 해결하기 
    • 다중 값의 경우, 예외 없이 여러개의 쉼표를 통해서 여러개의 값으로서 사용된다.
    • 데이터베이스에서 다른 다대다 관계와 같이 다대다 관계의 연결 테이블로 해결 할 수 있다.
    • 주 필드의 복사본을 새 테이블을 위한 기초로 사용한다.[외래키로 사용한다.]
테이블 정밀 조정
  • 테이블은 단일 주제를 나타내야지 된다. 
    • 이름이 고유하고, 전체 조직에서 의미가 있을 만큼 충분히 설명적인가?
    • 이름이 정확하고 모호하지 않게 테이블의 주제를 식별하는가?
    • 이름이 물리적인 특성을 나타내는 단어를 포함하는가?
    • 테이블의 이름이 두문자어나 약어를 사용했는가?
    • 암시적 또는 명시적으로 하나 이상의 주제를 식별하는 이름을 사용했는가?
  1. 테이블이 단일 주제를 나타내는지 확인한다.
  2. 각 테이블이 주 키를 가지고 있는지를 확인한다.
  3. 테이블이 다중 부분 또는 다중 값 필드를 포함하지 않는지 확인한다.
  4. 테이블에 계산된 필드가 없는지 확인한다.
  5. 테이블에 불필요한 이중 필드가 없는지 확인한다. 
    1. 다른 테이블로서 이중 필드를 포함시키는 경우에는 설계가 잘못된 것이다.
    2. 이중 필드의 제거는 다른 Table을 key로 연결하는 방법으로 해결을 한다.
키값의 이용
  • Primary Key는 각 레코드를 유일하게 식별하는 하나의 필드 또는 필드 그룹
    • Simple Primary Key : 하나의 필드로 구성된 주 Key
    • Composite Primary Key : 하나 이상의 필드로 구성된 주 Key
  1. 필드가 테이블 내의 각 레코드를 유일하게 식별 가능한가?
  2. 필드가 고유값을 가지게 되는가?
  3. 필드가 미지의 값을 포함할 수 있는가?
    1. 미지의 값을 사용하게 될 경우에는 Primary Key로서 사용이 불가능하다.
  4. 필드의 값이 선택적일 수가 있는가?
    1. 만약에 선택적인 값이 들어갈 수 있다면 Primary Key로서 사용이 불가능하다.
  5. 부분 다중 필드가 아니여야 된다.
  6. 필드값은 언제나 고정되어야지 된다. 임의로 바뀔 여지가 없는 값이여야지 된다.

견실한 관계의 설정
  • 일대일 관계 설정
    • 외래키가 종속테이블의 Primary Key가 된다.
    • Primay 테이블의 Primary key를 종속 테이블에 넣음으로서 설정한다.
  • 일대다관계 설정
    • 일(one)측 테이블의 Primary Key를 다(many)측 테이블에 삽입함으로서 일대다 관계를 설정
    • 종속 테이블에서는 Primary Key가 따로 존재하고, foregien Key로서 Primary 테이블의 key가 사용된다.
    • 다대다관계 설정
      • 관계가 맺어진 각테이블의 Primary키들을 새 테이블의 구조를 만들기 위해 사용한다.
      • 외래키와 주키로서 이어지는 연결 테이블을 구성한다.
    Posted by Y2K
    ,