일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트준비
- 백준
- 트리
- 개발자취업
- DFS
- 그래프 이론
- 백트래킹
- 항해99
- 그래프
- 정렬
- 99클럽
- 완전탐색
- 스프링
- lower bound
- 브루트포스
- 스프링 핵심 원리 - 기본편
- 네트워크 계층
- BinarySearch
- 우선순위큐
- Java
- 알고리즘
- 프로그래머스
- 동적 프로그래밍
- 자바
- 데이터베이스
- DP
- BFS
- Spring
- Til
- 그리디
- Today
- Total
목록데이터베이스 (3)
AtraFelis's Develop Diary
정규화란 이상 현상이 발생하지 않도록, 릴레이션을 분해하는 과정이다. 데이터베이스의 이상현상에 관해서는 이전 글에서 다룬 바 있으므로 궁금하다면 그 글을 참고하길 바란다.정규화는 릴레이션을 분해하는 과정이라고 말했다. 그렇다면 어떤 기준에 의해서 릴레이션을 분해하는 기준도 분명히 있을 것이다. 아무렇게나 릴레이션을 쪼갠다고 이상 현상이 해결되지는 않을 것이니까.이 정규화를 수행하는 기준이 바로 함수적 종속성이다.함수 종속함수 종속(Functional Dependency)란 데이터베이스 릴레이션에서 속성들 간의 관계를 나타내는 제약 조건으로, 특정한 속성이 다른 속성을 고유하게 결정하는 관계를 의미한다.$$X → Y$$X가 Y를 함수적으로 결정한다Y가 X에 함수적으로 종속되어 있다. 여기서 $X$를 결정자..
어떤 테이블에서 특정한 값을 검색할 때, '이진 탐색'을 적용하기 위해서 만들어놓는 하나의 속성을 기준으로 정렬된 테이블의 사본을 index라고 한다.예를 들어, 어떤 커뮤니티의 게시글 정보를 저장하는 테이블에 천만 개의 정렬되지 않은 데이터가 들어가 있다고 가정하자. 여기서 *"작성자가 'AtraFelis'인 게시글만 찾아주세요*"라고 쿼리문을 날렸다고 했을 때 어떻게 되겠는가?ID작성자제목내용1AtraFelis 2홍길동 ...이춘향 1,000홍길동 ...AtraFelis 대충 이런 테이블이 있다고 생각해보자. 정렬되어 있지 않으므로 일단 이진탐색을 사용할 수 없을 것이다. 그렇다면 처음부터 일일히 비교를 하던가, 아니면 테이블 전체를 불러와서 정렬한 후에 이진탐색을 하던가... 뭐 여러가지 ..
관계형 데이터베이스 (Relational Database)MySQL, PostgreSQL, Oracle, SQLite, MSSQL엑셀과 비슷한 형식이라고 생각하면 편하다. 테이블(Table)로 이루어져 있으며, 이 테이블은 키(Key)와 값(Value)를 가진다. 테이블의 행은 키, 열은 값을 나타낸다.즉, 데이터 간의 관계를 중요하게 생각하는 방식이 관계형 데이터베이스라고 할 수 있겠다.SQL 문법을 사용해야한다. (즉, 입문에 장벽이 조금 존재한다.)중복된 데이터를 좋아하지 않아, 이를 제거하기 위해 정규화를 한다.정확도가 중요한 서비스에서 자주 사용한다.대용량 데이터 처리에 비효율적이다. 비관계형 데이터베이스 (Non-Relational Database)redis, MongoDB(document d..