목록전체 글 (65)
체다의 기록
DML 호스트 프로그램 속에 삽입되어 사용 -> 데이터 부속어 (Data Sub Language)라고도 함 Procedural DML (절차적 데이터 조작어) : 초급언어니까 다 알려줘야 함 사용자가 무슨 데이터 (what) 원하고 어떻게 (how) 접근해 처리할 것인지 명시해야 함 Nonprocedural DML (비절차적 데이터 조작어) : 고급언어니까 어떻게 하는지 알려줄 필요 x 사용자가 무슨 데이터 (what) 원하는지만 명세하고 어떻게 (how) 접근할 것인지는 x 사용자가 원하는 데이터만 선언하기 떄문에 선언적 언어 (declarative language)라고도 함 1. INSERT 테이블에 데이터를 입력하는 명령어 주의사항: 데이터가 문자형일 경우 ' ' (single quotation)으..
DDL 스키마, 도메인, 테이블, 뷰, 인덱스를 정의/변경/제거할 때 사용 auto commit이 되기 때문에 DDL이 수행되면 ROLLBACK해도 데이터 COMMIT이 된다. 1. CREATE 테이블을 생성하기 위한 명령어 CREATE TABLE 테이블명( 컬럼명1 데이터 타입 (DEFAULT/NULL 여부), 컬럼명2 데이터 타입 (DEFAULT/NULL 여부), ... ); 테이블 생성 시 반드시 지켜야 할 규칙 테이블명은 고유해야 한다 한 테이블 내에서 칼럼명은 고유해야 한다 칼럼명 뒤에 데이터 유형과 데이터 크기가 명시되어야 한다 칼럼에 대한 정의는 괄호() 안에 기술한다 각 컬럼들은 콤마(,)로 구분된다 테이블명과 컬럼명은 숫자로 시작될 수 없다 마지막은 세미콜론(;)으로 끝난다 에러를 발생시..
1. 관계형 데이터베이스 개요 데이터베이스 정의 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 지정해 놓은 것 따라서 일반적으로 용도와 목적에 맞는 데이터들끼리 모아서 저장한다 DBMS: 데이터베이스 관리 소프트웨어 데이터베이스 발전 플로우 차트 -> 계층형/망형 -> 관계형 -> 객체관계형 관계형 데이터베이스 (RDB, Relational Datebase) 관계형 데이터 모델에 기초를 둔 데이터베이스 관계형 데이터베이스 설계: 모든 데이터를 2차원 테이블 형태로 표현한 뒤 각 테이블 간의 관계를 정의하는 것으로 시작됨 파일 시스템 vs. RDB 시스템 단점 장점 파일 시스템 - 동시에 삽입/수정/삭제가 불가능하여 데이터 관리가 어렵다 - 복사본 파일을 만들어서 사용할 경우 데이터의..
분산 데이터베이스 적용 기법 종류 테이블 위치 분산 테이블 분할 분산 (수평 분할) 테이블 분할 분산 (수직 분할) 테이블 복제 분산 (부분 복제) 테이블 복제 분산 (광역 복제) 테이블 요약 분산 (분석 요약) 테이블 요약 분산 (통합 요약) 1. 테이블 위치 분산 (물리적 분산) 테이블 구조는 변경 X 테이블이 다른 DB에 중복으로 생성되지도 X 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우에만 사용 (이때 위치 = 서버 컴퓨터) 테이블 위치를 파악할 수 있는 도식화된 위치별 DB 필요 2. 테이블 분할 분산 - 수평 분할 특정 컬럼 값 기준으로 "행"단위로 분리 (열, 컬럼은 분리X) Primary Key에 의해 중복 발생 X 데이터 수정: 타 지사에 있는 데이터를 수정X, 자사의 데이터만 ..
분산 데이터베이스란? 빠른 네트워크 환경을 이용해 DB를 여러 지역, 여러 노드로 위치시켜 사용성, 성능을 극대화시킨 DB 분산된 DB를 하나의 가상 시스템으로 사용할 수 있도록 한 DB "논리적"으로 동일한 하나의 시스템이며, 네트워크를 통해 "물리적"으로 분산된 데이터들의 모임 논리적으로 사용자 통합 및 공유 물리적 Site 분산 분산 DB의 투명성 6가지 분할 투명성 (단편화): 하나의 논리적 릴레이션을 여러 단편으로 분할, 그 사본을 여러 Site에 저장 위치 투명성: 사용할 데이터의 저장 장소를 알 필요가 없다. (위치 정보 시스템 카탈로그에 유지) 중복 투명성: DB 객체가 여러 Site에 중복 저장되었는지 알 필요가 없다. 장애 투명성: 구성 요소의 장애에 무관하게 트랜잭션 원자성 유지 병행..
슈퍼/서브타입 데이터 모델 논리적 데이터 모델에서 주로 이용 (= 분석 단계에서 많이 쓰임) 물리적 데이터 모델로 설계 시 문제 발생 슈퍼타입: 공통 부분을 슈퍼타입으로 모델링 서브타입: 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성만 모델링 데이터베이스 성능 저하 원인 3가지 트랜잭션 테이블 결과 전체 일괄 처리 개별로 유지 Union 연산에 의해 성능 저하 슈퍼+서브타입 공통 처리 개별로 유지 JOIN에 의해 성능 저하 서브타입만 개별로 처리 하나로 통합 불필요하게 많은 데이터 집적 슈퍼/서브 타입의 변환 기준 데이터가 소량일 경우: 데이터 처리 유연성 고려해 1:1 관계를 유지 데이터가 대량일 경우: 3가지 방법 전부 개별 테이블로 구성 슈퍼+서브타입 테이블로 구성 하나의 테이블로 구성 슈퍼..
성능 저하 원인 원인 현상 결과 A 한 테이블에 데이터 대량 집중 테이블이 너무 커진다 - 효율성 ↓ - 디스크 I/O ↑ A 한 테이블에 여러 컬럼 존재 데스크 점유량이 높아진다 - 디스크 읽기 I/O ↑ B 대량 데이터 처리되는 테이블 - - SQL문에서 데이터 처리를 위한 I/O ↑ - 인덱스 구성 B 대량 데이터가 한 테이블에 존재 - - 인덱스 크기 증가로 인한 성능 저하 컬럼이 많아질 경우 - - 로우체이닝, 로우마이그레이션 발생 해결 방안 현상 해결 방안 A 한 테이블에 많은 컬럼 수직 분할 (컬럼 단위로 분할하여 I/O를 줄임) B 대량 데이터 저장 문제 파티셔닝 (수평 분할) or PK에 의한 테이블을 분할 (파티셔닝: 로우 단위로 분할하여 I/O를 줄임) 로우 체이닝과 로우 마이그레이션..

반정규화 => 중복, 통합, 분해 등을 수행 일부 여러 개의 JOIN이 필요할 때 조회에 대한 처리 성능이 확실히 중요하다고 판단되면 부분적으로 반정규화 정규화의 종속관계는 위반하지 않으면서 데이터의 중복성 증가 -> 조회 성능 향상 Disk I/O를 감소시키고 긴 조인 쿼리문으로 인한 성능저하 해결 중복성의 원리를 활용해 데이터 조회 시 성능향상 반정규화 적용 방법 반정규화 대상 조사: 범위 처리 빈도수, 대량 범위 처리, 통계성 프로세스, 테이블 조인 수 다른 방법 유도할 수 있는지 검토: View 테이블, Clustering, Index 조정, 응용애플리케이션 반정규화 적용: 테이블, 애트리뷰트, 관계를 반정규화 1. 테이블 반정규화 테이블 병합 1:1 관계 테이블 병합 1:M 관계 테이블 병합 슈..