여정의 기록
[데이터처리와활용] 관계형데이터베이스 본문
728x90
데이터베이스란?
서로 연관되어 있는 방대한 양의 그리고 변화하는(은행, 학교의 계속해서 생성되는 데이터) 데이터 저장소
데이터베이스 관리 시스템이란?
데이터베이스를 편리하고 효율적으로(사용자의 측면에서 원하는 데이터를 자신의 관점에서 원하는 방향에서 볼 수 있는, 방대한 양을 빠르게 접근할 수 있는) 관리하는 소프트웨어
데이터베이스 역사
파일 시스템(단점: 통합되지 않아서 파일이 중복되어 저장됨-중복성, 저장위치 물리적 위치변화와 구조변화-데이터 종속성 문제) -> 계층형 데이터베이스 -> 망형 데이터베이스 -> 관계형 데이터베이스(1970년대 말)
관계형 데이터모델
데이터 모델이란? 실제를 모형화 -> 물리적 데이터모형(모형 명세서)
데이터 추상화란? 데이터 표현 기법_ 사용자 관심 데이터 부분은 강조, 관심 밖은 차단
관계형 데이터 모델 명세의 3가지 측면
- 데이터 표현을 위한 데이터 타입
- 관계 테이블, attribute, record (tuple) - 무결성 제약 (정확한 정보를 보장)
- 개체무결성 Entity integrity
- 참조무결성 Referential integrity - 연산자 집합 (잘 다루기위한 모델)
- 관계대수 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 |