헤맨 만큼 내 땅
[SQL] 자격증 준비 (1) SQlD란? 본문
✨ 이 글의 흐름
1. SQLD 시험이란?
2. 데이터베이스가 뭘까?
3. 데이터 모델링이 중요한 이유
4. 오늘 배울 핵심 개념들 (엔터티, 속성, 관계, 식별자 등)
✅ SQDL 시험이란?
SQLD 자격증 시험은 SQL 개발자 자격 시험이에요.
총 2과목 50문항으로 구성되어 있고, 90분 동안 진행돼요.
- 객관식 40문항 + 단답형 10문항
- 총 100점 만점
- 과목당 40% 이상, 총 평균 60점 이상이면 합격!
- 합격률은 30~60%대로 유지되는 편이에요.
⚠️ 주의! 과락 기준이 있어요!
- 1과목: **8점 미만(4문제 미만)**이면 과락
- 2과목: **32점 미만(16문제 미만)**이면 과락
시험 구성은 이렇게 나뉘어요:
1과목 | 데이터 모델링의 이해 | 10문항 (객관식 8 + 주관식 2) |
2과목 | SQL 기본 및 활용, 최적화 | 40문항 |
시험 과목 | 과목별 세부 항목 | 항목수 |
데이터 모델링의 이해 |
|
10 문항(이론, 암기성향) **(객관식 8문제, 주관식 2문제) |
SQL 기본 및 활용 |
|
40 문항 |
시험 주요 내용
과목 | 장 | 절 |
데이터 모델링의 이해 | 데이터 모델링의 이해 |
|
데이터 모델과 성능 |
|
|
SQL 기본 및 활용 | SQL 기본 |
|
SQL 활용 |
|
|
SQL 최적화 기본 원리 |
|
https://www.youtube.com/watch?v=lxiEiAjp7d0&list=PL6i7rGeEmTvpLoDkB-kECcuD1zDt_gaPn
***이후부터는 이 영상을 정리한 내용입니다!!
Sqld가 뭐지? : 공부하기 전에 알아야 할 데이터 베이스 개념
✔️ DB란? _WHAT
데이터베이스는 여러 사람의 데이터를 한곳에 모아두고, 동시에 공유할 수 있는 저장소예요.
예전엔 각자 파일로 관리했기 때문에 수정사항이 생기면 모든 사람이 따로 업데이트해야 했죠.
하지만 DB가 생기면서, 한 사람이 데이터를 수정하면 모두가 그 정보를 실시간으로 공유할 수 있게 되었어요.
쉽게 말하면, 엑셀 파일 100개를 하나의 공간에서
실시간으로 관리하는 것이라고 보면 됩니다!
✔️ DB는 어떻게 쓰일까? _HOW
예를 들어 어떤 웹사이트에 로그인을 할 때를 생각해볼게요.
우리가 입력한 아이디와 비밀번호는 서버에서 코드가 실행되며 DB에 저장된 정보와 비교돼요.
- 만약 "zz123"이라는 아이디가 없다면?
→ "회원이 아닙니다"라는 메시지가 뜨겠죠!
즉, 웹사이트나 앱에서 거의 모든 기능의 핵심엔 DB가 있다고 보면 됩니다!
Sql라는 것은 근본적으로 무슨 역할을 하나?
SQL는 데이터베이스에서 정보를 관리하고 다루는 역할을 해요. 쉽게 말해, 우리가 원하는 정보를 조회하거나, 아이디를 뽑아오거나, 데이터를 조작하는 데 사용되는 도구라고 할 수 있습니다.
예를 들어, 어떤 사람이 직원 관리 프로그램을 만든다고 가정해보죠. 이 프로그램은 직원들의 이름, 연락처, 재직 여부, 부서 등을 저장하고 관리해야 합니다.
-> 그렇다면 이 데이터를 어디에 저장할까요?
당연히 데이터베이스에 저장해야겠죠. 하지만 문제는 우리가 그 데이터를 어떻게 잘 저장하고, 필요한 정보를 어떻게 추출할지 모른다는 점이에요.
여기서 중요한 개념이 바로 데이터 모델입니다.
데이터를 어떻게 저장할지, 각 데이터 간의 관계를 어떻게 정의할지를 결정하는 것이 바로 데이터 모델링이에요. 데이터 모델링이 잘 되어야, 나중에 우리가 원하는 정보를 쉽게 뽑아낼 수 있고, 시스템이 효율적으로 작동할 수 있습니다. 즉, SQL의 근본적인 역할은 데이터베이스에서 원하는 정보를 어떻게 잘 다루고 관리할 것인지를 정의하고, 이를 실제로 구현하는 과정에서 중요한 역할을 한다고 할 수 있습니다.
근데 이걸 어디에 어떻게 저장할건데?
어디에-> 데이터 베이스 어딘가에
어떻게 -> 이거를 알기 위해서가 데이터 모델이라는 개념을 알아야 함
데이터 모델링: 현실 세계의 대상을 어떻게 데이터베이스로 표현할까?
데이터 모델링은 현실 세계의 복잡한 대상을 추상화하고, 단순화하여 데이터베이스로 표현하는 과정이에요.
이 과정에서 중요한 것은 복잡한 정보를 보기 쉽게 정리하는 것입니다.
예를 들어, 직원 관리 프로그램을 만들 때 요구사항에 "이름, 연락처, 주소, 재직 상태" 등이 필요하다고 할 수 있죠.
: 하지만 이 요구사항만 나열해 놓으면 너무 막연하고 이해하기 어려울 수 있어요.
그래서 우리는 이 정보를 단순화하고 명확하게 표현할 수 있어야 해요.
예를 들어, 직원에 대한 정보를 관리한다고 했을 때, 각 항목을 엑셀처럼 정리하고, 데이터를 어떻게 저장할지를 계획하는
: 것이 바로 데이터 모델링입니다.
이제 이를 좀 더 구체적으로 살펴볼게요.
데이터 모델링을 쉽게 이해하는 예시: 집을 만드는 과정
데이터 모델링을 설명할 때, 집을 짓는 과정에 비유할 수 있습니다.
집을 짓기 위해서는 우선 설계도를 그려야겠죠. 하지만 처음부터 상세한 설계도는 그릴 수 없어요. 그래서 처음에는 간단한 그림을 그려요. 예를 들어, "지붕이 있으면 좋겠고, 창문도 필요하고, 굴뚝도 있으면 좋겠다"라는 생각을 떠올리고, 이를 간단히 그립니다. 이 단계는 개념적 데이터 모델링이라고 할 수 있습니다.
그 다음에는 이 간단한 그림을 더 상세하게 그리죠. "지붕은 기와로 해야겠다, 창문은 두 겹으로 해서 추위를 막아야겠다" 이런 식으로 구체적인 설계를 합니다. 이 과정이 바로 논리적 데이터 모델링입니다. 마지막으로, 실제로 집을 지을 때는 건축 자재나 설계에 따라 성능도 고려해야 하죠. 마찬가지로 데이터베이스 설계에서도 실제 성능을 고려해 최적화된 구조로 만들게 됩니다.
데이터 모델링의 실제 과정
- 요구사항 접수: 먼저, 우리가 어떤 데이터를 다루고자 하는지 요구사항을 받습니다. 예를 들어 직원 관리 시스템에서 필요한 정보들(이름, 연락처, 부서 등)을 요구받습니다.
- 개념적 데이터 모델링: 이 요구사항을 바탕으로 데이터 모델을 단순하게 그려요. 예를 들어, 직원, 부서, 연락처 같은 개념을 정리하고, 서로 간의 관계를 대략적으로 정의합니다.
- 논리적 데이터 모델링: 개념적 모델을 바탕으로 각 요소의 세부 사항을 정의하고, 데이터베이스에서 어떻게 저장할지 구체적으로 설계합니다. 예를 들어, 직원 테이블에는 이름, 연락처, 부서 정보 등을 어떻게 저장할지 고민하는 과정이에요.
- 물리적 데이터 모델링: 마지막으로, 데이터베이스가 실제로 어떻게 성능 좋게 작동할 수 있을지 최적화하는 단계입니다. 이때, 저장소 공간이나 인덱스 등을 고려해서 실제 데이터베이스를 구축합니다.
이 모든 과정이 데이터 모델링의 핵심입니다. 실제로 우리가 데이터를 어떻게 관리하고 저장할지에 대한 청사진을 그리는 작업을 한다고 볼 수 있어요. 데이터 모델링을 통해 복잡한 현실 세계의 데이터를 데이터베이스에서 효율적으로 다룰 수 있는 구조로 바꾸는 것입니다.
'데이터' 카테고리의 다른 글
[SQL] 자격증 준비 (2) 기본 용어 이해 (1) | 2025.04.13 |
---|---|
[SQL] 공부하다 깨달은 (4) (0) | 2025.04.11 |
[SQL] 공부하다 깨달은 (3) (0) | 2025.04.06 |
[SQL] 공부하다 깨달은 (2) (0) | 2025.04.06 |
[SQL] 공부하다 깨달은 (1) (0) | 2025.04.03 |