데이터베이스 개요

하이솝·2026년 3월 13일

데이터베이스

목록 보기
1/10
post-thumbnail

데이터 모델링

개체가 가지고 있는 특징(속성)을 정리하여 컴퓨터에 저장

개체-관계(Entity-Relationship) 모델

개체(entity)

  • 현실 세계에서 조직을 운영하는 데에 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것

  • 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등등이 됨

  • 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있다.
    예)
    병원: 환자, 의사, 간호사
    서점: 고객, 도서(책)

속성(attribute)

개체가 가지고 있는 고유한 속성.
의미 있는 데이터의 가장 작은 논리적 단위

예)
개체(의사): 이름, 전공, 소속
개체(환자): 이름, 주소, 주민번호, 키

관계(relationship)

개체와 개체가 맺고 있는 의미 있는 연관성

예)
병원: 환자는 의사에게 진료를 받는다.
서점: 고객은 책을 구매한다.

키(key)

테이블 간 여러 행의 자료를 유일하게 연결해주는 키가 필요
각 테이블의 레코드(행)를 유일하게 식별하는 장치

데이터 모델링

데이터 모델화

현실 세계에 존재하는 데이터를
컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
데이터베이스 설계의 핵심 과정(현실세계→추상화→모델화)
추상화(abstraction): 복잡한 자료나 모듈 시스템으로부터 핵심적인 개념 또는 기능을 간추려내는 것

데이터베이스 관리 시스템

컴퓨터의 데이터를 저장하는 방법에는 크게 2가지가 있다.

  • 파일 시스템
  • DBMS(DataBase Management System)

파일 기준 처리

파일 시스템

데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어
응용프로그램마다 필요한 데이터를 별도의 파일로 관리함


단점1: 또다른 응용프로그램에서 별도의 파일을 관리해야 한다.
(개인정보 file이 중복됨, 메모리 낭비,
데이터 수정 시 다른 데이터도 수정을 해주어야 함(통일성이 없음))


단점2: 하나의 파일로 통합할 때 파일이 커지게 돼서 작은 자료를 찾을 때에도 큰 파일을 모두 찾아야 하기 때문에 효율적이지 않음

파일 처리 시스템의 비효율성 개선

데이터 통합
→ 데이터베이스 시스템

유일한 key를 사용해 통합해서 사용

데이터 중복 문제 뿐만 아니라, 빠른 프로그램 개발, 데이터 일관성, 독립성, 복구, 보안 , 동시성, 데이터 관리 기능 등을 수행

데이터베이스 시스템에서의 데이터 관리

예)
오라클 데이터베이스 서버, 마이크로소프트 SQL 서버, MySQL 등

관계 데이터 모델

관계 데이터 모델 표현-구조화된 틀(릴레이션 스키마)로 표기

관계 데이터 모델에서의 용어정리

  • 테이블(table)
    하나의 개체에 대한 데이터를 2차원 테이블 구조로 정리한 것.
    릴레이션(Relation)
  • 속성(attribute)
    테이블의 열(column)
  • 튜플(tuple)
    테이블의 행(row)
    RDBMS(Relation DBMS)에 의해 관리됨

    하나의 테이블에는 동일한 튜플이 존재할 수 없으며, 순서는 무의미함

키(key)

각 릴레이션(테이블)의 튜플을 유일하게 식별하는 속성, 또한 릴레이션 간의 연결고리

  • 기본키(primary key)
    데이터베이스 설계자에 의해서 선택된 표로 삼는 키(릴레이션을 대표)
    릴레이션의 특성을 반영하여 하나를 선택
    릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 한다.
    중복된 값 불가능
    NULL 값은 허용하지 않음
    그 외 슈퍼키, 후보키, 대리키, 대체키, 외래키
    외래키(foreign key): 다른 릴레이션의 기본키를 참조하는 속성

0개의 댓글