본문 바로가기

자격증/sqld

(10)
SQLD 독학 : DDL 1. CREATE TABLE 구문형식 CREATE TABLE 테이블명 ( 칼럼명 데이터타입 [DAFAULT] [NOT NULL] CONSTRAINT 제약조건명 제약조건 ); 제약조건 1) Primary Key, Unique Key → CONSTRAINT 제약조건명 PRIMARY KEY or UNIQUE KEY (칼럼명) 2) Foreign Key → CONSTRAINT 제약조건명 FOREIGN KEY (외래키) REFERENCES 참조 테이블 (참조키) 3) CASCATE : 참조 관계가 있을 경우 참조 되는 데이터도 자동 삭제되도록 → ON DELETE CASCADE 2. ALTER TABLE 테이블명 변경 ALTER TABLE 테이블명 RENAME TO 새로운 테이블명; 칼럼 추가 ALTER TABL..
SQLD 독학 : 분산 데이터베이스와 성능 분산 데이터베이스? 물리적으로 나눠져 있는 데이터베이스를 하나의 가상 시스템으로 사용할수있는 데이터베이스 ​ 분산 데이터베이스의 투명성 1) 분할 투명성(단편화) : 물리적으로 분리되어있지만 의식할 필요 없음 2) 위치, 지역사상 투명성 : 데이터 저장 장소 명시 필요 없음 3) 중복 투명성 : DB 객체가 중복되어도 일관성 유지 4) 장애 투명성 : 장애가 발생해도 무결성 보장 5) 병행 투명성 : 다수 트랜잭션 동시 수행 가능 ​ 설계 방식 1) 상향식 : 지역 스키마 → 전역 스키마 2) 하향식 : 전역 스키마 → 지역 스키마 분산 데이터베이스의 단점 1) 관리, 통제의 어려움 2) 소프트웨어 개발 비용 , 처리 비용 3) 보안 관리 4) 설계 복잡 5) 데이터 무결성에 대한 위험 ​ 분산 데이터베..
SQLD 독학 : 대량 데이터에 따른 성능 대량 데이터 발생에 따른 테이블 분할 개요 1) 로우 체이닝 : 로우 길이가 길어서 두 개 이상의 블록에 걸쳐 하나의 로우가 저장 되어있는 상태 2) 로우마이그레이션 : 데이터 블록 수정 시 해당 데이터 블록에서 저장을 하지 못하고 다른 블록의 빈공간에 저장 ​ 대량 데이터 저장 및 처리 1) RANGE PARTITION : 각 영역별로 트랜잭션 분리 ( ex) 날짜, 숫자 ) 2) LIST PARRTITION : 핵심적인 코드 값 ( ex) 지점, 사업장 ) 으로 PK가 구성되어 있을때 각각의 값에 의해 분리 3) HASH PARTITION : 지정된 HASH 조건에 따라 분리 ​ 테이블에 대한 수평분할 / 수직분할의 절차 1) 데이터 모델링 완성 2) 데이터베이서 용량 산정 3) 테이블 트랜잭션 처리..
SQLD 독학 : 반정규화와 성능 반정규화의 정의 성능향상과 운영 단순화를 위해 중복을 허용하고 Join을 줄이는 기법 ​ 반정규화를 수행하는 경우 1) 자주 처리 되는 경우 2) 요약/집계 정보가 자주 요구되는 경우 ​ 반정규화 절차 1) 반정규화 대상 조사 2) 다른 방법 유도 검토 ( ex) 클러스터링, 뷰, 인덱스 튜닝, 응용 프로그램, 파티션 등 ) 3) 반정규화 적용 ​ 반정규화 기법 1) 테이블 수평 분할 : 테이블 값을 기준으로 테이블 분할 2) 테이블 수직 분할 : 하나의 테이블을 두 개 이상의 테이블로 분할 (칼럼 분할) 3) 테이블 병합 : 슈퍼 타입과 서브 타입 관계가 발생 될 경우 4) 계산된 칼럼 추가 ​
SQLD 독학 : 정규화와 성능 정규화를 통상 성능 향상 데이터의 중복 속성을 제거하고 결정자에 의해 동일한 의미의 일반 속성이 하나의 테이블로 집약되므로 한 테이블의 데이터 용량이 최소화 되는 효과가 있다. 따라서 정규화 된 테이블은 데이터를 처리할 때 속도가 빨라질 수도있고 느려질 수도 있는 특성이 있다. ​ 함수적 종속성에 근거한 정규화 수행 필요 함수의 중속성은 데이터들이 어떤 기준값에 의해 종속되는지를 지칭하는 것 ( ex) 주민등록번호 → 이름,출생지,호주 ) ​ 정규화 과정 1) 제 1정규화 : 기본키 설정. 속성의 원자성 확보 2) 제 2정규화 : 부분 함수 종속성 분해 ( 기본키가 2개 이상 속성이 있는 경우) 3) 제 3정규화 : 이행 함수 종속성 제거 → 기본키를 제외한 컬럼간의 종속성 4) BCNF : 후보키가 기..
SQLD 독학 : 식별자 식별자 특징 1) 유일성 : 주식벽자에 의해 엔터티 내에 모든 인스턴스들이 유일하게 구분 되어야 함 2) 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수 3) 불변성 : 지정된 주식별자의 값은 자주 변하지 않는 것이어야 함 4) 존재성 : 주식별자가 지정되면 반드시 값이 들어와야 함 (NOT NULL) ​ 식별자 분류 1) 대표성 여부 ① 주식별자 : 타 엔터티와 참조관계를 연결할수있는 식별자 ② 보조 식별자 : 대표성을 가지지 못해 참조 관계 연결 X 2) 대체 여부 ① 본질 식별자 : 업무로 부터 만들어지는 식별자 ② 인조 식별자 : 인위적으로 만들어짐 3) 스스로 생성 여부 ① 내부 식별자 : 엔터티 내에서 스스로 생성 ② 외부 식별자 : 타 엔터티로 부터 받아오는 식별자 4..
SQLD 독학 : 관계(Relationship) 관계의 표기법 1) 관계명 : 관계의 이름 2) 관계차수 : 1:1, 1:M, M:N 3) 관계 선택 사양 : 필수관계, 선택 관계 ​ 관계 체크사항 1) 두 개의 엔터티 사이에 관심있는 연관 규칙이 존재하는가? 2) 두 개의 엔터티 사이에 정보의 조합이 발생하는가? 3) 업무 기술서, 장표에 관계연결에 대한 규칙이 서술되어있는가? 4) 업무 기술서, 장표에 관계 연결을 가능하게 하는 동사가 있는가? ​ 관계 읽기 각 / 하나의 기준 엔터티 관계 차수 타켓 엔터티 선택 사양 관계명 각 사원은 한 부서에 항상 속한다
SQLD 독학 : 속성(Attribute) ​ 속성의 개념 1) 업무에서 필요 2) 의미상 더 이상 분리되지 않는다. 3) 엔터티를 설명하고 인스턴스의 구성요소가 된다. ​ 속성의 분류 1) 특성에 따른 분류 ① 기본 속성 : 업무로부터 추출한 모든 속성 ② 설계 속성 : 기본 속성을 제외한 데이터 모델링을 위해 속성을 만들거나 변형한 속성 (코드성 속성, 일별 번호) ③ 파생 속성 : 다른 속성에 영향받아 발생한 속성 2) 구성 방식에 따른 분류 ① 복합 속성 : 여러 세부 속성들로 구성된 속성 ( ex) 주소 = 시+구+동+번지 ) ② 단순 속성 ( ex) 나이, 성별 ) ​ 엔터티, 인스턴스, 속성, 속성값의 관계 1) 한 개의 엔터티는 두 개 이상의 인스턴스 집합 2) 한 개의 엔터티는 두 개 이상의 속성 3) 한 개의 속성은 한 개의 속..