본문 바로가기
반응형

IT 이론236

[데이터베이스] Relational Data Model (관계 데이터 모델) 관계 데이터베이스 스키마 S={R1, R2, ..., Rn} + IC - {R1, R2, ..., Rn} : Set of relation schema (릴레이션 스키마들의 집합) - IC : Set of integrity constraint (무결성 제약조건들의 집합) 관계 데이터베이스 인스턴스 DB = {r1, r2, ..., rn} - {r1, r2, ..., rn} : Set of relation instance - 각 애트리뷰트 ri는 도메인 dom를 가진다. - 도메인 : 원자값들의 집합 각 ri는 Ri의 인스턴스이며 IC에 명시된 무결성 제약조건들을 만족한다. 하나의 릴레이션의 튜플들은 그들 간의 순거를 가지지 않는다. 기본적으로 order를 지정하지 않는 경우 출력되는 순서는 무의미하다. (.. 2013. 1. 12.
[데이터베이스] Referenced Table을 만들 때의 속성 REFERENCES referenced_table [(referenced_columns)] [ON_DELETE { RESTRICT | NO ACTION | CASCADE | SET NULL | SET DEFAULT}] [ON_UPDATE { RESTRICT | NO ACTION | CASCADE | SET NULL | SET DEFAULT}] RESTRICT(default) : 피참조 테이블에서 행을 삭제 또는 수정하기 전에, 참조테이블에서 삭제될 행을 참고하고 있거나 변경될 행의 이전 값을 참조하고 있으면 오류로 처리하고 그렇지 않으면 삭제 또는 수정을 행한다. NO ACTION : 피참조 테이블에서 행을 삭제 또는 수정한 후, 참조 테이블에서 무결성 제약조건을 위배하지 않으면 그대로 두고, 무결성 제.. 2013. 1. 12.
[데이터베이스] 관계 데이타 모델과 관계 제약조건 Integrity constraint(무결정 제약조건)은 모든 relation instance들이 만족해야 하는 조건이다. 1. Domain constraints (도메인 제약조건) 각 attribute는 반드시 각 atrribute의 도메인에 속하는 원자값(atom value)이어야 한다. 각 칼럼은 그 칼럼의 데이터 타입, 범위에 만족하는 값이어야 한다. 2. Constraints on NULLS (NULL/NOT NULL 제약조건) 칵 칼럼은 일반적으론 NULL갑을 가질 수 있다. NOT NULL로 설정되어 있다면 NULL값을 가질 수 없다. 3. Key constraints primary key나 unique칼럼은 유일성을 가지고 있어야 한다. 즉, 중복되는 값이 있으면 안된다. 4. Entity.. 2013. 1. 12.
[데이터베이스&파일처리] B+ 트리에서의 삽입 * 본 자료는 박영철 교수님의 수업 자료를 토대로 정리되었습니다. 저에겐 저작권이 없으며 공부 용으로 포스팅 된 글임을 밝힙니다. 당연히 펌은 금지입니다. 노드의 차수를 3으로 가정하고(최대 Child를 3으로 제한하고) , , , , , , , 를 차례로 삽입하는 경우 트리가 생성 될 경우 빈 루트페이지만 존재한다. 를 삽입하고 를 삽입하는데, 가 작은 값이므로 의 앞으로 삽입된다. 를 삽입 해야 되는데 overflow가 발생한다. 이런 경우 일단 들어가야 할 값은 temp에 저장해 두고 공간확보 작업이 선행된다. 루트 노드의 경우 split하지 않고 하위 노드 2개를 생성한다. 하위 노드는 리프 노드이므로 Doubly Linked List로 연결하고 값을 각각 한개씩 넣어준다. 구분자는 두 값중 하나.. 2013. 1. 12.
[데이터베이스&파일처리] B+트리의 구조 * 본 자료는 박영철 교수님의 수업 자료를 토대로 정리되었습니다. 저에겐 저작권이 없으며 공부 용으로 포스팅 된 글임을 밝힙니다. 당연히 펌은 금지입니다. * : key Root Node : Pr Internal Node : Pr, Pc Leaf Node : Ps, Pa, Pe, Pt, Pb Page Pointer(Tree Pointer) : 하위노드를 가리키는 화살표 Last Child Page Pointer(LCCP) : 화살 표 중 가장 오른쪽(마지막)에 있는 화살표 Root Node Page는 고정된다. * 노드의 삽입, 삭제를 반복해도 루트페이지는 변하지 않는다. (값은 변한다.) Leaf Node 가 아닌 노드는 모두 Internal Node 이다. * 리프 노드만 탐색 값을 가지고 있기 때문.. 2013. 1. 12.
[데이터베이스] Merge Statement 두개의 테이블을 섞는다고 생각하면 된다. 구조까지 추가되는 것이 아니라 값만 insert 또는 update된다. MERGE INTO table1 t1 USING table2 t2 ON (t1.no = t2.no)WHEN MATCHED THEN UPDATE SET t1.name = t2.nameWHEN NOT MATCHED THEN INSERT (no, name) VALUES (t2.no, t2.name); 2012. 12. 12.
[데이터베이스] Transaction isolation level lost update : 두개의 세션에서 동시에 작업 할때 한 세션에서 업데이트 된 값이 다른 세션에서 적용되지 않음 표준 SQL에서 lost update가 적용되는 격리도는 없다. 사실 신경 쓸 필요 없는 개념이다. dirty read : 한 세션에서 적용된, commit되지 않은 값이 다른 세션에서 보여짐 no-repeatable read : 한 세션에서 같은 쿼리문을 두 번 실행할 때 그 사이에 다른 세션에서 수행된 결과 때문에 상이한 결과를 나타냄 phantom read : 한 세션에서 특정한 범위의 레코드를 두 번 불러 올때 처음에 없었던 레코드가 새로 생김. repeatable read의 개념과 비슷하지만 수정, 삭제 되는 것과 새로 생기는 것을 구분하여 다르게 부른다. ISOLATION LE.. 2012. 12. 12.
[데이터베이스] 부질의(subquery), 중첩질의(nested query) 어떤 질의 내에서 사용되는 질의를 가리킨다. 부질의(subquery)가 존재하는 질의를 중첩질의(nested query)라고 한다. 부질의에서 외부질의의 애트리뷰트를 사용하지 않고 단독으로 실행 가능 할 경우 이를 비상관 부질의(uncorrelated subquery), 이런 부질의가 있는 중첩질의를 비상관 중첩질의(uncorrelated subquery) 부질의에서 외부질의의 애트리뷰트를 사용할 경우 이를 상관 부질의(correlated subquery), 이런 부질의가 있는 중첩질의를 상관 중첩질의(correlated subquery) 비상관 중첩질의 예) select name, dno, salary from employee where dno = (select d_id from department w.. 2012. 11. 30.
UML Class Diagram의 구성과 예제 클래스들의 관계를 도식화하여 다타낸 것 Classes : 해당 데이터 그 자체를 나타댐 Attributes : 클래스에서 사용되는 데이터, 속서들을 나타낸다. 인스턴스 변수. Operations : 인스턴스가 수행하는 동작을 나타낸다. Associations : 인스턴스들 끼리의 관계. 선과 짧은 어구로 표현된다. └Aggregation : 여러 객체가 한 객체를 구성하는 관계를 나타낸다. 선과 빈 마름모(◇)로 표시된다. └Composition : Aggregation관계이지만 더 종속관계 개념. 선과 속이 찬 마름모(◆)로 표시된다. Generalizations : 클래스의 계승 상속관계를 나태낸다. 실선 화살표로 표현된다. Interfaces : 객체의 행위의 일부를 정의 해 둔다. 점선 화살표로 .. 2012. 11. 26.
객체지향설계 Use Case Description 예제 위와 같은 Use Case가 있다. Description은 아래와 같이 작성 될 수 있다. Use case : Open File Related use case : Generalization of Open file by typing name Open file by borwsing Steps : Actor action 1. Choose 'Open..' command 3. Specify file name 4. Confirm selection System responses 2. File open dialog appear 5. Dialog disappear Use case : Open file by typing name Related use case : Specialization of : Open file Ste.. 2012. 11. 26.
Use Case Diagram 구성과 예제 Subject Boundary: 박스 시스템의 범위를 나타내는 박스 Actors : 주로 사람 모양의 아이콘 시스템과 상호작용하는 사람이나 또 다른 시스템 Use Cases : 타원형 시스템이 수행하는 주요한 기능 Association : 선 Use Cases와 Actors와의 관계, 그 관계를 나타내는 선 Extend - 확장된 Use case들이 상위 use case를 화살표 점선으로 가리킴 Extension point 만족시 경우 수행되는 use case를 의미 Use Cases에서 특정한 조건을 만족 시켰을때 수행되는 부수적인 use cases를 의미한다. 여러 확장된 Use case들을 이용 함으로써 기본 use case는 간단한 구조를 가질 수 있다. Include - Included use .. 2012. 11. 26.
[객체지향설계] 요구사항(Requirement) 이란? Requirement: A statement about the proposed system that all stakeholders agree must be made true in order for the customer’s problem to be adequately solved. Short and concise piece of information 짧고 간결한 정보여야 함 Says something about the system 시스템에 관한 것이어야 함 All the stakeholders have agreed that it is valid 모든 이해 관계자가 유효하다고 동의하여야 함 It helps solve the customer’s problem 고객의 문제가 해결되는데 도움이 되어야 함 A c.. 2012. 11. 26.
[오토마타] Turing Machine as Accepter & Transducer 튜링머신의 용도는 크게 2가지로 나뉜다. 어떤 Language의 Accept여부를 판단하는 Accepter 어떠한 Input을 받아서 원하는 Output을 반환하는 Tansducer Accepter 튜링 머신은 특정한 Language를 Aceept할 수 있다. 예를 들어서 아래 언어를 승인하는 튜링 기계를 만들어 보자 L = { anbn : n ≥1 } ∑ = { a , b } 이 언어를 승인 하려면 튜링 기계에서는 a의 연속된 문자열과 b의 연속된 문자열이 이어져 있고, a와 b의 개수가 같음이 판단되었을 때 final state로 이동 되게 하면 된다. 그렇게 하려면 a와 b를 다른 임의의 문자열로 하나씩 비교하면서 갯수를 판별한다. 예를 들어 a를 x로 b를 y로 한개씩 바꾸어 나가다 보면 모든 a.. 2012. 11. 16.
[오토마타] Turing Machine (튜링 머신) 1. 튜링머신은 저장 장소 및 입력 출력 수단이 Tape인 오토마타이다. 2. 테이프는 셀들로 나누어져 있으며, 각 셀은 한개의 심벌을 저장한다. 3. Read-Write Head 가 왼쪽 또는 오른쪽 셀로 움직이며 각 이동마다 심벌을 읽거나 쓴다. Turing Machine M은 다음과 같이 정의된다. M = { Q, ∑, Γ, δ, q0, □, F } Q : 내부 state들의 집합 ∑ : Input alphabet (Σ ⊆ Γ-{ㅁ}) Γ : Tape alphabet, 테이프에 존재하는 알파벳들의 집합 δ : 전이함수 (partial function of Q×Γ => Q×Γ×{L,R}) q0 : 초기 상태(Initial state) □ : Blank symbol. 공백을 나타내는 특별한 심벌 F :.. 2012. 11. 16.
[오토마타] Deterministic and Nondeterministic finite accepter Deterministic finite accepter(이하 dfa)는 다음과 같은 5원소 쌍으로 정의된다. Q : 내부 상태(inter state)들의 유한 집합이다. ∑ : 심벌들의 유한 집합이며, 입력 알파벳이라 불린다. ∂ : 전이 함수(tansition function) q0 : q0 ∈ Q 이며, initial state이다. F : F ⊆ Q 이며, final state이다. 이는 아래와 같은 그림으로 나타 낼 수 있다. state는 동그라미로 나타내며 이중 선으로 그려진 동그라미는 final state를 나타낸다. 화살표는 tansition을 나타내며, 전이 함수(∂)에 의해 transition이 정의된다. 이는 ∂(qn, a∈∑) = qm 로 나타 낼 수 있다. 위 그래프의 전이 함수를 나.. 2012. 11. 16.
[오토마타] 귀납법을 이용한 증명(Proof by mathematical induction) Proof by mathematical induction For some n0≥1, Pn0 is true For any k≥n0, turth of Pk → truth of P(k+1). If 1& 2 are satisfied, then all P1, P2, ... are true. 귀납법에 의한 증명은 아래 3단계로 진행된다. [basis] P1이 사실임을 증명한다. (P를 구하는 식에 직접 1을 넣어서 계산 해 보인다.) [inductive assumption] P1, P2, ...,Pn는 사실이라고 가정한다. [inductive step] 1보다 큰 n을 하나 잡고 Pn은 사실인 경우 하나를 보인다. P1이 사실이고, Pn이 true일때, P(n+1)이 true이라면 모든 경우가 true이라는 가정이.. 2012. 11. 16.
[데이터베이스] SELECT Statement SELECT (ALL | DISTINCT) target_list (INTO host_var_list) FROM table_expression WHERE 조건 (GROUP BY 집단화 애트리뷰트 (HAVING 집단 조건)) (ORDER BY 애트리뷰트 목록) (LIMIT {count (OFFSET offset) | offset, count}) LIMIT과 OFFSET은 SQL 표준 키워드는 아니다. 하지만 Mysql, Oracle을 비롯한 대부분의 상용 DBMS에서 사용되고 있다. 아래는 각 절별 실행 우선순위 이다. SELECT 문의 실행 순서 SELECT 5 FROM 1 WHERE 2 GROUP BY 3 HAVING 4 ORDER BY 6 LIMIT 7 FROM에 있는 테이블선택 WHERE절에 있는 조.. 2012. 11. 12.
[데이터베이스] INSERT, DELETE, UPDATE Statement INSERT Statement 테이블에 있는 칼럼의 순서와 데이터형식에 맞는 값을 차례로 적어 주어야 한다. INSERT INTO EMPLOYEE VALUES ('','Raisonde','','25','3000','1000','3'); 또는 INSERT문에 있는 값에 대응하는 칼럼 이름을 명시적으로 지정 할 수 있다. 이렇게 할 경우 명시되지 않은 칼럼에는 NULL또는 DEFAULT 값을 가진다. DEFAULT값이 없고 NOT NULL인 경우 오류 발생. INSERT INTO EMPLOYEE(NAME, MANAGER, SALARY, BONUS, DNO) VALUES('Raisonde','25','3000','1000','3'); 서브쿼리 또한 사용 가능하다. INSERT INTO EMPLOYEE VALU.. 2012. 11. 11.
반응형