코딩하는 해달이

[데이터베이스 설계] 2주차 본문

학교 공부/데이터 베이스 설계

[데이터베이스 설계] 2주차

코딩하는 해달 2023. 3. 9. 16:11

Conceptual Data Modeling

못들음

Logical Data Modeling

데이터를 컴퓨터가 이해할 수 있는 형태로 바꾸는 모델링

 

데이터와 정보

데이터

- 현실 세계에서 측정하고 수집한 사실과 값

- 가공하기 이전의 단순한 관찰이나 측정을 통해 얻은 재료

정보

- 데이터를 목적이나 의도에 맞게 가공 처리한 것

- 판단의 근거로 사용될 수 있도록 의미와 가치를 부여한 것

 

Information = Processing(Data)

 

데이터와 정보 구분 예

- 1년간 월간 아이스크림 판매량을 조사한 표 → 데이터

- 아이스크림은 겨울보다 여름에 잘 팔린다 → 정보

 

모든 서비스에 DB가 필요한가?

▶입 출금, 이체 등 은행거래 - 필요 O

▶호텔 객실의 예약 - 필요 O

▶신호등의 램프제어 - 필요 X

▶온라인 쇼핑몰의 물품구매 - 필요 O

▶전자식 개폐 장치의 비밀번호 관리 - 필요 X

 

DB 시스템의 특성

▶최초 적재(Loading) → 이벤트 발생에 따른 잦은 변경(Interaction)

▶대용량의 데이터를 다룸

  • 사용자들이 원하는 순간 데이터에 접근하기 위해서는?
    • 대용량의 데이터가 체계적으로 조직화되어 있어야 함

시험에는 이렇게 나옴

  1. 실시간 접근
  2. 계속 변화
  3. 동시 공유
  4. 내용으로 참조

Database

▶정의 : 특정 조직 내에서 다수의 사용자가 공유할 수 있도록 통합하여 저장한 운영 데이터의 집합체

▶정의 핵심

    - 통합된 데이터(integrated data) : 한 곳의 데이터를 나누어 씀

    - 공영 데이터(= 공유 데이터 : shared data) : 공유가 가능한 데이터

    - 운영 데이터(operational data) : DB를 운영하는데 반드시 필요한 데이터

    - 저장데이터(stored data) : 컴퓨터가 인식할 수 있는 저장 매체에 들어있는 데이터

▶실질적 의미 : 데이터 및 데이터간 관계의 집합

▶장점

  • 중복성을 최소화
  • 공유성을 최대화 - 공유가 가능
  • 보안성을 최대화 - 접근 가능한 데이터 범위를 정할 수 있음
  • 일관성을 유지 가능 - 여러곳의 데이터가 일정함
  • 무결성을 유지 가능 - 데이터가 일정하여 결점이 없음
  • 독립성을 유지 가능 - 데이터가 바뀌어도 애플리케이션을 바꾸지 않아도 
  • 표준화하여 관리 가능 - 

▶단점

  • 비용이 많이 든다
  • 백업과 회복 방법이 복잡하다
  • 중앙집중 관리로 인한 취약점이 존재한다

DBMS(Database Management Systems)

   - 정의 : 데이터베이스를 생성하여 안정적이고 효율적으로 운영하는데 필요한 기능을 제공하는 소프트웨어로,

              사용자 애플리케이션과 데이터베이스 간의 인터페이스 역할을 하는 논리적 프로그램

   - 실질적 의미 : 사용자가 Database에 접근할 수 있도록 지원해주는 프로그램의 집합

   - DBMS의 필수 기능

 

▶정의(definition) 기능 : 데이터 정의 및 저장 관리

조작(manipulation) 기능 질의 처리 기능으로 조회삽입삭제갱신

제어(control) 기능 트랜재션 관리 기능으로 데이터 접근제어시스템 오류 발생시 복구 등

   - 종류 액세스오라클, SQL 서버, DB2, MySQL, 몽고DB  등

데이터베이스 스키마(Schema)

   - 데이터베이스 구조, 데이터 타입, 그리고 제약 조건에 대한 명세

   - 데이터베이스 설계 단계에서 명시되며, 자주 변경되지 않음

데이터베이스 인스턴스(Instance)

   - 특정 시점에 데이터베이스에 실제로 저장되어 있는 데이터

     = database instance = Occurrence = Snapshot

DML / DDL

   - 데이터 정의(DDL : Data Definition Language)

 

  • 데이터베이스의 논리적 구조, 즉 스키마를 기술하기 위해 사용되며, 주로 DB 설계자가 사용함

   - 데이터 조작어(DML : Data Manipulation Language)

 

  • 데이터 처리 즉, 데이터의 조회(Retrieval), 삽입(insertion), 삭제(deletion), 갱신(update)에 사용도며, 주로 사용자가 사용함

 

 

   - 데이터 제어어(DCL : Data Control Language)

  • 트랜젝션 관리 즉, 권한(authority) 정의, 데이터 보안(security), 데이터 무결성(integrity), 데이터 복구(recovery), 병행 수행 제어(concurrency control)에 사용
  • cf) DCL(Data Control Language), TCL(Transaction Control Language)

개체(Entity)

 - 실세계에 존재하는 의미있는 하나의 정보 단위

 - 물리적 객체 뿐 아니라 개념적 객체도 포함

  • ex) 학생, 자동차, 강의실/ 프로젝트, 직업, 교과목,...

관계(Relationship)

 - 개체들 사이의 연관성

  • [학생]과 [교과목] 사이의 [수강] 관계

속성(Attribute)

 - 개체 또는 관계의 본질적 성질

  • Single-valued vs. Multivalued
    • - 나이 vs. 취미
  • Simple vs. Composite
    • Simple Attribute : 더 이상 쪼개지지 않는 원자값을 갖는 속성 ex) 나이, 학번
    • Composite Attribute (복합 속성) : 몇 개의 요소로 분해될 수 있는 속성 ex) 주소 → 시,군,구,번지
  • Stored vs. Derived
    • Derived Attribute (유도 속성) : 저장된 다른 데이터로부터 유도 가능한 속성 ex) 각 과목의 성적 총점, 주민등록번호 나이,성별
반응형
Comments