Anomaly (이상현상) 이상 현상이란 테이블을 설계할 때 잘못 설계해 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류를 말한다. 이상 현상 종류 이상 현상의 종류로는 3가지가 있다. 삽입(Insert) 이상 : 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 테이블에 자료를 추가 가능한 이상 갱신(Update) 이상 : 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 이상 삭제(Delete) 이상 : 어떤 정보를 삭제하면 유용한(삭제를 원하지 않는) 다른 정보까지 삭제되어버리는 이상, 필요한 정보를 함께 삭제하지 않고서는 어떤 정보를 삭제하는 것이 불가능하다. 이상 현상 예시 삽입 이상 (Insert Anomaly) 삽입 이상은 특정 데이터가 존재하지 않아 중요한 데이터를 데이터..
EQUI JOIN vs Non-EQUI JOIN EQUI JOIN 조인 대상이 되는 두개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하는 행을 연결하는 생성하는 조인 기법이다. 대부분 PK ↔ FK의 관계를 기반으로 한다. (반드시 PK ↔ FK의 관계로만 EQUI JOIN이 성립되는 것은 아니다.) JOIN의 조건은 WHERE절에 기술하게 되는데 = 연산자를 사용해서 표현한다. 사용 방법 SELECT 테이블1.칼럼명, 테이블2.칼럼명, ... FROM 테이블1, 테이블2 WHERE 테이블1.칼럼명1 = 테이블2.칼럼명2; SELECT * FROM 테이블1, 테이블2 WHERE 테이블1.칼럼 = 테이블2.칼럼; SELECT * FROM 테이블1, 테이블2 WHERE 테이블1.칼럼 = 테이블2.칼럼 AN..
JOIN vs UNION 우선과 JOIN 연산과 UNION 연산이 각각 어떤 연산인지 짚고 넘어가자 JOIN JOIN 연산은 서로 다른 테이블들의 공통점을 기반으로 데이터를 합치는 것이다. JOIN으로 기존의 다양한 column들을 가져와 새로운 column들이 있는 테이블을 생성한다. UNION UNION은 두가지 혹은 더 많은 개수의 SELECT를 이용해 데이터를 합친다. UNION으로 같은 column의 데이터들을 합쳐서 새로운 row들이 있는 테이블을 생성한다. + 참고로 UNION 연산은 중복을 허용하지 않으며 UNION ALL은 중복을 허용한다. 비교 예시 다음과 같이 주어진 데이터가 있다고 하자 mysql> SELECT * FROM students; +-----------+----------..
관계형 데이터베이스 관계형 데이터베이스란 고정된 행(row)과 열(column)로 구성된 테이블에 데이터를 키(Key)와 값(Value) 관계로 저장하는 데이터베이스를 말한다. 데이터의 종속성을 관계로 표현하는 것이 관계형 데이터베이스의 특징이다. 관계형 데이터베이스의 테이블은 다음처럼 구성된다. SQL이란 ? SQL은 Structured Query Language의 약자로 관계형 데이터베이스와 상호작용하는데 사용하는 쿼리 언어를 뜻한다. SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있다. 관계형 데이터베이스의 핵심 특성 1. 데이터는 정해진 데이터 스키마(=structure)를 따라 데이터베이스 테이블에 저장된다. 2. 데이터는 관계를 통해서 연결된 여러개의 테이블에 분..
Join (조인)이란 ? 조인이란 두개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법이다. 두 개 이상의 테이블을 조인하기 위해서는 외래키가 적어도 하나 이상 있어야 한다. Join의 종류 내부 조인 (INNER JOIN) 자연 조인 (NATURAL JOIN) 외부 조인 (OUTER JOIN) 왼쪽 외부 조인 (LEFT OUTER JOIN) 오른쪽 외부 조인 (RIGHT OUTER JOIN) 전체 외부 조인 (FULL OUTER JOIN) 크로스 조인 (CROSS JOIN) 셀프 조인 (SELF JOIN) 내부 조인 (Inner Join) 사용 방법 1) SELECT 조회할 컬럼 FROM 테이블1, 테이블2 [WHERE 조건문] 2) SELECT 조회할 컬럼 FROM 테이블1 (INNE..
키(Key)란 ? 검색, 정렬시 Tuple을 구분할 수 있는 기준이 되는 속성 키의 종류 1. 후보키 (Candidate Key) Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합 (기본키로 사용할 수 있는 속성들) 2가지 조건 만족 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있다. 최소성 : 식별에 반드시 필요한 속성으로만 구성되어야 한다. 2. 기본키 (Primary key) 후보키 중 선택한 키 Null 값을 가질 수 없다. 중복을 허용하지 않는다. 3. 대체키 (Alternate Key) 후보키 중 기본키를 제외한 나머지 키로 보조키라고도 한다. 4. 슈퍼키 (Super Key) 유일성은 만족하나 최소성은 만족하지 못하는 키 5. 외래키 (Foreign Key) 다른..