1. C언어 자료형 예약어

unsigned

unsigned는 정수형 자료형 앞에 붙는 예약어로, 음수를 저장하지 않고 0 이상의 값만 저장하게 한다.

unsigned int a;

위 코드는 a라는 변수가 음수를 저장하지 않는 정수형 변수라는 뜻이다.

개념정리
unsigned음수 없이 0 이상의 정수만 저장
signed양수와 음수 둘 다 저장 가능
int정수형 자료형
char문자형 자료형
float실수형 자료형
static변수의 생존 기간이나 접근 범위와 관련
fixedC언어 기본 예약어로 보기 어려움

핵심 암기

unsigned = 부호 없음 = 음수 X = 0 이상

헷갈리는 보기 정리

static은 자료형이라기보다는 저장 클래스 지정자에 가깝다.

unsigned는 정수형 앞에 붙어서 값의 범위를 바꾸는 역할을 한다.


2. DB 기본 용어

데이터베이스 문제에서는 스키마, 인스턴스, 속성, 튜플, 도메인이 자주 나온다.

스키마

스키마는 데이터베이스의 구조와 제약 조건을 정의한 설계도이다.

예시:

학생(학번, 이름, 학년, 학과)

이 구조 자체가 스키마라고 보면 된다.

용어의미
스키마DB의 구조, 속성, 제약 조건을 정의한 설계도
인스턴스특정 시점에 실제 저장되어 있는 데이터
속성테이블의 열, column
튜플테이블의 행, record
도메인하나의 속성이 가질 수 있는 값의 범위

예시로 이해

학번이름학년
101김철수2
102이영희3
구분예시
속성학번, 이름, 학년
튜플101, 김철수, 2 한 줄
도메인학년은 1, 2, 3 같은 값 범위
인스턴스현재 표에 실제로 들어있는 데이터
스키마학생(학번, 이름, 학년)이라는 구조

핵심 암기

스키마 = 설계도

인스턴스 = 현재 데이터

속성 = 열

튜플 = 행

도메인 = 값의 범위


3. 관계대수와 관계해석

관계형 데이터베이스에서 데이터를 다루는 이론적 언어로 관계대수와 관계해석이 나온다.

관계대수

관계대수는 릴레이션에 연산을 수행해서 새로운 릴레이션을 만드는 절차적 언어이다.

즉, “어떻게 구할 것인지” 과정이 중요하다.

관계대수 연산의미
SELECT조건에 맞는 행 선택
PROJECT원하는 열만 선택
JOIN두 릴레이션을 조건에 따라 연결
UNION합집합
INTERSECTION교집합
DIFFERENCE차집합
CARTESIAN PRODUCT두 릴레이션의 모든 조합

예시로 학생 테이블에서 2학년 학생의 이름만 구한다고 하면,

  1. 2학년 학생을 고른다.
  2. 이름 속성만 뽑는다.

이런 식으로 과정이 있다. 그래서 관계대수는 절차적이다.

관계해석

관계해석은 원하는 결과가 무엇인지 조건으로 표현하는 비절차적 언어이다.

종류의미
튜플 관계해석튜플 변수를 사용
도메인 관계해석도메인 변수를 사용

관계대수 vs 관계해석

구분관계대수관계해석
성격절차적 언어비절차적 언어
중심어떻게 구할 것인가무엇을 구할 것인가
결과연산 결과 새 릴레이션 생성조건을 만족하는 결과 표현

핵심 암기

관계대수 = 연산 중심 = 절차적

관계해석 = 조건 중심 = 비절차적