데이터베이스 - 엔터티, 릴레이션, 속성, 도메인

이강용·2024년 7월 28일
0

CS

목록 보기
104/109

데이터베이스(Database)란?

  • 연관된 데이터의 모임으로 데이터는 특정 구조에 따라 체계적으로 저장되어 있음
  • 데이터베이스 관리 시스템(DBMS, Database Management System)을 통해 DB를 관리할 수 있음
  • DBMS에 정의된 쿼리 언어를 통해 데이터에 대한 CRUD(Create, Read, Update, Delete) 작업이 가능
  • DB는 트랜잭션 관리, 동시 접근 제어, 사용자 권한 관리, 데이터 암호화, 백업 및 복구 등의 기능을 제공

엔터티(Entity)

  • 데이터베이스에서 관리하는 데이터의 개체(객체)를 의미, 현실 세계의 특정 사물이나 개념을 추상화한 것
  • 예시 : 학생, 강의, 책, 제품
  • 특징 : Entity는 속성을 통해 특정 정보를 가짐
    • 예를 들어, 학생 엔터티는 이름, 학번, 전공 등의 속성을 가질 수 있음

강한 엔터티(Strong Entity)

  • 강한 엔터티는 독릷적으로 존재할 수 있는 엔터티로 다른 엔터티에 의존하지 않고 고유한 기본 키(Primary Key)를 가짐
  • 특징 :
    • 고유한 기본 키 : 강한 엔터티는 고유하게 식별될 수 잇는 기본 키를 가지고 있음
    • 독립성 : 다른 엔터티에 의존하지 않고 독립적으로 존재할 수 있음

약한 엔터티(Weak Entity)

  • 약한 엔터티는 고유하게 식별할 수 있는 기본 키가 없으며 다른 엔터티(강한 엔터티)에 의존하여 식별됨
    • 약한 엔터티는 강한 엔터티의 기본 키를 외래 키(Foreign Key)로 포함하여 자신을 식별
  • 특징 :
    • 식별 관계 : 약한 엔터티는 강한 엔터티에 의존하여 식별되며 이 관계를식별 관계(Identifying Relationship)라고 함
    • 복합 키 : 약한 엔터티는 자신의 속성 외에 강한 엔터티의 기본 키를 포함하여 복합 키(Composite Key)를 가짐
    • 존재 의존성 : 약한 엔터티는 강한 엔터티가 존재할 때만 의미가 있으며 강한 엔터티가 삭제되면 약한 엔터티도 삭제될 수 있음

릴레이션(Relation)

  • 관계형 데이터베이스에서 데이터를 테이블 형태로 저장하는 것을 의미, 릴레이션은 엔터티 간의 관계를 나타내기도 함
  • 예시 : 학생 테이블, 강의 테이블, 도서 테이블
  • 특징 : 각 Relation은 행(레코드)과 열(속성)로 구성되며 행은 각 Entity의 인스턴스를 나타내고 열은 속성을 나타냄

MySQL 기준

  • MySQL 기준 : 레코드 - 테이블 - DB

속성(Attribute)

  • Entity가 가지고 있는 데이터 항목이나 필드를 의미, 속성은 Entity의 특성을 나타냄
  • 예시 : 학생 Entity의 속성으로 이름, 학번, 전공 등이 있음
  • 특징 : 각 속성은 고유한 데이터 타입과 제약 조건을 가질 수 있음

도메인(Domain)

  • 속성이 가질 수 있는 값의 범위나 집합
  • 예시 : 성별 속성의 도메인은 '남자', '여자'일 수 있고 점수 속성의 도메인은 0에서 100까지의 정수일 수 있음
  • 특징 : 도메인은 속성 값의 데이터 타입과 제약 조건을 정의

예시

  • 학생 데이터를 관리하는 DB
    • 엔터티(Entity) : 학생(Student)
    • 릴레이션(Relation) : 학생 테이블(Student Table)
    • 속성(Attribute) : 학번(Student ID), 이름(Name), 전공(Major), 나이(Age)
    • 도메인(Domain)
      • 학번 : 정수, 유일해야 함
      • 이름 : 문자열
      • 전공 : 문자열
      • 나이 : 정수, 18에서 99사이
학번(Student ID)이름(Name)전공(Major)나이(Age)
1김철수컴퓨터공학20
2이영희전자공학22
3박지훈기계공학21
profile
HW + SW = 1

0개의 댓글