📝 Certificate
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) 로 구성되어 있다 인덱스 데이터는 인덱스를 구성하는 칼..
SQLD 5-1 ] 옵티마이저와 실행계획
SQLD 5-1 ] 옵티마이저와 실행계획
2016.03.01옵티마이저 - 옵티마이저는 사용자가 질의한 SQL 문에 대해 최적의 실행 방법을 결정하는 역할을 수행한다 여러개의 방법 중.. 음.. 이게 제일 좋겠군! 하고 결정하는애. 그런데, SQL 문을 실행 해보고 이게 빠르군. 저게 빠르군 하는게 아니라서.. 실행 하기 전에 결정해야 하는 어려움이 있다. 결정하는 방식에는 규칙기반 옵티마이저 / 비용기반 옵티마이저 로 구분할 수 있다. 현재 대부분은 비용기반 옵티마이저만 제공한다고 한다. 규칙기반 옵티마이저 - 규칙기반 옵티마이저는 규칙(우선 순위) 를 가지고 실행계획을 생성한다. 순위엑세스 기법설명1Single Row By RowidROWID에 의한 단일 로우2 Single Row By Cluster Join클러스터 조인에 의한 단일 로..
SQLD 4-8 ] 절차형 SQL
SQLD 4-8 ] 절차형 SQL
2016.02.29절차형 SQL 개요 - 일반적인 개발 언어처럼 SQL 도 절차 지향 적인 프로그램이 가능하도록 제공하고 있다. ORACLE : PL/SQL DB2 : PL/SQL SQL SERVER : T-SQL 절차형 SQL 을 이용하여 만들수 있는 저장 모듈인 PROCEDURE / USER DEFINED RUNCTION / TRIGGER 에 대해 알아보자! PL/SQL - BLOCK 구조로 되어 있고, BLOCK 내에는 DML 문장과, QUERY 문장, 절차형 언어(IF, LOOP) 등을 사용할 수 있다. 1. PL/SQL 은 BLOCK 구조로 되어 있어 각 기능별 모듈화가 가능하다 2. 변수, 상수 등을 선언하여 SQL 문장 간 값을 교환한다 3. IF, LOOP 등의 절차형 언어를 ..
SQLD 4-7 ] DCL (DATA CONTROL LANGUAGE)
SQLD 4-7 ] DCL (DATA CONTROL LANGUAGE)
2016.02.29DCL 이란? - 유저를 생성하고 권한을 제어할 수 있는 명령어. (지금까지 해왔던 걸 보면. DDL/DML/TCL 이 있었지.) 유저와 권한 - 보안을 위해서 새로운 유저를 생성해서 그 유저에게 권한 주고 뭐 이런건데 (관리자를 그냥 알려줄순 없어서..) ORACLE 에서 기본적으로 제공되는 유저들인 SYS, STSTEM, SCOTT 유저가 있다. 지금 쓰고 있는 슈퍼관리자 는 SYSTEM 이고. 추가로 SCOTT, SYS 가 있었네.ORACLE 과 SQL SERVER 의 사용자에 대한 아키텍쳐는 다른 면이 많다. ORACLE - 유저를 통해 데이터베이스에 접속. 아이디와 비밀번호 방식으로 데이터베이스의 인스턴스에 접속을 한다.유저에 해당하는 권한을 부여받는다. 구역마다 다른 ..