본문 바로가기

KNOU/요약정리57

[데이터베이스시스템] SQL(1) 데이터베이스 언어SQL의 개요SQL(Structured Query Language) 은 관계 대수에 기초하여, RDBMS 의 데이터 관리를 위해 설계된 언어1986년 ANSI, 1987년 ISO에서 표준으로 제정→ SQL - 86, SQL - 89 , SQL - 92 , SQL : 1999 , SQL : 2003, SQL : 2008→ 상용 DBMS의 특성에 맞게 국제 표준을 확장한 독자적 버전이 존재특징→ 비절차적(선언형) 언어, 필요한 데이터만 기술→ 인간의 언어와 매우 유사하고 간단, 명료SQL의 구성데이터 정의 언어 (DDL : Data Definition Language)→ 데이터 베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합→ 데이터가 준수해야 하는 제약조건을 기술→ .. 2024. 5. 25.
[데이터베이스시스템] 3. 관계형 모델 관계형 모델의 개념사용자 요구사항 분석 → (데이터 및 업무) → 개념적 데이터 모델링 → (ER 모델) → 논리적 데이터 모델링 → (관계형 모델) → 물리적 데이터 모델링 → (물리적 세부사항) → 내부 스키마논리적 데이터 모델링 단계DBMS 에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정데이터 정의 언어로 기술된 개념 스키마 생성관계형 모델(relational model)→ 1969년 에드가 F. 코드에 의해 제안→ 릴레이션(relation) 으로 데이터를 표현하는 모델→ 데이터 표현이 단순하고 직관적 구조화 모델→ 현재 대다수 DBMS의 기초관계형 모델을 사용하는 관계형 DBMS(RDBMS)Oracle , DB2 , PostgresSql , mySql …릴레이션의 구성릴레이션 : 표의 .. 2024. 5. 25.
[데이터베이스시스템] 데이터베이스 모델링 데이터베이스 모델링의 이해데이터베이스 모델링의 필요비즈니스적 관점→ 어떤 데이터를 저장해야 하는가?컴퓨터 프로그래머 관점→ 어떻게 데이터를 저장해야 하는가?데이터베이스 시스템 구현 과정소프트웨어 공학 시점의 효율적인 시스템 구현 과정기능적 요구 사항[기능 분석] → 애플리케이션 아키텍쳐[애플리케이션 프로그램 설계] → 애플리케이션 [애플리케이션 프로그램 구현]DBMS 의존적인 부분 [애플리케이션 아키텍쳐[애플리케이션 프로그램 설계] → 애플리케이션 [애플리케이션 프로그램 구현]]데이터 관점사용자 요구사항 분석 → 개념적 데이터 모델링 → 논리적 데이터 모델링 → 개념스키마 → 물리적 데이터 모델링 → 내부 스키마DBMS 의존적인 부분 [ 개념스키마 → 물리적 데이터 모델링 → 내부 스키마]데이터베이스 모.. 2024. 5. 25.
[데이터베이스시스템] 데이터 베이스의 이해 데이터베이스의 역할데이터 관리의 필요대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조 하는 장치데이터 → (저장) → 데이터 관리 장치 → (검색) → 필요 데이터데이터 관리의 역사1946 - 컴퓨터가 만들어짐 → 1956 - 저장장치 도입 → 1960 - 파일 처리 시스템 →1970 - IBM사 SQL → 1980 - 데이터 웨어하우스 → 1990 - 웹의 등장 →2000중반 - 클라우드 컴퓨팅 → 2000말 - 빅데이터 분석 - 2015년~ - IoT 와 AI의 등장전통적 데이터 관리 방식학적 애플리케이션[학적 업무] ↔ [학적 파일] 파일 처리 시스템성적 애플리케이션[성적 업무] ↔ [성적 파일] 파일 처리 시스템수강 애플리케이션[수강 업무] ↔ [수강 파일] 파일 처.. 2024. 5. 25.
[자료구조] 그래프 그래프 “관계” 를 그래프로 추상화 하여 다룰 수 있음 (자료구조의 정의) 전기회로의 분석, 최단 거리 탐색, 프로젝트 계획, 스케줄링, 운송, 컴퓨터 네트워크 시뮬레이션 등등 그래프의 정의 그래프 G는 하나 이상의 정점(혹은 노드) 을 포함하는 집합 V 와 두 정점의 쌍으로 구성되는 간선을 포함하는 집합 E의 순서 쌍으로 정의함 그래프 G = (V ,E) 그래프의 정의 - 정점과 간선 V = {a,b,c,d} (정점의 집합) E = {1,2,3,4,5,6,7} (간선의 집합) G = (V,E) = ({a,b,c,d} , {1,2,3,4,5,6,7}) (정점과 간선의 합) 그래프 용어의 정의 간선은 두 정점을 연결하는 선 그래프는 연결(간선)에 방향성이 없는 무방향 그래프와 방향성을 갖는 방향 그래프가 .. 2023. 12. 2.
[자료구조] 멀티웨이 탐색트리(2) 2-3 트리(2-3tree) 차수가 2 또는 3인 내부 노드를 갖는 탐색 트리 2-노드 (2개의 자식 노드; 차수가 2)와 3-노드만(3개의 자식 노드; 차수가 3)으로 구성되는 특수한 형태의 B트리 2-노드 혹은 3-노드라는 제약이 내부 노드에만 해당함 → 모든 잎 노드는 같은 레벨에 있어야 한다는 제약만 존재 2-3트리(2-3tree) 의 조건 각 내부 노드는 2-노드이거나 3-노드이다. 2- 노드는 1개의 키 값을 3-노드는 2개의 키 값을 갖는다. lchild, mchild를 각각 2-노드 의 왼쪽 자식 및 중간 자식 이라 하고, lkey가 이 2-노드의 키 값이라 하자. 그러면 루트가 lchild인 모든 2-3 서브 트리 키 값은 lkey 보다 작고, 루트가 mchild인 모든 2-3 서브 트리.. 2023. 12. 2.
[자료구조] 멀티웨이 탐색 트리(1) m원 탐색 트리 m원 탐색 트리의 정의 트리의 노드가 m개 이하의 가지를 가질 수 있는 탐색 트리 → 같은 수의 노드를 갖는 이진 트리보다 낮은 높이의 m원 트리 이진 탐색 트리의 확장된 형태임 탐색 트리의 제한을 따르면서, 2개 이상 ~ m 개 이하의 자식 노드를 가질 수 있음 노드 구조는 다음과 같다. 여기서 P0 ~ Pn 은 서브 트리에 대한 포인터 이고 K0 ~ Kn-1 은 키값이다. 또한 n ≤ m - 1 이 성립한다. i = 0, …, n - 2 인 i 에 대해 Ki < Ki+1 을 만족한다. i = 0, …, n - 1 인 i 에 대해 Pi 가 가리키는 서브 트리의 모든 키 값은 Ki 의 키 값 보다 작다. Pn 이 가리키는 서브 트리의 모든 키 값은 Kn-1 의 키 값 보다 크다. i = .. 2023. 12. 2.
[자료구조] BS,Splay,AVL,BB 이진 탐색 트리(BS트리 : binary search tree) 특정 데이터의 효과적인 검색을 위해 제한점을 가지는 이진 트리 특정 데이터의 검색과 노드의 삽입 삭제 처리 에 효과적인 이진트리 트리를 구성할 때, 데이터의 탐색을 고려하여 구성하므로 탐색에 최적화된 이진트리 키 : 탐색 삽입 삭제 연산에서 비교의 대상이 되는 값, 이진트리 노드의 데이터를 대표하는 값, 혹은 노드를 특정할 수 있는 값 root 기준 왼쪽 서브트리에 모든 노드의 키 값은 루트 보다 작다 root 기준 오른쪽 서브트리에 모든 노드의 키 값은 루트 보다 크다 → 중위순회를 통해 같은 순서 데이터(A-B-C-D) 를 만들어 낼 수 있다. BS트리순회 BS트리를 위한 노드 정의 typedef struct BSTnode{ struct.. 2023. 12. 2.
[자료구조] 선택트리 , 숲 , 이진트리 개수 선택트리 합병 정렬 차례로 정렬된 k개의 데이터 목록을 순서를 유지하는 하나의 데이터 리스트로 만드는 과정 일반적으로 데이터 목록이 k개인 경우, k-1 번 비교를 통해 데이터 목록에서 가장 작은 값이나 가장 큰 값을 결정 할 수 있음 선택 트리를 이용해서 비교 횟수를 줄일 수 있음 승자트리 각 노드가 두 자식 노드의 작은 값을 갖는 완전 이진트리 작은 값이 승자가 되어 올라가는 토너먼트 경기와 유사 트리의 각 노드는 두 자식 노드 값의 승자를 자신의 값으로 함 결과적으로 루트의 값이 트리에서 가장 작은 값 → 첫번째 단계에서의 비교 횟수를 줄이지는 못했지만, 두번째 비교부터는 횟수가 감소 됨 → 재구성 과정에서 빈 리스트가 생기면 큰 값을 넣어줌 패자트리 각 노드가 두 자식 노드 중에서 더 작은 값을 .. 2023. 11. 29.
728x90