📘 제2정규형(2NF) 완전 정복— 관계형 데이터베이스 설계를 위한 실무 중심 접근1. 정규화가 필요한 이유: 데이터 이상 현상의 실체데이터베이스 설계에서 가장 빈번하게 발생하는 문제는 **정보의 중복(redundancy)**과, 그로 인해 발생하는 **데이터 이상(anomaly)**이다. 테이블 구조가 논리적으로 잘못 구성되어 있다면, 데이터를 추가하거나 수정하거나 삭제할 때 원하지 않는 부작용이 발생할 수 있다. 이는 단순한 불편을 넘어서 시스템 전체의 무결성을 해치는 심각한 문제로 이어진다.이러한 이상 현상을 직관적으로 이해하려면, 실제로 잘못 설계된 테이블 구조를 예시로 보는 것이 가장 효과적이다.아래는 한 회사에서 직원들의 교육이력을 관리하기 위해 설계한 테이블이다.📄 예시 테이블 ①: Em..
📘 데이터베이스의 트랜잭션(Transaction)과 그 성질 1. 트랜잭션(Transaction)이란? ✅ 정의 트랜잭션(Transaction)이란 데이터베이스에서 하나의 논리적인 작업 단위를 말합니다. 즉, 여러 작업이 묶여서 전부 성공하거나, 전부 실패해야 하는 연산 묶음입니다. ✅ 예시 은행 계좌 이체를 생각해 봅시다: A 계좌에서 10만 원 출금 B 계좌에 10만 원 입금 이 두 개의 작업은 항상 함께 이루어져야 의미가 있습니다. 출금만 되고 입금이 안 되면? → 데이터 오류 입금만 되고 출금이 안 되면? → 부정확한 결과 그래서 이 두 작업을 하나의 트랜잭션으로 묶습니다. 둘 다 성공하면 커밋(확정), 하나라도 실패하면 롤백(되돌림)합니다..
🔷 제1정규형 (1NF): "원자값"의 원칙 ✅ 왜 제1정규형이 필요한가? 데이터베이스를 처음 설계할 때, 많은 사람들이 "한 셀에 여러 값을 넣어도 되지 않을까?"라는 실수를 저지릅니다. 예를 들어 학생의 취미를 저장한다고 할 때, 다음과 같이 저장하고 싶어질 수 있습니다: 학생명 | 취미--------------철수 | 영화, 독서, 축구 이렇게 한 셀에 여러 값을 넣는 순간, 데이터베이스는 질의(검색), 정렬, 수정, 삭제 등 모든 작업에서 문제가 생기기 시작합니다. 예를 들어, “‘독서’를 취미로 가진 사람을 찾는 쿼리”를 생각해 보세요. 이 값을 구분하려면 문자열을 잘라야 합니다. → 데이터베이스는 이런 연산을 위해 존재하는 게 아닙니다. 그래서 나온 것이..
데이터베이스 정규형(Normal Forms) 데이터베이스 정규형(Normal Forms)은 데이터의 중복을 줄이고, 무결성을 보장하며, 이상(anomaly)을 방지하기 위한 테이블 설계 원칙입니다. 정규화(Normalization)는 관계형 데이터베이스 설계 시 사용되는 체계적인 과정이며, 보통 1NF → 2NF → 3NF → BCNF → 4NF → 5NF 순으로 발전합니다. ✅ 1. 왜 정규화를 하는가? 정규화를 하지 않으면 다음과 같은 문제가 발생합니다: 삽입 이상: 정보를 일부만 입력할 수 없음 삭제 이상: 하나의 정보를 지우면 다른 정보도 함께 지워짐 갱신 이상: 동일한 정보가 여러 곳에 있어, 하나만 바꾸면 데이터 불일치 발생 이러한 문제는 ..
버블 정렬(Bubble Sort)은 가장 단순하고 직관적인 정렬 알고리즘 중 하나입니다. 이름 그대로, 가장 큰(또는 작은) 값이 마치 거품처럼 리스트 끝으로 올라가는 모습에서 유래된 이름입니다. 🔷 1. 버블정렬의 개념 인접한 두 값을 비교하여 앞에 있는 값이 더 크면 서로 자리를 바꾸고, 뒤에 있는 값이 더 크면 그대로 둡니다. 이 과정을 리스트 끝까지 반복하면서 가장 큰 값을 뒤로 보내고, 그런 식으로 전체 리스트를 정렬해 나갑니다. 🔷 2. 작동 방식 (정렬 예시) 예를 들어, 다음 리스트를 오름차순으로 정렬한다고 가정합시다. [5, 3, 8, 4, 2] 🔁 1회전 (가장 큰 수가 맨 뒤로 올라감)..
MVC(Model–View–Controller) 패턴 ― 사용자 인터페이스를 구조적으로 분리하는 대표 아키텍처 모델 1. 정의 MVC는 사용자 인터페이스(UI)와 관련된 소프트웨어 구조를 세 가지 역할로 분리하는 아키텍처 패턴입니다. 구성 요소역할 요약 Model데이터와 비즈니스 로직을 관리 View사용자에게 보여지는 UI 화면 Controller사용자 입력 처리 및 흐름 제어 2. 구성 요소별 설명 ✔ Model (모델) - 핵심 데이터와 시스템 로직을 관리하며, DB 접근, 상태 저장, 비즈니스 처리 등을 담당합니다. - View나 Controller와 직접적으로 의존하지 않도록..
GoF 디자인 패턴 ― 객체지향 설계의 핵심 구조를 정리한 23가지 패턴 1. 정의 GoF 디자인 패턴은 1994년, 『Design Patterns: Elements of Reusable Object-Oriented Software』라는 책에서 네 명의 저자(Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 일명 Gang of Four)가 정리한 23가지 객체지향 설계 패턴을 말합니다. 이들은 다음과 같이 세 가지 범주로 나뉩니다: 범주설명 생성 패턴 (Creational)객체 생성 방식에 관한 패턴 구조 패턴 (Structural)클래스 및 객체 간 구성 방식..
비기능적 요구사항 (Nonfunctional Requirements) ― 시스템의 “어떻게”를 규정하는 설계 기준 1. 정의 비기능적 요구사항은 시스템이 제공해야 할 기능 그 자체가 아니라, 그 기능이 어떻게 수행되어야 하는가에 대한 제약 또는 품질 속성을 의미합니다. 기능적 요구가 “무엇을 할 것인가?”라면, 비기능 요구는 “얼마나 빠르게, 안전하게, 안정적으로”에 관한 것입니다. 2. 왜 중요한가? 중요성설명 사용자 만족기능이 정상 작동하더라도 느리거나 불안정하면 사용자 만족도는 낮아짐 설계 품질 확보성능, 보안, 유지보수성 등 시스템의 전반적인 품질을 결정 SLA 기준서비스 계약 및 ..
- Total
- Today
- Yesterday
- 정보처리기사
- 유통관리사
- 통계학
- Python
- 학습이론
- 코딩테스트
- 조건형성
- 류근관
- K-MOOC
- 학습심리학
- 윤성우
- c++
- 열혈프로그래밍
- 오블완
- 행동주의
- 백준
- 보세사
- 행동심리학
- 인지부조화
- 일본어문법무작정따라하기
- 티스토리챌린지
- 회계
- 파이썬
- C
- 심리학
- 강화학습
- 일문따
- 통계
- 물류관리사
- 데이터분석
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |