최보름달

[SQL] 관계형 데이터베이스/ SQL 본문

문송한 회사생활/SQL 공부

[SQL] 관계형 데이터베이스/ SQL

PieMoon 2020. 7. 20. 23:38

관계형 데이터베이스

파일시스템의 경우, 하나의 파일을 많은 사용자가 동시에 검색할 수는 있지만 동시에 입력, 수정, 삭제할 수 없기 때문에 정보의 관리가 어렵다. 

파일시스템은 분산된 데이터 간의 정합성을 유지하는데 과다한 노력이 필요하게 되고 데이터의 정합성을 보장하기 힘들다. 

 

이러한 문제에 대해 관계형 데이터베이스는 정규화를 통한 합리적 테이블 모델링을 통해 이상 현상을 제거하고 데이터 중복을 피할 수 있으며, 동시성 관리, 병행 제어를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작할 수 있는 기능을 제공하고 있다. 

 

관계형 데이터베이스는 메타 데이터를 총괄 관리할 수 있기 때문에 데이터의 성격, 속성 또는 표현방법 등을 체계화 할 수 있고, 데이터 표준화를 통한 데이터 품질을 확보할 수 있는 장점을 가지고 있다. 

 

 

SQL

Structured Query Language 는 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 하기 위해 사용하는 언어이다. '에스큐엘'로 읽는다. 

 

SQL 문장의 종류

Data Manipulation Language

- select : 데이터를 조회하거나 검색하기 위한 명령어

- insert, update, delete : 데이터 변경을 가하는 종류의 명령어

 

Data Definition Language

- create, alter, drop, rename: 데이터 구조를 정의하는데 사용하는 명령어

 

Data Control Language

- grant, revoke : 데이터베이스 접근, 권한 부여, 회수하는 명령어

 

Transaction Control Laguage

- commit, rollback : DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어

 

Table

관계형 데이터베이스의 기본 단위는 테이블 형태로 저장된다. 

모든 자료는 테이블에 등록이 되고, 우리는 테이블로부터 원하는 자료를 꺼내 올 수 있다. 

 

관계형 데이터베이스에서는 모든 데이터를 컬럼과 행의 2차원 구조로 나타낸다. 

세로 방향을 칼럼(열), 가로 방향을 , 하나의 공간을 필드라고 한다. (엑셀이라고 생각하면 됨)

 

각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 컬럼을 기본키(Primary Key) 라고 한다. 

다른 테이블의 기본 키로 사용되면서 테이블과의 관계를 연결하는 역할을 하는 컬럼을 외부 키(Foreign Key)라고 한다. 

 

ERD

Entity Relationship Diagram. 다른 테이블과의 연관성이나 관계를 직관적으로 표현하는 수단. 

 

 

 

* 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다