Database/개념

집계함수여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중햄 함수 중 집계 함수 입니다. 집계함수의 특성1. 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수이다.2. GROUP BY 절은 행들을 소그룹화 한다.3. SELECT, HAVING, ORDER BY 절에 사용할 수 있다. 집계함수의 종류 집계 함수 사용 목적 COUNT(*) NULL 값을 포함한 행의 수를 출력한다. COUNT(표현식) 표현식의 값이 NULL 값인 것을 제외한 행의 수를 출력한다. SUM([DISTINCT | ALL] 표현식) 표현식의 NULL 값을 제외한 합계를 출력한다. AVG([DISTINCT | ALL] 표현식) 표현식의 NULL 값을 제외한 평균을 출력한다. MAX([DISTINCT | ..
함수란? 벤더에서 제공하는 함수인 내장함수와 사용자가 정의할 수 있는 함수로 나뉩니다.여기에서는 기본적으로 제공되는 SQL 내장 함수에 대해 설명합니다. 내장함수 단일행 값이 입력되는 단일행 함수와 여러 행의 값이 입력되는 다중행 함수로 나뉩니다.다중행 함수는 다시 집계 함수, 그룹 함수, 윈도우 함수로 나뉩니다. 단일행 함수 단일행 함수의 종류는 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수가 있습니다. 문자형 함수 문자형 함수는 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수입니다. 문자형 함수 함수 설명 LOWER(문자열) 문자열의 알파벳 문자를 소문자로 바꾸어 준다. UPPER(문자열) 문자열의 알파벳 문자를 대문자로 바꾸어 준다. ASCII(문자) 문자나 숫..
WHERE 조건절의 개요자료를 검색할 때 SELECT 절과 FROM 절만을 사용하여 기본적인 SQL 문장을 구성한다면, 테이블에 있는 모든 자료가 출력되기 때문에실제로 원하는 자료를 확인하기 어렵습니다.따라서 WHERE 절을 사용하여 원하는 자료들로 결과를 제한할 수 있습니다.SELECT [DISTINCT/ALL] 컬럼명 [ALIAS명] FROM 테이블명 WHERE 조건식;WHERE 절은 FROM 절 다음에 위치하며, 조건식은 아래 내용으로 구성됩니다.1. 컬럼명 ( 보통 조건식의 좌측에 위치 )2. 비교 연산자3. 문자, 숫자, 표현식 ( 보통 조건식의 우측에 위치 )4. 비교 컬럼명 ( JOIN 사용 시) 연산자의 종류WHERE 절에 조건식을 사용할 때, 사용되는 연산자 입니다. 구분 연산자 의미 비..
TCL 이란? TRANSACTION CONTROL LANGUAGE 로 트랜잭션을 제어하는 언어입니다. 트랜잭션은 데이터베이스의 논리적 연산단위입니다.하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함되며 분할할 수 없는 최소의 단위입니다. 즉 ALL OR NOTHING 입니다. 트랜잭션 대상이 되는 SQL 문은 UPDATE, INSERT, DELETE 등 데이터를 수정하는 DML 문 입니다.SELECT 문장은 직접적인 트랜잭션 대상은 아니지만, SELECT FOR UPDATE 등 배타적 LOCK 을 요구하는 문장은 트랜잭션 대상이 될 수 있습니다. 트랜잭션의 특성 특성 설명 원자성 (Atomicity) 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 남아있어야 한..
DML 이란? DATA MANIPULATION LANGUAGE 로 데이터 입력, 수정, 삭제, 조회 언어를 의미합니다. INSERT 테이블에 데이터를 입력하는 방법은 두 가지 유형이 있으며 한 번에 한 건만 입력됩니다.해당 칼럼명과 입력되어야 하는 값을 서로 1:1로 매핑해서 입력하면 됩니다.데이터 유형이 문자 유형일 경우 데이터를 ' ' 로 감쌉니다.INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST 에 넣을 VALUE_LIST); INSERT INTO 테이블명 VALUES (전체 COLUMN 에 넣을 VALUE_LIST); UPDATE 입력한 정보 중에 잘못 입력되거나 변경이 발생하여 정보를 수정해야 하는 경우가 발생합니다.UPDATE 테이블명 SET 수정되어야..
DDL 이란? DATA DEFINITION LANGUAGE 로 데이터 정의 언어를 의미합니다. 데이터 유형 데이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준을 의미합니다. 테이블의 칼럼이 가지고 있는 대표적인 4가지 데이터 유형은 다음과 같습니다.1. CHARACTER : 고정 길이 문자열 정보2. VARCHAR : 가변길이 문자열 정보3. NUMERIC : 정수, 실수 등 숫자 정보4. DATE : 날짜와 시각 정보 이 외에도 Binary String Type, Binary Large Object String Type, National Character String Type, Boolean Type 등의 유형이 있습니다.벤더사별로 표준을 따르지만 이..
데이터베이스란? 특정 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미합니다.이러한 데이터의 관리 혹은 손상시 복구를 위한 소프트웨어가 필요하며 이런 요구를 만족하는 시스템을 DBMS 라고 합니다. SQL SQL ( Structured Query Language ) 은 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 하기위해 사용하는 언어입니다.SQL 문장의 종류로는 DML, DDL, DCL, TCL 이 있습니다. DDL 데이터 조작어 : SELECT, INSERT, UPDATE, DELETE 구문이 있습니다.DDL 데이터 정의어 : CREATE, ALTER, DROP, RENAME 구문이 있습니다.DCL 데이터 제어어 : GRANT, REVOKETCL 트랜잭션 제어어 : ..
성능 데이터 모델링이란? 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 조인구조 등 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것을 의미합니다. 성능 데이터 모델링 고려사항 1. 정규화를 정확하게 수행한다.2. 데이터베이스 용량산정을 수행한다.3. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.5. PK/FK 조정 등을 수행한다.6. 성능관점에서 데이터 모델을 검증한다. 정규화를 통한 성능향상 전략 기본적으로 데이터에 대한 중복성을 제거하여 주고 데이터가 관심사별로 처리되는 경우가 많기 때문에 성능이 향상되는 특징을 지닙니다.엔터티가 늘어나므로 조인이 많이 발생하여 성능저하가 나타나는 경우도..
엔터티란? 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing) 입니다.객체라고도 표현합니다. 엔터티의 특징 1. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 합니다.2. 유일한 식별자에 의해 식별이 가능해야 합니다.3. 영속적으로 존재하는 두 개 이상의 인스턴스의 집합이어야 합니다.4. 업무 프로세스에 의해 이용되어야 합니다.5. 반드시 속성이 있어야 합니다.6. 다른 엔터티와 최소 한 개 이상의 관계가 있어야 합니다. 엔터티의 분류 1. 유무형에 따른 분류 - 유형엔터티 : 물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티 ( 예 : 사원, 물품 )- 개념엔터티 : 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보로 구분되는 엔터티 ( 예 : 조직, ..
ERD 란? 각 업무분석에서 도출된 엔터티간의 관계를 이해하기 쉽게 도식화된 다이어그램으로 표시하는 방법으로서,해당 업무에서 데이터의 흐름과 프로세스와의 연관성을 이야기하는 데 가장 중요한 표기법이자 산출물을 의미합니다. 다양한 ERD 표기법이 있으며, 이중 범용적인 IE ( Information Engineering ) 표기법에 대해 알아봅니다. ERD 모형 1. 엔터티 : 사각형3. 속성 : 타원형 ERD 작업순서 1. 엔터티를 그린다.2. 엔터티를 적절하게 배치한다.3. 엔터티간 관계를 설정한다.4. 관계명을 기술한다.5. 관계의 참여도를 기술한다.6. 관계의 필수여부를 기술한다. IE ERD 표기법 엔터티간의 관계를 나타내는 선 입니다. optional : 선택조건mandatory : 필수조건 또..