뇌 가르기 59

[구현] 행렬(Matrix)

일반적으로 2차원 공간은 행렬의 의미로 사용 → Column(열) ↓ Row (행) (0, 0) (0, 1) (0, 2) (1, 0) (1, 1) (1, 2) (2, 0) (2, 1) (2, 2) 시뮬레이션 및 완전탐색 문제에서 방향 벡터가 자주 활용됨. 1번 방법 #동, 서, 남, 북 dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] # 현재 위치 x, y = 1, 1 for i in range(4): # 다음 위치 nx = x + dx[i] ny = y + dy[i] print(nx, ny) 2번 방법 #동, 서, 남, 북 step = [(0, 1), (0, -1), (-1, 0), (1, 0)] # 현재 위치 row, column = 1, 1 for i in range(4): # ..

학/Algorithm 2023.02.15

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

트랜잭션(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