본문 바로가기

Web Study/DataBase21

SQLD - Transaction (트랜잭션) 트랜잭션이란? 데이터베이스의 논리적 연산단위로서 밀접히 관련되어 분리될 수 없는 1개 이상의 데이터베이스 조작 트랜잭션의 특징 원자성 : 트랜잭션에 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 남아 있어야 한다. 일관성 : 트랜잭션이 실행되기 전의 데이터베이스 내용이 잘못 되어 있지 않다면 트랜잭션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안된다. 고립성/독립성 : 트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어선 안된다. 지속성 : 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의 내용은 영구적으로 저장된다. 트랜잭션 완료의 의미 변경사항이 데이터베이스에 반영 이전 데이터가 영영 사라져버린다. 모든 사용자는 결과를.. 2023. 9. 7.
SQLD - 정규 표현식 문자열의 규칙을 표현하는 검색 패턴 문자열 검색과 치환에 주로 사용 Posix 연산자 기본연산자 . : 모든 문자와 일치 | : or, 대체 문자를 구분 먼저 들어온 문자를 리턴 ex. Regexp_substr('aa', 'a|aa') => 'a' 리턴 검색 패턴과 시작과 끝 지정 \ : 백슬래시, 다음 문자를 일반 문자로 취급 (이스케이프문자) ^ : 캐럿, 문자열의 시작 $ : 문자열의 끝 수량사 선행 표현식의 일치 횟수를 지정 ? : 0회 또는 1회 일치 * : 0회 또는 그 이상의 횟수로 일치 + : 1회 또는 그 이상의 횟수로 일치 Greedy 패턴을 최대로 일치 시킴 {m} : m회 일치 {m,} : m회 최소 일치 {,m} : m회 최대 일치 {m,n} : 최소 m회, 최대 n회 일치 () .. 2023. 8. 30.
SQLD - 정규화/반정규화 정규화 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법 데이터를 분해하는 과정 정규화된 모델은 테이블이 분해된다. 불필요한 데이터를 입력하지 않아도 되기 때문에 중복 데이터가 제거된다. 정규화 절차 제 1정규화 속성의 원자성을 갖도록 테이블을 분해 속성의 중복값을 제거 기본키 설정 제 2정규화 기본키가 2개 이상의 속성으로 이루어진 경우, 부분 함수 종속성을 제거하여 완전 함수 종속을 만족하도록 테이블을 분해하는 것 부분 함수 종속성이란 기본키가 2개 이상인 칼럼으로 이루어진 경우에만 발생 (기본키가 1개면 스킵) 복합 인스턴스에 대해 각 인스턴의 종속적 중복을 삭제 제 3정규화 기본키를 제외한 칼럼 간에 종속성 제거 이행 함수 종속성을 제거 이행적 종속은 A->B, B->C.. 2023. 8. 23.
SQLD - 스키마, ERD 스키마란 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것 데이터 사전에 저장된다. 현실세계의 특정한 부분의 표현으로, 특정 데이터 모델을 이용하여 만들어진다. 시간에 따라 불변인 특성 데이터의 구조적 특성을 의미 인스턴스에 의해 규정된다. ANSI-SPARC 에서 정의한 스키마 구조의 3단계 외부 스키마 현실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치 화면을 통해 사용자에게 보여줄 것인가 같은 데이터베이스에 대해 서로 다른 관점을 정의할 수 있도록 허용 개념 스키마 모든 사용자 관점을 통합한 조직 전체 관점의 통합적 표현이자 DB 정의 모든 응용시스템들이나 사용자들이 필요로하는 데이터를 통합한 조직 전체의 DB를 기술한 것으로 DB에 저장되는 데이터와 그들 간의 관계를 표현하는 스.. 2023. 8. 21.