물리적 무결성 제약조건(Physical Integrity Constraint)데이터베이스에서 데이터의 구조나 연산의 물리적 특성을 제약하는 조건을 말한다. 개체 무결성 제약조건(Enity Integrity Constraint) 하나의 릴레이션에서 기본키로 지정된 모든 튜플들의 속성이 NULL값을 가질 수 없도록 하는 제약.ex : 학생정보 릴레이션에서 학번을 기본키로 지정했다면 학번값이 NULL이 되어서는 안된다. 참조 무결성 제약조건(Referntial Integrity constraint) 두개의 릴레이션이 참조관계를 형성할 때 참조하는 외래키는 참조되는 릴레이션의 기본키로 존재하도록 하는 제약.ex : 성적 릴레이션에서 학생정보 릴레이션의 학번 이라는 키를 외래키로 지정했을 경우 학생정보 릴레이션에..
프로세스 스케줄링(Process Scheduling)운영체제가 여러개의 프로세스를 실행시키려고 할 때 하나의 프로세스에만 자원을 할당하면 나머지 프로세스가 제대로 동작하지 않을 수 있기 때문에 정해진 규칙에 맞게 자원을 할당하여 모든 프로세스가 지속적으로 동작할 수 있도록 한다. 이를 프로세스 스케줄링이라고 하며 자원할당정책에 따라 크게 비선점방식, 선점방식으로 나누어 설명할 수 있다. 비선점방식어떤 프로세스가 cpu자원을 사용하고있을 때 다른 프로세스가 해당 자원을 빼앗아올 수 없도록 하는 정책. FCFS(First Come First Service)작업큐에 먼저 삽입된 순서대로 자원을 할당한다. SJF(Short Jop First)작업시간이 가장 짧은 순서대로 자원을 할당한다. 따라서 실행시간이 긴 ..
SQL관계형 데이터베이스의 데이터에 접근하고 관리하기 위해 특수한 용도로 만들어진 프로그램 언어이며, 자료의 검색과 관리, 데이터베이스 스키마의 수정, 데이터의 조작, 제어 등의 기능도 가지고 있다. SQL은 용도에 따라 다음 세가지로 분류한다. DDL(Data Define Language)데이터베이스의 데이터를 정의하는 언어로, DB관리자가 주로 사용한다. 스키마, 도메인, 테이블, 뷰, 인덱스 등을 정의하거나 변경, 삭제하는 기능을 가지고 있다. CREATE 새로운 테이블, 뷰, 인덱스 등을 만든다. 문법 : CREATE [개체형식] [개체요소]; TABLE : 테이블을 생성 DATABASE : 데이터베이스를 생성 VIEW : 뷰를 생성DROP 이미 존재하는 테이블, 뷰, 인덱스 등을 제거한다. 문법..
네트워크 통신을 하다보면 중간에 물리적인 장애물, 잡음 등으로 인해 데이터가 유실, 변경될 가능성이 있다. 그래서 데이터를 수신하는 수신부는 항상 수신받은 데이터가 정확한 데이터가 아닐 것이라는 의심을 가지고 오류를 검사해야 한다. 그 중 오류 검출과 수정을 한번에 할 수 있는 방법인 해밍 코드(Hamming Code)에 대해 알아보자. 해밍코드는 생성, 검출, 수정 3가지 단계를 가진다. 생성 해밍코드의 아이디어는 하나의 데이터단위에 대해 충분한 패리티비트를 추가해서 수신측으로 하여금 패리티비트로 오류를 검출하고 수정할 수 있도록 하는 것이다. 패리티 비트 짝수 패리티, 홀수 패리티로 나뉘며 데이터 단위를 구성하는 비트 중 1의 개수를 홀수/짝수로 만드는 비트이다. 1100110의 짝수 패리티는 0, ..
또는처럼 연산자를 피연산자 사이에 두는 중위 표기법과 다르게 연산자를 피연산자 뒤에 표기하는 방식을 후위 표기법, 역폴란드 표기법 이라고 한다. 후위 표기식으로 표현된 식은 다음과 같이 계산하면 된다.앞에서부터 읽으며 피연산자는 스택(Stack)에 쌓는다.연산자를 만나면 스택에서 피연산자 2개를 꺼내 연산을 수행하고 다시 스택에 쌓는다.1~2번을 반복한다. 위 방식대로 다음 식을 계산해보자. Stack 연산 [3, 5, 7, 6] 먼저 3, 5, 7, 6이 차례대로 스택에 쌓인다. [3, 5] 덧셈 연산자를 만나면 스택에서 피연산자 2개를 꺼내 계산한다. [3, 5, 13] 결과를 다시 스택에 쌓는다. (13) [3] 곱셈 연산자를 만나면 스택에서 피연산자 2개를 꺼내 계산한다. [3, 65] 결과를 스..
DBMS(DataBaseManagementSystem) 즉, 데이터베이스 관리 시스템은 여러 사용자가 데이터베이스에 동시에 접근할 수 있다. 여러 사용자가 동시에 접근하면 트랜잭션도 동시에 여러개가 실행 되는데 DBMS는 여러 트랜잭션을 동시에 실행하기 위해 병행 수행을 지원한다. 그리고 이 병행 수행이 잘 이루어지도록 하기 위해서 병행 제어를 실시한다.병행 수행여러 사용자가 데이터베이스에 접근할 때 여러 트랜잭션이 수행되는데 이 여러 트랜잭션들을 병행 수행 시키는 방식이다. 이는 마치 운영체제가 멀티 프로세스를 지원하는 것과 비슷한 모양이다.여러 트랜잭션을 수행하는 순서가 중요하므로 트랜잭션 스케줄 이라고 부르는 스케줄 순서에 따라 트랜잭션을 실행한다. 다음은 트랜잭션 스케줄의 종류이다. 직렬 스케줄인..
트랜잭션(Transaction)데이터베이스에서 사용하는 용어로 분할될 수 없는 작업 단위를 나타낸다. 분할될 수 없다는 말은 물리적으로 분할될 수 없다는 것이 아니라 논리적으로 분할하면 안된다는 의미로, 분할되어 실행될 시 시스템에 큰 타격을 줄 수 있다.ATM기기에서 돈을 송금하는 작업을 예로 들어보자. 돈을 송금하여 내 계좌 데이터에서는 금액이 감소되었는데, 상대방 계좌 데이터를 증가시키는 부분에서 간섭이 일어나 증가가 안된다면 문제가 된다. 위 예에서 돈을 인출하는 명령(내 계좌에서 돈을 인출)과 돈을 입금하는 명령(상대 계좌에 돈을 입금)은 하나의 트랜잭션으로 묶여서 실행되어야 한다. 계좌 A의 돈 - 10,000 계좌 A의 돈 - 10,000 계좌 B의 돈 + 10,000 간섭이 일어나면 안되는..
- Total
- Today
- Yesterday
- 자료구조
- C/C++
- 데이터베이스
- Spring
- 드라마
- 알고리즘
- SHADER
- database
- Cocos2d-x
- OS
- ue4
- C
- SOCKET
- swift
- mongoDB
- scala
- machine learing
- JSP
- 수학
- ios
- 국내여행
- DesignPattern
- C++
- 운영체제
- winsock
- rxswift
- SwiftUI
- Java
- Git
- game
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |