본문 바로가기

학교

(52)
6. 정규화 FD (Functional Dependency) 함수적 종속성. relation R에서, attribute 집합 X와 Y가 있을 때 attribute X에 대해 Y가 오직 하나만 매칭되어야 함. 이 때, X를 결정자라 하고, Y를 종속자라 한다. 표기 : FD: X ->Y 만약, X의 어떤 부분집합도, Y를 결정하지 못하면 FFD (Full Functional Dependency)라고 한다. (2NF) 정규화 1NF relation R의 모든 도메인은 원자값(atomic value)를 가져야만 함. 각 row와 column은 값을 하나씩 가져야만 함. 만약, 집합이나 다수의 값으로 구성돼 있으면, 이걸 쪼개줘야 함. 예를 들어 다음 테이블 구조를 가진다 하자. Dname Dnumber Dmgr_ssn D..
5. ER 다이어그램 data model을 개념적으로 표현하기 위해 사용 Entity 이름, attribute로 표현 스키마에 해당함 직사각형으로 표현 Attributes entity의 요소들 Attribute는 서브 Attribute가질 수 있음. 밑줄이 쳐진 attribute는 key라고 한다. 만약, Key Attribute에 서브 Attribute 가 있다면, 그 키는 복합키가 된다. Relationship 원래는 Attribute에 다른 Entity를 연결하는 식(참조관계 속성)이었는데, 그 속성을 지우고 다음과 같이 마름모로 표현 attribute를 가질 수 있다. constraint Cardinality Ratios 1:1, 1:N, N:1, M:N 로 표현하고, 하나의 관계성에 참여할 수 있는 개체 수를 나타낸..
4. 관계 대수, 해석 구분 관계 대수 (Relational Algebra) 관계 해석 (Relational Calculus) 목적 어떻게? 무엇을? 절차 순차적 비순차적 관계 연산자 집합 연산자 연산자 기호 표현 의미 Union U R U S relation R과 S의 합집합 Interaction ∩ R ∩ S relation R과 S의 교집합 Difference ㅡ R ㅡ S relation R과 S의 차집합 Cartesian X R X S relation R과 S의 모든 원소들의 곱 관계 연산자 연산자 기호 표현 의미 Select σ σc(R) Relation R에서 조건 c를 만족하는 튜플 반환 교환 법칙 가능 Project π πL(R) Relation R에서 attributes의 집합 L로 구성된 튜플 반환 중복 허..
Signal 시스템에서 상호작용(interaction) 종류 1. 어셈 : 명령어 사이의 상호작용 2. 프로시저 호출 : 함수 사이의 상호작용 3. Linking : obj 파일간의 상호작용 4. Exception : OS와의 상호작용 (application -> OS) 5. signal : kernel과의 상호작용 (kernel -> application) SIGNAL이란? 시스템에서 특정 유형의 이벤트가 발생했을 때, process에게 알려주는 신호(signal) - Exception 및 interrupt와 유사 - kernel로 부터 받는 메시지 - 프로세스끼리 보낼 수 있음 - 시그널 유형은 integer 값으로 분류 (1~31) - 시그널에서 유일한 정보는 시그널 유형과, 도착했다는 신호이다. Send SI..
3. 관계형 DB의 데이터 모델 및 제약 관계형 데이터베이스(Relational Database)란 데이터를 테이블 형태로 저장한다. 각 행은 서로를 구분해주는 식별자를 가지고 있다. 각 항목은 행(row)에 저장되고, 항목의 속성은 열(column)으로 구분된다. 여기서 행(row)은 tuple로 불리기도 하고, 열(column)은 attribute라고 불리기도 한다. 여제부터 행은 tuple로, 열은 attribute라고 한다. 차수(Relation) attribute의 개수는 해당 Relation의 차수를 결정 Ex) 다음 테이블은 4차 Relation을 가짐 (Dname, Dnumber, Mgr_ssn, Mgr_start_date 총 4개) Relation 스키마 테이블을 정의해주는 부분이라 보면 된다. R(A1, A2, A3, ... ..
1. 데이터베이스 개요 Data : 암시적(implicit)으로 의미가 있는 사실 Database : 관련된 Date들의 집합 meta-data : DB안에 어떤 정보가 저장됐는지 기술(목차, 색인) 관계형 DB(Relational Database) : 데이터를 물리적 저장소를 개념적 표현과 분리하고, 쿼리 언어를 제공 DBMS 사용자가 DB를 만들고, 유지할 수 있게 해주는 프로그램 주 기능 1. 정의 (Defining) 2. 구축 (Constructing) 3. 조작 (Manipulating) 4. 공유 (Sharing) 5. 유지 (Maintaining) 6. 보호 (Protecting) -> System Protection (HW고장으로 보호, SW는 아님) -> Security Protection (해킹) 데이터베이스..
6. 파이프라인 (2/4) 해저드 파이프라인은 이론상 M단계 파이프라이닝을 도입하면 M배의 성능 향상을 생각하겠지만, 실제로는 이런 저런 이유로 성능이 크게 떨어진다. 해저드엔 3가지가 있다. 1. 구조적 해저드 2. 데이터 해저드 3. 명령어 해저드 해저드를 없애기 위해서는, 파이프라인에 명령어 투입을 멈춰야 한다. 이를 파이프라인 중지 또는 파이프라인 버블(NOP Sled) 이라고 한다. 하지만, 파이프라인 버블이 많아지면, 성능 향상이 크게 떨어지기 때문에, S/W구현에선, 컴파일러의 도움으로 명령어 순서를 변경하거나, H/W구현에선 파이프라인을 다시 설계하거나 자원을 추가한다. 구조적 해저드 실행 중인 2개 이상의 명령어가 동일한 하드웨어 자원을 동시에 요구하는 문제 EX) LOAD명령과 다른 여러 명령어들을 실행하는 과정에서, ..
6. 파이프라인 (1/4) 개요 명령어의 데이터 경로를 세분화해, 각기 다른 세부 단계를 동시 수행해, 여러 명령어 중첩 실행 파이프라인의 깊이(depth) : 단계의 개수 (Ex 세탁-탈수-건조 3개의 작업이면, 파이프라인 깊이는 3) 단계를 더 쪼개면, 깊이는 증가하지만, 지연 시간을 더 줄일 수 있다. 사진에서 위의 작업은 한 사람이 다 끝내야 다른 사람이 쓸 수 있는 순차 방식이고, 밑의 작업은, 한 사람이 세탁기를 돌리는 동안, 다른 사람이 놀고있는 탈수기, 건조기를 쓰는 파이프라인 방식이다. 시간으로 비교해 보자면 위의 순차 방식은 90분 * 4 = 360분이 나오지만, 밑의 방식은 초기 90분 + 가장 느린 작업 40분 * 3 = 210분이 나온다. 이는 순차 방식에 비해 약 1.7배가 빠르고, 작업량이 많아질수록 효율이 ..