DBMS?
- 조직에서 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함
- 사용자가 DB에 접근하여 검색 저장 하기 위한 중간역할 담당
DBMS는 파일시스템의 데이터 일관성과 데이터 무결성 문제로 등장하였다. DBMS의 장단점은 다음과 같다.
DBMS 장점
- 중복 최소화
- 독립성 확보
- 데이터 동시 공유
- 데이터 보안 향상
- 무결성 유지
- 표준화 가능
- 장애 발생 시 회복 가능
- 응용 프로그램 개발 비용 down
DBMS단점
- 중앙 집중 관리로 인한 취약점이 존재
- 백업 및 회복 방법 복잡
DB사용자
- DB 관리자 : DDL, DCL
* db 구성요소 선정 및 스키마 정의, 물리적 저장 구조와 접근 방법 결정, 무결성 유지 위한 제약조건 정의, 백업 및 회복 기법 정의, 보안 및 접근 권한 결정, 시스템 db관리, 시스템 성능 감시 및 성능 분석, db재구성
- 응용 프로그래머 : DML
- 사용자 : DML
DB구조
1. 외부 단계 : 사용자 관점
배송팀의 외부 스키마
고객번호INT | 이름CHAR(10) | 주소CHAR(20) | 연락처CHAR(20) | 상품번호INT | 주문번호INT |
고객분석팀의 외부 스키마
성별CHAR(2) | 나이INT | 직업CHAR(10) |
2. 개념 단계 : 조직 전체적 관점
성별CHAR(2) | 나이INT | 직업CHAR(10) | 번호INT | 이름CHAR(10) | 주소CHAR(20) | 연락처CHAR(20) | 상품번호INT | 주문번호INT |
3. 내부 단계 : 저장 장치 관점
필드이름 | 필드 크기 | OFFSET | 인덱스 |
성별 | 2바이트 | 0 | 존재 |
나이 | 4바이트 | 2 | |
... | ... | ... | ... |
외부단계와 개념 단계 사이에는 논리적 데이터 독립성이 존재하고 개념스키마와 내부스키마 사이엔 물리적 데이터 독립성이 존재한다. 따라서 개념 단계에서 값 변경 하더라도 외부스키마에 논리적 영향을 끼치지 않는다.
데이터 모델링
- 개념적 데이터 모델링
: 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업
ex) E-R 모델
- 논리적 데이터 모델링
: 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업
ex) 관계형데이터모델
관계형 데이터 모델
- 2차원 테이블 형태
- 테이블 == 릴레이션
도메인
- 하나의 속성이 가질 수 있는 모든 값의 집합
ex) 운동선수 = {김연아, 손흥민, 김연경, ... }
학번 | 이름 | 나이 | 성별 | 주소 | 전공 |
1 | 신짱구 | 5 | 남 | 떡잎마을 | 해바라기반 |
2 | 김철수 | 5 | 남 | 떡잎마을 | 해바라기반 |
3 | 이훈이 | 5 | 남 | 떡잎마을 | 해바라기반 |
스키마
-db에 저장되는 데이터 구조와 제약 조건 정의
ex) 릴레이션이름(속성1,속성2,속성3...)
인스턴스
-스키마에 따라 db에 실제로 저장된 값
스키마 (속성) : 1열 {학번,이름,나이,성별,주소,전공}
인스턴스 : 2열부터 4열까지
릴레이션 스키마 ( 릴레이션 내포 )
-릴레이션의 논리적 구조
-릴레이션의 이름과 릴레이션에 포함된 모든 속성 이름으로 정의한다. (즉 테이블 이름과 테이블 속성으로 정의)
-정적인 특징이 있다.
ex) 운동선수(이름, 종목, 나이, 성별, 키, 몸무게)
릴레이션 인스턴스 ( 릴레이션 외연)
- 어느 한 시점에 릴레이션에 존재하는 투플 집합
- 동적인 특징이 있다 (어느 한 시점에서 추가/삭제가 이뤄진다.)
릴레이션 특징
- 릴레이션은 속성이나 인스턴스의 중복을 허용하지 않는다 ( 수학의 집합 이론에 기초한다.)
- 릴레이션과 테이블은 같은 것을 나타내지만, 릴레이션은 주로 구조를 강조할 때, 테이블은 데이터를 강조할 때 사용한다.
- 속성은 단일 값을 갖는다.
- 속성은 서로 다른 이름을 갖기에 중복을 허용하지 않는다.
- 한 속성의 값은 모두 같은 도메인 값(그 속성에서 정의한 도메인 값)만 가질 수 있다.
- 속성의 순서는 상관 없다.
- 투플의 중복은 허용하지 않는다
- 투플의 순서는 상관 없다.
속성 개수 == 도메인 개수 == 차수
릴레이션의 행 개수 == 투플의 수 == 카디날리티
릴레이션 == 테이블
릴레이션 | 같은의미 | 파일시스템 |
릴레이션 | 테이블 | 파일 |
스키마 | 내포 | 헤더 |
인스턴스 | 외연 | 데이터 |
투플 | 행 | 레코드 |
속성 | 열 | 필드 |