응용 S/W 기초 기술 활용
관계대수
정의
: RDB(관계형데이터베이스)에서 사용자가 원하는 정보가 무엇인지 그리고 그러한 정보를 얻기 위한 방법을 기술하는 절차적 언어
순수 관계 연산자
PROJECT, SELECT, JOIN, DIVISION
집합 연산자
합집합(UNION), 교집합(Intersection), 차집합(difference), 교차곱(Cartesian Product)
일반집합 연산자
합집합(∪)
: 두 릴레이션에 존재하는 튜플의 합집합을 계산
-> R ∪ S={t|t ∈ R ∪ t ∈ s}
교집합(∩)
: 두 릴레이션에 존재하는 튜플의 교집합을 계산
-> R ∩ S={t|t ∈ R ∩ t ∈ s}
교차곱(X)
: 두 릴레시션에 존재하는 튜플들의 결합된 정보를 구하는 연산
-> R X S={t|t ∈ R ∩ t ∈ s}
교차곱의 카디널리티는 두 릴레이션 카디널리티를 곱한것과 같다
교차곱 예시
project(수직연산)
주어진 릴레이션에서 열에 해당하는 속성을 추출
연산 결과에 중복 발생하면 중복제거됨
표기형식 : ∏속성(R) --- ∏=파이
예) ∏ 고객명, 포인트(구매내역)
> 구매내역 릴레이션에서 고객명, 포인트 속성을 추출하여 표시
project(수직연산) 예시
SELECT(수평연산)
릴레이션에 존재하는 튜플들 중에서 특정 조건을 만족하는 튜플들을 구하는 연산
조건에 =,≠,<,>,≤,≥ 연산과 AND(∧) , 𝑶𝑹(∨) , 𝑵𝑶𝑻(ㄱ) 과 같은 논리 연산자 이용할 수 있다.
표기형식 : 𝝈 조건(𝑹) --- 𝝈 = 시그마
예) 𝝈 포인트≥𝟗𝟎𝟎(구매내역)
SELECT(수평연산) 예시
JOIN
2개의 릴레이션에 대해 공통 속성 중심으로 하나로 합쳐서 새로운 릴레이션 생성
JOIN 연산의 결과로 만들어진 릴레이션의 차수는 조인된 두 릴레이션의 차수를 합한 것과 같다.
JOIN연산의 결과는 교차곱(CARTESIAN PRODUCT) 연산을 수행한 다음 SELECT 연산을 수행한 것과 동일
표기형식 : R ⋈조인조건 𝑺
예) 구매내역 ⋈고객명=고객명 고객정보
JOIN 예시
DIVISION
두 릴레이션 R(X)와 S(Y)에 대해 Y가 X에 포함되고, X에서 Y를 제외한 나머지를 z라고 한다면 R(X)의 표기는 R(Y,Z)와 같은 것이 된다.
Division연산은 바로 r(z)를 제외한 r(y)의 튜플을 구하는 작업이 된다.
표기형식 : R[속성 ÷속성] 𝑺
예) 구매내역[구매지점 ÷지점명]𝑨/𝑺지점
DIVISION 예시
관계해석
E.F.Codd박사가 수학의 술어해석(predicate Calculus)에 기반을 두는 데이터베이스 모델링 방식 제안
관계형 데이터베이스에서 사용자가 원하는 정보가 무엇인지만 정의하는 비절차적 특성을 지닌 언어
종류 – 튜플관계해석, 도메인 관계해석
질의어 이용한 표현
키(KEY) 정의 및 종류
테이블에서 다른 데이터와 구분하기 위한 유일한 값을 가지는 필드 또는 필드의 집합
각각의 튜플을 식별할 수 있는 유일한 성격을 갖는 것으로 한 테이블에서 적어도 한 개는 존재해야 한다.
슈퍼키(super key) – 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로써 모든 튜플에 대해 유일성(unique)은 만족하지만 최소성(minimality)은 만족하지 않음.
후보키 – 한 테이블에서 유일성과 최소성을 만족하는 키
기본키 (PRIMARY KEY) – 후보키 중에서 선정되어 사용되는 키로 절대 널(NULL)이 될 수 없으며 중복될 수 없다.
외래키 (Foreign key) –흔히 릴레이션간의 관계를 표현할 때 사용하며, 한 릴레이션의 a속성이 참조 릴레이션의 기본키 속성 b가 동일한 도메인상에서 정의되었을 때 a속성을 외래키라고 함. 외래키는 참조 릴레이션의 기본키와 동일한 속성을 가져야 함.
대체키(Alternative key) – 후보키 중에서 선정된 기본키 제외한 나머지 후보키
키(KEY) 예시
무결성 정의 및 종류
무결성 – 현실세계의 실제값과 데이터값과의 정확성을 의미
무결성 제약조건(integrity constraint) – 부정확한 데이터가 데이터베이스에 저장되는 것을 방지하기 위한 규칙을 의미
종류
NULL(널 값) – 알려지지 않거나 모르는 값 또는 아무것도 없는 특수한 데이터를 의미
도메인(domain)무결성 – 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다.
참조무결성규칙 – 외래키값은 null이거나 참조 릴레이션의 기본키 값과 동일해야 한다.
개체 무결성규칙 – 기본키를 구성하는 속성은 절대로 null이 될 수 없다.
문제 1
정답 : ÷
문제 2
정답 :
1. ∪
2. ∩
3. -
4. X
5. 𝝈
6. 𝚷
7. ⋈
8. ÷
문제 3
정답 : 1. 참조 무결성, 2. 개체 무결성
문제 4
정답 : 무결성
문제 5
정답 :
1. 지점번호 103,108번이 <지점> 릴레이션의 <지점번호>에 해당 속성값이 없다.
2. <지점> 릴레이션의 <지점번호>에 NULL값이 있다.