일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리액트 네이티브
- 리액트 네이티브 시작하기
- 백준 4358 자바
- 백준 4949번
- 데베
- 모두의네트워크
- SQL
- 모두를 위한 딥러닝
- 깃 연동
- 정리
- 백준
- 네트워크
- 문자열
- 모두의 네트워크
- 팀플회고
- 깃허브 로그인
- 딥러닝
- HTTP
- 백준 4358번
- 스터디
- 자바
- 지네릭스
- 깃허브 토큰 인증
- 머신러닝
- 백준 5525번
- 리액트 네이티브 프로젝트 생성
- 모두를위한딥러닝
- React Native
- 데이터베이스
- 깃 터미널 연동
- Today
- Total
목록CS/Database (30)
솜이의 데브로그
Reference : SQL 첫걸음 35강 ) 정규화 1. 정규화 정규화란 데이터베이스의 테이블을 규정된 올바른 형태로 개선해나가는 것이다. 정규화는 단계적으로 실시한다. 2. 제1 정규형 관계형 데이터베이스의 테이블에는 하나의 셀에 하나의 값만 저장할 수 있다는 제약이 있다. 반복되는 데이터를 가로(열 방향)가 아닌 세로(행 방향)로 늘리는 것이 1정규화의 제 1단계이다. 중복을 제거하는 테이블의 분할도 이루어진다. 제1 정규화에서는 테이블 분할과 기본키 지정이 이루어진다. 3. 제2 정규형 데이터가 중복하는 부분을 찾아내어 테이블로 분할해나간다. 기본키에 의해 특정되는 열과 그렇지 않은 열로 나누는 것으로 정규화가 이루어진다. 부분 함수 종속성을 찾아내서 테이블을 분할한다. 함수 종속성이란 키 값을 ..
Reference : 데이터베이스 첫걸음 실행계획은 어덯게 세워지는가 실행 계획 표시 풀 스캔과 레인지 스캔 인덱스가 있어야 레인지 스캔을 실행할 수 있다. 인덱스는 SQL에서 만든다. 인덱스 SQL문을 변경하지 않아도 성능을 개선할 수 있다. 테이블의 데이터에 영향을 주지 않는다. 일정한 효과를 기대할 수 있다. 인덱스는 비용 대비 성능이 높은 방법이다. 인덱스의 구조는 B-tree 구조. B-tree는 균형트리이다. 데이터 양이 증가할 수록 우수한 개선효과를 발휘한다. 실제 데이터베이스는 SQL문을 실행할 때 백그라운드로 정렬을 수행하는 경우가 있지만, 정렬을 끝낸 인덱스를 사용하면서 이를 건너뛰는 경우가 있다. '임시 영역'이란 데이터베이스가 어떤 내부적인 처리를 수행할 때 데이터를 문자 그대로 '..
Reference : SQL 첫걸음 33강 ) 관계형 모델 1. 관계형 모델 관계형 모델의 기본적인 요소는 릴레이션이다. 관계형 모델의 릴레이션은 SQL에서 말하는 테이블에 해당한다. 관계형 모델의 릴레이션에는 몇가지 '속성'이 있다. 속성은 SQL에서 말하는 열에 해당하며, 행은 '튜플' 이라 부른다. 관계대수의 기본 규칙 하나 이상의 관계를 바탕으로 연산한다. 연산한 결과, 반환되는 것 또한 관계이다. 연산을 중첩 구조로 실행해도 상관없다. 2. 관계형 모델과 SQL 합집합(union) : 릴레이션끼리의 덧셈 차집합 (difference) : 릴레이션끼리의 뺄셈 교집합 (intersection) : 릴레이션끼리의 공통부분 곱집합 (cartesian product) : 릴레이션끼리의 대진표를 조합하는 ..
Reference : 데이터베이스 첫걸음 10장 ) 성능 향상 성능을 측정하는 두가지 지표 처리 시간 또는 응답시간 특정 처리의 시작부터 종료까지 걸린 시간 사용자에 대한 영향이 가시적이다. 처리율 (Throughput) 특정 처리(트랜잭션)를 단위 시간에 몇 건 처리가 가능한가에 대한 측정단위 단위 시간의 지표 시스템의 자원 용량을 결정하는 요인. 처리율이 높을 수록 CPU나 메모리 같은 하드웨어 자원이 매우 필요하다는 것을 의미한다. 어떤 처리든지 비슷한 정도의 자원을 소비한다. 데이터베이스와 병목의 관계 데이터 폭발의 경향이 강해짐에 따라 데이터를 보존하는 저장소 자원에서 병목이 일어나는 경우가 많다. 자원 추가에 따른 성능 문제 해결은 어려우므로 주어진 자원 범위 내에서 융통성 있게 처리해야 한다..
Reference : SQL 첫걸음 31강 ) 집합 연산 1. SQL과 집합 데이터베이스에서는 테이블의 행이 요소에 해당한다. SELECT 명령을 실행하면 데이터베이스에 질의하며 그 결과 몇 개의 행이 반환된다. 이 때 반환된 결과 전체를 하나의 집합이라고 본다. 2. UNION으로 합집합 구하기 UNION 함수를 사용해 합집합을 구할 수 있다. SELECT * FROM sample71_a UNION SELECT * FROM sample71_b; UNION으로 두 개의 SELECT 명령을 하나로 연계해 질의 결과를 얻을 수 있다. 여러개의 SELECT 명령을 하나로 묶을 수 있다. UNION을 사용할 때의 ORDER BY UNION으로 SELECT 명령을 결합해 합집합을 구하는 경우, 각 SELECT 명..
Reference : 데이터베이스 첫걸음 9장 ) 백업과 복구 지속성과 성능이 양립하는 구조 DBMS의 3가지 구조 트랜잭션의 ACID 중에서, C는 지속성으로, 이렬ㄴ의 데이터 동작을 완료하고 완료통지를 사용자가 받은 시점에서 그 동작이 '영속화'되어 결과를 잃어버리지 않는 것을 나타낸다. 데이터베이스의 쓰기는 기억장치의 임의 장소에 무작위로 액세스해서 쓰기를 수행하기 때문에 동기화 쓰기는 느려서 성능면에서 실용적이지 않다. 따라서 다음 구조를 사용한다. 로그 선행 쓰기 데이터베이스의 데이터 파일 변경을 직접 수행하지 않고, 우선 로그로 변경 내용을 기술한 로그 레코드를 써서 동기화하는 구조이다. 디스크에 연속해서 쓰기 때문에 무작위로 쓰는 것보다 성능이 좋다. 디스크에 쓰는 용량과 횟수를 줄일 수 있..
Reference : SQL 첫걸음 28강) 인덱스 구조 1. 인덱스 테이블에 붙여진 색인. 인덱스의 역할은 검색 속도의 향상 검색 시에 쓰이는 키워드와 대응하는 데이터 행의 장소가 저장되어 있다. 테이블과는 별개로 독립된 데이터베이스 객체로 작성. 하지만 테이블에 의존하는 객체. 2. 검색에 사용하는 알고리즘 데이터베이스에 쓰이는 대표적인 검색 알고리즘 : 이진트리(Binary tree), 해시 풀 테이블 스캔(full table scan) 인덱스가 지정되지 않은 테이블을 검색. 테이블에 저장된 모든 값을 처음부터 차례로 조사 이진 탐색 (binary search) 차례로 나열된 집합에 대해 유효한 검색 집합을 반으로 나누어 조사 대량의 데이터를 검색할 때는 이진 탐색이 빠르다. 이진탐색은 데이터가 미..
Reference : 데이터베이스 첫걸음 8장 ) 테이블 설계의 기초 정규형 테이블은 '고유한 기본키를 가진 공통점에 의해 정리된 것들의 집합'이다. 테이블 정의의 기본이 되는 것이 '정규형' Normalization 정규화의 목적은 갱신 이상을 없애는 것 제 1정규형(1NF) 테이블 셀에 복합적인 값을 포함하지 않는다. 관계형 테이블은 전부 제 1 정규형을 자동으로 만족한다. '단일값' 즉, 이 이상 나누는 것이 가능하지 않은 값을 '스칼라 값'이라고 한다. 제 1 정규형이란 스칼라 이외의 값을 포함하지 않는 테이블. 레코드의 단일성을 보증한다. 제 2정규형(2NF) 부분함수 종속성, 즉 기본키를 구성하는 열의 일부에만 함수 종속이 존재하면 안된다. 제 3정규형(3NF) 추이함수 종속이 없어야 함. 기..