02. 관계형 데이터 모델
관계형 데이터 모델의 구조와 연산
속성들간의 순서는 상관 없다.
원자 : 더이상 쪼개지지 않는 물질의 최소 단위. 즉, 속성은 더이상 쪼개지지 않는다.
모든 연산자가 폐쇄성질을 가지고있진 않지만 관계대수의 연산자들은 릴레이션에 대해 폐쇄성질을 가지고 있다. 즉, 어떤 릴레이션에 관계대수 연산자를 접목하면 결과 또한 릴레이션이다.
프로젝트 연산자가 폐쇄성질이 있다는건 어떤 릴레이션에 프로젝트 연산자를 대입하면 그 결과는 중복된 튜플이 없는 릴레이션이 반환된다는 것이다.
수평적인 셀렉트와 수직적인 프로젝트를 활용하게되면 내가 어떤 조건을 만족하는 튜플의 원하는 속성값을 찾을 수 있게됨.
예제 : 학번이 300인 학생의 (셀렉트) 이름과 성적 속성을 보여라. (프로젝트)
앞의 셀렉트와 프로젝트는 단일테이블에서 활용. 조인연상자는 서로 다른 두 릴레이션을 어떻게 결합할것인가?를 표현.
예를들어 3개의 튜플을 가진 릴레이션 R과 S가 있으면 조합할 수 있는 경우의 수는 3x3 = 9개.
학번이 100번인 학생의 지도교수의 이름을 알고싶은데 학생테이블엔 교수 이름이 없다. 이럴경우 두 테이블을 조인해서 학번이 100번인걸 찾고, 조인한 결과중에 100번 학생의 튜플을 뽑아낸다. 그 중에서도 교수 이름을 프로젝트로 뽑아낸다.
즉, 조인은 여러개의 테이블을 동시에 접근해서 원하는 정보를 파악해야할 필요가 있을 때 사용.
관계형 데이터 모델의 제약조건
기본키가 null값이라는것은 정의되지 않은 기본키라고 하는것이고, 이는 기본키가 튜플을 유일하게 식별할 수 없다는 것이다.
9번이 들어오면 무결성 제약조건에 위배된다. 피참조 릴레이션의 기본키 교번의 범위가 1~3이기 때문. 단, null값은 괜찮다.
'Data Analysis > Database (SQL)' 카테고리의 다른 글
[SQL 활용] 06. 데이터 검색 (0) | 2020.05.04 |
---|---|
[SQL 활용] 05. 제약조건 (0) | 2020.05.04 |
[SQL 활용] 04. 데이터 구조 생성과 변경 (0) | 2020.05.04 |
[SQL 활용] 03. SQL의 개념과 T-SQL (0) | 2020.05.04 |
[SQL 활용] 01. 데이터베이스 (0) | 2020.05.04 |