DataBase(8)
-
SQL(Structured Query Language)_DDL
DDL (Data Definition Language): 데이터 정의어 데이터 베이스 table, view index 등 객체의 구조를 정의 테이블 생성, 컬럼 추가, 타입 변경, 제약 조건 지정, 수정 등 chracter set: 각 문자가 컴퓨터에 저장될 떄, 어떤 코드로 저장되는가 특정 문자 셋에 의해 디비에 저장된 값을 비교, 정렬할 때 사용하는 규칙들의 집합 create: 데이터베이스 객체를 생성 create database 데이터베이스명; create database 데이터베이스명 default character set 값 collate 값; drop: 데이터베이스 객체를 삭제 drop database 데이터베이스명; alter: 기존에 존재하는 데이터베이스 객체를 수정 alter databa..
2021.11.07 -
SQL(Structured Query Language)_DML
SQL(Structured Query Language) Database에 있는 정보를 사용할 수 있도록 지원하는 언어 모든 DBMS에서 사용 가능 대소문자 구별 없음 DML (Data Manipulation Language): 데이터 조작어 data를 조작한다. 테이블의 레코드를 CRUD(Create, Retrieve, Update, Delete) user라는 이름의 테이블이 있다. name id pw insert: 데이터베이스 객체에 데이터를 입력 insert into table_name (col_name1, col_name2, col_name3,...) values(col_val1, col_val2, col_val3...) insert into user values("지렁이", "goella", "1..
2021.11.07 -
Replication(리플리케이션)
데이터를 다른 물리적으로 다른 서버 공간에 보관하는 것 두 개 이상의 DBMS시스템을 Master와 Slave로 나눠서 동일한 데이터를 저장하는 것 배경: 하나의 서버에 하나의 DB인 경우 쿼리의 대부분을 차지하는 SELECT를 처리하기에는 역부족 Master DBMS: 데이터의 수정사항 반영. 데이터가 변경되면 Binary Log에 이력을 기록 Slave DBMS: 실제 데이터를 복사 Replication의 처리 방식 Master와 Slave간의 무결성(데이터가 일치하는가) 검사를 하지 않는 비동기 방식으로 데이터를 동기화 한다. 동기화 방법 Statement-Based: 실행된 SQL을 그대로 기록 Row-Based: 변경된 행을 Base64로 인코딩하여 기록 Mixed Type: Statement-..
2021.08.25 -
효과적인 쿼리 저장
쿼리 최적화 쿼리(SQL에서 주로 SELECT)를 빠르고 효율적으로 실행하기 위한 작업 쿼리 최적화를 통해 데이터를 빠르게 받을 수 있다. 즉 성능을 높일 수 있다. 1, 조건 컬럼에는 별도의 연산을 걸지 않는다. WHERE PRICE + 100 < 200 WHERE PRICE < 100 - 인덱스가 걸린 컬럼을 변경하면 인덱스를 그대로 사용할 수 없다. - 함수, 계산, 표현식은 인덱스 컬럼에 작성하지 말자 2, SELECT할 때는 필요한 연산만 기지고 온다. SELECT * FROM student; SELECT ID FROM student; - 많은 필드를 불러올 수록, 디비는 더 많은 로드를 부담한다. - 딱 사용할 필드만 가지고 온다. 3, WHERE절의 비교 컬럼 데이터 타입은 일치하는 것이 좋..
2021.08.25 -
Optimizer(최적화의 원리)
옵티마이저(Optimizer)는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행한다. 다양한 실행 방법들 중에서 최적의 실행 방법을 결정하는 것 옵티마이저가 선택한 실행 방법의 적절성 여부는 질의의 수행 속도에 큰 영향을 끼친다. 최적의 실행 결정: 어떤 방법으로 처리하는 것이 최소 일량으로 동일한 일을 처리할 수 있을지 결정하는 것이다. 규칙기반 옵티마이저(RBO, Rule Based Optimizer)와 비용기반 옵티마이저(CBO, Cost Based Optimizer)로 구분한다. 규칙기반 옵티마이저(RBO, Rule Based Optimizer) 규칙(우선 순위)를 가지고 실행 계획을 생성하는 방식 SQL문 실행하기 위해 이용 가능한 인덱스 유무(유일, 비유일, 단일, 복..
2021.08.24 -
Transaction(트랜잭션)
데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위 데이터베이스의 상태를 변화시킨다? - "SELECT, INSERT, DELETE, UPDATE" 질의어(SQL)를 이용하여 데이터베이스에 접근하는것을 의미 트랜잭션은 데이터베이스에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위 하나의 트랜잭션은 Commit 되거나 Rollback됨 트랜잭션의 특징 원자성(Atomicity): 트랜잭션이 데이터베이스에 모두 반영되던가 아니면 전혀 반영되지 않는다. 일관성(Consistency): 튼랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다. 독립성(Isolation): 둘 이상의 트랜잭션이 동시에 실행중..
2021.08.17