728x90
데이터 모델링
- 복잡한 현실 세계에 존재하는 데이터를 단순화 시켜 표현해 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정(업무에 필요한 정보들만 가공해서 자료의 형태로 이용) ex) 학원에서 수강신청을 하는것
특징
- 추상화(Abstraction)
- 현실세계를 간략하게 표현한다 (누구나 가지고 있는 공통적인 특성을 뽑아내 간략하게 표현) - 단순화(Simple)
- 누구나 쉽게 이해할 수 있도록 표현한다 - 명확성(Clarity)
- 명확하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다(중복의 최소화)
현실세계 > 개념적 구조 > (ERD) > 논리적 구조
개념적 데이터 모델 : 사람이 머리로 이해할 수 있도록 현실 세계를 개념적인 형태로 모델링
논리적 데이터 모델 : 개념적 구조를 논리적 형태로 모델링
* 실무에선 두개를 같이하는 경우가 많음
관계
- 개체와 개체가 맺고 있는 의미 있는 연관성
- 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미
- ex) 고객 개체와 상품 개체 간의 구매 관계 "고객은 상품을 구매한다"
관계의 유형
- 일대일(1:1) 관계
- 일대다(1:N) 관계
- 다대다(N:M) 관계
E-R 다이어그램 도형 기호
테이블은 관계로 인해 연결되고, 관계에는 속성들이 있어 하나의 테이블로 구성할 수 있다 erd보고 무슨 관계 유형인지 읽어낼 수 있어야함 |
정보공학(Information Engineering) 표기법
| : 필수적
○ㅣ : 참여적(있을수도 없을수도)
<- : n(다)관계
관계형 데이터 모델
데이터베이스 구성
스키마(schema) | 인스턴스(instance) |
- 데이터베이스의 전체구조 - 데이터베이스를 구성하는 릴레이션 스키마의 모음 - 정적인 구조 |
- 데이터베이스를 구성하는 릴레이션 인스턴스의 모음 - 실제 데이터가 쌓이는 행이라고 생각,,, - 동적인 구조 |
릴레이션의 특성
- 튜플의 유일성 : 하나의 릴레이션에는 동일한 튜플이(식별자 기준) 존재할 수 없다
- 튜플의 무순서 : 하나의 릴레이션에서 튜플 사이의 순서는 무의미하다
- 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다
- 속성의 원자성 : 속성 값으로 원자 값으로 사용할 수 있다
키의 특성
키 - 릴레이션에서 튜플들을 유일하게 구별하는 속성 또는 속성들의 집합
- 유일성(uniqueness)
- 하나의 키 값으로 하나의 튜플만을 유일하게 식별
- 한 릴레이션에서 모든 튜플은 서로 다른 키 값을 가져야함 - 최소성(minimality)
- 꼭 필요한 최소한의 속성들로만 키를 구성
키의 종류
|
|
제약조건
무결성 제약조건(integrity constraint)
- 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
- 무결성 : 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것
- 도메인 무결성 제약조건(Domain constraint)
- 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다는 규칙
- null 값은 허용됨(not null이 아닌 경우) - 개체 무결성 제약조건(entity integrity constraint)
- 기본키를 구성하는 모든 속성은 null 값을 가질 수 없는 규칙 - 참조 무결성 제약조건(referential integrity constraint)
- 외래키는 참조할 수 없는 값을 가질 수 없는 규칙
- but, 외래키의 속성이 null 값을 가진다고 해서 참조 무결성을 위반한 것은 아니다
- RESTRICTED : 레코드를 변경 또는 삭제하고자 할 때 해당 레코드를 참조하고 있는 개체가 있다면, 변경 또는 삭제 연산을 취소
- CASECADE : 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체도 변경 또는 삭제
- SETNULL : 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체의 값을 null로 설정
|
id020이 없기 때문에 insert 되지 않는다
'{ "Hello World!" }; > DataBase' 카테고리의 다른 글
(DB) 데이터베이스 설계 (0) | 2022.01.14 |
---|---|
(DB) JOIN, UNION (0) | 2021.12.29 |
(DB) MySQL 내장 함수,연산자 (0) | 2021.12.29 |
(DB) 데이터베이스, SQL (0) | 2021.12.23 |
(DB) DBMS 구축하기 (0) | 2021.12.13 |