정규화란? 이상 현상이 발생하지 않도록 Relation을 관련이 있는 애트리뷰트들로만 구성하기 위해 Relation을 분해하여 데이터베이스를 올바르게 설계해나가는 과정이다. 여기서 이상 현상이란? 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생해 Relation에 대한 데이터의 삽입, 수정, 삭제 연산을 수행할 때 부작용이 발생하는데, 이러한 부작용을 이상 현상(Anomaly라고 한다. 이상 현상을 조금 자세히 살펴 보면, 세 가지로 분류할 수 있다. 첫번째는 삽입 이상(Insertion Anomaly)으로, 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제가 발생할 때 생기는 이상 현상이다. 두번째는 갱신 이상(Update Anomaly)으로, 중복되는 튜플들 중에서 일부만..
데이터베이스를 공부하다보면, ANSI/SPARC architecture라고도 불리는 'The Three-Schema Architecture'를 마주칩니다. 상당히 개념적인 아키텍처로 느껴지기 때문에 처음 봤을 때는 이해가 잘 가지 않을 수 있습니다. 오늘 Three-Schema Architecture에 대해 큰 그림을 볼 수 있으면 좋겠습니다. Three-Schema Architecture는 다음과 같이 구성됩니다. 총 Three Level로 구성되어 있는 걸 알 수 있는데, External Level, Conceptual Level, Internal Level 총 세가지 Level로 구분합니다. 가장 먼저 Internal Level을 보면, Internal Level은 내부 스키마(internal sc..
동등 조인(일반적으로 말하는 조인) : 공통적인 조인 속성의 값이 같은 것끼리 조인. 조인 속성인 attribute를 모두 표현한다. SQL로 표현하면 다음과 같다. SELECT * FROM (EMPLOYEE JOIN DEPARTMENT ON Dno = Dnumber) 위의 동등 조인을 보다보면, 조인속성인 Dno와 Dnumber가 중복적으로 두 번 나타난다. 이 중복을 없애고 하나로 표현하고 싶다면, 아래의 자연 조인을 사용한다. 자연 조인(Natural Join) 자연 조인 결과를 보면 Dnumber가 사라지고, Dno만 남아있는 것을 볼 수 있다. SQL문으로 표현하면 다음과 같다. 조인 속성이 같은 이름의 Attribute인 경우 자연 조인되어 단 한 번만 표현되므로 SELECT Fname, Ln..
데이터베이스(Database, DB): 데이터를 저장해두는 곳, 즉 저장된 데이터의 집합 데이터베이스 관리 시스템(Database Management System, DBMS): 데이터베이스에 저장된 데이터가 일관되고 무결한 상태로 유지되도록 관리하는 시스템 데이터베이스 시스템(Database System) : 데이터베이스와 데이터베이스 관리 시스템을 이용해 조직에 필요한 정보를 제공해주는 전체 시스템. 스키마(Schema): 데이터베이스에 저장되는 데이터 구조와 제약 조건을 정의한 것 인스턴스(Instance): 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값 (스키마는 한 번 정의되면 자주 변경되지 않지만, 인스턴스는 계속 변하는 특성) 사상(Mapping): 스키마 사이의 대응 관계 시스템 카탈..
- Total
- Today
- Yesterday
- useState
- BOJ
- leetcode
- zustand
- Python
- git
- 브라우저
- Context API
- 함수
- react
- DB
- 정렬
- error
- mdn
- 그래프
- DOM
- 자료구조
- 데이터베이스
- 알고리즘
- Browser
- state
- JavaScript
- 리액트
- github
- 자바스크립트
- 파이썬
- CSS
- Component
- React Query
- 에러
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |