일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- frontend
- react
- Algorithm
- 자바
- Redux
- 동적 계획법
- LeetCode
- Database
- BFS
- git
- Data Structure
- db
- 다이나믹 프로그래밍
- 그레이들
- vscode
- DFS
- Javascript
- Graph
- DP
- network
- 백준
- VIM
- Python
- java
- 안드로이드
- TypeScript
- 프로그래머스
- 알고리즘
- 리트코드
- CS
- Today
- Total
목록db (3)
늘 겸손하게
목차 질문 리스트 정답 질문 리스트 1. 데이터베이스에 대해 설명해주세요 2. 엔터티가 무엇인가요? 3. 릴레이션이 무엇인가요? 4. 릴레이션은 관계형 데이터베이스에서, NoSQL 데이터베이스에서 각각 무엇이라 부르나요? 5. 관계형 데이터베이스에서 데이터베이스는 여러 개의 테이블로 구성됩니다. 테이블은 뭐로 구성되나요? 또, NoSQL 데이터베이스에서 데이터베이스는 여러 개의 컬렉션으로 구성됩니다. 컬렉션은 뭐로 구성되나요? 6. 속성이 무엇인가요? 7. 도메인이 무엇인가요? 8. 필드와 레코드에 대해 설명해주세요 9. 데이터베이스에서 슈퍼키와 후보키는 각각 어떤 조건을 만족해야 하나요? 10. 기본키가 무엇인가요? 11. 외래키가 무엇인가요? 12. 후보키가 무엇인가요? 13. 대체키가 무엇인가요? ..
Anomaly (이상 현상) 정규화를 해야하는 이유는 잘못된 테이블 설계로 인해 Anomaly가 나타나기 때문. 예) {Student ID, Course ID, Department, Course ID, Grade } 1. 삽입 이상 (Insertion Anomaly) 기본키가 {Student ID, Course ID}인 경우 -> Course를 수강하지 않은 학생은 Course ID가 없는 현상이 발생함. 결국 Course ID를 Null로 할 수 밖에 없는데, 기본키는 Null이 될 수 없으므로, Table에 추가될 수 없음. 삽입하기 위해서 '미수강'과 같은 불필요한 Course ID를 만들어야함. -> 불필요한 데이터를 추가해야 삽입할 수 있는 상황 = Insertion Anomaly 2. 갱신 이..
정규화 (Normalization) 릴레이션 간 잘못된 종속 관계를 없애 이상 현상을 해결하고 데이터 중복을 줄여 메모리를 효율적으로 사용하기 위해 릴레이션을 분리하는 과정을 정규화라고 한다. 데이터의 중복을 줄이고, 무결성을 향상시키는 방법 가장 큰 목표는 테이블 간 중복된 데이터를 허용하지 않는 것이다. 중복된 데이터를 만들지 않으면, 무결성을 유지할 수 있고, DB 저장 용량 또한 효율적으로 관리할 수 있다. 정규화에는 여러가지 단계가 있지만, 대체적으로 1~3단계 정규화까지의 과정을 거친다. 정규형 원칙 같은 의미를 표현하는 릴레이션이지만 좀 더 좋은 구조로 만들어야 하고, 자료의 중복성은 감소해야 하고, 독립적인 관계는 별개의 릴레이션으로 표현해야 하며, 각각의 릴레이션은 독립적인 표현이 가능해..