본문 바로가기

전체 글83

데이터베이스 첫걸음 정리 - 19장. 물리삭제와 논리삭제 두 종류의 삭제 방법 데이터베이스에서 데이터를 삭제하는 방법은 용도에 따라 크게 물리삭제와 논리삭제 두 가지로 나뉩니다. 하지만 SQL 명령중에 실제로 물리삭제와 논리삭제를 구분하여 삭제하는 방법은 존재하지 않습니다. 이는 시스템 설계에 대한 부분으로 삭제에 대해 두가지 전략을 사용할 수 있다고 생각하면 됩니다. 물리삭제 물리삭제는 SQL의 DELETE 명령을 사용해 직접 데이터를 삭제하는 방법입니다. 물리 삭제의 장점 간단한 방법으로, 논리 삭제에 비해 고려할 부분이 적습니다. 물리 삭제의 단점 한번 삭제시 데이터를 되돌리기 쉽지 않습니다. 논리 삭제 테이블의 삭제 플래그와 같은 열을 미리 준비둔 후 데이터를 삭제해야하는 상황때 DELETE를 사용하여 삭제하지 않고 UPDATE 명령을 통해 삭제 플래그.. 2022. 9. 11.
데이터베이스 첫걸음 정리 - 18장. 데이터 갱신하기 - UPDATE 데이터 갱신 작업은 시스템을 다루는 과정에서 자주 발생합니다. 우리가 웹 사이트에 들어가서 사용자 정보 수정을 하는 등 데이터 갱신은 자주 일어날 수 있습니다. 이런 경우에 UPDATE 명령을 통해 데이터를 갱신할 수 있습니다. UPDATE 문법 SQL에서 데이터를 갱신할 때 UPDATE 명령을 사용할 수 있습니다. UPDATE 명령은 다음과 같이 사용할 수 있습니다. UPDATE 테이블명 SET 열명 = 값 WHERE 조건식 UPDATE 명령을 실행하기 전에 기존 테이블에 어떤 데이터가 저장되어 있는지 SELECT 명령으로 확인하겠습니다. SELECT * FROM sample DELETE와 달리 UPDATE는 필드 단위로 데이터를 갱신할 수 있습니다. WHERE 구에 조건을 지정하면 그에 일치하는 행을.. 2022. 9. 10.
데이터베이스 첫걸음 정리 - 17장. 삭제하기 DELETE 데이터베이스는 하드디스크와 같은 저장장치에 데이터를 저장해 관리합니다. 하지만 저장장치에는 저장용량이 정해져있기 때문에 데이터를 무제한으로 저장할 수는 없습니다. 결국 데이터를 저장하다보면 저장공간이 모자라게 될 수 있고 데이터를 삭제하는 경우도 발생합니다. 이때 DELETE 명령을 사용하여 데이터를 삭제할 수 있습니다. DELETE로 행 삭제하기 테이블에서 행을 삭제하기 위해서는 DELETE 명령을 사용해야 합니다. DELETE 명령은 다음과 같이 작성합니다. DELETE FROM 테이블명 WHERE 조건식 여기서 WHERE로 조건식을 주지않고 DELETE FROM 테이블명만 적을 경우 테이블안에 데이터가 전부 삭제됩니다. 다음은 테이블 행 삭제 예시입니다. DELETE FROM sample WHERE.. 2022. 9. 9.
데이터베이스 첫걸음 정리 - 16장. 행 추가하기 INSERT 데이터베이스에서 데이터를 조회할때는 SELECT 명령을 통해 조회할 수 있습니다. 그렇다면 데이터를 추가할때는 어떻게 해야할까요? 데이터베이스 데이터를 추가할때는 INSERT 명령을 사용할 수 있습니다. INSERT로 행 추가하기 INSERT 명령을 사용하면 테이블의 행 단위로 데이터를 추가할 수 있습니다. 먼저 테스트 용도로 다음 테이블을 생성해봅시다. CREATE TABLE sample ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, a varchar(30) NOT NULL, b date ); desc로 해당 테이블의 구조를 확인해보면 다음과 같습니다. 이제 INSERT 명령을 통해 행을 추가해봅시다. 먼저 INSERT INTO 뒤에 추가할 테이블 명을 적어줍시.. 2022. 9. 8.
CPU 스케줄링 프로세스 스케줄러 멀티 프로그래밍의 목적은 CPU 이용을 최대화하기 위해 항상 어떤 프로세스가 실행되고 있는 상태를 유지하는 것이 목표입니다. 목적을 달성하기 위해 사용자가 어떤 프로그램과 상호작용하고 있다면 다른 프로세스와 교체하여 항상 CPU 코어에 프로세스가 실행되고 있어야 합니다. 프로세스 스케줄러는 목표를 달성하기 위해 코어에 실행가능한 여러 프로세스 중에서 하나의 프로세스를 선택해야 합니다. 하나의 CPU 코어는 한 번에 하나의 프로세스를 실행할 수 있으며 2개 이상의 프로세스가 동시에 실행되기 위해서는 여러개의 코어가 필요합니다. 동시에 실행되는 프로세스가 코어의 개수를 넘어갈 수는 없습니다. 스케줄링 큐 프로세스가 메모리에 올라오면 준비 큐에 들어가서 준비 상태가 되어 Ready Queue.. 2022. 9. 7.
데이터베이스 첫걸음 정리 - 15장. CASE 문으로 데이터 변환하기 함수를 사용하면 데이터를 임의의 형태로 변경할 수 있지만, 특정 상황에 따라 데이터를 변경하고 싶을 수도 있을 수 있습니다. 이런 경우 CASE문을 활용할 수 있습니다. CASE 문 특정한 상황에 특정 데이터를 반환시키고 싶을때 CASE문을 활용하면 간단하게 해결할 수 있습니다. CASE문은 다음과 같은 형태로 사용합니다. CASE WHEN 조건식 THEN 식1 [WHEN 조건식2 THEN 식2] [ELSE 식3] END 먼저 WHEN 절에는 참과 거짓을 반환하는 조건식을 적습니다. 해당 조건을 만족하여 참이 되는 경우는 THEN 절에 기술한 식이 처리됩니다. WHEN 절의 조건식을 차례로 비교해 나가다가 가장 먼저 조건을 만족한 WHEN 절과 대응하는 THEN 절 식의 처리결과를 CASE 문의 결과값으.. 2022. 9. 6.
데이터베이스 첫걸음 정리 - 14장. 날짜 연산 날짜/시간 데이터를 저장하는 방법은 데이터베이스 제품에 따라 크게 달라집니다. 날짜와 시간 전부를 저장할 수 있는 자료형을 지원하거나, 혹은 날짜는 DATE형, 시간은 TIME 형, 날짜와 시간은 DATETIME 형과 같이 세분화해 지원하는 데이터베이스 제품도 있습니다. 이번에는 날짜와 시간을 초 단위로 저장할 수 있는 날짜시간형을 기준으로 설명하겠습니다. SQL에서의 날짜 날짜나 시간 데이터는 수치 데이터와 같이 연산을 할 수 있습니다. 날짜시간 데이터를 연산하면 결괏값으로 동일한 날짜시간 유형의 데이터를 반환하는 경우도 있으며 기간의 차를 나타내는 기간형 데이터를 반환하는 경우도 있습니다. 기간형은 “10일간", “2시간 10분"과 같이 시간의 간격을 표현할 수 있습니다. 시스템 날짜 날짜시간 데이터.. 2022. 9. 5.
IPC 독립적인 프로세스와 협력적인 프로세스 운영체제 내에서 실행되는 프로세스들은 독립적이거나 또는 서로 협력하는 프로세스들일 수 있습니다. 독립적인 프로세스 : 프로세스가 시스템에서 실행 중인 다른 프로세스들과 데이터를 공유하지 않는 프로세스 협력적인 프로세스 : 프로세스가 시스템에서 실행 중인 다른 프로세스들에 영향을 주거나 받는 프로세스 프로세스간 협력을 허용하는 이유 정보 공유 : 여러 응용 프로그램이 동일한 정보에 접근해야할 필요가 있으므로(예를들어, 복사와 붙여넣기) 그러한 정보를 접근할 수 있는 환경을 제공해야 합니다. 계산 가속화 : 특정 작업을 빨리 실행하고 싶으면 작업을 나누어서 각각 병렬로 실행될 수 있게 해야합니다. 단, 이러한 가속화는 여러개의 CPU 코어를 가진 경우에만 가능합니다. 모.. 2022. 9. 4.