본문 바로가기

전체 글185

관계형 데이터 모델과 관계대수(1) 데이터 모델 스키마가 아니라, 설계를 위한 도구(방법론): 데이터를 추상화하고 구조화한다.-> 데이터모델의 결과로 나오는 것이 스키마 데이터 모델의 결과 다음과 같은 것들이 결정되어야 한다. - 데이터, 데이터가 저장되는 구조- 데이터 관계- 데이터 의미- 데이터 제약 조건(무결성, 일관성 유지를 위해) 그래서 산출물은- 스키마- 다이어그램- 문서/명세 데이터 모델의 종류=> 개념적 데이터 모델은 데베의 종류와 무관하고, 논리적 데이터 모델은 데베의 종류에 따라 다르게  - 개념적 설계 단계에 사용- 데이터베이스 종류에 무관- 개체와 개체들 간 관계 정의(ER diagram) - 특정 데이터베이스와 관련(어떤 데이터, 구조, 제약조건, 관계 등 정의) 스키마 & 인스턴스 스키마를 적으세요 = 어떤 속성들.. 2025. 3. 30.
3.4 최근점 점의 쌍 찾기 아이디어 "2차원 평면상의 n개의 점이 입력으로 주어질 때, 거리가 가장 가까운 한 쌍의 점을 찾는 문제"만약 하나하나 모두 거리를 계산한다면 - 비교 계산: nC2=n(n-1)/2 => O(n^2)- 한 쌍의 거리 계산은 O(1)==> 시간 복잡도: O(n^2)*O(1)=O(n^2)==> 분할정복 이용 분할 정복 point n개의 점을 1/2로 분할하여 각각의 부분 문제에서 최근접 쌍을 찾고, 2개의 부분 해 중에서 짧은 거리를 가진 점의 쌍을 일단 찾습니다. 추가 고려 point 취합할 때 두 영역의 중간 영역도 고려해야 함 !("가장 가까운 쌍 = 왼쪽 점 중 하나와 오른쪽 점 중 하나" 일 확률 고려)-> min(왼쪽 부분의 최근접점 쌍의 거리, 오른쪽 부분의 최근접점 쌍의 거리)보다 작은 거리 .. 2025. 3. 30.
3.3 선택(selection) 문제 "n개의 숫자들 중 k번째로 작은 숫자 찾기"최소 숫자를 k번 찾음 -> 찾은 뒤에는 입력에서 제거피봇보다 작은 수는 피봇의 좌측(Small group), 피봇보다 큰 수는 피봇의 우측(Large group)으로 배열 정렬그 좌측 우측에다 재귀적으로 1번을 적용한다.이때 알아야 할 것은 "각 그룹의 크기" 즉, 숫자의 개수 각 그룹의 크기를 알면, "k번째 작은 숫자가 어느 그룹에 있는지", "그 그룹에서 몇 번째로 작은 숫자를 찾아야하는지"를 알 수 있다. 예컨대 다음 예제를 살펴보자.   large group에서 재귀> pivot index = 7  ----> large group에서 재귀> Selection(A, left, right, k)입력: A[left]~A[right]와 k, 단, 1 k번째.. 2025. 3. 30.
데이터 언어 & 사용자 데이터 언어- DDL(데이터 정의어) : 데이터베이스 구조(스키마) 정의- DML(데이터 조작어) : 데이터 삽입,삭제,수정,조회- DCL(데이터 제어어) : 데이터베이스 권한 및 보안 관리- TCL(트랜잭션 제어어) : 트랜잭션 제어 관계형 데이터베이스의 데이터 언어 관계형데이터베이스에서는 데이터 언어로 SQL 사용- DDL: CREATE, ALTER, DROP- DML: INSERT, DELETE, UPDATE, SELECT- DCL: GRANT, REVOKE- TCL: COMMIT, ROLLBACK=> 나중에 나오니깐 지금은 하나하나 외우지 말자. 관계 데이터 모델 & 관계대수: SQL의 이론적 토대 데이터베이스 설계와 데이터 정의어 데이터베이스 설계: 현실세계를 추상화하여 저장하는 활동  1. c.. 2025. 3. 29.