[DB] 차수, 튜플, 카디널리티, 속성
관계형 데이터베이스
관계형 데이터베이스(RDB)는 테이블, 행, 열의 정보를 2차원으로 구조화하는 방식
RDB에는 테이블을 조인하여 정보 간 관계 또는 링크를 설정할 수 있는 기능이 있어, 여러 데이터 포인트 간의 관계를 쉽게 이해하고 정보를 얻을 수 있다
트랜잭션
:트랜잭션은 데이터베이스 관리시스템(DBMS)에서 하나의 작업의 단위
트랜잭션의 속성(ACID 특성)
- 원자성(Atomicity): 모든 데이터 변경 작업은 하나의 단일 작업으로 수행되는 것처럼 수행된다. 즉, 모든 변경 사항이 수행되거나 수행되지 않는다.
- 일관성(Consistency): 데이터는 시작 상태부터 끝 상태까지 일관된 상태를 유지하여 데이터 무결성을 강화한다.
- 격리성(Isolation): 트랜잭션의 중간 상태는 다른 트랜잭션에서 보이지 않으며, 결과적으로 동시에 실행되는 트랜잭션은 순차적으로 실행되는 것처럼 보인다.
- 지속성(Durability): 트랜잭션이 성공적으로 완료된 후, 데이터의 변경 사항은 지속되며 시스템 장애가 발생하더라도 변경 사항이 취소되지 않는다.
용어
- 열(column) : 필드(field) 라고도 부르며, 항목의 속성(명칭)을 나타낸다. 필드 마다 각각 정수, 텍스트 같은 데이터 유형을 정할 수 있다.
- 행(row) : 레코드(record) 라고도 부르며, 각 데이터 항목을 저장한다.
- 스키마(schema) : 필드는 데이터 유형뿐만 아니라 제약사항도 지정할 수 있는데 이러한 제약사항을 스키마라고 부른다. 예를들어 필드는 중복 값을 해당 행에 저장할 수 없다거나, 반드시 값을 가져야 한다(not null)는 조건 등을 걸 수 있다.
RDBMS
- MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Oracle Database
클라우드 기반 관계형 데이터베이스
- Cloud SQL, Cloud Spanner, AlloyDB
릴레이션(Relation)
행과 열로 구성된 테이블
구성요소 | 설명 | 개수 |
---|---|---|
튜플(Tuple) | 릴레이션의 행에 해당하는 요소 | |
속성(Attribute) | 릴레이션의 열에 해당하는 요소 | |
카디널리티(Cardinality) | 튜플의 수 | 3 |
차수(Degree) | 애트리뷰트의 수 | 5 |
릴레이션 스키마
릴레이션에 어떤 정보가 담길지를 정의
- 속성(attribute) : 릴레이션 스키마의 열
- 차수(degree) : 한 릴레이션에 들어 있는 애트리뷰트의 수를 나타내며, 유효한 릴레이션의 최소 차수는 1이다.
- 도메인(domain) : 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합이라고 할 수 있다.
- 주소의 도메인은 [“서울”, “경기”]이다
릴레이션 인스턴스
릴레이션 인스턴스는 릴레이션 스키마에 실제로 저장된 데이터의 집합
- 튜플(tuple) : 릴레이션의 각 행을 레코드라고 하는데, 레코드를 좀 더 공식적으로 투플이라고 나타내며, 릴레이션이 나타내는 엔티티의 특정 인스턴스에 관한 사실들의 모임이다.
- 카디날리티(cardinality) : 릴레이션 투플의 개수로 차수와 다르게 유효릴레이션은 카디날리티 0을 가질 수 있다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.