분류 전체보기
SQLD 4-1 ] 표준 조인
SQLD 4-1 ] 표준 조인
2016.02.25표준 조인 (STANDARD JOIN) - 사용자는 테이블간의 JOIN 조건을 FROM 절에서 명시적으로 정의할 수 있다 - 대표적인 ANSI/ISO 표준 SQL 의 기능 1. STANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 등 새로운 FROM 절 JOIN 기능들) 2. SCALAR SUBQUERY, TOP-N QUERY 등의 새로운 SUBQUERY 기능들 3. ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능 4. WINDOW FUNCTION 같은 새로운 개념의 분석 기능들 뭐. 이런 기능들이 요즘 표준으로 기준된 SQL 의 기능들인가 보다. 이게 시험에 나왔다고 한다...;; 이걸 왜.. 1970년 : Dr. E.F.Codd 관계형 DBMS..
SQLD 3-9 ] JOIN
SQLD 3-9 ] JOIN
2016.02.25JOIN - 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력 - 관계형 데이터베이스의 가장 큰 장점이면서 대표적인 핵심 기능! EQUI JOIN - 두 개의 테이블 간에 칼럼 값들이 서로 정확히 일치하는 경우. PK FK 의 관계. = 연산자를 사용해서 표현한다 방법 1. where 에 join 조건 쓰기select 테이블1.칼럼명, 테이블2.칼럼명 .. from 테이블1, 테이블2 where 테이블1.칼럼명 = 테이블2.칼럼명; 방법 2. from 에 inner join 과 where 대신 on 절 쓰기select 테이블1.칼럼명, 테이블2.칼럼명 .. from 테이블1 INNER JOIN 테이블2 on 테이블1.칼럼명 = 테이블2.칼럼명; 두개 다 같은 말이다. 사용법이 다르다..
SQLD 3-8 ] ORDER BY
SQLD 3-8 ] ORDER BY
2016.02.25ORDER BY 정렬 - 조회된 데이터들을 정렬하여 출력한다! select 칼럼명from 테이블명where 조건식group by 칼럼이나 표현식having 그룹조건식order by 칼럼이나 표현식 (ASC/DESC); order by 를 새로 알게됬다. SQL 문장의 맨 마지막 에 위치하는 애다.ASC / DESC 옵션. ASC: 오름차순으로 정렬 (기본값이므로 생략 됨!)DESC : 내림차순 정렬 select PLAYER_NAME as 선수명, POSITION as 포지션, BACK_NO as 백넘버from PLAYERorder by PLAYER_NAME desc; player_name 을 내림차순으로 정렬했다. player_name 의 별명은 선수명. player_name 대신 별명 선수명을 써도 ..
SQLD 3-7 ] GROUP BY, HAVING 절
SQLD 3-7 ] GROUP BY, HAVING 절
2016.02.24집계 함수 (Aggregate Function) - 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수. - GROUP BY 절의 행들은 소그룹화 한다. - SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다. 집계함수명 ( [DISTINCT/ALL] 칼럼이나 표현식 ) DISTINCT 옵션과 ALL 옵션은 그 결과들 중복된거 한번만 표시할껀지 그냥 다 표시할껀지 선택하는거. 일반적으로 집계 함수 들은 GROUP BY 절과 같이 사용되지만 아래와 같이 테이블 전체가 하나의 그룹이 되는 경우에는GROUP BY 절 없이 단독으로도 사용 가능하다 SELECT COUNT(*) "전체 행수", COUNT(HEIGHT) "키 건수", MAX(HEIGHT) 최대키, MIN..
SQLD 3-6 ] 함수
SQLD 3-6 ] 함수
2016.02.23함수 (Function) - 벤더에서 제공하는 함수인 '내장 함수' 와 '사용자가 정의할 수 있는 함수' 로 나뉜다. - 내장 함수 에는 단일행함수 / 다중행 함수가 있다. - 단일행 함수 : 함수의 입력 값이 단일행 값이 입력되는 함수(Single-Row Function) - 다중행 함수 : 함수의 입력 값이 여러행 값이 입력되는 함수(Multi-Row Function) - 다중행 함수에는 또 집계함수 / 그룹함수 / 윈도우 함수 로 나뉠 수 있다. - 함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1 관계라는 중요한 특징을 갖고 있다. - 이번 3-6 함수 절에서는 내장 함수 안에 단일행 함수 이 하나만 다룹니다! 단일행 함수의 종류 단일행 함수의 특징 1. SEL..
SQLD 3-5 ] WHERE
SQLD 3-5 ] WHERE
2016.02.22WHERE - 테이블에 있는 모든 자료가 아닌 원하는 자료를 검색하기 위해 사용 - 두 개 이상의 테이블에 대한 조인 조건을 기술하거나 결과를 제한하기 위해 사용 - 조건절을 사용하지 않고 필요없고 많은 자료들을 요청하는 SQL 문장은 cpu,memory,resources 를 과다하게 사용한다 SELECT(ALL/DISTINCT) 칼럼명 (ALIAS명)FROM 테이블명WHERE 조건식; where 조건식에는 아래 내용으로 구성된다1. 칼럼명2. 비교 연산자3. 문자, 숫자, 표현식4. 비교 칼럼명(join 사용시) where PLAYER_NAME = 58; PLAYER_NAME (칼럼명)= (비교연산자)58 (문자, 숫자, 표현식) 연산자의 종류 연산자의 우선순위 ( ) -> NOT -..
SQLD 3-4 ] TCL (TRANSACTION CONTROL LANGUAGE)
SQLD 3-4 ] TCL (TRANSACTION CONTROL LANGUAGE)
2016.02.22트랜잭션 - 데이터베이스의 논리적 연산 단위. - 밀접히 관련되어서 분리될 수 없는 한 개 이상의 데이터베이스 조작(insert, update, delete, select for update) - 분할할 수 없는 최소의 단위 ALL or NOTHING - COMMIT : 올바르게 반영된 데이터를 데이터베이스에 반영. (한마디로 적용.) - ROLLBACK : 트랜잭션 시작 이전의 상태로 돌리는 것. - LOCK : 트랜잭션이 수행되는 동안 특정 데이터에 대해서 다른 트랜잭션이 동시에 접근하지 못하도록 제한하는 기법 한마디로. 트랜잭션이란 물리적이 아니라 논리적. 눈에 보이지 않고. 어떠한 작업의 단위이다.트랜잭션내에 묶인 작업들이 다 성공 하거나 아니면 하나라도 실패하면 전으로 돌려놔야한다.대..
SQLD 3-3 ] DML (DATA MANIPULATION LANGUAGE)
SQLD 3-3 ] DML (DATA MANIPULATION LANGUAGE)
2016.02.22INSERT - 테이블에 데이터를 입력.INSERT INTO 테이블명 (COLUMN_LIST)VALUES (COLUMN_LIST 에 넣을 VALUE_LIST);INSERT INTO 테이블명VALUES (전체 COLUMN에 넣을 VALUE_LIST);첫번째 꺼는 칼럼 하나 하나 선택해서 값을 넣는거두번째 꺼는 전체에 순서대로 값을 넣는거 정의되지 않은 컬럼은 디폴트로 NULL 이 지정된다.값에는 ' ' 로 문자를 써야하고, 숫자는 그냥 ' ' 없이 숫자만 쓴다. UPDATE - 칼럼 내용 수정.UPDATE 테이블명SET 칼럼명 = 바뀔 값;한 컬럼 세로로 쭉.. 다 수정된다 UPDATE PLAYERSET BACK_NO = 99; 하면. 플레이어 테이블에 있는 BACK_NO 칼럼의 전체의 값들이 99..
SQLD 3-2 ] DDL (DATA DEFINITION LANGUAGE)
SQLD 3-2 ] DDL (DATA DEFINITION LANGUAGE)
2016.02.18데이터 유형 대표적인 4가지 데이터 유형. 이 외에도 여러 다양한 유형이 있다. CHAR(4) 유형'AA' = 'AA ' VARCHAR2(4) 유형' AA' = 'AA' CREATE TABLE - 테이블 생성. CREATE TABLE 테이블이름 ( 칼럼명1 DATATYPE [DEFAULT 형식], 칼럼명2 DATATYPE [DEFAULT 형식]); 테이블 생성 시 유의사항 1. 객체를 의미할수 있는 이름. 2. 다른 테이블과 중복되면 안되고, 또 테이블 내에서 칼럼명이 서로 중복되면 안됨. 3. 테이블 이름을 지정하고 각 칼럼들은 괄호 () 로 묶어 지정한다 4. 각 칼럼들은 콤마(,) 로 구분되고, 테이블 생성문의 끝은 ; 으로 끝난다 5. 칼럼에 대해서는 다른테이블까지 고려해서 사용하자...
SQLD 3-1 ] 관계형 데이터베이스 개요
SQLD 3-1 ] 관계형 데이터베이스 개요
2016.02.18데이터베이스 - 일상적인 정보들을 모아 놓은 것 - 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 저장해놓은 것 데이터베이스의 발전 1960년대: 플로우차트 중심의 개발방법, 파일 구조의 데이터 저장, 관리 1970년대: 데이터베이스 관리 기법이 처음 태동되던 시기, 계층형 데이터베이스, 망형 데이터베이스 상용화 1980년대: 관계형 데이터베이스 상용화(Oracle, Sybase, DB2) 1990년대: 보다 향상된 기능으로 많은 관계형 데이터베이스들이 사용, 객체 관계형 데이터베이스로 발전 관계형 데이터베이스 - 기존 파일 시스템의 동시성 제한, 데이터 불일치성 문제 해결 - 정규화를 통한 합리적인 테이블 모델링을 통해 ANOMALY 현상을 제거하고 데이터 중복을 피한다. - ..
SQLD 2-6 ] 분산 데이터베이스와 성능
SQLD 2-6 ] 분산 데이터베이스와 성능
2016.02.15분산 데이터베이스 - 데이터베이스를 여러 군데로 위치시켜서 사용성/성능 등을 극대화 시킨 데이터베이스 - 논리적으로는 동일한 시스템에 속하지만, 물리적으로는 분산되어있는 데이터들의 모임. 분산 데이터베이스의 투명성 - 분산 데이터베이스 가 되려면 6가지 투명성 을 만족해야한다! 분할. 위치. 지역사상. 중복. 장애. 병행. 분산 데이터베이스의 적용 방법 및 장단점 1. 분산 데이터베이스 적용 방법 - 업무의 흐름을 보고 업무 구성에 따른 아키텍처 특징에 따라 구성. 단순히 분산환경에서 구축해보자! 라는게 목적이 아니라, 업무에 따라 이건 분산구조를 해야겠군. 설계하는 능력이.. 2. 분산 데이터베이스 장단점 * 데이터무결성 : 무결성 은 온전함 을 의미. 데이터 값..
SQLD 2-5 ] 데이터베이스 구조와 성능
SQLD 2-5 ] 데이터베이스 구조와 성능
2016.02.15슈퍼타입 / 서브타입 모델의 성능고려 방법 1. 슈퍼타입 / 서브타입 ? - 데이터의 특징을 공통점과 차이점의 특징을 고려하여 효과적으로 표현. 공통의 부분을 슈퍼타입, 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성은 서브엔터티로 구분. ( 학생 은 학부생과 대학원생 으로 나뉜다. 여기서 학생은 슈퍼타입, 학부생과 대학원생은 서브타입이라고 한다..) 예로 다음과 같다. 1. 트랜잭션은 항상 일괄로 처리하는데, 테이블은 개별로 유지되어 Union 연산에 의해 성능이 저하될 수 있다. 2. 트랜잭션은 항상 서브타입 개별로 처리하는데. 테이블은 또 하나로 되있어서.. 불필요하게 많은 양의 데이터를 읽어와야되서 성능이 저하되는 경우가 있다. 3. 트랜잭..