공부하기싫어
article thumbnail

단원이 바뀌어서 SQL 기본 및 활용이다.

 

SQL 기본 및 활용은 SQLD 시험에서 총 40문제가 출제된다고 한다.

SQL기본, SQL 활용, SQL 최적화의 원리 정도의 범위가 있단다.

 

 

SECTION01. SQL 기본

point1. 관계형 데이터베이스(Relation Database)

 

  • 관계형 데이터베이스
  • 관계형 데이터베이스의 등장

- 관계형 데이터베이스는 1970년대 E.F Codd 박사의 논문에서 처음 소개된 데이터베이스이다

- 관계형db는 릴레이션(Relation)과 릴레이션의 조인 연산을 통해서 합집합, 차집합 등을 만들 수 있다.

- 현재 기업에서 가장 많이 사용하는 db로 Oracle, MS-SQL, MySQL, Sybase 등 다양한 dbms 관리 시스템이 있다.

 

  • db와 dbms의 차이점

- db는 데이터를 어떠한 형태의 자료구조로 사용하느냐에 따라 나누어진다.

- db의 종류는 계층형, 네트워크형, 관계형 등이 있다.

- 계층형 데이터베이스는 트리(Tree) 형태로 데이터를 저장한다.

- 계층형 데이터베이스는 1대N 관계를 표현한다.

계층형 DB

- 네트워크DB는 1대N과 함게 M대N 표현도 가능하다

네트워크DB

- 관계형 DB는 릴레이션에 데이터를 저장하고 관리한다.

- 관계형 DB는 릴레이션을 사용해서 집합 연산과 관계 연산을 할 수 있다.

관계형DB

- 데이터베이스 관리 시스템 은 계층형DB, 네트워크DB, 관계형DB 등을 관리하기 위한 소프트웨어를 의미하며, 일명 DBMS 라고 불린다.

 

 

 

  • 관계형db 집합 연산과 관계 연산

집합연산

집합연산 설명
합집합(Union) - 두개의 릴레이션을 하나로 합하는 것이다.
- 중복된 행(튜플)은 한번만 조회된다.
차집합(Difference) 본래 릴레이션에는 존재하고 다른 릴레이션에는 존재하지 않는 것을 조회한다.
교집합(Intersection) 두 개의 릴레이션간에 공통된 것을 조회한다.
곱집합(Cartesian product) 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산한다.

 

관계연산

관계연산 설명
선택 연산(Selection) 릴레이션에서 조건에 맞는 행(튜플)만을 조회한다
투명 연산(Projection) 릴레이션에서 조건에 맞는 속성만을 조회한다.
결합 연산(Join) 여러 릴레이션의 공통된 속성을 사용해서 새로운 릴레이션을 만들어낸다.
나누기 연산(Division) 기준 릴레이션에서 나누는 릴레이션이 가지고 있는 속성과 동일한 값을 가지는 행(튜플)을 추출하고 나누는 릴레이션의 속성을 삭제한 후 중복된 행을 제거하는 연산이다.

 

 

 

 

  • 테이블(Table)의 구조

- 릴레이션은 최종적으로 dbms에서 테이블로 만들어진다.

테이블(Table) 구조

- 기본키(Primary key) 는 하나의 테이블에서 유일성(Unique)과 최소성, Not Null 을 만족하면서 해당 테이블을 대표하는 것이다. EMP테이블에서는 사원번호가 기본키가 된다.

- 테이블은 행과 칼럼으로 구성된다. 그중에서 행은 하나의 테이블에 저장되는 값으로 튜플(Tuple) 이라고도 한다.

- 칼럼(Column)은 어떤 데이터를 저장하기 위한 필드(Feild)로 속성(Attribute)이라고도 한다.

- 외래키(Foreign key)는 다른 테이블의 기본키를 참조(조인)하는 칼럼이다. 예를들어 EMP테이블의 부서코드는 DEPT 테이블의 기본키인 부서코드를 참조한다.

- 외래키는 관계 연산 중에서 결합 연산(Join) 을 하기 위해서 사용한다.

 

 

 

 

오늘은 여기까지