본문 바로가기

DB18

SQLD 시험 1-4 : 데이터 모델과 성능 1. 성능 데이터 모델링 1) 정의: 데이터베이스 성능향상을 목적으로 분석이나 설계단계의 데이터 모델링를 할 때부터 성능과 관련된 사항이 반영될 수 있게 하는것 2) 고려사항: 정확한 정규화 수행 → 데이터베이스 용량 산정 → 트랜잭션의 유형 파악 → 반정규화 수행 → 이력 모델 조정, PK/FK 조정, 수퍼/서브타입 조정 → 성능관점에서 데이터 모델 검증 2. 정규화 1) 정의: 함수적 종속을 가지고 있는 일반 속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것 2) 함수적 종속성: 데이터들이 어떤 기준값에 의해 종속되는 현상(결정자 - 종속자) 3) 정규화와 성능: 정규화를 수행하면 데이터처리(DML) 성능 향상, 조회는 저하될 수도 있음 4) 정규화 종류 - 1차 정규화: 속성이 원자값을 가도.. 2023. 5. 16.
SQLD 시험 : 1-3 : 식별자 1. 식별자의 개념 - 여러 개의 속성 중에서 엔티티를 대표할 수 있는 속성 - 업무적으로 구분이 되는 정보(키는 테이블 접근을 위한 매개체로 물리 데이터 모델링 단계에서 사용) 2. 식별자의 특징 1) 주식별자 - 유일성: 주식별자에 의해 엔티티내에 모든 인스턴스들을 유일하게 구분함 - 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 - 불변성: 주식별자가 한 번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야 함 - 존재성: 반드시 데이터 값이 존재해야 함(Null 불가) 2) 대체식별자: 주식별자의 특징과 일치 3) 외부식별자: 참조무결성 제약 조건에 따른 특징을 가짐 3. 식별자 분류 - 대표성, 참조관계 연결 가능 여부: 주식별자 / 보조식별자 - 자가 .. 2023. 5. 11.
SQLD 시험 : 1-2 엔티티, 속성, 관계 1. 엔티티의 개념 - 변별 가능하고 저장할 수 있는 어떤 객체, 명사에 해당 - 업무에 필요한 정보, 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합, 속성을 가짐, 인스턴스의 집합 - 대부분 사각형으로 표현 2. 엔티티의 특징 - 해당 업무에 필요하고 관리하고자 하는 정보 - 유일한 식별자에 의해 식별 가능 - 영속적으로 존재하는 두 개 이상의 인스턴스의 집합 - 업무 프로세스에서 반드시 이용해야 함 - 반드시 속성을 가짐 - 다른 엔티티와 최소 한 개 이상의 관계를 가짐 3. 엔티티의 분류 1) 유무형에 따른 분류 - 유형 엔티티 : 실체가 존재, 안정적, 지속적으로 활용 - 개념 엔티티 : 물리적 형태 없음, 관리해야할 개념적 정보 - 사건 엔티티 : 업무를 수행하면서 발생함, 발생량이 많.. 2023. 5. 10.
SQLD 시험 : 1-1 데이터 모델링 1. 모델링의 특징 1) 추상화: 현실세계를 일정한 형식에 맞추어 표현 2) 단순화: 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있게 함 3) 명확화: 누구나 이해할 수 있게 애매모호함 제거, 정확하게 현상 기술 2. 모델링의 관점 : 데이터관점, 프로세스관점, 상관관점 3. 데이터 모델링 시 유의점 1) 중복(Duplication) : 중복된 데이터는 데이터베이스의 크기를 증가시키고 데이터의 일관성을 해칠 수 있음 2) 비유연성(Infexibility): 데이터 모델링이 너무 엄격하게 설계되어 있어서 새로운 데이터나 변경된 데이터를 추가하기 어려운 상태, 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 가능성 감소 가능 3) 비일관성(Inconsistency): 데이터의 일관성이 유지되지 .. 2023. 5. 9.
SQL : Oracle 테이블 제약 조건 조회 각 테이블 컬럼에 제약 조건을 조회하여 확인할 수 있는 SELECT 문 SELECT A.TABLE_NAME AS "테이블명" ,B.COLUMN_NAME AS "컬럼명" ,A.CONSTRAINT_NAME AS "제약조건명" FROM DBA_CONSTRAINTS A ,ALL_CONS_COLUMNS B WHERE A.CONSTRAINT_TYPE='P' AND A.OWNER = 'TIDS' -- DB명 --AND A.TABLE_NAME = '테이블명' -- 테이블명 AND A.OWNER = B.OWNER AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME; WHERE A.CONSTRAINT_TYPE='P' 이 부분에 원하는 제약조건을 넣어주면 된다. 2023. 4. 13.