최근 데이터베이스와 SQL에 대한 필요성을 많이 느껴 SQLD(SQL Developer) 자격증 공부를 시작했다.
처음 접하는 개념이라 용어도 낯설고 막막했지만, 하나씩 정리하면서 이해하려고 노력 중이다.
아직 SQL 문법은 배우지 않았고, 오늘은 데이터베이스의 기본 개념부터 공부했다.
이해한 내용을 정리해 두면 나중에 복습할 때도 도움이 될 것 같다! 😊
1. SQLD란?
SQLD는 데이터베이스를 다루는 개발자를 위한 자격증이다.
쉽게 말해, 데이터를 저장하고, 불러오고, 수정하고, 삭제하는 방법을 배우는 시험이라고 한다.
📌 시험 구성
✔ 1과목: 데이터 모델링 기초 (10문제) → 데이터 구조에 대한 개념
✔ 2과목: SQL 활용 (40문제) → SQL 문법과 활용법 (아직 배우지 않음)
✔ 3과목은 P레벨(고급) 시험에서만 필요하므로 신경 안 써도 됨
✔ 과락 기준: 각 과목에서 최소 40% 이상 맞아야 함 (1과목에서 4문제 이상 맞아야 함)
SQL 문법이 중요하지만, 기본 개념이 먼저 잡혀야 SQL을 쉽게 이해할 수 있다고 해서 데이터베이스 개념부터 공부 중이다.
2. 데이터베이스(Database)란?
데이터베이스(DB)는 데이터를 저장하고 관리하는 공간이다.
엑셀처럼 단순히 데이터를 저장하는 것이 아니라, 여러 사람이 동시에 데이터를 활용할 수 있도록 체계적으로 관리하는 시스템이다.
💡 쇼핑몰 로그인 시스템
- 사용자가 입력한 ID와 비밀번호가 데이터베이스에 저장됨
- 로그인 시 입력값이 데이터베이스에 있는 값과 일치하는지 확인 후 로그인 성공 여부 결정
💡 병원 진료 기록 관리
- 환자의 진료 기록이 데이터베이스에 저장됨
- 의사가 환자의 과거 진료 기록을 조회해 진료할 수 있음
데이터베이스가 없으면 정보를 일일이 수작업으로 관리해야 하기 때문에,
데이터를 체계적으로 저장하고 관리하는 것이 굉장히 중요하다는 걸 느꼈다.
3. 데이터 모델링이란?
데이터를 효율적으로 저장하고 활용할 수 있도록 설계하는 과정이라고 한다.
데이터를 그냥 쌓아두는 것이 아니라, 나중에 활용하기 쉽게 미리 구조를 만들어 두는 것이다.
🔹 개념적 모델링 → 어떤 데이터가 필요한지 정리 (예: 직원 정보, 고객 정보)
🔹 논리적 모델링 → 데이터를 구조화하여 정리 (예: 직원 → 이름, 연락처, 부서)
🔹 물리적 모델링 → 실제 데이터베이스를 만들어 저장
4. 엔터티(Entity)란?
엔터티(Entity)는 데이터베이스에서 저장해야 하는 정보의 집합을 의미한다.
쉽게 말해, 한 가지 주제로 묶을 수 있는 데이터를 모아놓은 것이다.
✔ 직원 정보를 저장 → "직원"이라는 엔터티 필요
✔ 학생 관리를 해야 함 → "학생"이라는 엔터티 필요
하나의 엔터티 안에는 여러 개의 데이터(레코드)가 포함될 수 있다.
예를 들어 "학생" 엔터티를 만든다면, 그 안에 개별 학생들의 정보가 저장된다.
5. 속성(Attribute)이란?
엔터티가 가지고 있는 세부적인 정보를 속성(Attribute)이라고 한다.
✔ 직원 엔터티 → 직원 ID, 이름, 연락처, 연봉
✔ 학생 엔터티 → 학번, 이름, 전공
6. 도메인(Domain)이란?
도메인은 속성이 가질 수 있는 값의 범위를 의미한다.
데이터베이스에서는 잘못된 값이 입력되지 않도록 제한하는 역할을 한다.
✔ 나이 속성 → 0~150살 사이의 숫자만 입력 가능
✔ 이름 속성 → 한글, 영문 문자만 가능, 최대 5자
7. 식별자(Identifier)란?
각각의 데이터를 유일하게 구분하는 키(Primary Key, PK)를 의미한다.
✔ 직원 엔터티의 PK: 직원 ID
✔ 학생 엔터티의 PK: 학번
식별자가 없으면 데이터를 구별할 수 없기 때문에 반드시 필요하다고 한다!
8. 오늘 공부한 내용 정리
✅ 데이터베이스(DB)는 데이터를 효율적으로 저장하고 관리하는 시스템이다.
✅ 데이터 모델링은 데이터를 효과적으로 저장하고 활용하기 위해 미리 설계하는 과정이다.
✅ 엔터티(Entity)는 저장해야 할 데이터의 집합이며, 속성(Attribute)은 엔터티의 세부 정보이다.
✅ 도메인은 속성이 가질 수 있는 값의 범위를 의미한다.
✅ 식별자(Identifier)는 데이터를 구별하는 키이다.
9. 다음에 배울 내용 – 관계(Relationship)
지금까지는 데이터를 어떻게 저장할 것인가(모델링)에 대한 개념을 배웠다.
다음에는 각각의 데이터들이 어떻게 연결되는지(관계, Relationship)를 배워야 한다.
📌 예상 학습 내용
✔ 관계(Relationship)란?
✔ 엔터티 간의 관계 설정 방법
✔ 1:1, 1:N, M:N 관계란?
데이터는 서로 연결되어 있어야 의미가 있기 때문에, 관계를 이해하는 것이 굉장히 중요하다고 한다.
다음 공부에서 관계(Relationship)를 자세히 정리해 보겠다!
'공부 > 개발' 카테고리의 다른 글
오늘의 학습 기록 – 파이썬 함수 & 모듈 활용법 (0) | 2025.02.24 |
---|---|
파이썬 리스트 vs 딕셔너리, 언제 사용해야 할까? (1) | 2025.02.23 |
오늘의 파이썬 학습 기록 – 딕셔너리(Dictionary) 활용하기 (0) | 2025.02.22 |
Newman을 활용한 API 자동화 테스트 (0) | 2025.02.20 |
파이썬 for문과 while문의 차이점 완벽 정리! (0) | 2025.02.19 |