일기 31

[관계 데이터 모델] 제약 조건_트랜잭션

트랜잭션(transaction) 하나의 논리적 기능을 수행하기 위한 작업의 단위 ▷ 여러 개의 쿼리(DB에 접근하는 방법)를 하나로 묶는 단위 특징 1. 원자성(atomicity) ▷ 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징 "all or nothing" 더보기 → 커밋("all")과 롤백("nothing")의 역할 - 데이터의 무결성 보장 - 데이터 변경 전 변경사항 확인 용이 - 해당 작업 그룹화 가능 - 커밋(commit) 여러 쿼리가 성공적으로 처리되었다고 확정하는 명령어 = 하나의 트랜잭션 수행 성공 - 롤백(roll back) 트랜잭션으로 처리한 과정을 취소 ※ 트랜잭션 전파: 트랜잭션(커넥션 단위)을 커넥션 객체를 넘겨 수행할 때, 매번 넘기지 않고, 여러 트랜..

일기 2023.02.11

[관계 데이터 모델] 제약 조건_릴레이션 키

릴레이션의 키 ▷ 각 튜플을 고유하게 식별할 수 있는 하나 이상의 속성들의 모임 ▷ 특정 튜플을 검색하거나 다른 튜플들과 연관시킬 때, 그 튜플들의 속성들의 값을 사용해 고유하게 식별 가능 릴레이션의 키 값이 다른 릴레이션에 나타남 → 두 릴레이션의 해당 튜플들이 서로 연결 ▷ 키 값을 가지고 있는 튜플은 하나만 있어야 함. 1) 수퍼 키(super key) ▷ 유일성을 가지고 있는 속성 집합 2) 후보 키(candidate key) ▷ 유일성과 최소성을 가지고 있는 속성 집합 ▷ 기본 키가 될 수 있는 후보 ex) ID, 주민등록 번호, 학번 2_1) 기본 키(primary key) ▷ 후보 키 중 선택, NULL 값 x, 중복x ex) 학번 - 자연 키: 유일성을 배제하다 자연스럽게 선택되는 키, 언..

일기 2023.02.10

[관계 데이터 모델] 제약 조건

무결성 제약 조건(integrity constraint) 무결성: 데이터의 정확성, 일관성, 유효성을 유지하는 것 현실 세계의 값과 일치하다는 신뢰 생성 장점: 스키마 정의 시, 일관성 조건을 한번만 명시해도 DBMS가 자동적으로 검사함. 사용자들은 일관성 조건을 검사하지 않아도 됨. 종류 1) 도메인 제약조건(Domain constraint) ▷ 속성 값은 반드시 원자값이어야 한다. ▷ 속성 값의 가능한 값들의 범위와 디폴트 값을 지정할 수 있다. - data type 사용 : 값들의 유형 제한 - CHECK 제약조건 사용 : 값들의 범위 제한 - NOT NULL 제약조건 사용 : 모든 튜플에서 해당 속성의 값이 반드시 존재하도록 제한 2) 키 제약조건(key constraint) ▷ 키 속성에 중복된..

일기 2023.02.10