관계형 데이터베이스 개요
-
데이터베이스
- 넓은 의미 : 일상적인 정보들을 모아 놓은 것 자체
- 일반적인 의미 : 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것
- 쏟아져 나오는 다양한 정보들을 수집, 처리, 분석, 응용하는 것의 필요성이 높아지면서 발생
- 데이터베이스의 발전
- 1960s : 플로우차트 중심의 개발
- 1970s : 데이터베이스 관리 기법이 처음 태동
- 1980s : 오라클, 시베이스 등의 RDB 상용화
- 1990s : 기존의 제품들이 향상됨, 객체 RDB로 발전
- RDB
- 1970년 코드 박사의 논문에서 처음 소개
- 오라클을 선발로 여러 회사에서 상용화 제품을 출시
- 계층형,망형 데이터베이스를 대체하며 주력 DB로 성장
- 데이터의 중복을 피하고 정합성을 보장하기 위해 RDB가 사용되기 시작했다
- RDB는 메타 데이터를 총괄 관리할수 있기 때문에 성격,속성 또는 표현 방법 등을 체계화 할 수 있다
- 데이터 표준화를 통해 데이터 품질을 확보할 수 있다
- 갑작스런 장애로부터 데이터가 정상적으로 반영될 수 있도록 보장해준다
- 시스템 다운, 재해 등의 상황에서도 데이터를 회복,복구할 수 있는 능력이 있다
-
SQL
- RDB에서 데이터 정의, 데이터 조작, 데이터 제어를 하기 위해 사용되는 언어
- ANSI/ISO를 통해 표준화되고 정의되어 오고 있다
- 일반적인 프로그래밍 언어와 달리, RDB에 대한 전담 접속용도로 사용되어 독립되어있다
- 수학의 집합 논리에 입각한 언어다
- DDL,DML,DCL로 나뉜다 (나중에 다룸)
-
TABLE
- 데이터베이스의 기본 단위
- 어느 특정한 주제와 목적으로 만들어지는 일종의
집합
- 테이블
- 행과 칼럼의 2차원 구조를 가진 데이터의 저장 장소이며, 데이터베이스의 가장 기본적인 개념
- 칼럼/열
- 2차원 구조를 가진 테이블에서 세로 방향으로 이루어진 하나하나의 특정 속성
- 행
- 2차원 구조를 가진 테이블에서 가로 방향으로 이루어진 연결된 데이터
- 정규화
- 이 테이블을 분할하여 불필요한 중복을 줄이는 것
- 입력/수정/삭제 시 발생할 수 있는 이상현상을 방지하기 위한 매우 중요한 프로세스
- 기본키와 외부키
- 기본키 : 테이블에 존재하는 각 행을 한가지 의미로 특정할 수 있는 한개 이상의 칼럼
- 외부키 : 다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼
-
ERD
- 다른 테이블과의 관계의 의미를 직관적으로 표현할 수 있는 수단
- Entity-Relation Diagram, 즉 엔티티와 관계를 설명하는 그림이다
- 내가 만들었던 ERD들