인덱스 테이블에 저장되어있는 데이터를 스캔할 때 table full scan을 수행하면 O(n)만큼의 시간복잡도를 가진다. 저장된 데이터가 많아질 수록 검색속도가 느려지게 되는데, 이 때 인덱스를 이용하면 검색속도를 향상시킬 수 있다. 인덱스 생성 인덱스는 자동으로 생성되는 인덱스와 사용자가 수동으로 생성하는 인덱스가 있다. 대부분의 RDBMS에서는 테이블 정의에서 PRIMARY KEY 또는 UNIQUE 제약 조건을 정의하면 인덱스가 자동으로 생성되는데 이를 고유 인덱스라고 하며, 사용자가 직접 생성한 인덱스를 비고유 인덱스라고한다. 생성쿼리 CREATE [UNIQUE][BITMAP]INDEX 인덱스이름 ON 테이블 (column[, column]...) 인덱스가 기반으로 하는 열의 값이 고유해야 함을 ..
데이터 베이스 데이터의 집합을 구성해 놓은 것을 데이터베이스라고 부른다. 이러한 데이터 베이스를 관리하는 시스템 또는 소프트웨어를 DBMS(Database Management System)라고 부른다. DBMS의 종류는 계층형, 망형, 관계형, 객체지향형 등이 있는데 관계형 DBMS가 현재 가장 많이 사용되고있다. 관계형 DBMS(RDBMS) Oracle, MariaDB, MySQL, Postgre SQL 등 다양한 RDBMS가 있다. RDBMS에서 모든 데이터는 테이블에 저장되는데, 테이블은 RDBMS의 최소 구성 단위이며 행(row)과 열(column)로 이루어져있다. RDBMS에선 공간의 낭비를 줄이기 위해 이러한 테이블을 여러개로 나누어 데이터를 저장한다. 나누어진 테이블은 기본키와 외래키를 이용..
트랜잭션 트랜잭션은 한 개 이상의 SQL문으로 이루어진 작업을 위한 논리적인 작업단위로써 분할할 수 없는 최소 수행단위이다. 트랜잭션은 DML과 DDL 명령어를 포함할 수 있으며, 연산의 집합이지만 논리적으론 하나로 보아야 하며 데이터베이스의 일관성과 무결성을 유지하기 위해 사용된다. 트랜잭션의 필요성에 관한 예로, 누군가에게 100만원을 송금할 때 UPDATE 구문이 다음과 같은 순서로 실행된다고 가정하면 A계좌의 UPDATE 구문이후 B계좌의 정보가 UPDATE된다. 이 때 A계좌의 UPDATE 쿼리가 실행된 후 예상치못한 오류가 발생한다면 A계좌의 데이터(100만원)는 사라지게된다. 만약 두 개의 UPDATE 구문을 하나의 트랜잭션에 담는다면 오류가 발생하더라도 데이터가 사라지는 상황을 방지할 수 ..
ALTER 구문 테이블 설계 후 변경사항이 있을 때 ALTER 구문을 사용하는데, 드문드문 사용하다보니 자주 까먹는다. 이참에 사용법을 정리해보기로 했다. ADD : 열 추가 ALTER TABLE [테이블] ADD [컬럼명] [데이터타입] 형식으로 입력가능하며, 여러 행을 한 번에 추가할 수도 있다. 열을 추가했을 때 필요에 따라 컬럼 순서를 변경할 수도 있다. ALTER TABLE EMP ADD HP VARCHAR2(20); ALTER TABLE EMP ADD TEL VARCHAR2(20); ALTER TABLE EMP ADD (HP VARCHAR2(20), TEL VARCHAR2(20)); RENAME : 열 이름 변경 추가한열인 TEL 이름을 PHONE으로 변경한다. ALTER TABLE [테이블]..
- Total
- Today
- Yesterday
- JVM
- 개발용어
- 국비교육
- SQL
- 스프링부트
- JSP
- 스프링
- CSS
- 백준
- 오라클
- Java
- Open API
- CS
- 환경설정
- 데이터베이스
- C
- 부트스트랩
- Thymeleaf
- 넥사크로
- HeidiSQL
- svn
- C++
- 네트워크
- 이클립스
- 인턴
- 오류
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |