본문 바로가기

CS/데이터베이스6

인덱스 - 실습 인덱스 문법 CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_option | lock_option] ... key_part: {col_name [(length)] | (expr)} [ASC | DESC] index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} | ENGINE_ATTRIBUTE [=] 'string' | SECONDARY_ENGINE_A.. 2023. 3. 6.
트랜잭션(Transaction) 트랜잭션(Transaction) 이란, 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 뜻합니다. 데이터베이스에서 상태 변화를 시킨다는 것은 질의어(SQL)를 이용하여 데이터베이스에 접근하는 것을 의미합니다. SELECT INSERT DELETE UPDATE 단, 작업의 단위는 질의어 한 문장이 아니라 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정해집니다. 예시) 은행에서 A가 B에게 10,000원을 송금한다. A의 계좌에서 10,000원을 차감 : UPDATE 문을 사용해 A의 잔고를 변경 B의 계좌에 10,000원을 추가 : UPDATE 문을 사용해 B의 잔고를 변경 작업 단위 : 출금 UPDATE문 + 입금 UPDATE문 트랜잭션의 특징 원자성 (Atomicity) 일관성 (C.. 2023. 2. 26.
인덱스 인덱스란? 인덱스는 데이터를 빠르게 검색할 수 있게 해주는 객체 입니다. 컬럼을 오름차순 혹은 내림차순으로 정렬한 후 빠르게 찾을 수 있도록 도와줍니다. 인덱스 구조 Index는 논리적/물리적으로 테이블과 독립적입니다. 테이블은 컬럼에 데이터가 정렬되지 않고 입력된 순서대로 들어가지만, Index는 KEY 컬럼과 ROWID 컬럼 두개로 이루어져 있고 오름차순, 내림차순으로 정렬이 됩니다. Key : 인덱스를 생성하라고 지정한 컬럼의 값 MySQL에서 테이블 생성 시, 아래와 같은 3가지 파일이 생성됩니다. FRM : 테이블 구조 저장 파일 MYD : 실제 데이터 파일 MYI : Index 정보 파일 (Index 사용 시 생성) 사용자가 쿼리를 통해 Index를 사용하는 칼럼을 검색하게 되면, 이때 MYI.. 2023. 2. 26.
관계 데이터 모델 관계 데이터 모델의 정의 관계 데이터 모델은 테이터를 2차원 테이블 형태인 릴레이션으로 표현함 릴레이션에 대한 제약조건과 관계 연산을 위한 관계대수를 정의함 릴레이션 릴레이션: 행과 열로 구성된 테이블 속성(Attribute): 세로 값으로 열(Column)이라고도 한다. 튜플(Tuple): 가로 값으로 행(Row)이라고도 한다. 차수: 속성의 수 도메인: 하나의 속성이 가질 수 있는 값들의 범위 널: 정보의 부재를 나타내는 특수한 데이터 값 카디날리티: 튜플의 수 인스턴스: 정의된 스키마에 따라 테이블에 실제 저장된 데이터의 집합 스키마: 릴레이션이 어떻게 구성되는지, 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의(첫 행 헤더) 릴레이션의 특징 속성은 단일 값을 가진다 속성은 서로 다른 이름을 .. 2023. 2. 23.
DBMS 데이터 베이스란? 1. 데이테베이스의 개념 데이터의 중복성을 최소화하면서 다양한 사용자의 정보 요구를 충족시킬 수 있도록 한 상호 관련된 데이터의 통합된 집합체 통합 데이터(Integrated Data) : 데이터의 중복을 최소화하여 데이터의 불일치 현상 제거 저장 데이터(Stored Data) : 컴퓨터 저장장치에 저장된 자료 운영 데이터(Operational Data) : 업무를 위한 검색용 자료 공용 데이터(Shared Data) : 한 사람 또는 한 업무를 위해 사용하는 자료가 아닌 공동으로 사용하는 자료 2. 데이터베이스의 특징 실시간 접근성: 실시간 처리에 의한 응답이 가능해야 한다. 계속적인 변화: 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지해야 한다. 동시 공용: 서로.. 2023. 2. 23.
SQL vs NoSQL MySQL과 같은 SQL을 사용할까? 아니면 MongoDB와 같은 NoSQL을 사용할까? SQL (관계형 데이터베이스) SQL은 '구조화된 쿼리 언어(Structured Query Language)'의 약자로 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색할 수 있습니다. 이러한 관계형 데이터베이스는 두가지 주요 특징이 있습니다. 데이터는 정해진(엄격한) 데이터 스키마를 따라 데이터베이스 테이블에 저장됩니다. 관계를 통해 연결된 여러 개의 테이블에 데이터가 분산됩니다. 엄격한 스키마 데이터는 테이블(table)에 Records(Rows)로 저장되며, 각 테이블에는 명확하게 정의된 구조(structure)가 있습니다. 그리고 구조(structure)는 컬럼의 이름과 데.. 2022. 7. 21.