2020. 9. 30. 05:01ㆍ데이터베이스
Relational Model
Relational Model은 Relation의 모음으로 대표한다. 테이블의 모든 row 줄은 데이터를 나타낸다.
테이블 안에 row 들은 실제 세계의 entity 및 relationship을 나타낸다.
테이블 이름과 로우의 이름은 각 로우의 값의 의미를 해석하는데 도움을 줍니다. 또한 데이터는 relation의 집합으로 나타납니다.
relational 모델에서는 데이터를 테이블에 저장합니다. 그러나 물리적 저장소와 논리적 저장소는 독립적으로 존재한다.
Relational Model Conecpts
Attribute: 테이블의 각 칼럼이다. Attribute는 관계를 정의한 속성입니다.
Tables: Relational 모델에서는 관계는 테이블 형태에 저장된다. 주로 엔티티에 따라서 저장된다. table은 주로 row와 column이라는 속성을 갖고 있습니다.
row는 records를 columns는 attribute를 나타냅니다.
Tuple: single Record를 포함한 테이블의 한줄입니다. 유일해야한다는 특징이 있다. row에 대응한다. 또한 이를 relation State라고 한다.
Relation Schema: Relation Schema
Degree: relation안에 존재하는 attribute의 총 개수이다. 이를 relation의 degree라고 부른다.
Cardinality: 테이블에 있는 rows의 전체 수
Column: column은 특정 attribute를 위한 값의 집합으로 나타난다.
Relation instance: Relation 인스턴스는 튜플의 유한한 집합이다. Relation 인스턴스는 겹치는 튜블을 가지지 않는다.
Relation Key: 모든 줄은 한개 혹은 두개, 다수의 attribute를 갖는다. 이를 relation Key라고 한다.
Attribute Domain: 모든 attribute는 사전에 정의된 value와 scope를 갖는다. 이를 보통 attribute domain으로 알고있다.
Relational database schema: relational schema와 제약들의 집합이다.
Relational database state는 relation state의 집합이다.
Domain: 각 속성에 허용된 값의 모음이다. 프로그래밍 언어에서의 데이터 타입과 비슷하다. 속성 값들을 일반적으로 atomic해서 더 이상 나눌 수 없다. 특별한 값 NULL은 모든 domain의 멤버가 될 수 있다.
SuperKey: attirbute를 조합해 만드는 키이다. 유일성은 존재하지만 최소성은
Relation Integrity Constraints
제약을 통해 Relation의 상태를 항상 정당하게 유지할 수 있게 해준다. 이러한 제약들은 데이터 베이스에서 나타내는 mini - world의 규칙에서 유래되었다.
아래와 같은 종류가 있다.
1. Domain constraints
2. key constraints
3. Referential integrity constrains
Domain constraints
Domain constraints는 동일한 도메인에 attribute value에 나타나지 않거나 적합한 데이터 타입이 아니라면 잘못된 것을 의미한다.
Domain constraints은 각 tuple내에서 고유하다고 명시하고 각 attribute의 값은 반드시 고유해야한다.
데이터 타입은 기본적인 데이터 타입을 명시한다. integers, real numbers, characters, Booleans, variable length strings, etc.
Example
Create DOMAIN CustomerName
CHECK (value not NULL)
Key constraints (entity integrity)
테이블에 key를 이용해 특별한 튜플을 식별할 수 있다. 다른 tuple에 대한 attribute 값은 유일해야한다.
Example
CustmerName의 경우 겹칠 수가 있지만 CustomerID의 경우에는 유일한 key이고 Null 값이 오면 안된다.
Refernertial integrity constraints
Refernertial integrity constraints이 경우에는 Forien Keys의 개념에 근본하고 있다. Forien Key는 다른 테이블과의 다른 관계를 만들기 위해 접근할 수 있는 매우 중요한 key이다. Referential integrity constraint state는 key로 다른 또는 같은 relation을 접근하려고 할 때 발생한다. 그러나 해당 key는 반드시 테이블에 존재해야한다.
Example
위 예제에서 우리는 Google이라는 기업이 CustomerID를 통해 300 달러를 갖고 있음을 알 수 있다.
Operations in Relational Model
Insert: data를 relation에 입력한다.
Update: 저장되어 있는 데이터를 수정한다.
Read: 저장되어 있는 데이터를 읽어온다.
Delete:저장되어 있는 데이터를 삭제한다.
이러한 연산이 진행될 때마다 제약조건에 위반되어서는 안된다.
'데이터베이스' 카테고리의 다른 글
Basics of Functional Dependencies and Normalization for RelationalDatabase (0) | 2020.11.21 |
---|---|
복잡한 쿼리, 트리거, view, 스키마 변경 (5) | 2020.10.14 |
ER(Entity Relation) 모델 (0) | 2020.09.23 |