본문 바로가기
일지/취준일기

2025_02_03 취준일기 26일차

by 알케니브 2025. 2. 3.

자주 나온다고 느끼는 개념들

빅오 표기법(Big-O Notation)

  1. O(1): 입력값(n)에 관계 없이 일정하게 문제 해결에 하나의 단계만을 거침
    ex) 스택의 삽입(Push), 삭제(Pop)
  2. O(log₂n): 문제 해결에 필요한 단계가 입력값(n) 또는 조건에 의해 감소함
    ex) 이진 트리(Binary Tree), 이진 검색(Binary Search)
  3. O(n): 문제 해결에 필요한 단계가 입력값(n)과 1:1의 관계를 가짐
    ex) for문
  4. O(nlog₂n): 문제 해결에 필요한 단계가 n(log₂n)번 만큼 수행됨
    ex) 힙 정렬(Heap Sort), 2-Way 합병 정렬(Merge Sort)
  5. O(n²): 문제 해결에 필요한 단계가 입력값(n) 제곱만큼 수행됨
    ex) 삽입 정렬(Insertioin Sort), 선택 정렬(Selection Sort), 쉘 정렬(Shell Sort), 버블 정렬(Bubble Sort),
    퀵 정렬(Quick Sort) 
  6. O(2ⁿ): 문제 해결에 필요한 단계가 2의 입력값(n) 제곱만큼 수행됨
    ex) 피보나치 수열(Fibonacci Sequence)

 

연산자

순수 관계 연산자

  1. Select: 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산
  2. Project: 주어진 릴레이션에서 속성 리스트(Attribute List)에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산
  3. Join: 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
  4. Division: X⊃Y인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성 값을 모두 가진 튜플에서
    S가 가진 속성을 제외한 속성만을 구하는 연산

 

데이터베이스 설계

논리적 설계(데이터 모델링)

  • 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정
  • 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화함
  • 개념적 설계가 개념 스킴를 설계하는 단계라면,
    논리적 설계에서는 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계
  • 트랜잭션의 인터페이스를 설계함
  • 관계형 데이터베이스라면 테이블을 설계하는 단계

물리적 설계(데이터 구조화)

  • 논리적 설계 단게에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장 장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
  • 물리적 설계 단계에서는 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 엑세스 경로를 결정함
  • 저장 레코드의 양식, 순서,  접근 경로, 조회가 집중되는 레코드와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사함
  • 물리적 설계 시 고려할 사항: 트랜잭션 처리량, 응답 시간, 디스크 용량, 저장 공간의 효율화 등

 

결합도

(강한 순서대로)

  1. 내용 결합도(Content Coupling): 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도
  2. 공통 결합도(Common Coupling): 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
  3. 외부 결합도(ExternalCoupling): 어떤 모듈에서 외부로 선언한 데이터(변수)를 다른 모듈에서 참조할 때의 결합도
  4. 제어 결합도(Control Coupling): 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어 요소를 전달하는 결합도
  5. 스탬프 결합도(Stamp Coupling): 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도
  6. 자료 결합도(Data Coupling): 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도

'일지 > 취준일기' 카테고리의 다른 글

2025_02_02 취준일기 25일차  (0) 2025.02.02
2025_01_28 취준일기 24일차  (0) 2025.01.28
2025_01_24 취준일기 23일차  (0) 2025.01.24
2025_01_23 취준일기 22일차  (0) 2025.01.23
2025_01_20 취준일기 21일차  (0) 2025.01.20