DBA 면접 질문

1. RDBMS가 뭔가요?
관계형 데이터 베이스 관리 시스템

2. 정규화가 뭔가요?
 데이터베이스 중복을 최소화하여( 무결성 등..) 데이터를 구조화

3. 각 정규형의 차이점은 무엇인가요? (1, 2, 3차 등)
- 1차: 모든 속성을 최소의 의미 단위로 분할
- 2차: 키가 아닌 속성(non key)이 완전하게 함수 종속
- 3차: 모든 속성은 UID에 직접 종속(이행 종속 제거)

4. 저장 프로시저는 무엇인가요?
- 하나 이상으로 구성된 Trasact-SQL문을 데이터베이서에 저장한 개체
매번 비슷한  SQL문을 실행해야하는 경우 데이터베이서에 저장하여 빠르게 처리할 수 있도록 한 개체

5. 트리거는 무엇인가요?
- DBMS 기능의 하나로 테이블에 어떤 조작이 가해졌을 때 미리 지정해 놓은 처리를 자동으로 동작시킴

6. 뷰는 무엇인가요?
 DBMS관리자가 임의로 유도하여 만든 테이블 ( 기본테이블에서 유도된 가상테이블)
- 여러 사용자들에게 차등 대우, 사용자의 데이터 관리가 간단, 데이터 은닉을 위한 자동보안 제공

7. 인덱스는 무엇인가요?
- 테이블에서 데이터를 빨리 찾을 수 있게 데이터의 위치정보를 모아둔 개체(Object)

8. 클러스터드 인덱스와 넌클러스터드 인덱스의 차이는 무엇인가요?
- 클러스터드 인덱스 = 인덱스의 순서대로 실제 레코드가 위치 ( 데이터의 물리적 정렬, Data가 leaf )
- 넌클러스터드 인덱스 = 물리적으로 데이터를 정렬하지 않는 대신 위치정보를 인덱스로 구성( Index가 leaf)

9. 테이블에 설정될 수 있는 인덱스 형태들은 어떤 형태들이 있나요?
- 클러스터드 인덱스, 넌클러스터드 인덱스

10. 커서는 무엇인가요?
- 특정 행을 지정하여 각각의 레코드 단위로 데이터를 처리하기 위한 SELECT 문장의 결과 집합(RECORD SET)
쓰지말라더라

11. DBCC 명령어는 어떤것들을 사용해 보았나요?
12. 연결된 서버는 무엇인가요?
- 다른 데이터베이스에 연동하여 명령을 내리거나 접근할 수 있게 구축한 서버

13. 데이터 정렬(Collation)은 무엇인가요?
- 데이터 값에 대한 오름차순, 내림차순 정렬

14. 데이터 정렬 종류는 어떤 것들이 있나요?
- ORDER BY절에서의 asc, desc

15. 프라이머리 키와 유니크 키의 차이는 무엇인가요?
- Primary Key 는 Unique Key의 부분집합으로 테이블에서 하나만 존재

16. 일대일일대다다대다 관계의 테이블 설계는 어떻게 하나요?
1:1 특별한 경우 아니면 한테이블로 합침 1:다 다쪽에 1의 candidate key를 foreign key로 넣음 다:다 다:1:다로 풀어서 설계함

17. NOLOCK이 무엇인가요?
- Read Uncommitted와 같다

18. DELETE 명령어와 TRUNCATE 명령어의 차이는 무엇인가요?
- DELETE : 테이블내 데이터를 삭제하고 트랜잭션 로그에 항목을 기록
- TRUNCATE : WHERE 절 없는 DELETE 문과 같지만 더 빠르고 시스템과 트랜잭션 로그 리소스를 절약
  데이터 페이지 할당을 취소하는 식으로 데이터 삭제하고 페이지 취소만을 트랜잭션 로그에 기록
del은 테이블 자체가 없어짐 truncate는 data가 날라감

19. Sql Server에서 지원하는 조인방식은 어떤 것들이 있나요?
- NL JOIN ( Nasted Loop Join )
- Sort Merge Join
- Hash Join
- Scalar Subquery

20. HAVING 절과 WHERE 절과의 차이는 무엇인가요
- HAVING - GROUP BY로 그룹화 한 이후 특정 필드에 조건
- WHERE  - 조건 절에 맞는 정보를 가져와서 GROUP BY로 그룹화

21. 서브쿼리가 무엇인가요?
- 쿼리문 내부에 쿼리문이 또 있음

22. 서브쿼리의 결과 종류는 어떤 것들이 있나요?
-반환값에 따라 두 종류로 나눔
- 단일 행 서브 쿼리 = 연산자( >, => , =, <=, <, <>)
- 복수 행 서브 쿼리 = 연산자( IN, ANY, ALL 등)

23. 프로파일러는 무엇인가요?
- DB가 돌고 있을 때 로그 남기기

24. 사용자정의함수는 무엇인가요?
- 시스템 함수와 다르게 사용자가 임의로 정의한 함수

25. 사용자정의함수의 결과 종류는 어떤 것들이 있나요?
 스칼라 결과값과 테이블(집합)결과값

26. SQL Server TCP/IP 포트는 무엇인가요바꿀 수 있나요?
- 1433, 변경가능

27. SQL Server의 인증 모드는 어떤것이 있나요바꿀 수 있나요?

35. 지역 임시 테이블과 전역 임시 테이블의 차이는 무엇인가요?
- 지역 임시 테이블 ( 지역변수랑 같은 개념 )
- 전역 임시 테이블 ( 전역변수랑 같은 개념 )

36. DB이름을 바꿀 수 있는 명령어는 무엇인가요?
RENAME TABLE 테이블이름1 to 테이블이름2;

40. 유저의 권한 변경 키워드 3개는 무엇이 있나요?
- grant, revoke 외 1개=_=;

45. 프라이머리키와 포린키는 무엇인가요?
- Primary Key : candidate key에서 임명 받음
- Foreign Key : 다른 테이블에서 빌려옴
46. 무결성이 무엇인가요제약 조건들에 대해서 설명해주세요.
- 무결성 : 저장된 데이터의 일관성을 유지

48. 반정규화가 무엇인가요?
정규화된 엔티티, 속성, 관계를 시스템의 성능 향상, 개발과 운영을 단순화하기 위해 데이터 모델을 통합
- 즉 데이터의 정합성과 데이터의 무결성을 우선으로 할지 데이터베이스 구성의 단순화와 성능을 우선으로 할지를 결정 

50. Identity 컬럼이 무엇인가요?
- 초기값으로 시작해서 증가값 만큼 DB에서 알아서 처리

52. 어떤 인덱스도 가지고 있는 않은 테이블을 무엇이라고 부르고 무슨 목적으로 사용하나요?
- 읽기 보단 업데이트가 많이 일어나고 인덱스 없이 쓰는게 더 낳은 규모가 작은 데이터인 경우

53. BCP는 무엇인가요어떤 경우에 사용하나요?
- 데이터를 한번에 집어 넣을 때 사용

54. JOIN절 대신에 서브쿼리를 대체할 수 있나요?
- 특별한 경우를 제외하고 느리기 때문에 잘 안씀

58. 셀프 조인이 무엇인가요?
- 자기 자신을 조인 참조

59. 크로스 조인이 무엇인가요?
N*M이 나오도록 조인, N과 M은 join하는 테이블의 행 수

61. 저장프로시저의 장점들을 설명해주세요.
- 컴파일을 하지 않아서 빠름
- 네트워크에서 주고받는 SQL문의 트래픽 절감
- 보안 관리가 쉬움
- 매개변수 사용 가능
- Output 변수 사용 가능
- 리턴값 사용 가능
- 원격 프로시저를 이용하면  원격 서버의 데이터 처리 가능

출처: http://www.sqler.com


이 블로그의 인기 게시물

웹툰 무료로 볼 수 있는 사이트

BackJoon 1011, Fly me to the alpha centauri, 규칙 찾기 문제

BaekJoon 6591, 이항 쇼다운 조합문제