2.1 Structure of relational Database


table == Relation


Attribute : Column of talbe

Tuple : row in table


*Attribute types

-Domain : the set of allowed vlaues for each attribute

-Attribute values are required to be atomic, that is indivisible

-Null 값이 들어갈수도 있다


*NULL 값이란?

-값이 무엇인지 정의할 수 없는 경우 사용될 수 있다. : 알려지지 않은 값

-값이 무엇인지 알 수 없는 경우

-적용 불가능한 값

-보류된 값


2.2 Database Schema


데이터베이스는 여러 Relation으로 이루어져있다


        • Database Schema : Logical design of the database


        • Database instance : A snapshot of the data in the database at a given instant in time


        • Relation schema : Logical design of a table (Attribute와 연관된 Domains)


        • Relation instance : A snapshot of the data in a table at a given instant in time



2.3 Keys

K가 R에 속해있을때
K is a SuperKey of R if values for K are sufficient to identify a unique tuple of each possible relation r(R)

: 슈퍼키는 유일성을 만족하는 Attribute이다. 유일성은 키가 갖추어야 하는 기본 특성으로, 하나의 relation에서 키로 지정된 속성의 값은 tuple마다 달라야한다는 것이다. 즉 키 값이 같은 tuple은 존재하지 못한다. 예로는 고객 아이디 같은 것이 있는데 고객아이디가 들어간 모든 집합은 super key 가 된다


Candidate Key is minimal superkey for which no proper subset is a superkey
:후보키는 슈퍼키의 일부분으로 유일성과 최소성을 만족해야한다. 최소성은 키를 구성하고 있는 여러 속성 중에서 하나라도 없으면 tuple을 유일하게 구별할 수 없는, 꼭 필요한 것들로만 키를 구성한다는 것이다. 예를 들어 superkey중에 하나의 원소로만 되있으면 후보키이다.



One of the candidate keys is selected to be the Primary key

: 기본키는 tuple을 구별하는 최소 단위를 기본키라고 한다. 후보키의 부분에 속한다.



Foreign key constraint : value in one relation must appear in another
-Referencing relation
-Referenced relation
 : 다른 relation을 참조하거나 참조되는 Column




2.4 Schema Diagram

foreign key와 primary key같은 것들의 상관관계를 보여주는 shcema diagrams이다





2.5 Relational Query Lanuages

Procedural vs Non-procedural, or Declarative(???????)

Pure Languages:
-Relational algebra
-Tuple relational calulus
-Domain relational calculus

Relational operators
        1. Selection
        2. Project
        3. Union
        4. Difference
        5. intersection
        6. Join
          1. Cartesian product
          2. Natural Join

1.Selection
Chooses the tuples in a relation which satisfy certain conditions

ex) SELECT Product Name Where Unit Price > 4000



2.Projection

Extract data Vertically(as a column)

Choses some of the attributes of the relation

ex) PROJECT Product Name


3.Union

합집합이다 중복된 것은 제거한다


4.Difference

차집합니다. 




5.Intersection

교집합이다.



6.Cartesian Product

행렬 곱하기 이다 3줄 x 3줄 = 9줄 이렇게



7.Natural Join

Relation R과 S에 공통적으로 존재하는 속성들을 이용하여 공통 속성들의 값들이 서로 같은 Tuple들을 조인하는 것이다. 쉽게 말해 같은 부분을 기준으로 두 Relation을 하나로 합침




전체 요약

'일상 > DataBase' 카테고리의 다른 글

SQL 소개 (2)  (0) 2017.09.28
3.SQL 소개(1)  (0) 2017.09.28
SQL 공부 1  (0) 2017.09.27
1.데이터베이스(DataBase)란  (0) 2017.09.27

+ Recent posts