여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 데이터이다.
Oracle, MySQL, MariaDB, PostgreSQL, MS-SQL 등이 있다.
SQL( Structured Query Language )는 데이터를 쿼리, 조작 및 정의하고 액세스 제어를 제공하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어이다.
데이터베이스를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 한다.
정의된 데이터베이스에 입력된 레코드를 조회, 수정, 삭제 등의 역할을 한다.
데이터베이스에 접근하거나 객체에 권한을 주는 등의 역할을 한다.
정규화는 함수의 종속성 이론을 통해 데이터의 중복성을 최소화하고 일관성 등을 보장하여 데이터베이스의 품질과 성능을 향상시키는 과정이다. 정규화 수준이 높을수록 유연한 데이터 구축이 가능하고 데이터의 정확성이 높아지는 반면, 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능이 저하된다는 특징이 있다.
트랜잭션(Transaction)이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다.
원자성 ( Atomicity ) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료 ( Commit ) 되든지 아니면 전혀 반영되지 않도록 복구 ( Rollback )되어야 함
일관성 ( Consistency ) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
독립성 ( Isolation ) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음
지속성 ( Durability ) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
데이터베이스의 가장 중요한 개념만 정리를 했다. 추후 좀 더 자세하게 공부하면서 글을 써봐야겠다.