1 minute read


4주차 수업 내용 정리


(지난 시간에 이어) 파이썬 언어와 PostgreSQL

  • 파이썬 언어로 MIMIC_IV의 데이터를 분석하는 프로그램을 개발
    • MIMIC_IV는 미국 메사츄세츠 공과대학에 의해 관리되는 대규모 오픈액세스 의료 데이터세트
    • 파이썬 언어로 작성된 분석 프로그램이 MIMIC_IV에 데이터를 요구하면 MIMIC_IV은 데이터를 제공
    • 의원 환자 중 인종의 통계 정보를 계산
      • 방법 1: 데이터베이스로부터 인종 정보를 전부 취득하도록 SQL 쿼리를 실행, 추출한 인종을 카운트하여 통계 정보를 냄 SELECT race FROM mimiciv_hosp.admissions
      • 방법 2: 인종의 통계 정보를 계산하여 표시하도록 하는 SQL 쿼리를 실행 SELECT race, COUNT(*) FROM mimicic_hosp.admissions GROUP BY race ORDER BY count DESC;



개념 설계

개념 모델화

  • 데이터 모델링: 전세계의 데이터를 데이터베이스화하는 것(데이터베이스의 구성요소를 갖게 하거나, 데이터의 검색 또는 갱신을 위한 조작 언어를 사용하는 것 등을 포함)

  • 개념 모델

    • 전세계의 데이터 구조와 제약(요구사양)을 기술한 것(ER 모델, UML 클래스 표 등이 대표적)
    • 개념 모델링의 순서
      1. 요구사양을 작성
      2. 요구사항으로부터 개념 모델(ER 표 등)을 작성



Entity Relation(ER) Diagram

  • 실세계를 실체관계로 표현하는 그림
  • 구성 요소
    1. 엔터티 entity: 데이터베이스에 저장할 대상(명사), 사각형으로 표현 ex: 학생, 과목
    2. 관계 relationship: 두 엔터티 간의 행위나 연결(동사)을 명시, 마름모로 표현 ex: 학생이 과목을 이수함
    3. 속성: 실체와 관계에 부속되는 정보, 타원으로 표현 ex: 학생의 이름, 학번


  • 실체의 종류
    • 리소스계: 사람, 물건, 장소 등 물리적으로 존재하는 것
    • 이벤트계: 사건 등


  • 관계와 관련하여
    • 농도(관계의 수) Cardinality의 설정이 가능: 1대1, 1대다, 다대다 등
    • 옵셔널리티 Optionality: 농도가 0일 수 있다면 ⚪️, 농도가 0일 수 없고 반드시 1개 이상의 관계를 가져야 하면 ⚫️으로 표현


약한 엔터티

  • 자체적으로는 고유성을 가질 수 없고, 다른 개체와의 조합을 통해서만 고유성이 부여됨
  • 이때의 ‘다른 개체’를 소유 엔터티 Owner Entity라고 함


식별 관계(ID 관계)

  • 소유 엔터티와 약한 엔터티 간의 관계
  • 속성은 부여하지 않으며, 필요한 경우 약한 엔터티 측에서 정의함


IS-A 관계

  • 어떤 개체가 다른 개체의 하위 유형임을 나타내는 관계로, ‘A is a B’ 형식의 관계
  • 하위 개체는 상위 개체의 속성을 상속받으면서, 자신만의 특수한 속성도 가짐
  • 자식에서 부모로 올라가면 일반화, 부모에서 자식으로 내려가면 특수화


자기참조

  • 어떤 엔터티로부터 자기 자신의 엔터티를 참조
  • 이때 옵셔널리티는 ⚪️


삼항 관계 3項(三つ組)関連型

  • 두 개의 항만으로는 표현할 수 없는 관계