본문 바로가기
Database

[Database] 데이터베이스 시스템의 구성, ER Model

by IT 정복가 2022. 9. 20.
728x90

데이터베이스 시스템의 기본 구성은 아래와 같다.

데이터베이스 시스템의 기본 구성

1. 데이터베이스(Database)
: 하드디스크에 저장된 데이터

2. 데이터베이스 관리 시스템(DBMS)
: 주기억장치에 저장된 소프트웨어

3. 데이터 모델(Data Model)
: 눈에 보이지 않는 논리적인 개념으로 데이터가 저장되는 기법에 관한 내용

(이 외에도 데이터베이스 언어, 데이터베이스 사용자라는 추가 구성 요소가 존재)


데이터 모델(Data Model)

데이터 모델은 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지 결정한다.

  • 객체 기반 논리적 모델
    - ER Model(entity relationship model)
    - Object-oriented model

  • 레코드 기반 논리적 모델
    - 관계형 모델(relational model)
    - 네트워크 모델(network model)
    - 계층 모델(hierarchaical model)

  • 물리적 데이터모델
    - 연합 모델(unifying model)
    - 프레임 메모리(frame memory)

ER Model (entity relationship model)

ER 모델은 요구사항으로부터 얻어낸 정보들을 개체(Entity), 속성(Attribute), 관계(Relationship)으로 기술하는 데이터 모델을 말한다.

Entity(개체)
- 실세계의 유형 혹은 무형의 사물(object)로써 다른 Entity와 구별
- 같은 유형의 Entity들의 집합을 Entity Set이라고 함
- 수학책, 영어책, 국어책 3개의 책이 있을 때 각각을 Entity라고 하며, 3개의 책은 Entity Set으로 묶임
  책들은 '도서'라는 Entity Type으로 묶일 수 있다.

Attribute(속성)
- Entity의 설명 속성
- 수학책이 있을 때 이를 설명하는 Attribute로는 출판사, 가격, 도서명 등등...

*Attribute의 종류
1. 단순 Attribute: 속성값을 더 이상 작은 단위로 나눌 수 없는 Attribute
2. 복합 Attribute: 속성값을 작은 단위로 나눌 수 있는 Attribute, ex) 날짜: 년 + 월 + 일
3. 단일값 Attribute: 특정 Attribute에 대해 하나의 값만을 허용, ex) 학번, 주민등록번호, 지문
4. 다중값 Attribute: 특정 Attribute에 대해 하나 이상의 값을 허용, ex) 전화번호 2개 보유, 여러개의 이메일
5. null Attribute: 특정 Attribute가 값을 갖지 않을 때, ex) 주민등록번호가 없을 때..?
6. 유도 Attribute: 특정 Attribute의 값을 다른 관련된 Attribute들의 값으로 부터 도출가능,
    ex) 재직기간(유도 Attribute) = 현재 날짜 - 입사 날짜(base Attribute)

Domain
- Attribute가 가질 수 있는 값들의 집합

Relationship(관계)
- 여러 Entity 사이에 존재하는 관련성
- 같은 유형의 관계를 모아놓은 집합을 Relationship Set이라고 함

https://m.blog.naver.com/gongtong/150135598792
관계와 관계 집합


데이터베이스 언어

데이터베이스 시스템은 데이터베이스 전용 언어인 SQL을 사용한다.

SQL의 구성

데이터 정의언어(Data Definition Language: DDL)
: CREATE, ALTER, DROP문과 같이 DBMS에 저장된 테이블 구조를 정의

데이터 조작언어(Data Manipulation Language: DML)
: SELECT, INSERT, DELETE, UPDATE문과 같이 데이터를 검색, 삽입, 삭제, 수정하는데 사용


데이터 제어언어(Data Control Language: DCL)
: GRANT, REVOKE문과 같이 데이터의 사용 권한을 관리

https://gallery-k.tistory.com/197

728x90

'Database' 카테고리의 다른 글

[D/B] 관계 대수  (0) 2022.10.31
[Database] 관계 데이터 모델의 개념  (0) 2022.10.24
[Database] ER 모델  (0) 2022.10.17
[Database] 참여 제약 조건과 키(Key)  (0) 2022.09.25
[Database] 데이터베이스(Database, DB), DBMS란?  (0) 2022.09.09