데이터베이스 과목은 90점 이상을 목표로 해야 한다. 2과목 전자계산기 구조에서 까먹을 점수를 커버해줘야 하기 때문이다.  

 

- SQL 

DDL(데이터 정의어): 데이터베이스를 만들거나 관리하는 사람이 사용한다. Create, Alter, Drop이 있고 실습결과 테이블을 만들고, 수정하고 삭제하는 데 3가지 정의어를 사용했다.  

 

DML(데이터 조작어): 데이터베이스 사용자가 질의어(쿼리)를 이용해서 데이터베이스 내에 있는 데이터를 처리하는데 사용하는 언어다. 테이블 상에서 조건에 맞는 레코드를 선택하고(select), 필요한 레코드를 삽입하며(insert), 삭제하고 싶을 때는 delete, 변경하려면 update 사용한다. 

 

DCL(데이터 제어어): 말 그대로 데이터를 제어하는데 사용하는 언어로 데이터베이스 관리자가 관리 목적으로 사용하는 언어다(commit, rollback, grant, revoke) 

 

실습 시에는 조작어를 중심으로 사용을 하지만 정의어와 제어어에 대한 개념도 확실히 알고 넘어가야 한다. 

 

- 트랜잭션 

트랜잭션은 독립성, 일관성, 원자성, 영속성의 특징을 가진다. 영어를 그대로 번역해서 표현하다 보니 딱딱해 보이지만 상식적인 이야기다. 트랜잭션이 일어나고 있다면 다른 연산이 끼어들 수 없다(독립성), 연산의 결과는 성공 or 실패 2가지뿐이다. 길게 작성한 코드에서 잘못된 부분이 하나라도 있다면 연산은 실패다(원자성), 트랜잭션이 일어났다면 이후에 시스템이 고장이 나더라도 이미 발생한 트랜잭션에는 변화가 없다(영속성) 

 

- 개인키 암호 방식 vs 공개키 암호 방식 

컴퓨터 활용능력 필기에도 나오는 단골 문제 중 하나다. 개인키는 비밀키라고도 하며 데이터베이스의 사용권한이 있는 유저에게만 개인키를 부여한다. 속도가 빠르다는 장점이 있지만 데이터베이스에 접근하는 유저가 많아지면 관리해야 할 개인키가 많아진다는 단점도 존재한다.  

 


- 정렬 알고리즘 

내부 정렬은 소량의 데이터를 주기억장치에만 기억해서 정렬하는 방식이고, 외부 정렬은 대량의 데이터를 보조기억 장치에 기억해서 정렬한다는 차이가 있다. 이런 개념보다는 실제 정렬 알고리즘 별로 어떻게 작동하는 지를 아는 것이 중요하다. 

 

- 해싱 

해싱은 Hash Table이라는 공간을 주고 hash function을 사용해서 레코드를 활용하는 방법이다. 속도는 빠르지만 공간을 많이 차지한다는 단점이 있다.  

 

기본 개념에 대한 이해는 당연하고 암기 또한 필요하다. 시간이 허락하는 한 개념은 문제 풀이를 하면서도 계속 익혀 나가야 한다. 

 


+ Recent posts