여정의 기록

[데이터처리와활용] 관계형데이터베이스 본문

공부중 .../데이터처리와활용

[데이터처리와활용] 관계형데이터베이스

Chelsey 2022. 8. 24. 00:54
728x90

데이터베이스란?

서로 연관되어 있는 방대한 양의 그리고 변화하는(은행, 학교의 계속해서 생성되는 데이터) 데이터 저장소

 

데이터베이스 관리 시스템이란?

데이터베이스를 편리하고 효율적으로(사용자의 측면에서 원하는 데이터를 자신의 관점에서 원하는 방향에서 볼 수 있는, 방대한 양을 빠르게 접근할 수 있는) 관리하는 소프트웨어

 

데이터베이스 역사

파일 시스템(단점: 통합되지 않아서 파일이 중복되어 저장됨-중복성, 저장위치 물리적 위치변화와 구조변화-데이터 종속성 문제) -> 계층형 데이터베이스 -> 망형 데이터베이스 -> 관계형 데이터베이스(1970년대 말)

 

관계형 데이터모델

데이터 모델이란? 실제를 모형화 -> 물리적 데이터모형(모형 명세서)

데이터 추상화란? 데이터 표현 기법_ 사용자 관심 데이터 부분은 강조, 관심 밖은 차단

 

관계형 데이터 모델 명세의 3가지 측면

  1. 데이터 표현을 위한 데이터 타입
    - 관계 테이블, attribute, record (tuple)
  2. 무결성 제약 (정확한 정보를 보장)
    - 개체무결성 Entity integrity
    - 참조무결성 Referential integrity 
  3. 연산자 집합 (잘 다루기위한 모델)
    - 관계대수 Relational algebra
    - 관계해석 Relational calculus

 

데이터표현을 위한 데이터 타입

  • 개체 entity (구별할 수 있는 모든 것)
  • 관계 테이블 (T) = 관계 스키마(R) + tuple 집합(r)
  • 관계성 relationship
    • 내부관계성 (특정 학번의 소속, 학년)
    • 외부관계성 (한 테이블의 특정 attribute과 다른 테이블의 같은 attribute)

 

무결성 집합

  • 슈퍼키 (Super Key)
    tuple이 가진 모든 attribute가 슈퍼키가 될 수 있다, 중복성의 문제 (불필요한 attribute를 키로 가지고 있음)
    ex) 학번, 이름, 학과 (전부)
  • 기본키 (Primary Key)
    후보키가 2개 이상일 때 선택된 키
  • 대체키 
    기본키로 선택받지 못한 다른 후보키
  • 후보키 (Candidate Key) 
    슈퍼키 중 가장 최소한으로 구분할 수 있는 attribute
    ex) 학번, 주민번호
  • 외래키 (Foreign Key)
    다른 테이블에 기본키와 같은 attribute를 외래키라고 함

관계모델의 두가지 무결성 규칙

  • 개체무결성규칙
    기본키인 attribute는 null 값을 가질 수 없음
  • 참조무결성규칙
    외래키인 attribute의 값 하나이상이 다른 테이블의 기본키에서는 존재하지 않으면 안됨
    외래키에서는 null이 될 수 있다

 

관계형 연산자 집합

관계대수기반 연산자

  • 선택 연산 Selection
    테이블에서 원하는 행 부분 추출
    소속학과 = 통계학과 ^ 교수번호=2312(r)
  • 투영 연산 Projection
    테이블에서 원하는 행의 원하는 열 부분 추출
    π 학번, 이름(소속학과 = 통계학과 ^ 교수번호=2312(r) 
  • 카티션 곱 Cartesian Product
    두 개의 테이블의 attribute를 join, 중복되는 attribute 모두 중복되게 더해짐
  • 자연 조인 Natural join
    중복되는 attribute는 중복성없이 합해줌
    π 학번, 교수명(학생 교수번호 = 교수 교수번호(카티션 곱)) = π 학번, 교수명 (학생 ~ 교수)

 

728x90

'공부중 ... > 데이터처리와활용' 카테고리의 다른 글

SQL 예시 4  (0) 2022.12.06
SQL 예시 3  (1) 2022.12.03
SQL 명령문 예시들  (0) 2022.12.02
SQL 명령어  (0) 2022.10.10
[데이터처리와활용] 관계형 데이터베이스 설계1(E-R모델 관계스키마)  (0) 2022.09.20