본문 바로가기

CS/DB

(7)
Index ( 인덱스 ) RDBMS에서 검색 속도를 높이기 위한 기술 데이터베이스에서 조회 및 검색을 더 빠르게 할 수 있는 방법/기술 혹은 이에 쓰이는 자료구조 자체를 의미하기도 한다. 자주 조회되는 Column 에 대한 Index Table 을 따로 만들어 SELECT 문이 들어왔을 때, Index 테이블에 있는 값들로 결과 값을 조회해 온다. 그래서 Index를 잘 사용한다면 "검색" 연산을 실행했을 때, 성능을 올릴 수 있게 된다. 테이블의 칼럼을 색인화한다. ( 마치 두꺼운 책의 목차와 같다고 생각하면 편하다. ) 데이터베이스 안의 레코드를 처음부터 풀스캔하지 않고, B+ Tree로 구성된 구조에서 Index 파일 검색으로 속도를 향상시키는 기술 B+ 트리 알고리즘 리프 노드에는 실제 데이터가 저장된다. 리프노드까지의 ..
Transaction ( 트랜잭션 ) 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위 상태 변화란 SQL질의어를 통해 DB에 접근하는 것을 말한다. ( SELECT, INSERT, DELETE, UPDATE ) 작업 단위란 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것이다. 작업단위를 정의하는 것. 더보기 예시) 사용자 A가 사용자 B에게 만원을 송금한다. 이때 DB 작업 1. 사용자 A의 계좌에서 만원을 차감한다 : UPDATE 문을 사용해 사용자 A의 잔고를 변경 2. 사용자 B의 계좌에 만원을 추가한다 : UPDATE 문을 사용해 사용자 B의 잔고를 변경 현재 작업 단위 : 출금 UPDATE문 + 입금 UPDATE문 → 이를 통틀어 하나의 트랜잭션이라고 한다. - 위 두 쿼리문 모두 성공적으로 완료되어야만 "하나..
SQL vs NoSQL SQL ( 관계형 DB ) SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있음. 관계형 데이터베이스에는 핵심적인 두 가지 특징이 있다. 1. 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다. 2. 데이터는 관계를 통해 여러 테이블에 분산된다. 데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정의된 구조가 있다. 해당 구조는 필드의 이름과 데이터 유형으로 정의된다. 따라서, 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없다. 즉 스키마를 수정하지 않는 이상은 정해진 구조에 맞는 레코드만 추가가 가능한 것이 특징이다. 하나의 테이블에서 중복 없이 하나의 데이터만을 관리하기 때문에 다른 테이블에서 부정확한 데이터를 다룰 위험이 없어지는 장점이 있다. ..
Join 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 테이블을 연결하려면, 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로, 이를 이용하여 데이터 검색에 활용한다. INNER JOIN 기준 테이블과 Join 테이블의 중복된 값을 보여준다. SELECT A.NAME, B.AGE FROM EX_TABLE A INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP LEFT OUTER JOIN 기준 테이블값과 조인테이블의 중복된 값을 보여준다. SELECT A.NAME, B.AGE FROM EX_TABLE A LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
Key 검색, 정렬 시에 Tuple을 구분할 수 있는 기준이 되는 Attribute. Candidate Key ( 후보키 ) Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. 2가지 조건을 만족한다. 1. 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있다. 2. 최소성 : 꼭 필요한 속성으로만 구성. Primary Key ( 기본키 ) 후보키 중 선택한 Main Key 특징으로는, Null값을 가질 수 없다는 것과 동일한 값이 중복될 수 없다는 특징이 있다. Alternate Key ( 대체키 ) 후보키 중 기본키를 제외한 나머지 키 Super Key ( 슈퍼키 ) 유일성은 만족하지만, 최소성은 만족하지 못하는 키 Foreign Key ( 외래키 ) 다른 릴레이션의 기본키를 그대로..
UML ( Unified Modeling Language ) 프로그램 설계를 표현하기 위해 사용하는 그림으로 된 표기법 이해하기 힘든 복잡한 시스템을 의사소통하기 위해 만듦. 객체지향 언어와 밀접한 관련이 있기에 객체지향 모델링 언어라고도 불린다. 소프트웨어 시스템, 업무 모델링, 시스템의 산출물을 규정하고 시각화하여 문서화하는 언어이다. 프로그래밍 언어는 아니다. 모델링 언어일뿐 방법론은 아니다. asfirstalways.tistory.com/95 [개발상식] 13.UML이란? UML(Unified Modeling Language) 정의 프로그램 설계를 표현하기 위해 사용하는, 주로 그림으로 된 표기법을 의미한다. 객체지향 언어와 밀접한 관련이 있기에 객체지향 모델링 언어라고도 불린다. 소프 asfirstalways.tistory.com
DBMS ( Database Management System ) DBMS 데이터베이스 관리 시스템 즉, 데이터베이스를 조작하는 소프트웨어를 칭함. 다수의 사용자가 데이터베이스 내의 데이터를 접근할 수 있도록 설계된 시스템 DBMS의 필수 기능 정의 기능 ( DDL : Data Definition Language ) 데이터베이스가 어떤 용도이며 어떤 식으로 이용될 것이라는 것에 대한 정의가 필요함. CREATE, ALTER, DROP, RENAME ALTER TABLE table_name ADD COLUMN ex_column varchar(32) NOT NULL; ALTER TABLE table_name DROP COLUMN ex_column; ALTER TABLE table_name1 RENAME table_name2; 조작 기능 ( DML : Data Manipul..