본문 바로가기

10월 회고록

SQLD 필기 D-24

엔티티(ENTITY) ㅡ "미녀", "야수"

관계(RELATION) ㅡ "사랑하는 사이"

속성(ATTRIBUTE) ㅡ 야수 : "180cm" , "사나움", 미녀 : "160cm", "착함"

 

엔티티(ENTITY)

- 데이터베이스에 자료로 표현하려는 것(객체)

ex) 부서 엔티티, 사원 엔티티

쉽게 말해서 테이블이다.(거이 같은 개념)

 

속성(Attribute)

- 데이터의 가장 작은 논리적 단위

ex) 부서 엔티티의 속성 : 부서 번호, 부서명, 위치

      사원 엔티티의 속성 : 사번, 이름, 주소, 소속부서

쉽게 말해서 컬럼이다.

 

관계(Relation)

- 엔티티와 엔티티 혹은 엔티티와 속성 간의 연관성을 관계라고 함

- 일반적으로 동사형으로 표현

ex) 사원이 부서에 소속되어 있다.

 

속성의 유형

단순 속성 - 주민번호, 성별 ... 쪼개질 수 없는 컬럼

복합 속성 - 주소(기본,상세,우편번호), 입사일(년,월,일) ... 쪼개지는 컬럼

 

단일 값 속성

하나의 값만 갖는 것 (ex 주민번호)

 

다중 값 속성

여러 개의 값만 갖는 것(ex 취미)

 

유도 속성

속성의 값이 다른 속성이나 엔티티가 가지고 있는 값으로부터 유도되어 결정되는 경우

 

저장 속성

유도 속성을 생성하는데 사용된 속성

 

생년월일(저장 속성) ────────────────────> 나이(유도 속성)

 

관계의 유형

관계에 참여하는 하나의 엔티티에 대해 다른 엔티티가 몇 개 참여하는지를 나타내는 것

카디날리티(Cardinality) : 관계의 대응 엔티티 수)라고도 함

 

카디날리티란?

하나의 관계에 실제로 참여할 수 있는 인스턴스의 수를 의미

표현방법 : 일대일(1:1), 일대다(1:N), 다대다(N:M) 

 

1:1

사원 ㅡ 배정 ㅡ 차량

1명의 사원이 1개의 차량을 배정 받았다.

 

1:N

부서 ㅡ 소속 ㅡ 사원(1명, 2명, 3명....)

1개의 부서에 사원은 여러명이 있을 수 있음.

 

N:M

고객 ㅡ 주문 ㅡ 상품

고객은 여러명이며 상품도 여러개임.

 

ISA 관계

상위 엔티티와 하위 엔티티 간의 관계를 의미

 

정규화

자료 저장 공간을 최소화하고 db 내의 데이터가 불일치 되는 위험을 최소화하여 좋은 db 스키마를 설계하는 것을 목적

(간단하게 말하면 데이터를 중복되는 것을 방지..?)

 

수정 이상

중복 데이터 중에서 일부만 갱신되어 정보의 모순이 발생하는 것

 

삽입 이상

불필요한 정보를 함께 저장하지 않음

 

삭제 이상

유용한 정보를 함께 삭제하지 않고는 어떤 정보를 삭제하는 것이 불가능한 것

 

정규화의 목적

반복적인 자료를 제거하여 다음과 같은 상태를 만들기 위한 것

1. 어떤 관계라도 데이터베이스 내에서 표현이 가능하도록 만드는 것

2. 관계에서 바람직하지 않은 삽입, 삭제, 갱신 이상이 발생하지 않도록 함

3. 새로운 형태의 데이터가 삽입될 때 관계를 재구성할 필요성을 줄일 수 있음

4. 보다 간단한 관계 연산에 기초하여 검색을 보다 효율적으로 할 수 있음

 

제1정규화, 제2정규화

 

데이터베이스 설계 단계

요구 조건 분석

개념적 설계

논리적 설계

물리적 설계

구현

 

 

 

'10월 회고록' 카테고리의 다른 글

D-23  (1) 2022.10.13
SQLD 시험접수 완료  (0) 2022.10.11