관리 메뉴

SW

[데이터베이스] (1) DB 환경 본문

대학교/BE

[데이터베이스] (1) DB 환경

SWKo 2020. 4. 8. 18:03

0. Database란?

  • "한 조직(enterprise)의 여러 응용 시스템들이 공유(shared)하기 위해 통합(integrated), 저장(stored)한 운영 데이터(operaional data)의 집합
  • 공용 데이터(shared data)
    • 한 조직의 여러 응용 시스템들이 공동으로 소유, 유지, 이용하는 데이터

 

  • 통합 데이터(integrated data)
    • 최소의 중복(minimal redundancy)
    • 통제된 중복(controlled redundancy)
    • 수강신청 시 필요한 정보들이 학생정보처리과, 수업정보처리과, 00과에 중복되어 있으면 효율성이 떨어지므로 한곳에 데이터들을 모아두고 갖다 쓴다.

 

  • 저장 데이터(stored data)
    • 컴퓨터가 접근 가능한 저장 매체에 저장
    • 플래시 메모리, 하드디스크, 클라우드 저장소 등

 

  • 운영 데이터(operational data)
    • 한 조직의 고유 기능을 수행하기 위해 필요한 데이터
    • 데이터에 대한 검색, 조회, 업데이트, 자료 추가 등

1. Database 이용 사례

  • 대학교 종합 정보시스템
    • 수강신청
    • 출석체크
    • 내부적으로는 RDS로 구축이 되어있다.

 

  • 신한은행
    • 계좌조회
    • 계좌이체
    • 현금인출
    • Digital방식으로 추적이 되는 이유는 DB로 구축이 되어 있기 때문이다.

 

  • 게임의 지도, ID, 패스워드

2. Database의 특성

  • 실시간 접근성(real-time accessibilities)
    • 질의(Query: 데이터베이스에 요청하는 것)에 대한 실시간 처리(real-time processing) 및 응답

 

  • 계속적인 변화(continuous evolution)
    • 갱신(update), 삽입(insert), 삭제(delete) : 동적(dynamic) 특성

 

  • 동시 공용(concurrent sharing)
    • 여러 사용자(multi-user)가 동시에 사용

 

  • 내용에 의한 참조(content reference)
    • 데이터의 위치(location)나 주소(address)가 아닌 내용(contents)에 따라 참조
    • '3번째 항목을 검색해라'보다는 '김씨인 사람을 찾아라'가 낫다.

3. Database의 구성요소

  • 논리적 구성요소(logical components)
    • 사용자의 입장
    • 데이터베이스 = { 개체(entities), 관계(relationships) }

 

  • 개체(entity)
    • 표현하려는 유무형 정보의 객체(object)
    • 레코드와 비슷한 개념
    • 정보의 단위(unit)
    • 개체 타입
      • Entity type : 어떤 속성이 있을지 정해주는 것.
      • 하나 이상의 속성(attribute)로 구성
      • 속성 : 데이터의 가장 작은 논리적 단위(logical unit)
        • 전화번호, 주소 등
  •  개체 집합(entity set)
      • entity instance들의 집합

 

  • 수강신청을 예로 들어보겠다. 개체는 학생과 과목이고 관계는 '어떤 학생이 어떤 과목에 대해서 수강신청을 했다.'처럼 나타낼 수 있다.

 

 

 

  • 관계(relationship)
    • 속성관계(attribute relationship)
      • 개체와 속성 간의 관계
    • 개체관계(entity relationship)
      • 개체 간(inter-entity) 관계
    • 일반적으로, 관계는 개체 간의 관계를 말한다.
    • DB설계할 때 개체 설계 후 관계를 설정한다.

 


4. Database의 구조

  • 논리적 구조(logical organization)
    • 사용자의 관점에서 본 데이터의 개념적 구조(conceptual structure)
    • 데이터의 논리적 배치(logical allocation)
    • 논리적 레코드(logical record)
    • 예) 테이블 구조, 트리 구조 등

 

  • 물리적 구조(physical organization)
    • 저장 관점에서 본 데이터의 물리적 배치(physical allocation)
    • 저장장치에 저장된 데이터의 실제 구조(actual structure)
    • 저장 레코드(stored record)
    • 예) 하드디스크의 플래터, 실린더, 트랙, 섹터에 저장되는 구조

 

  • 사용자 관점에서는 논리적 구조가 중요하지만 설계자 관점에서는 물리적 구조까지 고려해야 한다.

 

 

Comments