Computer Science 3

[DataBase] - Superkey, Candidate key, Primary key

쉽게 말하면, R을 결정할 수 있으면, superkey superkey중에서 부분집합인 superkey가 없는 것이 candidate key이다. candidate key는 여러 개가 될 수 있다. 예를 들어, (A,B), (A,C)가 동시에 candidate key가 될 수 있다. 우리는 이 candidate key중 하나를 primary key로 사용한다. primary key를 이용해 우리는 relation schema의 각 데이터를 식별할 수 있다.

[DataBase] - Normalization(정규화)을 알아보자

1. 1NF 한 개의 column(attribute)에 한개의 원소(값)만 저장하는 것. 2.2NF 기본 키의 부분집합에 의해 결정되는 attribute가 없어야한다. 만약, 기본 키의 부분 집합에 의해 결정되는 attribute가 존재한다면, 그 부분집합을 기본키로하는 relation을 하나 만들어줘야한다. 3.3NF 기본키에 포함되지 않는 attribute끼리 의존성이 존재하면 안되는 것이다. 다시 말하면, 2NF가 진행된 테이블에서 이행적 종속을 없애는 것이다. 이행적 종속 : A → B, B → C면 A → C가 성립된다 Relation 내의 모든 종속관계에 대해서, trivial하거나, a가 superkey이거나, b에서 a를 뺀 나머지가 candidate key에 포함된다면 3NF를 만족한다..

Programming in unix

1. Calling fork multiple times pid_t pid1 = fork(); pid_t pid2 = fork(); 위 코드 실행시 아래와 같은 프로세스 그래프가 도출된다. parent에서 child X를 낳고, 또 한 번 parent오 child X가 한 마리씩 프로세스를 낳는다. 총 4개의 프로세스가 생성된다. parent가 받는 id1과 id2는 각각 임의의 자식프로세스의 id이다. 여기서는 X, Z라고 하겠다. X는 id1으로 0을 받고 id2로는 Y프로세스의 id를 받는다. Y는 X의 메모리를 물려받는다. 따라서 id1으로 0을 받는다. X의 자식이므로 id2 또한 0을 받는다. Z는 parent의 메모리를 물려받는다. 따라서 id1으로 x를 받는다. parent의 자식이므로 id..