본문 바로가기

프로그래밍

코린이가 기본적으로 알아야 하는 DBMS 지식

SQL 관련 책들은 대부분 두껍고, 어려운 개념들이 조금 들어가 있다.

DB 자체에 대해서 다루는 책이라면 더욱 그렇다.

정보처리 자격증 공부를 하게 되면 나오게 되는 정규화니 뭐니 하는 것들은 볼 땐 알겠지만 보고 나면 헷갈린다.

 

이 모든 것들을 알면 물론 좋다.

하지만 어디에서나 시작은 있어야 하는 법이며, 시작이 반이다.

그러니 그 반을 가기 위해서 필요한 최소한의 지식을 적어보고자 한다.

 

이는 모든 DBMS를 공통으로 한다.

모든 DBMS에서 공통으로 적용되는 것들을 다룰 것이다.

ex) nchar와 같은 자료형은 특정 DBMS에 없으니 다루지 않는다.

 

1. DB의 꽃 CRUD

CRUD는 Create, Read, Update, Delete이며 데이터를 추가,조회,수정,삭제하는 것을 의미한다.

예시 코드는 아래와 같다. 참고로 DB에서는 코드를 쿼리라고 부르거나 SQL문이라고 부른다.

(Structured Query Language: SQL, 구조적 질의어)

 

참고로, 데이터를 저장하는 공간은 테이블이라고 한다.

이러한 테이블들이 모인 곳을 DB라고 하며, DB를 다루는 소프트웨어를 DBMS라고 한다.

 

여기서 재밌는 사실은 테이블 생성쿼리가 아니라 테이블에 있는 값에 접근하는 쿼리라는 점이다.

테이블 생성 쿼리는 잘 모를 수 있다. 어차피 테이블 만들어주는 GUI 많다.

하지만 개발자라면 테이블에 데이터를 추가하거나 읽거나 수정 및 삭제할 줄은 알아야 한다.

 

예시 쿼리들

1-1) 추가

Insert into 테이블명(열1, 열2, 열3) values (값1,값2,값3);   (끝에 세미콜론은 반드시 붙일 것)

ex) Insert into Student(name, age, num) values ('홍길동',30,1);

 

1-2) 조회 

이 것만 제대로 말 해도 DBMS 배운 티는 낼 수 있다.

select * from 테이블명

ex) select * from Student; 

+) 이 끝에 where 절이 붙게 되면 다양한 값들을 조회할 수 있고,  order by가 붙으면 내가 원하는 기준대로 정렬이 가능

 

1-3) 수정

update 테이블명 set 열이름=값 where 특정열이름=값; (where절 생략시 테이블의 모든 값이 다 바뀐다)

ex) update Student set name='김길동' where num =1;

 

1-4) 삭제

delete from 테이블명 where 컬럼명=값; (where절 생략시 지옥을 맛 볼 수 있다.)

ex) delete from Student where num=1;

 

2. 데이터 관리에 필수적인 2개의 키 기본키와 외래키

기본키(PK, Primary Key) : 주민등록번호와 같이 중복되면 안 되며 생략되서도 안 된다.

외래키(FK, Foreign Key) : 다른 테이블의 값을 참조하며, 중복될 순 있다. 하지만 참조된 테이블에 없는 값을 가져오지 못한다.

ex) 성별 코드 1-남, 2-여, 3-알수없음 일 경우에 성별 코드를 4를 입력할 수 없다. 여기선 1,2,3만 입력 가능

 

추가적으로 알아야 할 것들은 물론 더 있다.

하지만 내가 보기엔 위의 2가지만 알면 최소한의 공부 및 포트폴리오 제작은 할 수 있을 것이라고 한다.

특히 2번의 경우 PK까지만 알아도 최소한의 포트폴리오는 만들 수 있다.

join, group by와 having, 중첩질의 및 view 그리고 함수,프로시저와 트리거 정도를 더 알면 금상첨화다.

정규화등도 묻는 곳이 있지만 이거저거 다 따지다보면 DBMS만 하다가 몇 달 훅간다.

 

어디까지나 코딩을 처음 시작한 사람을 기준으로 작성된 글이니

공감이 되지 않으신 분들도 너그럽게 이해해주시면 감사드리겠다.