[데이터베이스 구축] 모델링 변환 및 DB 보안

이도연·2024년 6월 13일

정보처리기사

목록 보기
19/21

데이터 모델 변환

논리적으로 설계한 데이터모델을 실제 사용하는 테이블, 인덱스를 설계하는 과정으로 변환

논리 데이터 모델링---->물리 데이터 모델링
Entitytable
attributecolumn
primary identifierprimary key
foreign identifierforeign key
relationshiprelationship





Entity 를 table 로 변환

  • 변환 시 테이블과 엔티티 명칭은 가급적 동일하게
  • 엔티티는 주로 한글명을 사용하지만, 테이블은 영문명 사용 (소스코드 가독성)



서브 타입 변환

슈퍼타입 기준 테이블 변환

  • 서브타입을 슈퍼타입에 통합하여 하나의 테이블로 만듦.
  • 이 통합된 테이블에는, 모든 서브타입의 데이터를 포함
  • 주로 서브타입에 적은 양의 속성이나 관계를 가진 경우에 적용

장점

데이터 엑세스 빠름
뷰 이용하여 각각 서브타입만을 엑세스하거나 수정 가능
여러 테이블을 JOIN 하지 않아도 되므로 수행속도 빠름
SQL 문장 구성 단순

단점

테이블의 컬럼이 증가하므로 디스크 저장공간 증가
처리마다 서브타입에 대한 구분이 필요한 경우가 많이 발생
인덱스 크기 증가로 인한 인덱스 효율 저하



서브타입 기준 테이블 변환

  • 슈퍼 타입 속성들을 서브타입에 추가하여 각각의 서브타입마다 1 테이블로 생성
  • 분할된 테이블에는 해당 서브타입의 데이터만 포함
  • 주로 서브타입에, 많은 양의 속성이나 관계를 가진 경우 적용
  • 각 서브타입 속성들의 선택 사양이 명확할 경우 유리

장점

처리할 때 마다 서브타입 유형을 구분할 필요 x
여러 개의 테이블로 통합하므로 테이블 당 크기가 감소 (전체 테이블 스캔 유리)

단점

복잡한 처리를 하는 SQL 의 통합 어려움
부분범위에 대한 처리 힘듦
여러 테이블을 통합하는 뷰는 조회만 가능
식별자의 유지관리 어려움



개별타입 기준 테이블 변환

  • 슈퍼 타입, 서브 타입들을 각각의 개별적인 테이블로 변환
  • 슈퍼 타입과 서브 타입 테이블 간 관계를 1:1 로 형성
  • 개별 타입 기준 테이블 변환을 사용하는 경우
    • 전체 데이터에 대한 처리가 자주 발생하는 경우
    • 서브 타입 처리가 대부분 독립적으로 발생하는 경우
    • 통합하는 테이블의 칼럼 수가 지나치게 많은 경우
    • 서브 타입 칼럼 수가 다수인 경우
    • 트랜잭션이 주로 슈퍼 타입에서 발생하는 경우
    • 슈퍼 타입에서 범위가 넓은 처리가 빈번하게 발생하여 단일 테이블 클러스터링이 필요한 경우



속성을 Column 으로 변환

칼럼의 명칭은 속성의 명칭과 반드시 일치할 필요는 없으나, 개발자와 사용자간 의사소통을 위해 가능한 표준화된 약어를 사용
SQL 예약어 사용은 피해야 함
SQL 문장의 가독성을 위해 칼럼 명칭은 가능한 짧게
칼럼명에 복합 단어 사용할 경우 미리 정의된 표준에 의해 명명





DB 보안 - 접근통제(접근제어)기술

데이터에 대해 직접적으로 접근하려는 사용자를 통제

자율적 접근 통제(Discretionary Access Control)

  • 사용자 또는 그룹이 시스템의 인증결과로 어어진 식별(identifier) 에 근거하여, 객테에 대한 접근 제한
  • 통제권한이 이용자에게 있어, 이용자가 접근통제권한을 지정하고 제어

특정 객체에 대한 조작 권한은 DBMS 로부터 부여받는다.
하지만 임의 접근통제에서는 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고 부여된 권한을 다른 사용자에게 허가할 수 있다.

강제 접근 통제(Mandatory Access Control)

  • 제 3자가 접근통제 권한을 지정
  • DB 객체별로 보안 등급을 부여할 수 있고, 사용자별로 인가등급 부여
  • 이용자는 자신보다 보안 등급이 높은 객체에 대해 읽기, 수정, 등록 모두 불가능
  • 보안 등급이 같은 객체에 대해서는 읽기, 수정, 등록이 가능
  • 낮은 객체는 읽기가 가능

객체에 포함된 정보의 비밀성 또는 보안등급과, 이러한 비밀데이터의 접근 정보에 사용자가 갖는 권한 또는 인가등급에 기초하여 정의된 조건이 만족하는 경우에만 객체에 대한 접근 허용


통제 요소

접근 통제 정책

  • 사용자가 언제, 어디서, 어떤 객체에게 어떤 행위를 하는가에 대한 허용여부 정의
  • 신분기반정책, 규칙기반정책, 역할기반정책

접근통제 매커니즘

  • 정의된 접근통제 정책을 구현하는 기술적인 방법
  • 접근통제목록, 능력 리스트, 보안등급, 패스워드, 암호화

접근통제 보안모델

  • 보안 정책을 구현하기 위한 정형화된 모델
  • 기밀성 모델, 무결성 모델, 접근통제 모델

0개의 댓글