스터디 22

[데이터베이스] 6. 데이터베이스 설계

1. 데이터베이스 설계 단계1. 데이터베이스 설계 데이터베이스 설계는 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정이다. 대표적인 설계 방법으로 E-R 모델과 릴레이션 변환 규칙을 이용한 설계이다.2. 데이터베이스 설계 단계데이터베이스 설계 단계는 다음과 같다.요구 사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현 1) 요구 사항 분석- 목적 : 사용자의 요구 사항을 수집하고 분석하여 데이터베이스의 용도를 파악한다.- 결과물 : 요구 사항 명세서 우리가 해야 할 작업은 사용자의 업무 분석과 요구 사항 수집이다. 그리고 요구 사항 수집을 통해 요구 사항 명세서를 작성한다. 2) 개념적 설계- 목적 : DBMS에 독립적인 개념적 스키마 설계-..

CS 전공/DB 2024.04.24

[데이터베이스] 5. 관계 데이터 모델

1. 관계 데이터 모델의 개념 1. 관계 데이터 모델의 기본 개념 - 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델이다. - 하나의 개체에 관한 데이터를 하나의 릴레이션에 저장한다. 2. 관계 데이터 모델의 기본 용어 1) 릴레이션 : 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것이다. 2) 속성 : 릴레이션의 열에 해당하는 부분으로 파일 관리 시스템 관점에서 필드에 대응한다. 3) 튜플 : 릴레이션의 행에 해당하는 부분으로 파일 관리 시스템 관점에서 레코드에 대응한다. 4) 도메인 : 하나의 속성이 가질 수 있는 모든 값의 집합이다. 5) 널 : 속성 값을 모르거나 해당되는 값이 없다는 표현이다. 6) 차수 : 속성의 개수 7) 카디널리티 : 튜플의 개수 3. 릴레이션의 구성..

CS 전공/DB 2024.04.23

[운영체제] 6. 스케줄링

길고 긴 운영체제를 보고 드디어 절반이 왔다. 절반까지 왔으니 요약으로 먼저 시작하겠다! 0. 개요부터 쓰레드까지 1. 운영체제의 개요 - 운영체제가 하는 일: 컴퓨터라는 하드웨어을 잘 쓰기 위한 것 (효율적, 안정적, 확장적, 편리함) - 그런데, 컴퓨터는 한정된 자원을 여럿이서 사용해야한다. (다중 프로그래밍 방식을 통해) - 이를 위해 프로세스, 메모리, 파일, 장치, 네트워크, 보안 기능들이 존재한다. 2. 프로세스와 쓰레드 - 위의 기능을 수행하기 위해 나온 개념이 프로세스와 쓰레드이다. - 폰 노이만 구조에서 프로그램은 프로세스가 되어야 한다. (즉, 메모리에 적재되어야 한다.) - 이것을 잘하기 위한 방법 : 프로세스 생명 주기와 Context Switching, TCB - 메모리에 올릴 때..

CS 전공/OS 2024.04.21

[운영체제] 5. 쓰레드

1. 쓰레드 개요 1. 쓰레드가 나오게 된 계기 쓰레드가 나오게 된 계기는 프로세스의 문제점에 있다. 일단 전 게시물에 프로세스 생성 과정은 상당히 복잡하다고 했다. 메모리를 할당한 뒤 메모리를 fork()해주고 PCB를 할당한 다음에 준비 상태 -> 실행 상태 -> exec() 등등 상당히 복잡한 과정을 거치므로 생성의 오버헤드가 큰 편이다. 또한, 한 프로세스에서 다른 프로세스로 옮겨가는 과정인 Context Switching 과정도 오버헤드가 크다. 우선 기존에 처리하던 프로세스의 정보들을 다 저장을 한 뒤 새로운 프로세스를 실행한 뒤 다시 복귀하는 과정에서도 그 과정을 한 번 더 반복해야 한다. 마지막으로, 프로세스 간의 통신이 어렵다. 프로세스는 완전히 독립된 주소 공간을 가지고 있기에 개입이 ..

CS 전공/OS 2024.04.20

[데이터베이스] 4. 데이터 모델링

1. 데이터 모델링과 데이터 모델의 개념 1. 2단계 데이터 모델링 - 개념적 데이터 모델링 : 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업 - 논리적 데이터 모델링 : 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업 2. 데이터 모델 데이터 모델이란, 데이터 모델링의 결과물을 표현하는 도구이다. 1) 개념적 데이터 모델 : 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구이다. (개체 - 관계 모델) 2) 논리적 데이터 모델 : 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구이다. (관계 데이터 모델) 3. 데이터 모델의 구성 1) 데이터 구조 (정적) - 개념적 모델링에서의 데이터 구조..

CS 전공/DB 2024.04.19

[데이터베이스] 3. 데이터베이스시스템

1. 데이터베이스 시스템의 정의 1. 데이터베이스 시스템이란? 데이터베이스 시스템이란, 데이터베이스에 데이터를 저장하고, 이를 관리형 조직에 필요한 정보를 생성해주는 시스템이다. 사용자가 데이터를 데이터베이스 관리 시스템에 입력하면 데이터베이스에 데이터를 저장하고 관리하는 총 시스템을 데이터베이스 시스템이라고 한다. 2. 스키마와 인스턴스 1) 스키마 : 데이터베이스에 저장되는 데이터 구조와 제약 조건을 정의한 것 2) 인스턴스 : 스키마에 따라 데이터베이스에 실제로 저장된 값이다. 자료형이 안 들어갔지만 스키마의 예는 다음과 같다. 2. 데이터베이스의 구조 1. 3단계 데이터베이스 구조 미국 표준화 기관인 ANSI/SPARC에서 제안된 구조로 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터..

CS 전공/DB 2024.04.19

[운영체제] 4. 프로세스 (2)

지난 포스트에 이어서..! 1. 프로세스의 생성과 복사 1. 프로세스 생성 ▶ 프로세스는 언제 생성되는가? 1) 시스템 부팅과정에서 필요한 프로세스 생성 2) 사용자의 로그인 후 사용자의 대화를 위한 프로세스 생성 3) 새로운 프로세스를 생성하도록 하는 사용자의 명령 4) 배치 작업 실행 시 5) 사용자의 응용 프로그램이 시스템 호출로 새 프로세스 생성 하지만, 메모리에 올라갔다고 단순히 프로세스가 아니다! → 그냥 메모리에만 올라와 있는 것이 아닌 PCB가 존재하여 OS가 제어 가능한 형태가 되어야 한다. 2. 프로세스 생성 과정 1) 생성하려는 실행 파일의 경로를 OS에 전달 2) OS는 메모리에 프로그램을 적재 → Code 영역에 프로그램의 코드를 적재시키고, Data 영역에 전역/정적 변수들을 할..

CS 전공/OS 2024.04.18

[운영체제] 3. 프로세스 (1)

어느덧 프로세스이다. 운영체제는 정말 외워야 할 과목이 많은 것 같다. 짚고 가야할 부분 3가지 - 프로세스 개념 - 프로세스 구조 - 프로세스 생성과 계층 구조 1. 프로세스 1. 프로세스의 개념 프로세스는 실행 파일이 메모리에 로딩되어 실행되는 상태이다. 반드시 메모리에 올라가야 실행될 수 있다. 그 외에도 이렇게 정의된다. - 주기억 장치에 상주된 프로그램이 CPU에 의해 처리되는 상태 - CPU에 의해 현재 실행되고 있는 프로그램 - PCB의 존재로서 명시되는 것 - 프로세서가 할당되는 개체로서 디스패치가 가능한 단위 를 프로세스라 한다. 그럼 현대 운영체제 방식인 다중 프로그래밍 방식에서 프로세스를 살펴보자. 2. 다중 프로그래밍 방식에서의 프로세스 우리가, 컴퓨터나 휴대폰을 볼 때 한 가지 프..

CS 전공/OS 2024.04.18

[데이터베이스] 2. DBMS

1. DBMS의 등장 배경 1. 파일 시스템 파일 시스템은 데이터를 파일로 관리하기 위해 파일을 생성,삭제,수정,검색하는 기능을 제공하는 소프트웨어이다. 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리한다. 파일 시스템의 문제점은 다음과 같다. 1) 같은 내용의 데이터가 여러 파일에 중복 저장된다. 저장 공간의 낭비와 데이터 무결성 유지의 어려움이 있다.-> 데이터 중복성 2) 응용 프로그램이 데이터 파일에 종속적이다. 파일 구조를 변경하면 응용 프로그램도 함께 변경해야 한다.-> 데이터 종속성 3) 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다. 4) 응용 프로그램을 개발하기 쉽지 않다. -> 이러한 문제점을 해결하기 위해 제시된 소프트웨어가 DBMS이다. 2. DBMS의 정의 1...

CS 전공/DB 2024.04.18

[데이터베이스] 1. 기본 개념

1. 데이터베이스의 필요성 1. 데이터와 정보 1) 데이터 : 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값 2) 정보 : 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물 데이터를 가공하면 정보를 얻을 수 있다! 2. 정보 시스템과 데이터베이스 1) 정보 시스템 : 조직 운영에 필요한 데이터를 수집하여 저장해 두었다가 필요할 때 유용한 정보를 만들어 주는 수단 2) 데이터베이스 : 정보 시스템 안에서 데이터를 저장했다가 필요할 때 제공하는 역할 2. 데이터베이스의 정의와 특징 1. 데이터베이스의 정의 1) 통합 데이터 : 최소의 중복과 통제 가능한 중복만 허용하는 데이터 2) 공유 데이터 : 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터 3) 저장 데..

CS 전공/DB 2024.04.17