본문 바로가기
SQL

12/29 - SQL 심화학습 4일차 & 개인과제 좌충우돌 MySQL 설치기

by PETRA_94 2023. 12. 29.

[기억할 개념] - 3층 스키마

 

1. 3층 스키마 (3-Level Schema)

  1) 데이터 독립성의 필요성: 데이터의 일체적 구성(일관성) 때문, 일관된 형태로 데이터를 수집하는 것을 데이터의 독립적 구성이라고 할 수 있음.

  => 데이터 독립성을 확보할 경우 ①: 각 View의 독립성을 유지하고 계층별 VIew에 영향을 주지 않고 변경 가능
  => 데이터 독립성을 확보할 경우 ②: 단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조직어(DML) 다르게 제공

  => 응용 프로그램과 물리적 데이터베이스를 분리!

 

 

1-2: 3층 스키마란?

   데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고, 이들간의 관계를 정의한 ANSI 표준. 각 계층을 뷰(View)라고 함.

  → 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술, 이들 간의 관계를 정의한 표준

 

 

1-3. 3층 스키마의 구조

  • 유저 어플리케이션(프로그램)은 데이터베이스 시스템의 최상위 단계
  • 물리적 데이터베이스는 최하위 단계

 

항목 내용 비고
외부  스키마(External Schema) - View 단계  여러  개의  사용자  관점으로  구성
- 개별  사용자가  보는 DB 스키마
- 실제로  관심  있는  데이터베이스  부분을  설명하고  나머지는  숨
- 사용자  관점
- 접근하는  특성에  따른  스키마를  구성
개념  스키마(Conceptual Schema - 데이터  베이스의  물리적인  저장  구조에  대한  부분은  숨기고, 데이터 
의  전체적인  구조와  관계에 집중
- 모든  사용자  관점을  통합한  조직  전체의 DB를  기술
- 모든  응용  시스템들이나  사용자들이  필요로  하는  데이터를  통합한 
조직  전체의 DB를  기술
- DB에  저장되는  데이터와  그들간의  관계를  표현하는  스키마
- 설계자  관점, 통합 관점
- 통합  데이터베이스 구조
내부  스키마(Internal Schema) - 내부  단계, 내부  스키마로  구성
- DB가  물리적으로  저장된  형식
- 물리적  장치에서  데이터가  실제적으로  저장되는  완전히  구체적인 
방법을  표현하는  스키마
- 개발자  관점 
- 물리적  저장  구조

 

  • 사상(mapping)은 각각의 범주간의 요청/응답을 전송
  • 외부 스키마에서 요청이 들어오면 DBMS에 의해 개념 스키마 -> 내부 스키마로 전달됨
    여기에서 요청과 응답을 변환하는 프로세스를 사상(mapping)이라고 함
  • 내부 스키마: 물리적 저장 구조를 갖춘 모델
  • 개념 스키마: 전체 데이터베이스의 설계를 설명할 수 있는 모델 (구조, 관계 등) / 내부 상세 정보는 보지 못함

 

2. 데이터 독립성 (Data Independence)

독립성 설명 특징
논리적 독립성 - 개념  스키마가  변경되어도  외부  스키마에는 영향을  미치지  않도록  지원
- 논리적  구조가  변경되어도  응용  프로그램에 미영향
- 사용자  특성에  맞게  변경이  가능
- 통합  구조로  변경  가능
물리적  독립성 - 내부  스키마가  변경되어도  개념  스키마는  영향을  받지  않도록  지원
- 저장  장치의  구조  변경은  응용프로그램과  개 념  스키마에  미영향
- 물리적  구조의  영향  없이  개념  구조로  변경 가능
- 개념  구조의  영향  없이  물리적인  구조로  변경  가능

 

 

3. 데이터 모델링의 중요한 3가지 개념

  1) 엔터티(Entity) - 업무가  관여하는  어떤  것(thing): 어떤 부분을 중심으로 벌어지고 초점이 맞춰져있는지 확인 가능→데이터모델링에서 사용되는 하나의 대상, 객체

  2) 속성(Attribute): 어떤  것이  갖는 세부적인  성격 / Entity가 지닐 수 있는 '여러 특징'

  3) 관계(Relationship): 업무가  갖는  어떤  것  간의  관계

 

 

4. ERD 작성법

ⓛ 엔터티를 정의하고 그린다. → ② 엔터티를 적절하게 배치한다. **가장 중요한 엔터티를 좌측 상단에 배치&중요 엔터티를 중심으로 다른 엔터티들을 나열 (왼쪽에서 오른쪽, 위쪽에서 아래쪽) → ③ 엔터티간의 관계 설정한다. → ④ 관계명을 설정한다. →  ⑤ 관계의 참여도를 기술한다. **특정 엔터티와 다른 엔터티 간의 관계수 → ⑥ 관계의 필수 여부를 기술한다. 

 

 

4-1. 데이터 모델 표기법

  • 대표적인 데이터 모델 표기법은 IE/Crow’s Foot 표기법과 Barker/Case*Method 표기법
  • Barker 표기법  참고사항
    # : 식별자  속성  앞에  표기 
    * : 필수  속성  앞에  표기 
    o : 선택  속성  앞에  표기

 

4-2. 좋은 데이터 모델의 요소

  • 완전성(Completeness): 모든 데이터가 모델에 정의되어 있어야 함
  • 중복 제재(Non-Redundancy): 동일한 사실은 한 번만 기록해야 함
  • 업무  규칙(Business Rules): 데이터 아키텍처에서 언급되는 논리 데이터 모델(Logical Data Model)에서 이러한 요소들이 포함되어야 함
  • 데이터 재사용(Data Reusability): 데이터는 언제든 다시 사용할 수 있는 형태로 가공되고 보관되어야 함
  • 의사소통(Communication): 의사소통 도구로서의 역할을 해야 함
  • 통합성(Integration): 조직 전체에서 한 번만 정의되어야 함 / 한 번만 정의되고 여러 다른 영역에서 참조, 활용

 

[배운 점]

  • 개인과제 확인 후에 Dbeaver부터 냅다 실행 후, 데이터 csv 파일을 불러왔다.
  • 서버 설정 없이 csv 파일을 import 하면 프로그램에서 작동이 되질 않는다.
    ∴ 따라서 MySQL을 설치 안한 것이 문제였고, 설치 과정에서 매우 험난했음. 우리 팀원 중 한 명은 5시간 세팅했다고 함. 과제 시작부터 쉽지 않다.