본문 바로가기

CS

(53)
[데이터베이스] 개체 관계 모델(E-R model) 1. 개체 관계 모델 구성 요소 - 개체, 관계, 속성 2. 개체(entity) - 실제 세상에 존재하는 물리적 혹은 개념적 객체들 - 개체 집합 : 개체들을 모아 놓은 것 3. 속성(attribute) - 개체를 구성하거나 특징을 나타내는 요소들 - 개체는 속성의 집합으로 표현한다. - 도메인 : 속성이 가질 수 있는 값의 범위 - 관계형 데이터 베이스의 속성에 들어오는 값은 automic해야하므로 값이 하나이고 단순해야 한다. 4. 관계(relation) - 개체 사이의 연관성을 나타내는 요소들 - 사상 크기(Mapping Cardinality)가 존재한다. 5. 사상 크기(Mapping Cardinality) - 관계 집합의 좌, 우 양 쪽에 있는 개체 집합 사이의 정수 비율 - 1:1, 1:N, ..
[데이터베이스] 데이터 모델링 과정 1. 데이터 모델링 데이터 구조를 결정하기 위한 방법론 2. 데이터 모델링 과정 현실 세계의 업무를 ER 모델링 → 개념화된 결과물인 ER diagram을 논리적 데이터 모델링 → 테이블 형태의 결과물인 데이터 모델을 물리적 데이터 모델링 → DBMS가 물리적 데이터 베이스 생성 3. 데이터 모델 종류 1) 계층 데이터 모델(hierarchical data model) - 데이터베이스를 트리(tree) 형태로 표현 - (장점) 1:n의 관계를 가지는 대용량 데이터 베이스 처리하므로 index를 만들 때 유용하다. - (단점) 데이터가 저장된 물리적 구조에 대한 지식을 가지고 있어야 하고, 모든 데이터가 1:n의 관계를 가지진 않으므로 유연성이 떨어진다. 2) 네트워크 데이터 모델(network data ..
[자료구조] 시간복잡도, 빅오표기법 1. 알고리즘 복잡도 분석 (complexity analysis) (1) 알고리즘을 크게 2가지 측면에서 분석할 수 있다. - 시간 복잡도(time complexity) : 수행시간 분석 - 공간 복잡도(space complexity) : 기억공간 분석 (2) 대개 알고리즘의 복잡도를 분석한다는 것은 시간 복잡도를 의미한다. 시간 복잡도는 알고리즘의 절대적인 시간을 측정하는 것이 아니라 알고리즘의 연산이 몇 번 수행되는지를 숫자로 표시해 수행 횟수를 비교한다. 2. 시간 복잡도(time complexity) (1) 시간 복잡도 : 프로그램을 실행하여 완료하는데 필요한 컴퓨터 시간의 양 (2) T(P) : 컴파일 시간(complie time) + 실행 시간(run time) 컴파일(compile time)..
[자료구조] 재귀(순환)함수 recursion - 하노이 탑 1. 재귀란? 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법이다. 재귀 참고 링크 : https://coding-ok.tistory.com/7?category=1011888 [자료구조] 재귀(순환)함수 recursion 1. 재귀(순환)이란? - 알고리즘이나 함수가 수행 도중 자기 자신을 호출하여 문제를 해결하는 기법이다. - 재귀 함수는 호출 직전의 매개 변수, local data, return address 등을 stack에 저장한다. - 재귀 coding-ok.tistory.com 2. 하노이 탑 하노이 탑은 크기가 다른 3개의 원판을 옮기는 문제이다. 원판이 n개 있다고 한다면 이를 재귀로 해결할 수 있다. 먼저 n개의 원판을 생각하지 말고 2개의 원판만 있다고 생각해보자. 2개의 ..
[데이터베이스] 통계함수(count, sum, avg, max, min) 1.count 함수 - 레코드 개수 구하기 - count 함수는 주어진 집합의 개수를 구하는 집계함수이기 때문에 모든 열 즉 테이블 전체를 검사하라는 의미에서 *를 쓸 수도 있다. -- 신청현황 테이블에서 전체 레코드 개수구하기 select count(*) as 신청건수 from 신청현황 2. sum 함수 - 집합의 합계 구하기 -- 신청현황에서 날짜가 2022.4.22인 레코들의 수량 속성의 값 모두 더하기 select sum(수량) as 전체수량 from 신청현황 where 날짜 = '2022.4.22'; 3. avg 함수 - 집합의 평균값 구하기 -- 주문내역 테이블에서 전체 가격의 평균구하기 select avg(가격) as 상품평균가격 from 주문내역 4. min, max 함수 - 집합에서 최솟..
[데이터베이스] 테이블 작성, 삭제, 변경(DDL, DML) 테이블이나 데이터베이스의 객체를 작성, 삭제, 변경 가능하다. 1. DDL (Data Definition Language) : 데이터 정의 언어 - create문 : 테이블 및 객체 새로 만들기 - drop문 : 테이블 및 객체 삭제하기 - alter문 : 테이블 및 객체 구조 바꾸기 2. DML (Data Manipulation Language) : 데이터 조작 언어 - insert 문 : 새로운 레코드 삽입하기 - delete문 : 레코드 삭제하기 - update문 : 레코드 내 특정값 변경하기 3. create문 - create 명령어로 테이블 스키마를 생성한다. - create table 테이블명 (속성이름1 자료형, 속성이름2 자료형..., 키 지정); create table 사람( 이름 var..
[데이터베이스] SQL - select, where 명령어 0. sql 명령어 - 명령어의 마지막은 세미콜론(;)으로 끝나야 한다. 세미콜론(;)을 쓰지 않고 엔터(enter)키를 쓰면 입력 중인 것으로 인식한다. - sql은 일반적으로 대소문자를 구분하지 않는다. (대소문자 구분하게 설정할 수도 있다.) - 데이터가 저장되어 있지 않은 즉 데이터 값이 없는 경우는 null을 쓴다. 1. select 명령어 select 열1 from 테이블1; - select 명령은 해당 테이블의 열의 모든 레코드를 가져온다. - from 뒤에는 테이블명이 들어간다. select 열1 from 테이블1 where 조건식; - where 뒤에는 조건식이 들어간다. 해당 조건을 만족하는 레코드를 추출한다. where이 없다면 테이블 내의 모든 레코드가 검색 대상이 된다. - 위 명..
[자료구조] 재귀(순환)함수 recursion 1. 재귀(순환)이란? - 재귀함수는 알고리즘이나 함수가 수행 도중 자기 자신을 호출하여 문제를 해결하는 기법이다. - 재귀 함수는 자기 자신을 호출하였을 때 지금 자신의 정보인 매개 변수, local data, return address 등을 stack에 저장한다. stack은 LIFO 즉 선입선출인 자료구조임으로 이를 이용해 호출 직전으로 돌아갈 수 있다. https://coding-ok.tistory.com/28 - 재귀 함수는 반드시 하나 이상의 if문을 가지고 있어야 한다. if문으로 함수의 재귀 호출을 계속할 것인지 혹은 그만둘 것인지를 결정한다. 그렇지 않으면 무한히 자신을 호출하여 stack 메모리가 다 차는 stack overflow 오류가 발생한다. - 모든 프로그래밍 언어가 재귀를 지..