본문 바로가기
Infra & Security Eng/Database Engineering

SQL 기초 (RDBMS, SQL 명령어 종류, 테이블 가독성 높이는 작업, 테이블 당 각 용어 정리)

by 엔지니어 E 2026. 1. 23.
반응형

RDBMS와 SQL

RDBMS(관계형 데이터베이스 관리 시스템)는 데이터를 필드(Field, 속성)와 레코드(Record, 데이터 단위)로 구성된 테이블(Table) 형식으로 구조화하여 저장하고 관리하는 소프트웨어 시스템 이다
이 시스템 내에 저장된 데이터를 제어(조회·입력·수정·삭제)하기 위해서는 반드시 SQL(구조화 질의 언어)이라는 표준 통신 언어를 사용해야 한다
 

SQL 명령어 종류

1. DQL(질의)SELECT데이터를 조회할 때 사용
2. DML(조작)INSERT, UPDATE, DELETE데이터 입력, 수정, 삭제
3. TCL(제어)COMMIT, ROLLBACK작업을 확정 혹은 취소(되돌리기)
4. DDL(정의)CREATE, ALTER, DROP테이블 자체를 생성, 변경, 삭제

 

효율적인 실습 환경을 위한 환경 설정

터미널 환경에서 가독성을 높이기 위해 세팅을 먼저 해놓는다

1. 메모장을 켜서 기본값 명령어들을 적는다
set line 100
set pages 100
cold ename format a10
* ename 이 아닌 dname 을 적으면 HDATE 가 나오게 된다
col job format a10 

=> 자동 실행이 안되므로 메모장에 저장을 해놔야 한다

2. 파일이름 login.sql 로 바꾸고, 파일 형식은 모든 파일로 바꾼다 (저장은 사용자 - ast19 폴더 안에 넣는다)

3. cmd 에서 @login 을 입력하고, select * from emp; 를 입력 하면 테이블이 깔끔하게 나온다 

* 매번 설정을 입력하기 번거로우므로, 메모장에 자주 쓰는 설정을 적어 login.sql로 저장한 뒤 @login 명령어로 한 번에 불러올 수 있다 

 

테이블 각 용어들 정리

1. ENO사번
2. JOB하고 있는 업무 
3. MGR사수 사번 (안영희, 손하늘, 이승철이 안영숙의 사수가 됨)
4. COMM1년에 받는 보너스 
5. HDATE입사일 
6. SAL매달 받는 급여
7. DNO속해있는 부서 번호
💡참고사항 

김선유 -=> 남 * 이렇게 데이터가 잘못 적혀 있는 것을 무결성 오류 라고 한다 

 

각 명령어 정리 (+ 예시)

col [컬럼명] format a20: 해당 컬럼의 출력 길이를 20자로 고정(텍스트가 잘리거나 너무 길 때 사용)
* col tname format a20 
* col job format a10 - 테이블에서 job도 짧게 나오게 하고 싶을 때

set line 100: 한줄에 출력될 글자수를 100으로 설정 
set pages 100: 페이지당 출력 행수 설정
clear screen: 화면을 깨끗하게 지움
decs emp: 컬럼의 이름이 어떤건지만 확인하고 싶을 때 

* 어떤 컬럼에 어떤 데이터가 있는지 중요하다 

 

셀프 조인(Self Join)

자기 테이블을 스스로참조해서 조인하는 방식
예시1)

1. 왼쪽 그림 명령어: select * from dept; / 오른쪽 그림 명령어: select * from emp; 가 있다 
2. 여기에서 안영희의 직무는(=DNO) 01 총무이며, 부서의 위치는(=LOC) 서울 이다
이렇게 테이블을 참고하여 상하 관계를 파악하는 방식을 셀프 조인 이라고 한다 

* loc: 부서의 위치

* 만약 데이터를 추가 해야 될때 부모 테이블(select from dept----ex) 먼저 입력 -> 자식 테이블(select from emp -----ex을 입력하면 된다 

 
예시2)

SELECT * from salgrade; 명령어를 입력 하고, select * from emp; 로 급여 등급을 색출 해낼 수 있다 - 김선유 - 5등급 

💡참고사항

relation: 행이 될지 테이블이 될지는 문서를 정확히 읽어 봐야 한다 ( 다 다르게 사용 하고 있다)