Week 3 - Introduction to Relation Model
2023. 10. 20. 14:34ㆍCS Life/Database
단어 정리
릴레이션 relation
관계형 데이터베이스는 행렬 형태를 갖는 테이블들의 모임으로 구성된다. 이러한 형태의 테이블을 릴레이션이라 부른다.
속성 attribute
릴레이션에서 각 필드(열)를 속성이라고 하고 한 릴레이션이 갖는 속성의 수를 arity라 부른다.
속성 도메인
속성이 가질 수 있는 값의 범위를 도메인(attribute domail)이라 부른다.
튜플 Tuple
릴레이션을 이루는 속성의 순서에따라 부여된 값으로 이루어진 하나의 행을 튜플 이라 부른다.
Cardinality
한 릴레이션에 속한 튜플의 수를 그 릴레이션의 Cardinality라 부른다.
Relation Model
- Approach to managing data using a structure and language
- Data - Terms of tuples & Grouped into relations
- Purpose : provide a declarative method for specifying data and queries
Tables
- Relations are saved in the format of tables
- Row = Record
- Column = attribute
Tuple
- Single row of a table : 관계에 대한 단일 레코드가 포함된 테이블의 단일 행
Column
- set of data values of a particular type, one value for each row of the database
- Called An Attribure
Primary Key
Week 5 - Introduction to SQL (1)#Primary Key
- Key in a relational model that is unique for each record
Domain
- Set of acceptable values that a column os allowed to contain
(Column 에 포함할 수 있는 허용 가능한 값의 집합) - Based on various properties and the data type for the column
(Column 의 다양한 속성과 데이터 유형을 기반)
Operations in Relational Model
Insert Operation
- the insert operation gives values of the attribute for a new tuple which should be inserted into a relation
Update Operation
- You can see that in the below-given relation table CustomerName=‘Apple’ is updated from Inactive to Active
Deletion Operation
- To specify deletion, a condition on the attributes of the relation selects the tuple to be deleted
In the above-given example, CustomerName=‘Apple’ is deleted from the table
Select Operation
In the above-given example, CustomerName-‘Amazon’ is selected
Database Schema
- Logical Structure of the Database
- 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
Database Instance
- snapshot of the data in the DB at a given instant in time
- Snapshot : 특정 시간의 저장 장치의 상태
- 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값
Keys
Primary keys
- Unique for each record (Unique Identifier)
- Always have one and only one primary key
Schema Diagram for University Database
Relational Algebra
- procedural language consisting of a set of operations that take one or two relations as input and produce a new relation as their result (하나 또는 두 개의 관계를 입력으로 받아 그 결과로 새로운 관계를 생성하는 일련의 연산으로 구성된 절차적 언어)
- Six Basic Operators
- Select :
- Project :
- Union :
- Set difference : –
- Catesian product : x
Select Operations
- Selects tuples that satisfy a given predicate (주어진 술어를 만족하는 튜플을 선택)
- Comparison 가능 (=, ≠, >, ≥ , < ≤ ) + 논리 연산자 (⌃and, ⌄or, ⌝not)
- = dept_name 이 Physics 이다. 그리고 salary 가 90000 이상이다.
Projection Operation
- 특정 속성을 생략하고 관계를 반환하는 단항 연산
- 쿼리에 포함되지 않은 dept_name 이 포함되지 않은 DB 출력
Composition of Relational Operations
- 관계연산자를 이용해서 식으로 나타낼 수 있음
Cartesian-Product Operation : X
- 발생 가능한 모든 경우의 수의 행이 출력되는 것 : N x M
- 조인 조건을 생략하거나 부적합할 경우 발생하는 것 = 발생했다는 것은 내 조인 조건의 문제가 있다는 것
- X 로 표시, 두 관계의 정보를 결합할 수 있음
- 각각의 테이블에서 모든 관계의 연산을 출력
Join Operation : ⋈
- 각 테이블의 모든 튜플을 곱
- 테이블에서 각 행에서 있는 조건들끼리만 곱
- 선택 연산과 카르테시안-제품 연산을 단일 연산으로 결합
- ""를 스키마 R " " S의 속성에 대한 Predicate 로 설정
Union Operation :
- allow us to combine two relations
- Union 이 가능하게 하는 조건
- r, s must have the same number of attributes : 속성의 수가 같아야 한다
- attribute domains must be compatible : 속성 도메인은 호환이 가능해야 한다
- 예: r의 두 번째 열은 s의 두 번째 열과 동일한 유형의 값을 처리함)
Set-Intersection Operation :
- Find Tuples that are in both the input relations
- r, s have the same number of domain
- Attributes of r and s are compatible
Set-Difference Operation : -
- 차집합이라고 생각하면 될 듯
- Set difference must be taken between compatible relations
- r and s must have the same arity (릴레이션이 갖는 속성의 수)
- r and s must have the same arity (릴레이션이 갖는 속성의 수)
References
relation 관련 용어 설명
Cartesian 곱 + 기본 연산
“이 글은 Obsidian 에서 작성되어 업로드 되었습니다”
'CS Life > Database' 카테고리의 다른 글
Week 5 - Introduction to SQL (1) (0) | 2023.10.24 |
---|---|
[프로그래머스] SELECT 문제풀이 (0) | 2023.10.23 |
Week 7 - Intermediate SQL (1) | 2023.10.21 |
Week 6 - Introduction to SQL (2) (0) | 2023.10.21 |
Week 2 - Introduction (1) | 2023.10.20 |