[ DB & SQL(RDBMS, NoSQL) 면접 준비 ] DB/SQL 면접 준비 01
Ⅰ. 데이터베이스의 특징에 대해서 설명해주세요.
1. 실시간 접근성(Real-Time Accessibility)
: 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 합니다.
사용자가 요청한 데이터에 즉각적으로 접근 할 수 있도록 하여 신속한 의사결정을 지원합니다.
ex) 온라인 쇼핑몰에서 상품 재고 조회 시 >> 유저는 실시간으로 현재 재고 상태 확인 가능.
2. 지속적인 변화(Continuous Evolution)
: 데이터베이스의 상태는 동적입니다.
즉, 새로운 데이터 삽입(Insert), 삭제(Delete), 갱신(Update)로 항상 최신의 데이터를 유지해야 합니다.
지속적인 변화는 데이터베이스가 항상 최신 정보를 반영하도록 하여,
사용자에게 정확하고 신뢰할 수 있는 데이터를 제공합니다.
3. 동시 사용 가능성(Concurrent Sharing)
: 데이터베이스는 다양한 목적을 가진 여러 사용자가 동시에 접근할 수 있도록 설계되어야 합니다.
다수의 사용자가 동일한 데이터에 접근하고 활용할 수 있게 하여서, 협업과 효율성을 극대화합니다.
4. 내용에 의한 참조(Content Reference)
: 데이터베이스에서 데이터를 참조할 때, 사용자는 데이터 레코드의 주소나 위치가 아니라
원하는 데이터의 내용에 따라 검색할 수 있습니다.
사용자가 직관적으로 필요한 정보를 찾을 수 있도록 하여서, 데이터 접근성을 높입니다.
Ⅱ. 데이터베이스의 언어(DDL, DML, DCL)에 대해 설명해주세요.
◆ DDL ( 정의어 : Data Definition Language ) : 데이터베이스 구조를 정의, 수정, 삭제하는 언어
=> [ alter, create, drop ]
○ ALTER : 기존 데이터베이스 객체의 구조를 변경합니다.
○ CREATE : 새로운 데이터베이스 객체(테이블,뷰 등)를 생성합니다.
○ DROP: 데이터베이스 객체를 삭제합니다.
◆ DML( 조작어 : Data Manipulation Language ) : 데이터베이스내의 자료 검색*삽입*갱신*삭제를 위한 언어
=> [ select, insert, update, delete ]
○ SELECT: 데이터베이스에서 데이터를 조회합니다.
○ INSERT: 새로운 데이터를 데이터베이스에 추가합니다.
○ UPDATE: 기존 데이터를 수정합니다.
○ DELETE: 데이터베이스에서 데이터를 삭제합니다.
◆ DCL ( 제어어 : Data Control Language ) : 데이터에 대해 무결성 유지, 병행 수행 제어, 보호와 관리를 위한 언어
=> [ commit, rollback, grant, revoke ]
○ COMMIT: 트랜잭션의 변경 내용을 확정합니다.
○ ROLLBACK: 트랜잭션의 변경 내용을 취소합니다..
○ GRANT: 사용자에게 특정 권한을 부여합니다.
○ REVOKE: 사용자에게 부여된 권한을 취소합니다.
Ⅲ. SELECT 쿼리의 수행 순서.
" FROM -> ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT "
1. FROM
- 쿼리에서 사용할 테이블을 지정합니다.
- 데이터의 출처가 결정되며, 여러 테이블을 조인할 수 있습니다.
2. ON
- 조인 조건을 정의합니다.
- 이 조건은 두 개 이상의 테이블을 결합할 때 어떤 기준으로 데이터를 연결할지를 결정합니다.
3. JOIN
- 지정된 조인 조건에 따라서 테이블이 결합되어 데이터가 집합(Set)으로 모아집니다.
- 이 과정에서 '서브쿼리'를 사용할 수 있으며, 이를 통해 임시 테이블을 생성 가능합니다.
4. WHERE
- 데이터 셋이 형성된 후, WHERE 절의 조건이 개별 행에 적용됩니다.
- 이 조건은 FROM 절에서 가져온 데이터에 필터링을 적용하여 원하는 결과를 도출하는데 사용됩니다.
5. GROUP BY
- WHERE 절의 조건이 적용된 후, 남은 행들은 GROUP BY 절에 지정된 열의 공통값을 기준으로 그룹화됩니다.
- 이 절은 집계 함수(COUNT, SUM 등) 와 함께 사용되어야 합니다.
6. HAVING
- GROUP BY 절이 있는 경우, HAVING 절의 조건이 그룹화된 결과에 적용됩니다.
이는 그룹화된 데이터에 대한 추가적인 필터링을 가능하게 합니다.
7. SELECT
- SELECT 절에서 지정된 열이나 표현식이 최종적으로 선택됩니다.
이 단계에서 최종 결과셋이 결정됩니다.
8. DISTINCT
- SELECT 절에서 중복된 행을 제거하여, 고유한 결과값많 반환합니다.
데이터의 중복을 방지하는데 유용합니다.
9. ORDER BY
- 결과셋을 특정 열을 기준으로 오름차순(ASC) 또는 내림차순(DESC)으로 정렬합니다.
- 이 단계는 결과의 가독성을 높이는 데 도움을 줍니다.
10. LIMIT
- LIMIT절을 사용하여, 반환할 행의 수를 제한합니다.
필요한 데이터만 선택저으로 출력할 수 있습니다.
'면접준비[프론트,백,데이터,CS] > InterView 준비 [ DB,데이터,클라우드 ]' 카테고리의 다른 글
[ DB & SQL(RDBMS, NoSQL) 면접 준비 ] DB/SQL 면접 준비 03 (0) | 2025.01.10 |
---|---|
[ DB & SQL(RDBMS, NoSQL) 면접 준비 ] DB/SQL 면접 준비 02 (0) | 2024.12.17 |