오늘은 효율적인 데이터베이스 설계를 위한 정규화(Normalization) 개념을 정복해보고자 한다. Preview 좋은 관계형 데이터베이스를 설계하는 목적 중 하나는 정보의 이상(Anomaly) 현상이 생기지 않도록 하는 것이다. 데이터베이스에는 대표적으로 3가지 현상이 존재한다.Insertion anomalies(삽입 이상): 삽입 이상은 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족하여 삽입이 되지 않는 문제를 의미한다.Deletion anomalies(삭제 이상): 삭제 이상은 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않은 정보 손실이 발생되는 문제를 의미한다.Modification anomalies(갱신 이상): 갱신 이상은 정확하지 않거나 일부..
오늘은 DB Relationships에서 개인적으로 가장 이해하기가 껄끄러웠던 Recursive Relationships에 대해 정리한다. 이전 글https://baram1ng.tistory.com/28 Entity Relationships (2)앞서 Entity의 개념에 대해 설명했는데, 이번엔 Weak/Strong Entity, 그리고 (non)-ID-dependent 에 대해 간략하게 설명해보고자 한다. 이전 글https://baram1ng.tistory.com/27 Entity Relationships (1)DB를 설계할 때, 가장baram1ng.tistory.comRecursive Relationships(재귀적 관계) Recursive Relationships은 엔터티가 자기 자신과 관계를 갖..
앞서 Entity의 개념에 대해 설명했는데, 이번엔 Weak/Strong Entity, 그리고 (non)-ID-dependent 에 대해 간략하게 설명해보고자 한다. 이전 글https://baram1ng.tistory.com/27 Entity Relationships (1)DB를 설계할 때, 가장 중요하게 생각해야 할 부분이 바로 Entity Relationships이다. 오늘은 Entity Relationships에 대해 소개하고자 한다. 그전에 Entity를 모르는 사람들을 위해 Entity에 대한 정확한 정의를baram1ng.tistory.comWeak Entity Weak Entity란 Strong Entity없이는 무의미한 엔터티이다. 즉, DB에서 독립적으로 존재할 수 없는 Entity이다. ..
DB를 설계할 때, 가장 중요하게 생각해야 할 부분이 바로 Entity Relationships이다. 오늘은 Entity Relationships에 대해 소개하고자 한다. 그전에 Entity를 모르는 사람들을 위해 Entity에 대한 정확한 정의를 짚고 넘어가자. Entity 엔터티(Entity)란 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합이다. 즉, 우리가 추적하고 저장하기 위한 두루뭉술한 설계도라고 생각하면 될 것 같다. 엔터티는 Entity Class(엔터티 클래스)와 Entity Instance(엔터티 인스턴스)로 크게 분류가 될 수 있을 것 같다. (위 엔터티 클래스와 엔터티 인스턴스는 파이썬 Class 개념을 생각하면 될 것 같다.) Entity Class(엔터티 클래스)란, ..
DB 수업 중에 함수적 의존성에 관해 교수님께서 혼신의 힘을 다하여 설명해주셨지만, 내 머리가 부족한 탓에 100% 내것으로 만들지 못했다... (교수님 죄송합니다 😭) 함수적 의존성에 관해 추가적으로 정리하고 싶어 관련 레퍼런스들을 찾아보다, 단번에 이해할 수 있도록 기가 막히게 잘 정리해놓은 두 레퍼런스가 있어 다시 한번 글을 쓰면서 정리해보고자 한다. 함수적 의존성(Functional Dependency) 함수적 의존성(Functional Dependency, FD)이란 DB 정규화 작업에 필요한 개념으로 두 attributes 집합 사이의 의존성을 나타내는 개념을 의미한다. 예를 들어 아래와 같은 테이블이 있다고 가정하자.emp_idemp_namebirth_datepositionsalary 위..
대학교 Database 시간에 하루도 빠짐없이 강조받는 말은 DB를 설계할 때부터 각 테이블에 대해 정확히 정의해야 한다는 말이다. 즉, 무작정 DB를 설계하는 것이 아니라 Table간의 관계를 고려하여 필요한 테이블만 효율적으로 만들도록 해야한다는 의미이다. 교수님께서 DB 설계에 대해 이야기하며 데이터 무결성이라는 말을 잠깐 언급하셨는데, 깊게 설명하지 않으셨지만 DB 설계 시 데이터 무결성 제약조건에 대해 깊이 생각해볼 필요가 있을 것 같아 따로 정리해보고자 한다. 데이터 무결성, 그리고 제약 조건 데이터 무결성 제약조건이란 무엇일까? 보통 데이터 무결성과 제약조건이라는 단어는 함께 쓰이는 용어이다. 이번엔 이 둘을 나누어 구분해보고자 한다. 데이터 무결성이란, DB 내에 있는 데이터의 정확성을 유..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.