분류 전체보기
5. 기타 데이터베이스 실무 응용
5. 기타 데이터베이스 실무 응용
2016.04.16내장 SQL (Embedded-SQL) - 일반 응용 프로그램에 SQL 을 삽입하여 데이터베이스 자료를 이용하고 다양한 조작을 할 수 있도록 한 것. 예를들어.. 웹에서 검색을 하는데.. 일반 사용자가 쿼리문을 치려면.. 너무 어렵다. 그래서 SQL 언어가 내장되어 있어서 검색 버튼 등 을 쉽게 사용할 수 있다. 커서 (Cursor) - 내장 SQL 에 의해 얻은 값은 하나의 행 단위로 처리된다. 여러 개의 행을 그룹으로 처리하기 위해 사용한다. 한마디로.. 한번 일 하고(행 단위니까) 어느 행에 위치해있는지 커서 역할을 하는것 으로 이해하면 된다. DECLARE(선언) - OPEN(맨첨으로) - FETCH(하나씩이동) - CLOSE(끝내라) 스토어드 프로시저(Stored Pr..
4. 정규화
4. 정규화
2016.04.15이상(Anomaly) - 데이터의 중복과 종속으로 인해 발생되는 문제점이다. 이상현상 은 릴레이션을 처리하는데 여러가지 문제를 초래한다 - 삭제이상 / 삽입이상 / 갱신이상 1. 삭제 이상(Deletion Anomaly) - 하나의 테이블에서 하나의 행을 삭제하는데 또 그 행 안에 내용이 어디선가 필요한 내용이다. 원하지 않는 정보가 손실되는 문제점. 2. 삽입 이상(Insertion Anomaly) - 삽입하는 과정에서 원하지 않는 자료가 삽입된다든지.. 자료가 부족해 삽입이 되지 않는 문제점들. B, C, D 를 입력하고 싶은데 테이블에는 A, B, C, D 속성이 있고. A는 기본키라.. 어쩔수없이 울면서 값을 넣어야한다. 3. 갱신 이상(Update Anomaly) - update 로 ..
3. 관계 데이터베이스 언어(SQL)
3. 관계 데이터베이스 언어(SQL)
2016.04.15SQL 정의어 (DDL) - 정의, 수정, 제거. CREATE , ALTER, DROP CREATE - 테이블, 스키마, 도메인, 인덱스, 뷰 등을 정의, 생성 1. 테이블 정의 - 학번, 성명, 학과, 학년 학점으로 구성된 학생 테이블을 만들어라 - 학번과 학년은 숫자형 자료이며, 나머지는 문자형이다 - 학번을 기본키로 지정한다 - 성명 속성은 공백이 있을 수 없다 - 학과 항목을 이용하여 수강 테이블의 학과를 참조하도록 외래키를 지정하며 참조 테이블에서 삭제가 일어나면 NULL로 채우고, 수정이 발생하면 연쇄적으로 수정하도록 한다 - 학년의 속성값은 4 이하의 값을 갖도록 'hak' 이름으로 제약한다 CREATE TABLE 학생( 학번 INT, 성명 CHAR(5) NOT NUL..
2. 데이터 모델링
2. 데이터 모델링
2016.04.13데이터베이스 설계 - 요구 조건 분석 -> 설계(개념적설계/논리적설계/물리적설계) -> 구현 -> 운영 및 개선 - 개념적설계 : 구축하고자 하는 DB를 개념적으로 표현. - 논리적설계 : 개념적설계에서 만들어진 구조를 사용자가 알아보기쉽게 테이블(표) 같은걸로 변환 - 물리적설계 : 실제 기계 내부에서 어떻게 처리해야 효율적으로 돌아갈지 설계 데이터 아키텍처(DA) - 기업의 데이터 시스템을 처음부터 끝까지 구조적, 체계적으로 관리하고 설계하는 모든 과정 개체-관계 모델(E-R Model) - P.Chen 박사가 제안. 개념적 설계 단계에서 사용. 개체,관계,속성 등을 약속된 기호로 표기 데이터베이스 모델 - 개념적설계 후 논리적 설계 단계에서 사용. - 관계 데이터 모델 : 제일 많이..
1. 데이터베이스의 개요
1. 데이터베이스의 개요
2016.04.13데이터베이스의 정의 - 다수의 응용 시스템/사용자들이 공용으로 사용하기 위해 통합/저장된 운영 데이터의 집합 - 통합된 데이터 : 하나의 주제로 중복을 최소화한 데이터의 집합 - 저장된 데이터 : 언제든지 이용할 수 있도록 저장된 데이터의 집합 - 공용 데이터 : 여러 사용자/응용시스템이 공유할 수 있도록 만든 데이터의 집합 - 운영 데이터 : 중복을 최소화, 문제가 발생하지 않도록 관리가 필요한 데이터의 집합 데이터베이스의 특징 - 계속적인 진화 : 항상 최신정보를 유지 - 동시 공유 : 여러 사용자가 동시에 접근 - 실시간 접근 : Query에 대해 실시간으로 처리/응답해줌 - 내용에 의한 참조 : 데이터의 물리적 주소로 접근하는게 아니라 사용자가 요구하는 내용을 찾아감 데이터베이스의 구성..
SQLD 5장 ] 요약 & 연습문제
SQLD 5장 ] 요약 & 연습문제
2016.03.041절 : 옵티마이저와 실행계획사용자의 질의를 최적의 실행 방법으로 결정하게 하는 것이 바로 옵티마이저의 역할이다옵티마이저는 규칙기반 옵티마이저와 비용기반 옵티마이저로 나눌 수 있다.규칙기반 옵티마이저 - 우선규칙에 따라 실행계획 생성비용기반 옵티마이저 - 필요한 최소비용 계산해서 실행계획 생성비용기반 옵티마이저의 구성요소1.질의변환기 2.대안계획 생성기 3.비용예측기 4.딕셔너리실행계획 정보의 구성요소1.조인순서 2.조인기법 3.액세스기법 4.최적화정보 5.연산 2절 : 인덱스 기본인덱스의 목적은 검색 성능의 최적화이지만, DML 작업에 대해서는 인덱스도 같이 따라서 움직이기 때문에성능이 떨어진다. B-TREE 인덱스는 일치 검색, 범위 검색 에 모두 적합한 구조이다.테이블에 액세스하는 방법에는 인덱..
SQLD 4장 ] 요약 & 연습문제
SQLD 4장 ] 요약 & 연습문제
2016.03.031절 : 표준 조인ANSI/ISO 표준 SQL 에서 규정한 INNER JOIN, NATURAL JOIN, USING 조건절, ON 조건절, CROSS JOIN,OUTER JOIN 문법을 통해 사용자는 테이블 간의 JOIN 조건을 FROM 절에서 명시적으로 정의할 수 있다. 2절 : 집합 연산자두 개 이상의 테이블에서 JOIN 을 사용하지 않고 값을 건드려보겠다. 쿼리와 쿼리 사이에 집합연산자를 둔다.UNION 합집합, UNION ALL 확장된 합집합, INTERSECT 교집합, EXCEPT/MINUS 차집합 3절 : 계층형 질의와 셀프 조인테이블 안에 계층형 데이터가 존재하는 경우(사원의 매니저) 데이터를 조회하기 위해서 계층형 질의를 사용한다.셀프 조인이란 동일 테이블 사이의 조인을 말하며, F..
SQLD 3장 ] 요약 & 연습문제
SQLD 3장 ] 요약 & 연습문제
2016.03.031절 : 관계형 데이터베이스 개요데이터들의 집합에서 필요로 하는 데이터를 꺼내서 조회하고.. 입력/수정/삭제 하는 행위를 통해사용자는 데이터베이스와 대화하게 된다(?!). SQL (Structured Query Language) 은 이러한 대화를 가능하도록매개 역할을 한다. SQL 은 관계형 데이터베이스의 데이터 정의, 조작, 제어 를 위해 사용하는 언어이다 2절 : DDL테이블은 CREATE TABLE 생성, ALTER TABLE 수정, DROP TABLE 삭제, RENAME TABLE 재명명. 3절 : DMLINSERT INTO 입력, UPDATE 수정, DELETE 삭제, SELECT 조회 4절 : 대량 데이터에 따른 성능트랜잭션은 ALL or NOTHING. COMMIT 트랜잭션 완료,..
SQLD 2장 ] 요약 & 연습문제
SQLD 2장 ] 요약 & 연습문제
2016.03.021절 : 성능 데이터 모델링의 개요성능 데이터 모델링이란 데이터베이스 성능향상을 목적 으로 설계단계의 데이터 모델링 때부터정규화, 반정규화, 테이블통합, 테이블분할, 조인 구조, PK, FK 등의 여러가지 성능 과 관련된 사항 가지고데이터 모델링에 반영될 수 있도록 하는 것으로 정의된다. 2절 : 정규화와 성능설계를 할 때 정규화를 하는것은 기본적으로 데이터에 대한 중복성을 제거하여 주고, 데이터가 관심사별로처리가 되는 경우가 많기 때문에 성능이 향상되는 특징을 가지고 있다. 설계단계에서 무조건 반정규화는 안되며 기본적으로 정규화된 데이터 모델을 생성하도록 노력해야 한다. 3절 : 반정규화와 성능데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 이유는..데이터를 조회..
SQLD 1장 ] 요약 & 연습문제
SQLD 1장 ] 요약 & 연습문제
2016.03.021절 : 데이터 모델의 이해일반적으로 모델링이라고 하는 개념은 일정한 표기법에 의해 자연의 현상, 업무적인 현상 등을 형상화 하는 것.데이터모델링은 데이터베이스 구축을 위한 분석과 설계의 핵심도구 이다.데이터모델링에서 가장 중요한 핵심개념은 엔터티, 속성, 관계 이다. 2절 : 엔터티데이터베이스를 구축할때 분석/설계 하는 관점에서 엔터티는"업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적, 영속적 으로 존재하는 단위" 로 정의된다.엔터티를 정의할 때 중요한 특징(속성의 존재, 2개 이상의 인스턴스 등)이 있다.엔터티를 분류할때는 기본엔터티, 중심엔터티, 행위엔터티 로 구분한다. 3절 : 속성속성이란 "업무에서 필요로 하는 엔터티에서 관리하고자 하는 최소의 데이터 단위" 라고 정의된다. 이..
SQLD 5-3 ] 조인 수행 원리
SQLD 5-3 ] 조인 수행 원리
2016.03.01조인 수행 원리 - 조인은 두 개 이상의 테이블을 하나의 집합으로 만드는 연산이다. 조인 기법은 두 개의 테이블을 조인할 때 사용할 수 있는 방법이고 종류로는 NL Join, Hash Join, Sort Merge Join 이 있다. NL JOIN - 프로그래밍에서 사용하는 FOR 문과 유사한 방식으로 조인을 수행한다. 반복문 외부에 있는 테이블을 선행테이블(외부테이블), 반복문 내부에 있는 테이블을 후행테이블(내부테이블) 이라고 한다.FOR 선행 테이블 읽음 → 외부 테이블(Outer Table) FOR 후행 테이블 읽음 → 내부 테이블(Inner Table) (선행 테이블과 후행 테이블 조인) 먼저 선행 테이블의 조건을 만족하는 행을 추출 하고. 후행 테이블을 ..
SQLD 5-2 ] 인덱스 기본
SQLD 5-2 ] 인덱스 기본
2016.03.01인덱스 특징과 종류 - 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 개념이다. 목적은 검색 성능의 최적화 이다. DML 작업은 테이블과 함께 인덱스도 같이 변경해야 하기 때문에 오히려 느려질 수도 있다는 단점이 있다. (따라오기 때문에) 트리 기반 인덱스 - 가장 일반적인 인덱스는 B-트리 인덱스 이다. Root Block : 대장Branch Block : 분기를 목적으로 한다. 다음 단계의 블록을 가리키는 포인터를 가지고 있다.Leaf Block : 제일 말단 Leaf Block 은 인덱스를 구성하는 칼럼의 데이터와 위치를 가리키는 식별자(RID, Record Identifier/Rowid) 로 구성되어 있다 인덱스 데이터는 인덱스를 구성하는 칼..