데이터베이스 설계
- 요구 조건 분석 -> 설계(개념적설계/논리적설계/물리적설계) -> 구현 -> 운영 및 개선
- 개념적설계 : 구축하고자 하는 DB를 개념적으로 표현.
- 논리적설계 : 개념적설계에서 만들어진 구조를 사용자가 알아보기쉽게 테이블(표) 같은걸로 변환
- 물리적설계 : 실제 기계 내부에서 어떻게 처리해야 효율적으로 돌아갈지 설계
데이터 아키텍처(DA)
- 기업의 데이터 시스템을 처음부터 끝까지 구조적, 체계적으로 관리하고 설계하는 모든 과정
개체-관계 모델(E-R Model)
- P.Chen 박사가 제안. 개념적 설계 단계에서 사용. 개체,관계,속성 등을 약속된 기호로 표기
데이터베이스 모델
- 개념적설계 후 논리적 설계 단계에서 사용.
- 관계 데이터 모델 : 제일 많이 사용. 흔히 보는 표 로 생각하면 됨
- 네트워크 데이터 모델 : 망 데이터 모델이라고도 하며 관계 간 도형으로 표기한다.
- 계층 데이터 모델 : 트리구조로 표현.
관계 데이터 모델의 용어
- 릴레이션(Relation) = 테이블(Table) = 표
- 속성(Attribute) = 열(Column) = 항목(Field)
- 튜플(Tuple) = 행(Row) = 레코드(Record)
- 도메인 : 속성이 가질 수 있는 값들의 범위(예:1~4)
- 릴레이션 스키마 : 테이블 명 + 속성들의 이름 의 집합
- 릴레이션 인스턴스 : 어느 시점까지 입력 완료된 튜플들의 집합
- 차수 : 속성의 갯수
- 카디널리티 : 행의 수
어떻게 보며 릴레이션 인스턴스랑 카디널리티랑 비슷하게 보일 수 있는데
집합이랑 집합이 아닌 것을 구분해야됨.
Mapping Rule
- 개념적 DB 모델링 결과 가지고 변환 하는 과정인데. 개체 -> 테이블 / 속성 -> 항목 / 키 속성 -> 기본키 / 관계 -> 외래키 로 변환된다.
교차 엔티티(Intersection Entity)
- n : m 관계의 E-R Model 을 테이블로 변환할때 좀 더 정확한 참조를 위해 하나의 릴레이션을 더 만듬
키(Key)의 종류
- 튜플(행) 을 식별하기 위해 사용하는 속성. 하나 일수도 있고 2개 이상일수도 있고!
- 후보키 : 테이블에서 식별할 수 있는 키 들을 다 모아놓음. 한마디로 Key가 될 수 있는 속성들.
- 기본키 : 후보키 들 중에서 특별히 선택된 키. 중복 X, NULL X. 유일성과 최소성을 만족해야 한다
- 대체키 : 후보키 들 중에서 기본키로 선택 안된애들...
- 외래키 : 다른 테이블에 있는 내용을 참조하려고 다른 테이블로 원정갈 목적으로 사용되는 속성.
- 슈퍼키 : 테이블 내의 후보키와 다른 속성들과의 모든 조합.
무결성 제약조건
- 무결성? DB 자료의 오류없는 정확성과 안정성을 나타내는 것.
- 개체 무결성 : 테이블 내의 기본키는 NULL 값이 올 수 없으며 개체를 식별하기 위한 제약조건
- 참조 무결성 : 외래키는 NULL 값이 올 수 없으며 참조 테이블의 기본키와 같아야 하는 제약조건
- 도메인 무결성 : 속성값의 범위 (도메인)의 범위가 정해진 값으로 구성해야 한다.
- 고유 무결성 : 속성 내 값들을 중복을 방지 했는데(Unique) 똑같은 값이 있으면 안되겠지
- NULL 무결성 : 속성값에 NULL이 올수 없다고 정의했는데 NULL값이 오면 안되겠지
- 키 무결성 : 한 테이블 내에는 최소한 하나의 키가 존재해야한다
관계 대수
- 사용자가 원하는 결과를 얻기 위해 연산자를 표현하는 방법! 절차적 언어라고도 불림
순수 관계 연산자 | SELECT , PROJECT, JOIN, DIVISION |
일반 집합 연산자 | 합집합, 교집합, 차집합, 카디션 프로덕트 |
관계 해석
- 테이블에서 결과를 얻기 위한 과정을 표현하는 것. 연산자 없이 정의하는 방법을 이용하는 비절차적 언어
- '학점' 테이블에서 수강번호가 'B123' 이고, 점수가 80 이상인 학생의 이름을 구하여라
- {학점,이름} | 학점∧학점.수강번호='B123' ∧ 학점.점수 >= 80}
댓글
이 글 공유하기
다른 글
-
5. 기타 데이터베이스 실무 응용
5. 기타 데이터베이스 실무 응용
2016.04.16 -
4. 정규화
4. 정규화
2016.04.15 -
3. 관계 데이터베이스 언어(SQL)
3. 관계 데이터베이스 언어(SQL)
2016.04.15 -
1. 데이터베이스의 개요
1. 데이터베이스의 개요
2016.04.13