일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백트래킹
- EnableAutoConfiguration
- 정적 리소스
- Spring Security
- WebApplication Type
- 알고리즘
- 백준
- 리소스 서버
- @Profile
- JsonSerializer
- HATEOAS
- 리소스핸들러
- JPA
- 백기선
- AuthenticationPrincipal
- 스프링부트
- 스프링 부트
- 외부설정
- OAuth2
- HttpMessageConverters
- @ConfigurationProperties
- rest api
- cors
- 다익스트라
- application.properties
- webjar
- 브루트포스
- Application Argument
- Application Event
- Application Runner
- Today
- Total
목록데이터베이스 (12)
아카이브
NoSQL ?- 관계형 데이터 모델을 지양 하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화- 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소- SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not only SQL"로 불리기도 함 NoSQL 종류1. Key-Value Model가장 기본적인 형태의 NoSQL키 하나로 데이터 하나를 저장하고 조회할 수 있는 단일 키-값 구조를 갖는다. 대표적인 예시 : Redis 2. Document Model키-값 모델을 개념적으로 확장한 구조로 하나의 키에 하나의 구조화된 문서를 저장하고 조회논리적인 데이터 저장과 조회 방법이 관계형 데이터베이스와 유사키는 문서에 대한 ID로 표현또한 저장된 문서를 컬렉션으로 관리하며 문서 저장..
정규화 ?- 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스- 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것- DB 설계를 재구성하는 기술- 높은 차수로 갈 수록 낮은 차수의 정규화를 만족해야 함- '도부이결다조' (1) 제1정규형 (1NF = 1 Nomal Form)- 중복되는 항목이 없어야 한다 (도메인이 원자값만으로 되어 있어야 함) (2) 제2정규형 (2NF) - 부분 함수적 종속 관계를 제거해야 함 (3) 제3정규형 (3NF) - 이행 함수적 종속 (x -> y ->z) 제거 (4) BC(Boyce-codd) 정규형 (BCNF) - 결정자이면서 후보키가 아닌 것 제거 (5) 제4정규형 - 다치 종속 제거 (6) 제5정규형 - 조인 ..
JOIN ? - DB 내의 여러 테이블의 레코드를 조합하여 하나의 결과 집합으로 만드는 것- INNER JOIN, OUTER JOIN- OUTER JOIN의 경우 LEFT, RIGHT, FULL로 그 종류가 있음- FULL OUTER JOIN은 일부 DBMS에서만 지원 INNER JOIN과 OUTER JOIN의 차이점- INNER JOIN의 경우 교집합으로, JOIN 대상이 되는 컬럼에서 A/B 양쪽 다 있는 경우 - OUTER JOIN의 경우는 각 종류에 따라 그 결과물이 조금씩 달라짐 ● LEFT OUTER JOIN : A의 모든 열과 B에 있는 공통 부분을 얻게 되고, A에 있지만 B에는 없는 내용의 경우 우측은 NULL로 처리 ● RIGHT OUTER JOIN : B의 모든 열과 A에 있는 공통 ..
트랜잭션 (Transaction) ?- DB 내에서 한번에 수행되어야할 일련의 연산들- 시스템에서 사용되는 쪼갤 수 없는 업무처리의 단위- 전부 COMMIT 되거나, 전부 ROLLBACK 되거나- ex) 쇼핑몰 결제 시, 예상치 못한 오류로 금액만 지불되고 주문 처리가 안됐으면 ? 전부 ROLLBACK을 시켜야 함- 트랜잭션의 4가지 특성 (ACID)1) Atomicity - 원자성 : All or Nothing2) Consistency - 일관성 : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미 ex) 무결성 제약을 위반하는 트랜잭션은 중단3) Isolation - 격리성 : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것..
INDEX ?- DB에서 사용하는 색인- 특정 TABLE에 SELECT를 할때 WHERE나 JOIN에 빈번하게 참조되는 컬럼들을 색인으로 하여 정렬된 트리 목록을 만들고,이를 이용하여 full scan이 일어나는 일을 줄이고 속도를 빠르게 하기 위함- 읽기 성능을 향상시키기 위한 일종의 자료구조- 중복이 많은 컬럼(성별처럼 타입이 적은 경우) 비효율적이므로 INDEX를 걸지 않음- JOIN에 자주 사용되는 컬럼에 걸면 효율적 ※ 모든 컬럼에 INDEX를 걸면 빨라지나요? - SELECT의 경우 이득이 있지만- INSERT/ UPDATE /DELETE의 경우 INDEX로 인하여 성능이 감소할 수 있음 (DML에 취약함) ● 왜 ? INDEX를 생성하면 내부적으로 B+Tree를 이용한 데이터 색인이 생김☞ ..
1. DDL- Data Definition Language- CREATE, ALTER, DROP2. DML- Data Manipulation Laguage- SELECT, INSERT, UPDATE, DELETE 3. DCL- Data Control Language- GRANT, REVOKE, COMMIT, ROLLBACK
1. 차이, 크기- Clustered Index는 물리적으로 행을 재배열- ex) create table test_index{log_data char(8) not null, id char(1) not null, ..... primary key(log_data,id)} INSERT 20130611 a data 20130612 a data 20130612 c data 20130612 b data 20130608 c data SELECT *20130608 c data 20130611 a data 20130612 a data 20130612 b data 20130612 c data ☞ PK를 기준으로 물리적으로 행을 재배열 - Non-Clustered Index는 물리적으로 재배열 X → 별도의 공간에 Inde..
- 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합- 영구 저장 모듈 (Persistent Storage Module) 이라고도 불린다- DB에 대한 작업을 정리한 절차(procedure)를 RDBMS에 저장한 쿼리의 집합- DB 서버측에 만들어 두는 함수※ 왜? 관리가 쉽고 유지보수가 용이하다☞ 클라이언트 측이라면 시스템 기능 변경 후 업그레이드, 패치가 필요☞ 서버 측이라면 해당 SP를 수정하면 모두 반영 - 장점1) 반복적인 작업을 피할 수 있다2) 성능 측면- SP는 최적화되고 캐싱된다※ 일반 쿼리 작동 순서구문 분석 ☞ 최적화 ☞ 컴파일 ☞ 캐시에 저장 ☞ 실행※ SP의 경우 2회 이상 실행부터는 이전 단계 없이 캐시에 저장된 것을 바로 실행 SP는 최초 실행 시 최적화된 상태로 ..
- 데이터의 정확성과 일관성을 유지하고 보증하는 것- RDBMS의 중요한 기능 - 종류1) 개체 무결성 (Entity integrity)- 모든 테이블이 PK를 가져야 하며, PK로 선택된 열은 고유하여야 하며, NULL은 허용치 않음- 릴레이션의 모든 튜플들에 대해 유일성을 보장할 수 있다- ex) 사원 테이블의 사원번호는 NULL값을 가질 수 없다2) 참조 무결성 (Referential integrity)- 두 개의 릴레이션이 PK, FK를 통해 참조 관계를 형성할 경우, FK는 참조하는 테이블의 PK와 같거나, NULL이어야 한다 (참조할 수 없는 FK 값을 가질 수 없다)- ex) 사원 테이블의 부서 속성이 FK로 부서 테이블의 부서번호 PK를 참조한다면, 사..
- DataBase Management System- 사용자와 DB 사이에서 사용자의 요구에 따라 동작하기 위해 DB를 관리하는 S/W- 기존 File System이 갖는 데이터의 종속성, 중복성 문제를 해결하는 시스템- 모든 응용 프로그램들이 DB를 공용할 수 있게 함1. 정의- DB에 저장될 Type과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시2. 조작- 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 DB 사이의 Interface 수단을 제공3. 제어- DB를 접근하는 삽입, 갱신, 삭제 시 데이터의 무결성이 유지되도록 함- 정당한 사용자의 허가된 데이터에 접근할 수 있도록 보안을 유지하고 권한을 검사1. 장점- 논리..