데이터베이스 개념, 데이터 무결성

데이터베이스

프로젝트에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것 - 데이터베이스 개론

개념

  • integrated data: 중복을 최소화함으로써 데이터 불일치 현상을 없앤다
  • stored data: 컴퓨터 저장장치에 저장된 데이터
  • operationl data: 프로젝트의 목적을 위해 사용되는 데이터
  • shared data: 여러 사람이 동시에 사용할 수 있다

특징

  • real time accessibility: 사용자가 요청하는 순간에 실제 데이터를 서비스
  • continuous change: 삽입, 삭제, 수정등으로 바뀐 데이터값 저장
  • concurrent sharing: 동시에 여러 사용자가 데이터 요청가능
  • reference by content

데이터 구조

  • 외부 단계- 외부 스키마: 개념 스키마 중 사용자에게 필요한 부분
  • 개념 단계- 개념 스키마: 전체 데이터베이스의 정의. 통합 조직별로 하나만 존재.
    • 데이터 관계, 제약사항, 무결성
  • 내부 단계- 내부 스키마: 물리적 저장 장치에서 데이터베이스가 실제로 저장되는 방법의 표현.
    • 인덱스, 데이터 레코드의 배치 방법, 데이터 압축…
💡 스키마: 데이터베이스의 조직이나 구조

데이터 모델

SQL 실습 사이트

데이터 무결성

데이터베이스에 저장된 데이터의 일관성 정확성을 지키는 것.

무결성 제약조건

  • 도메인 무결성 제약조건
  • 개체 무결성 제약 조건(=기본키 제약)
    • NULL ❌
    • 키값 변동 ❌
    • 최소 집합. 최대한 적은 수의 속성만 가짐
    • 문제 발생 소지 ❌
  • 참조 무결성 제약 조건(=외래키 제약)

key

🔑 튜플을 유일하게 식별하는 장치, 각 릴레이션 간의 관계 말해주는 연결고리
  • 슈퍼키 superkey: tuple 유일하게 식별할 수 있는 속성 or 속성집합
  • 후보키 candidate key: 튜플 유일하게 식별할 수 있는 최소집합
  • 기본키 primary key: 후보키 중 하나 선정하여 대표로 삼은 키

  • 대리키 surrogate key: 마땅한 키 없을 때 가상 속성 만들어 기본키로.
  • 대체키 alternate key: 기본키로 선정되지 않은 후보키
  • 외래키 foreign key: 다른 테이블 기본키를 참조하는 속성. 테이블 간 관계 표현

 

[이 글은 기존 github 블로그에서 작성해 티스토리로 옮긴 글입니다.]

'CS > 데이터베이스' 카테고리의 다른 글

Python connect Query Engine  (0) 2025.01.04
정규화  (0) 2022.11.20
데이터베이스 이상현상  (0) 2022.11.20