본문 바로가기

분류 전체보기

(64)
[데이터베이스] SQL - select, where 명령어 0. sql 명령어 - 명령어의 마지막은 세미콜론(;)으로 끝나야 한다. 세미콜론(;)을 쓰지 않고 엔터(enter)키를 쓰면 입력 중인 것으로 인식한다. - sql은 일반적으로 대소문자를 구분하지 않는다. (대소문자 구분하게 설정할 수도 있다.) - 데이터가 저장되어 있지 않은 즉 데이터 값이 없는 경우는 null을 쓴다. 1. select 명령어 select 열1 from 테이블1; - select 명령은 해당 테이블의 열의 모든 레코드를 가져온다. - from 뒤에는 테이블명이 들어간다. select 열1 from 테이블1 where 조건식; - where 뒤에는 조건식이 들어간다. 해당 조건을 만족하는 레코드를 추출한다. where이 없다면 테이블 내의 모든 레코드가 검색 대상이 된다. - 위 명..
[c언어] call by value, call by reference 차이점 0. 함수 호출 방법 - c에서 함수가 호출되는 방법은 대표적으로 call by value, call by reference가 있다. ​ - 실제 인자(actual parameter) 함수에 전달되는 인자(=parameter, 매개변수) - 형식 인자 (formal parameter) 함수가 전달받은 인자(=argument) - 함수가 호출될 때, 메모리에 함수를 위한 임시 공간이 생성된다. 이 공간은 함수가 종료되면 사라진다. 메모리 구조 링크 #include void func(int formal_parameter){ //형식 인자 //func 호출되면 acual_parameter 값이 formal_parameter에 복사된다. } int main(int argc, const char * argv[])..
[자료구조] 재귀(순환)함수 recursion 1. 재귀(순환)이란? - 재귀함수는 알고리즘이나 함수가 수행 도중 자기 자신을 호출하여 문제를 해결하는 기법이다. - 재귀 함수는 자기 자신을 호출하였을 때 지금 자신의 정보인 매개 변수, local data, return address 등을 stack에 저장한다. stack은 LIFO 즉 선입선출인 자료구조임으로 이를 이용해 호출 직전으로 돌아갈 수 있다. https://coding-ok.tistory.com/28 - 재귀 함수는 반드시 하나 이상의 if문을 가지고 있어야 한다. if문으로 함수의 재귀 호출을 계속할 것인지 혹은 그만둘 것인지를 결정한다. 그렇지 않으면 무한히 자신을 호출하여 stack 메모리가 다 차는 stack overflow 오류가 발생한다. - 모든 프로그래밍 언어가 재귀를 지..
[데이터베이스] 관계대수 (relational algebra) 1. 관계대수(Relational Algebra) 1) 관계대수란? - 관계형 모델은 데이터를 테이블(표)로 표현한 것이다. 따라서 관계대수는 이러한 테이블을 가지고 하는 연산이다. - 관계대수는 데이터베이스 질의어(Query)의 이론적인 바탕을 제공한다. - 관계대수는 비절차적이다. 즉 절차가 바뀌더라도 결과는 동일하다. - 관계대수의 결과는 레코드의 집합이다. 즉 관계대수의 결과는 또 다른 관계(relation = table)이다. - 5개의 기본 연산과 기본 연산을 조합해서 만들 수 있는 기타 연산들이 있다. 2) 기본 연산 - 입력(피연산자) : 하나 또는 두 개의 테이블 출력 : 하나의 테이블 - 기본 연산 5가지 : (1) 선택 연산 (select) (2) 속성 추출 연산 (project) (..
[데이터베이스] 키(keys) 1. 테이블의 특성 1) 중복된 레코드가 존재하지 않는다. - 테이블 인스턴스는 레코드들의 "집합"이다. 중복된 레코드(속성 값이 모두 같은 레코드)가 있더라도 테이블 인스턴스는 집합이므로 하나의 레코드로 본다. 2) 레코드간의 순서는 의미가 없다. - 테이블 인스턴스는 레코드들의 "집합"이므로 순서는 의미가 없다. 3) 레코드 내에서의 필드의 순서가 의미가 없다. - 테이블 스키마는 필드들의 "집합"이므로 순서가 의미 없다. 4) 키가 필요한 이유 - 레코드 간의 순서가 의미가 없으므로 레코드를 구분하기 위해서 각 레코드의 값을 이용한다. - 즉 키는 객체의 식별 등을 위해 사용하는 속성의 집합이다. 5) 키(key) - 데이터를 검색, 입력, 수정, 삭제하기 위해서는 데이터를 식별할 수 있어야 한다...
[데이터베이스] 관계형 데이터 모델(relation data model) 1. 데이터 모델 1) 데이터 모델이란? - 물리적 혹은 추상적으로 존재하는 현실 세계를 단순화되고 정형화된 형태로 표현하는 하나의 방식. - 데이터 관리를 위한 하나의 틀 즉 데이터 모델을 이용하면 추상화가 가능하다. - 대부분의 DBMS가 관계형 모델을 사용한다. 2) 관계형 데이터 모델이란? - 데이터를 표(table)를 이용하여 데이터를 설명하는 모델 - 수학에서는 관계를 표로 나타낸다. 즉 표(table)은 릴레이션(relation)이다. - 물론 테이블이 컴퓨터의 기억장치에 어떻게 저장되는가와 같은 물리적인 구조까지 정의한 것은 아니다. 2. 관계형 데이터 모델 1) 속성(attribute) - 필드, 칼럼 - 어떤 개체를 표현하는 값의 종류를 의미한다. - 릴레이션을 구성하는 각 열(colu..
[데이터베이스] 데이터베이스(database) 1. 데이터베이스(database) 1) 데이터베이스란? - 데이터를 조직적으로 잘 모아 놓은 것. - 약자인 DB로 통용된다. - 데이터 기지, 데이터 창고라고 할 수 있다. 2) 데이터베이스의 목적 - 프로그램과 연동하여 필요한 데이터를 추가, 수정, 삭제, 검색하기 위해서. - 데이터베이스는 아주 많은 데이터(백만, 천만 단위의 데이터)를 얼마나 효율적으로 처리하느냐가 관건이다. 여기서 효율적이라는 것은 데이터를 저장할 때 더 적은 공간에 저장하는 공간 효율을 뜻한다. 불필요하게 중복되는 것을 빼고 가장 효율적으로 저장하는 것이 데이터베이스의 주 목적이다. 3) 데이터베이스의 모델 - 데이터베이스도 다양한 형태의 데이터 모델이 있다. 계층형, 관계형, 객체지향, XML 데이터베이스 등등 그 중 가장..
[데이터베이스] 데이터(data) 1. 프로그램 1) 컴퓨터 프로그램이란? 어떤 입력이 들어왔을 때 어떤 출력이 나올 지 미리 정해진 처리 과정 2) 컴퓨터 프로그램 과정 프로그램은 크게 3가지 입력, 처리, 출력의 과정을 거친다. 각각의 과정에서 여러가지 값을 필요로 한다. 입력 과정에서는 어떠한 값을 어떻게 연산을 할 지 필요하다. 이때 입력되는 값은 데이터라고 할 수 있고 연산의 종류는 커맨드(명령)라고 할 수 있다. 그리고 처리 과정에서 중간 결과 값이 메모리 어딘가에 저장되기도 한다. 처리가 다 끝나면 마지막 출력 값을 흔히 모니터에 출력을 한다. 2. 데이터 1) 데이터란? 실제 세상의 값을 데이터화하여 컴퓨터에 들어가는 것 2) 추상화 데이터는 컴퓨터 프로그램이 이해할 수 있는 형태의 값이어야 한다. 실제로 혹은 관념적으로 ..