Tags
- 축복렌즈
- 전주
- ai_엔지니어링
- 수요미식회
- 오사카
- 글로벌소프트웨어캠퍼스
- 대만여행
- SQL
- 우리에프아이에스
- 대만
- 제주도
- 축복이
- 건담
- CS231n
- 우리fis아카데미
- 도쿄
- 17-55
- 전시
- 해리포터
- 군산
- 우리fisa
- 여행
- 시청
- Python
- 650d
- 맛집
- 사진
- k-디지털트레이닝
- fdr-x3000
- 카페
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Today
- Total
Recent Posts
300x250
브렌쏭의 Veritas_Garage
[Udemy] SQLD 엔티티와 정규화 본문
Entity
- Entity: A person, place, thing, event, or concept in the user environment about which the organization wishes to maintain data.
- 이벤트, 개념, 사람, 장소, 사물 등 조직이 데이터를 유지하고자 하는 사용자 환경의 개체
- Entity Type: A collection of entities that share common properties or characteristics.
- 공통 속성이나 특성을 공유하는 엔티티의 집합
- Entity Instance: A single occurrence of an entity type.
- 엔티티 유형의 단일 발생
- Attribute: A property or characteristic of an entity or relationship type that is of interest to the organization.
- 조직이 관심을 가지는 엔티티나 관계 유형의 속성이나 특성
ERD (Entity-Relationship Diagram)
ERD는 데이터베이스의 구조를 시각적으로 나타내는 도구로, 엔티티, 속성, 관계를 표현한다.
ERD는 데이터베이스 설계 단계에서 사용되며, 데이터베이스의 구조를 이해하고 설계하는 데 도움이 된다.
- I/E (Information Engineering) Notation
- Entity: 사각형
- Attribute: 타원형
- Relationship: 마름모
- Key Attribute: 밑줄
- Barker Notation
- Entity: 사각형
- Attribute: 타원형
- Relationship: 마름모
- Key Attribute: 밑줄
보통 ERD는 I/E Notation을 사용한다. 선호하는 표기법을 사용하면 된다.
Relationship
- Relationship: An association between the instances of one or more entity types that is of interest to the organization.
- 조직이 관심을 가지는 하나 이상의 엔티티 유형의 인스턴스 간의 연관
- 관계는 엔티티 간의 연결을 나타내며, 엔티티 간의 관계를 표현한다.
Relationship Type: A set of associations between one or more entity types.
- 1:1 (One-to-One)
- 한 엔티티 인스턴스가 다른 엔티티 인스턴스와 연결
- 1:N (One-to-Many)
- 한 엔티티 인스턴스가 다른 엔티티 인스턴스 여러 개와 연결
- N:M (Many-to-Many)
- 한 엔티티 인스턴스가 다른 엔티티 인스턴스 여러 개와 연결되고, 다른 엔티티 인스턴스도 한 엔티티 인스턴스 여러 개와 연결
- N:M 관계는 중간 테이블을 사용하여 1:N 관계로 변환할 수 있다.
Relationship Degree
- Degree: The number of entity types that participate in a relationship.
- 관계에 참여하는 엔티티 유형의 수
- Degree는 2개 이상일 수 있다.
- Degree가 2인 관계를 Binary Relationship, Degree가 3인 관계를 Ternary Relationship라고 한다.
- Degree가 2인 관계가 가장 일반적이다.
- Binary Relationship: A relationship between two entity types.
- 두 개의 엔티티 유형 간의 관계
- 가장 일반적인 관계
- 1:1, 1:N, N:M 관계가 있다.
- Ternary Relationship: A relationship between three entity types.
- Quaternary Relationship: A relationship between four entity types.
- n-ary Relationship: A relationship between n entity types.
Relationship Strength
관계의 강도는 관계가 얼마나 강력하게 연결되어 있는지를 나타낸다.
- Strong Relationship: A relationship in which the existence of an entity depends on another entity.
- 한 엔티티의 존재가 다른 엔티티에 의존하는 관계
- 관계가 강력하게 연결되어 있어, 한 엔티티가 다른 엔티티에 의존한다.
- Weak Relationship: A relationship in which the existence of an entity does not depend on another entity.
- 한 엔티티의 존재가 다른 엔티티에 의존하지 않는 관계
- 관계가 약하게 연결되어 있어, 한 엔티티가 다른 엔티티에 의존하지 않는다.
- Weak Relationship는 Optional Relationship로도 불린다.
- Weak Relationship는 Partial Key를 사용하여 구현할 수 있다.
정규화 (Normalization)
정규화는 데이터베이스 설계에서 중복을 최소화하고 데이터 무결성을 유지하기 위해 데이터를 구조화하는 과정이다.
- Normalization: The process of converting complex data structures into simple, stable data structures.
- 복잡한 데이터 구조를 단순하고 안정적인 데이터 구조로 변환하는 과정
- 중복을 최소화하고 데이터 무결성을 유지하기 위해 데이터를 구조화한다.
- 정규화는 데이터베이스 설계 단계에서 사용된다.
- Data Redundancy: The presence of duplicate data in a database.
- 데이터베이스에 중복 데이터가 존재하는 것
- 중복 데이터는 데이터 무결성을 해칠 수 있다.
- 중복 데이터는 데이터베이스의 용량을 증가시킬 수 있다.
- Data Integrity: The accuracy and consistency of data in a database.
- 데이터베이스의 데이터의 정확성과 일관성
- 데이터 무결성은 데이터베이스의 중요한 특성 중 하나이다.
- Anomalies: Problems that can occur in a database as a result of data redundancy.
- 데이터 중복으로 인해 발생할 수 있는 데이터베이스의 문제
- Anomalies는 데이터베이스의 데이터 무결성을 해칠 수 있다.
- Functional Dependency: A relationship between attributes in which the value of one attribute determines the value of another attribute.
- 한 속성의 값이 다른 속성의 값을 결정하는 속성 간의 관계
- Functional Dependency는 데이터베이스의 정규화를 위해 사용된다.
- Normalization Form: A standard set of rules that determine the degree to which a database has been normalized.
- 데이터베이스가 정규화된 정도를 결정하는 표준 규칙의 집합
- 정규화된 정도는 정규화 형태로 표현된다.
- Denormalization: The process of intentionally introducing redundancy into a database to improve performance.
- 성능을 향상시키기 위해 의도적으로 데이터베이스에 중복을 도입하는 과정
- Denormalization은 데이터베이스의 성능을 향상시키기 위해 사용된다.
과정규화 Over-Normalization
- Over-Normalization: The process of normalizing a database to such an extent that it becomes difficult to work with.
- Normalization Trap
정규화 형태 (Normalization Form)
- First Normal Form (1NF)
- 모든 속성이 원자값을 가지고, 중복이 없는 테이블
- Second Normal Form (2NF)
- 1NF를 만족하고, 모든 속성이 기본키에 대해 완전 함수적 종속인 테이블
- 기본키의 일부 속성이 다른 속성에 종속되는 경우, 2NF를 만족하지 않는다.
- ex) Order Table: OrderID, ProductID, ProductName, ProductPrice
- ProductName, ProductPrice는 ProductID에 종속되므로 2NF를 만족하지 않는다.
- 2NF를 만족하지 않는 경우, 기본키를 변경하거나 테이블을 분리하여 2NF를 만족시킬 수 있다.
- ex) Order Table: OrderID, ProductID
- Product Table: ProductID, ProductName, ProductPrice
- Order Table과 Product Table을 분리하여 2NF를 만족시킨다.
- 2NF를 만족시키기 위해 테이블을 분리하는 과정을 Decomposition이라고 한다.
- Third Normal Form (3NF)
- 2NF를 만족하고, 모든 속성이 기본키에 대해 이행적 종속이 아닌 테이블
- 이행적 종속: A가 B에 종속되고, B가 C에 종속되면 A가 C에 종속되는 것
- 3NF를 만족하지 않는 경우, 테이블을 분리하여 3NF를 만족시킬 수 있다.
- ex) Order Table: OrderID, CustomerID, CustomerName, CustomerAddress
- CustomerName, CustomerAddress는 CustomerID에 종속되므로 3NF를 만족하지 않는다.
- Customer Table: CustomerID, CustomerName, CustomerAddress
- Order Table: OrderID, CustomerID
- Order Table과 Customer Table을 분리하여 3NF를 만족시킨다.
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
[우리FISA] SQL Query :: Functions && JOIN (0) | 2024.07.25 |
---|---|
[우리FISA] SQL Backgrounds (2) | 2024.07.24 |
[우리FISA] 데이터 관리 (1) | 2024.07.24 |
[Streamlit] Python을 이용한 간단한 배포 (0) | 2024.07.23 |
[Data Visualization] Libraries (0) | 2024.07.22 |
[우리FISA] 2주차 회고 Python Libraries (1) | 2024.07.19 |
[우리FISA] Data Visualization (0) | 2024.07.19 |
Comments