※릴레이션(relation)
-행과 열로 구성된 테이블
-스키마와 인스턴스로 이루어짐
※스키마(schema)
-관계 데이터베이스의 릴레이션이 어떻게 구성되는지 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의
-테이블에서 스키마는 테이블의 첫 행인 헤더(header)에 나타나며 각 데이터으 ㅣ특징을 나타내는 속성, 자료 타입 등의 정보를 담고 있음.
※인스턴스(instance)
-정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합을 의미한다.
※릴레이션 스키마
-릴레이션에 어떤 정보가 담길지를 정의
※속성(attribute)
-릴레이션 스키마의 열
※도메인(domain)
-속성이 가질 수 있는 값의 집합
※차수(degree)
-속성의 개수
※릴레이션 인스턴스
-릴레이션 스키마에 실제로 저장된 데이터의 집합
※투플(tuple)
-릴레이션의 행
※카디널리티(cardinality)
-투플의 수
※릴레이션의 특징
1.속성은 단일 값을 가진다.
2.속성은 서로 다른 이름을 가진다
3.한 속성의 값은 모두 같은 도메인 값을 가진다.
4.속성의 순서는 상관없다
5.릴레이션 내의 중복된 투플은 허용하지 않는다.
6.투플의 순서는 상관없다.
※관계 데이터 모델
-데이터를 2차원 테이블 형태인 릴레이션으로 표현
-릴레이션에 대한 제약조건(constraints)과 관계 연산을 위한 관계 대수(relational algebra)를 정의
※무결성 제약조건
-데이터베이스는 일관성을 유지하고 중복을 제거하는 등, 데이터의 신뢰도를 유지
※키(key)
-무언가를 식별한다는 의미
-관계 데이터베이스에서 키는 릴레이션에서 특정 투플을 식별할 때 사용하는 속성 혹은 속성의 집합
※슈퍼키(super key)
-투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합(최소성x유일성o만족)
-고객번호,주민번호o(개인별로 유일한 값 부여)
-이름,주소x(동명이인,가족끼리 같은 정보)
-핸드폰x(한 사람이 여러개의 핸드폰 or 안 쓰는경우)
※후보키(candidate key)
-투플을 유일하게 식별할 수 있는 속성의 최소 집합(최소성o,유일성o만족)
-고객번호x(한 명의 고객이 여러 권의 도서를 구입)
-도서번호x(도서번호가 여러번 주문될 가능성)
-(고객번호,도서번호)o(동일한 주문 기록이 없으므로 모든 투플을 유일하게 식별할 수 있다.)
-(고객번호,도서번호)와 같이 두 개 이상의 속성으로 이루어진 키=복합키(composite key)
※기본키(primary key,PK)
-여러 후보키 중 하나를 선정하여 대표로 삼는 키
-기본키는 속성 밑에 밑줄을 그어 표현
1.릴레이션 내 투플을 식별할 수 있는 고유한 값을 가져야 한다.
2.NULL값은 허용하지 않는다.
3.키 값의 변동이 일어나지 않아야 한다.
4.최대한 적은 수의 속성을 가진 것이라야 한다.
5.향후 키를 사용하는 데 있어서 문제 발생 소지가 없어야 한다.
※대리키(surrogate key)(=artificial key)
-기본키가 보안을 요하거나, 여러 개의 속성으로 구성되어 복잡하거나, 마땅한 기본키가 없을 때
-일련번호 같은 가상의 속성을 만듬
※대체키(alternate key)
-기본키로 선정되지 않은 후보키
※외래키(foreign key,FK)
-다른 릴레이션의 기본키를 참조하는 속성
-릴레이션 간의 관계를 표현
1.관계 데이터 모델의 릴레이션 간의 관계를 표현
2.다른 릴레이션의 기본키를 참조하는 속성
3.참조하고(외래키) 참조되는(기본키) 양쪽 릴레이션의 도메인은 서로 같아야 한다.
4.참조되는(기본키) 값이 변경되면 참조하는(외래키) 값도 변경된다.
5.NULL 값과 중복 값 등이 허용된다.
6.자기 자신의 기본키를 참조하는 외래키도 가능하다.
7.외래키가 기본키의 일부가 될 수 있다.
※무결성 제약조건
-데이터 무결성(integrity)은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말함
-데이터의 변경(수정,삽입,삭제)가 있을 때마다 확인한다.
※관계대수,관계해석
-어떤 데이터를 어떻게 찾는지에 대한 처리 절차를 명시하는 절차적인 언어,DMBS 내부의 처리 언어로 사용(관계대수)
-어떤 데이터를 찾는지만 명시하는 선언적인 언어,DMBS의 표준 언어인 SQL의 이론적인 기반을 제공(관계해석)
※관계대수 연산자(relational algebra operator)
1.순수관계 연산
-셀렉션(selection),프로젝션(projection),조인(join),디비전(division),개명(rename)
2.일반 집합 연산
-합집합(union),차집합(difference),교집합(intersection),카티전 프로덕트(cartesian product)
셀렉션: 릴레이션에서 조건에 만족하는 투플을 선택(조건이 여러개 일때,∧(and),∨(or),¬(not) 기호를 이용하여 표현)
프로젝션: 릴레이션의 속성을 선택
개명: 릴레이션이나 속성의 이름을 변경
디비전: 부모 릴레이션에 포함된 투플의 값을 모두 갖고 있는 투플을 분자 릴레이션에서 추출
합집합: 두 릴레이션의 합집합
교집합: 두 릴레이션의 교집합
카티전 프로덕트: 두릴레이션에 속한 모든 투플의 집합
세타 조인: 두 릴레이션 간의 비교 조건에 만족하는 집합
동등 조인: 두 릴레이션 간의 같은 값을 가진 집합
자연 조인: 동등조인에서 중복 속성을 제거
세미 조인: 자연 조인후 왼쪽or오른쪽 속성을 제거
외부 조인: 자연 조인후 왼쪽or오른쪽or양쪽의 모든 값을 결과로 추출, 실패시 한 쪽의 값을 NULL로 채움
디비전: 특정 값들을 모두 갖고 있는 투플을 찾을 때 사용
※관계대수식
1.단항 연산자
-연산자<조건> 릴레이션
2.이항 연산자
-릴레이션1 연산자<조건> 릴레이션2
'DataBase' 카테고리의 다른 글
oracle DBMS와 MySQL DBMS의 문법차이 (0) | 2020.04.16 |
---|---|
데이터베이스 프로그래밍 (1) | 2020.03.06 |
SQL 고급 (0) | 2020.03.03 |
SQL기초 (0) | 2020.02.26 |
데이터베이스와 데이터베이스 시스템 (0) | 2020.02.25 |
댓글