본문 바로가기
AI/데이터베이스\SQL

데이터베이스(1)

by 까다로운오리 2022. 3. 21.

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) 운동선수(이름, 종목, 나이, 성별, 키, 몸무게)

 

 

릴레이션 인스턴스 ( 릴레이션 외연)

- 어느 한 시점에 릴레이션에 존재하는 투플 집합

- 동적인 특징이 있다 (어느 한 시점에서 추가/삭제가 이뤄진다.)

 

 

 

릴레이션 특징

- 릴레이션은 속성이나 인스턴스의 중복을 허용하지 않는다 ( 수학의 집합 이론에 기초한다.)

- 릴레이션과 테이블은 같은 것을 나타내지만, 릴레이션은 주로 구조를 강조할 때, 테이블은 데이터를 강조할 때 사용한다.

- 속성은 단일 값을 갖는다.

- 속성은 서로 다른 이름을 갖기에 중복을 허용하지 않는다.

- 한 속성의 값은 모두 같은 도메인 값(그 속성에서 정의한 도메인 값)만 가질 수 있다.

- 속성의 순서는 상관 없다.

- 투플의 중복은 허용하지 않는다

- 투플의 순서는 상관 없다.

 

 

속성 개수 == 도메인 개수 == 차수

릴레이션의 행 개수 == 투플의 수 == 카디날리티

릴레이션 == 테이블

 

 

릴레이션 같은의미 파일시스템
릴레이션 테이블 파일
스키마 내포 헤더
인스턴스 외연 데이터
투플 레코드
속성 필드