Computer Science/데이터베이스

이 글은 오라클 기준으로 작성되었다. TCL 트랜잭션의 특성 트랜잭션은 데이터베이스의 논리적 연산단위이다. 하나의 트랜잭션에는 하나 이상의 SQL문장이 포함된다. 트랜잭션은 분할할 수 없는 최소의 단위이다. 그렇기 때문에 전부 전용하거나 전부 취소한다. 즉, 트랜잭션은 ALL or NOTHING의 개념 COMMIT 입력한 자료나 수정한 자료에 대해서 또는 삭제한 자료에 대해서 전혀 문제가 없다고 판단되었을 경우 COMMIT 명령어를 통해서 트랜잭션을 완료할 수 있다. DDL (CREATE, ALTER, DROP, RENAME, TRUNCATE TABLE) 는 자동 커밋된다. 데이터 베이스 설정에 따라 자동 커밋이 될 수도있다. 이 때는 설정을 바꾸어 주거나 sql문 앞에 begin tran명령어를 붙여 ..
이 글은 오라클 기준으로 작성되었다. DML 테이블 별칭 -> FROM SQLD.TB_CERTI A 처럼 테이블 명 뒤에 별칭을 붙여주면 된다.(테이블별칭에는 AS 사용안됨) 컬럼 별칭 -> AS를 이용하여 별칭을 지정해준다. (AS를 생략하여도 된다.) DUAL 테이블은 SYS가 가지고 있는 테이블이다. (SYS.DUAL, 오라클에선 SYS생략하고 사용가능) (DUAL 테이블은 DUMMY컬럼을 가지고 있다.) 우리는 이 테이블을 사용해서 연산을 할 수 있다.
이 글은 오라클 기준으로 작성되었다. DDL이란? 주요 데이터 유형 CHAR(L): 고정 길이 문자열, 고정 길이를 가지고 있으므로 할당된 변수의 값이 L값보다 작을 경우 그 차이만큼 공백으로 채워짐 VARCHAR2(L): 가변길이 문자열, L만큼의 최대 길이를 가짐, L값보다 작을 경우 해당 값만큼만 공간을 차지한다. NUMBER(L,D): 정수와 실수를 저장함, L값은 전체 자리수, D값은 소수점 자리수 DATE: 날짜와 시작 정보 "년월일시분초"를 표현함 - 데이터 유형은 데이터베이스의 테이블에 특정자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준 - 선언한 유형이 아닌 다른 종류의 데이터가 들어오려고 하면 데이터베이스는 에러를 발생시킴 제약조건(CONSTRAINT) 사용자..
데이터 베이스 넓은 의미: 일상정인 정보들을 모아 놓은 것 자체를 의미한다. 일반적 의미: 특정 기업이나 조직 또는 개인이 필요에 의해(ex.부가가치가 발생하는) 데이터를 일정한 형태로 저장해 놓은 것을 의미한다. 사용자들은 보다 효율적인 데이터의 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되었고 이러한 기본적인 요구사항을 만족시켜주는 시스템을 DBMS(Database Management System)라고 한다. 관계형 데이터베이스(Relational Database) 관계형 데이터베이스는 정규화를 통한 합리적인 테이블 모델링을 통해 이상(Anomaly) 현상을 제거하고 데이터 중복을 피할 수 있으며,..
분산 데이터베이스 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임, 물리적 Site 분산, 논리적으로 사용자 통합 공유 분산데이터베이스의 투명성(Transparency) 분할 투명성(단편화): 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장(ex.고객의 정보가 여러 site에 나눠 저장되어 있지만 하나처럼 느껴짐) 위치 투명성: 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함 지역 사상 투명성: 지역 DBMS와 물리적 DB사이의 Mapping 보장. 각 지역 ..
슈퍼타입 / 서브타입 모델 업무를 구성하는 데이터의 특징을 분석하여 공통점/ 차이점을 고려하여 효과적으로 표현할 수 있음 공통의 부분을 슈퍼타입 엔티티로 모델링하고 공통으로부터 상속받아 다른 엔티티와 차이가 있는 속성에 대해서는 별도의 서브타입 엔티티로 구분 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점이 있음 예시: 고객(슈퍼), 개인고객(서브), 법인고객(서브) 슈퍼/서브 타입 모델의 물리 데이터 모델변환 유형 3가지 슈퍼타입 서브타입 개별타입 슈퍼/서브타입 모델 변환 방법 슈퍼/서브타입 데이터 모델의 변환의 중요성 트랜잭션은 항상 슈퍼타입 기준으로 처리하는데 테이블은 개별타입으로 유지되어 UNION 연산에 의해 성능이 저하될 수 있다. (슈퍼..
대량 데이터발생에 따른 테이블 분할 대량의 데이터가 존재하는 테이블에 많은 트랜잭션이 발생하여 성능이 저하되는 테이블 구조에 대해 수평/수직 분할 설계를 통해 성능 저하를 예방할 수 있음 테이블의 데이터는 Block단위로 디스크에 저장된다. 컬림이 많아지게 되면 하나의 로우를 저장 시 물리적인 디스크에 여러 블록에 데이터가 저장될 가능성이 높아짐 즉 하나의 행을 읽더라도 여러 개의 블록을 읽어야 함 자연스레 해당 SQL문의 Block I/O가 많아짐 오라클의 경우 한개의 블록은 8192byte(8k) 대용량 테이블에서 발생할 수 있는 현상 로우 체이닝(Row Chaining): 로우 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 ..
반정규화란? 정규화된 엔티티, 속성, 관계에 대해 시스템의 성능향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 의미 협의의 반정규화는 데이터를 중복하여 성능을 향상시키기 위한 기법이라고 정의할 수 있고 좀 더 넓은 의미의 반정규화는 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정을 의미 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 이유는 데이터를 조회할 때 디스크 I/O량이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능저하가 예상되거나 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우 반정규화를 수행하게 된다. 반정규화 절차 반정규화도 하나의 난이도 높..
윤재에요
'Computer Science/데이터베이스' 카테고리의 글 목록 (3 Page)