[ 데이터베이스 ] DBMS, SQL, TABLE
DBMS 필요성
일반적으로 데이터베이스라고 말할 때는 특정 기업이나 조직 또는 개인이 필요에 의해 부가가치가 발생하는 데이터를 일정한 형태로 저장해 놓은 것을 의미한다. 관리 대상이 되는 데이터의 양이 점점 많아지고, 같은 데이터를 여러 사람이 동시에 여러 용도로 사용하게 되면서, 단순히 엑셀 같은 개인이 관리하는 소프트웨어 만으로는 한계에 부딪히게 된다. 사람들은 보다 효율적인 데이터의 관리뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되었고, 이러한 기본적인 요구사항을 만족시켜주는 시스템을 DBMS라고 한다.
관계형 데이터베이스
기업의 핵심 데이터는 대부분 관계형 데이터베이스 구조로 저장이 되고, 관계형 데이터베이스를 유일하게 조작할 수 있는 SQL 문장에 의해 관리되고 있으므로 관계형 데이터베이스와 SQL의 중요성은 아무리 강조해도 지나치지 않는다. 관계형 데이터베이스는 정규화를 통한 합리적인 테이블 모델링을 통해 데이터 이상현상을 제거하고, 데이터 중복을 피할 수 있으며, 동시성 관리, 병행 제어를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작할 수 있는 기능을 제공하고 있다.
SQL
SQL의 문법은 다른 개발 언어에 비해 기초 단계 학습은 쉬운 편이지만, SQL이 시스템에 미치는 영향이 크므로 고급 SQL이나 SQL 튜닝의 중요성은 계속 커지고 있다. SQL 기본 교육은 정확한 데이터를 출력하는 것이 목표이고, SQL 고급 교육의 목적은 시스템에 큰 영향을 주는 SQL을 가장 효과적으로 작성하는 것이 목표이다. SQL은 독립된 하나의 언어이다. SQL은 관계형 데이터베이스에 대한 전담 접속 용도로 사용되며 세미콜론(;)으로 분리되어 있는 SAL 문장 단위로 독립되어 있다.
SQL 종류
명령어의 종류 | 명령어 | 설명 |
데이터 조작어 DML (data manipulation language) |
SELECT | 데이터 조회, 검색 명령어, RETRIEVE |
INSERT, UPDATE, DELETE | 테이블 데이터 변형 명령어 | |
데이터 정의어 DDL (data definition language) |
CREATE, ALTER, DROP, RENAME | 테이블 데이터 구조 정의 명령어 |
데이터 제어어 DCL (data control language) |
GRANT, REVOKE | 데이터베이스 객체 권한, 회수 명령어 |
트랜잭션 제어어 TCL (transaction control language) |
COMMIT, ROLLBACK | DML 조작 결과를 작업단위(트랜젝션) 별로 제어하는 명령어 |
TABLE
TABLE은 데이터를 저장하는 객체로서 관계형 데이터베이스의 기본 단위이다. 모든 자료는 테이블에 등록이 되고, SQL을 이용해 테이블로부터 원하는 자료를 꺼내 올 수 있다.
테이블 : 행(row)과 열(column)의 2차원 구조를 가진 데이터 저장 장소, 데이터베이스의 가장 기본적인 구성 요소이다.
열/칼럼 : 2차원 구조를 가진 테이블에서 세로 방향으로 이루어진 각각의 특정 속성
행/로우 : 2차원 구조를 가진 테이블에서 가로 방향으로 이루어진 연결된 데이터, 레코드(recode)라고도 불린다.
정규화 : 테이블을 분할하여 데이터의 정합성을 확보하고, 불필요한 중복을 줄이는 프로세스
기본키 : 테이블에 존재하는 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 칼럼
외부키 : 다른 테이블의 기본 키로 사용되고 있는 관계를 연결하는 칼럼
'Back-End > SQL 개발자 자격증' 카테고리의 다른 글
[ 데이터베이스 ] DML (INSERT, DELETE, SELECT, ALIAS, DUAL) (0) | 2023.09.29 |
---|---|
[ 데이터베이스 ] ALTER TABLE, TRUNCATE, DROP, DELETE 차이 (0) | 2023.09.28 |
[ 데이터베이스 ] 제약조건, NULL, CTAS (0) | 2023.09.27 |
[ 데이터베이스 ] ERD, 데이터 유형, 테이블 생성규칙 (0) | 2023.09.26 |
[Oracle] 오라클 ORA-28000, ORA-28002 오류 해결 (1) | 2023.09.05 |