본문 바로가기
728x90
반응형

DataBase4

[DataBase]MVCC MVCC는 commit된 데이터만 읽는다. 데이터를 읽을 때 특정 시점 기준으로 가장 최근에 commit된 데이터를 읽는다. 데이터 변화 이력을 관리한다. read와 write는 서로를 block하지 않는다. MVCC 예제 x=10 Transaction1 x를 읽는다. Transaction2 x를 50으로 바꾼다. 시작 Transaction2에서 x를 50으로 바꾼다. write(x=50) 트랜잭션 2만 알 수 있는 공간에 x=50을 적는다. Transaction1에서 x를 읽는다. read(x) → 10 Transaction2 commit → x = 50 Isolation Level이 read committed라면 Transaction1에서 x를 읽는다. read(x) → 50 Isolation Lev.. 2023. 8. 4.
[DataBase] Transactional Isolation Level Dirty Read → commit되지 않은 변화를 읽음. x= 10, y = 70 Transaction1 x에 y를 더한다. Transaction2 y를 70으로 바꾼다. 시작 transaction1에서 x를 읽는다. read(x) → 10 transaction2에서 y를 70으로 바꾼다. write(y=70) transaction1에서 다시 x를 읽는다. read(y) → 70 transaction1에서 x에 y를 더한다. write(x=80) transaction1 commit하고 종료 transaction2에서 abort되어서 rollback되어서 (y=20) 문제점 transaction1은 write한 70을 읽었는데, transaction2는 Rollback되어서 70은 유효한 값이 아니다. .. 2023. 8. 3.
[SQL] DDL(Data Define Language) DDL DB를 구축하거나 수정할 목적으로 사용하는 언어이다. DDL의 3가지 유형 명령어 기능 CREATE SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의함 ALTER TABLE에 대한 정의를 변경하는 데 사용함 DROP SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제함. CREATE TABLE CREATE TABLE 학생 # 테이블 생성 (이름 VARCHAR(15) NOT NULL, # '이름'속성은 최대 문자 15로 NULL값을 갖지 않음. 학번 CHAR(8), # '학번'속성은 문자 8자이다. 성별 SEX, # '성별'속성은 'SEX'도메인을 자료형으로 사용한다. 생년월일 DATE, # '생년월일'속성은 DATE자료형을 갖는다. PRIMARY KEY(학번).. 2023. 3. 8.
[DB] 데이터베이스 기본개념 DataBase DB == 데이터베이스 MySQL == MariaDB DB == 폴더 폴더 => 묶어주는 것 DB는 무엇으로 구성되는가? : 테이블들로 구성되어 있음 테이블 == 표 == 엑셀파일 표 == 칼럼(열, 1줄) + 로우(행, 여러줄) 칼럼 == 번호, 이름, 나이, 연락처 로우 == 1, 홍길동, 24, 010-1234-1234 표에서 칼럼은 한줄만 존재한다. 표에서 로우는 0 ~ N줄 존재할 수 있다. DBMS MySQL은 DBMS 입니다. DBMS == DataBase Management System DBMS는 여러개의 DB를 관리하는 시스템입니다. MySQL은 DBMS 중에 하나 입니다. 다른 DBMS로는 오라클, MSSQL 등이 있습니다. MySQL은 전세계에서 가장 많이 사용되는 D.. 2023. 3. 8.
728x90
반응형