Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- https://eo-oe.tistory.com/
- https://mynameiskgws.tistory.com/
- 이리5조
- https://ji-han.tistory.com/
- 태어난김에 보스까지
- 스파르타코딩클럽
- https://vetenir.tistory.com/
- https://hjmag1120.tistory.com/
Archives
- Today
- Total
info8995 님의 블로그
데이터 입출력 구현1 본문
📌 릴레이션 용어
- 튜플 (Tuple): 릴레이션의 한 행 (row)
- 속성 / 애트리뷰트 (Attribute): 릴레이션의 열 (column)
- 카디널리티 (Cardinality): 튜플(행)의 수
- 디그리 (Degree): 속성(열)의 수
📌 무결성 제약조건의 종류
- 개체 무결성
- 기본키의 속성은 NULL이거나 중복되면 안 됨
- 참조 무결성
- 외래키는 NULL이거나 참조 릴레이션의 기본키 값과 일치해야 함
- 도메인 무결성
- 속성 값은 정의된 도메인 내의 값이어야 함
- 사용자 정의 무결성
- 사용자가 지정한 논리적 제약조건을 만족해야 함
- NULL 무결성
- 특정 속성에 NULL 값이 올 수 없음
✅ 관계형 데이터 모델 관련 언어
- 관계대수 (Relational Algebra)
- 절차적 언어로, 원하는 정보를 어떻게 유도할지를 기술함
- 관계해석 (Relational Calculus)
- 비절차적 언어로, 원하는 정보를 무엇으로 표현할지를 기술
✅ 이상 현상 (Anomalies) & 함수적 종속
이상 (Anomalies)
릴레이션에서 데이터 중복으로 인해 생기는 문제들
- 삽입 이상: 불필요한 정보까지 입력하지 않으면 삽입 불가
ex) 학번+과목번호가 기본키인데 학번만 입력하고 싶을 때 - 삭제 이상: 하나의 튜플 삭제로 인해 의도하지 않은 정보도 같이 삭제됨
- 갱신 이상: 일부 튜플만 갱신되어 데이터 불일치 발생
✅ 정규화 (Normalization)
| 단계 | 설명 |
| 1NF | 모든 속성이 원자값(Atomic Value) |
| 2NF | 1NF + 완전 함수적 종속 만족 |
| 3NF | 2NF + 이행적 함수적 종속 제거 |
| BCNF | 모든 결정자가 후보키 |
| 4NF | 다치 종속 제거 |
| 5NF | 모든 조인 종속이 후보키를 통해 성립 |
💡 정규화 기억 암기법:
도부이결다조 (두부이걸 다 줘?)
→ 도메인 원자값 / 부분 종속 제거 / 이행 종속 제거 / 결정자 비후보키 제거 / 다치 종속 제거 / 조인 종속 해결
✅ 반정규화 (Denormalization)
- 정규화된 데이터 모델을 일부 통합/중복/분리하여 성능 향상과 운영 편의성을 높임
- 의도적으로 정규화 원칙을 위배함
(읽기 성능 개선, 조회 속도 향상 목적)
※ 본 내용은 starrykss님의 Tistory 글을 참고하여 정리한 것입니다.
'TIL(Today I Learned) > 정처기 실기' 카테고리의 다른 글
| 정처기 실기 코딩문 (0) | 2025.05.20 |
|---|---|
| 서버프로그램 구현2 (0) | 2025.03.28 |
| 서버프로그램 구현 (0) | 2025.03.27 |
| 정처기 통합구현 (0) | 2025.03.26 |
| 데이터 입출력 구현2 (0) | 2025.03.25 |