[SQL] 데이터베이스 개요

👑 데이터베이스

일상생활 속에서 쏟아져 나오는 다양한 정보들을 수집, 처리하고, 분석, 응용하는 것은

기업이나 조직, 또는 개인에게 필수가 되었다. 데이터베이스는 넓은 의미에서 이러한 정보들을

일정한 형태로 모아 놓은 것을 의미한다. 예를 들어 기업에서는 직원들의 이름, 부서 등의 정보를

취합하여 모아두고, 은행에서는 고객의 정보들을 모아두고 관리할 것이다.

하지만, 관리해야 할 데이터의 양이 점점 많아지고, 데이터를 여러 방면으로 사용하게 되는 상황이

생기면서 단순한 소프트웨어로는 방대한 데이터를 관리하기가 어려워지는 상황이 발생하였고, 따라서

데이터를 효율적으로 관리/사용하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되는데, 이러한

시스템을 DBMS (Database Management System) 라고 한다.


👑 SQL

SQL (Structured Query Language) 은 관계형 데이터베이스에서 데이터의 정의, 조작, 제어를 하기

위해 사용하는 언어이다. SQL은 개발 언어이긴 하지만, 다른 프로그래밍 언어와는 달리 관계형

데이터베이스에 접속하기 위한 용도로 사용되는 언어이다. 즉, 특정 데이터들의 집합에서 필요로 하는

데이터를 조회하고, 데이터를 입력, 수정, 삭제하는 행위를 위한 언어라고 볼 수 있다.

SQL 문장은 데이터를 조작하는 DML, 데이터를 정의하는 DDL, 데이터를 제어하는 DCL, TCL

로 나눌 수 있다. (TCL의 경우 일부에서 DCL로 분류하기도 한다.)


👑 데이터베이스와 테이블

데이터는 관계형 데이터베이스의 기본 단위인 테이블 형태로 저장된다. 테이블 (TABLE) 은 데이터를

저장하는 객체이며, ColumnRow로 구성되어 있다. 예를 들어, 과일들의 정보를 담기 위한 ‘Fruit’

테이블을 만들었다고 한다면, 테이블의 Column에는 과일들의 Attribute가 들어갈 것이고, 각 과일들에

대한 데이터를 Row 로 구성하여 저장할 것이다. Row 데이터를 튜플(Tuple) 이라고도 한다.

만약 과일과 관련된 데이터를 저장할 때 하나의 테이블에 수십 가지의 칼럼 데이터를 저장한다면,

데이터 조회, 입력, 수정, 삭제 시 이상현상이 발생할 수 있다. 따라서 데이터를 여러개의 테이블로

분할하여 데이터의 불필요한 중복을 줄이는 정규화(Normalization) 등의 과정을 거쳐야 한다.

각 튜플을 식별할 수 있는 column기본 키(Primary Key)라고 하며, 다른 테이블의 기본 키를

참조하는 테이블 간의 관계를 설정하는 column외부 키(Foreign Key)라 한다.

그림의 예시에서 과일 테이블의 과일코드주문 테이블의 주문코드기본키가 되며,

과일 테이블의 과일코드는 기본 키로 사용되며 다른 테이블과의 관계를 연결하는 역할을 하기에

외부키가 된다.

Categories:

Updated:

Leave a comment