본문 바로가기

TIL139

ERD와 정규화 과정 ERD는 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션 간의 관계들을 정의한 것이다. 만약 서비스를 구축한다면 가장 먼저 신경 써야 할 부분이며 이 부분을 신경 쓰지 않고 구축한다면 단단하지 않은 골조로 건물을 짓는 것이나 다름없다. ERD의 중요성 ERD는 시스템의 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축한다. 데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 한다. 관계형 구조로 표현할 수 있는 데이터를 구성하는데 유용할 수 있지만 비정형 데이터를 충분히 표현할 수 없다는 단점이 있다. 비정형 데이터 - 비구조화된 데이터를 말하며, 미리 정의된 모델이 없거나 미리 정의된 방식으로 정의되지 않.. 2023. 10. 24.
데이터베이스 데이터베이스는 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음이다. 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS라고 하며, 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. 또한, 데이터베이스는 실시간 접근과 동시 공유가 가능하다. 엔터티 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다. 강한 엔터티와 약한 엔터티 예를 들어 A가 혼자서는 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A는 약한 엔터티이고 B는 강한 엔터티가 된다. 릴레이션 데이너베이스에서 정보를 구분하여 저장하는 기본 단위이다. 엔터티에 관한 데이터를 데이터베이스는 릴레이션 하나에 담아서 관리한다. .. 2023. 10. 24.
CPU 스케줄링 알고리즘 CPU 스케줄러는 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당한다. 이 알고리즘은 CPU 이용률은 높게, 주어진 시간에 하는 일은 많게, 준비 큐에 있는 프로세스는 적게, 응답 시간은 짧게 설정하는 것을 목표로 한다. 비선점형 방식 프로세스가 스스로 CPU 소유권을 포기하는 방식이며, 강제로 프로세스를 중지하지 않는다. 따라서 컨텍스트 스위칭으로 인한 부하가 적다. FCFS First Come First Served 가장 먼저 온 것을 가장 먼저 처리하는 알고리즘이다. 길게 수행되는 프로세스 때문에 준비큐에서 오래 기다리는 현상(convey effect)이 발생하는 단점이 있다. SJF 실행시간이 가장 짧은 프로세스를 먼저 실행하는 알고리즘이다. 긴 시간을 가.. 2023. 10. 24.
프로세스와 쓰레드 프로세스는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업이라는 용어와 같은 의미로 쓰인다. 쓰레드는 프로세스 내 작업의 흐름을 지칭한다. 프로세스와 컴파일 과정 프로세스는 프로그램으로부터 인스턴스화된 것을 말한다. 예를 들어 프로그램은 구글 크롬 프로그램과 같은 실행 파일이며, 이를 두 번 클릭하면 구글 크롬 프로세스가 시작되는 것이다. 프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역되어 실행될 수 있는 파일이 되는 것을 의미한다. 다음은 C언어 기반의 프로그램 컴파일 과정이다. 여타 인터프리터 언어와는 다르다. 전처리 - 소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환한다. 컴파일러 - 오류 처리, 코드.. 2023. 10. 23.