on my way

Do it! 오라클로 배우는 DB 입문 : 02 관계형 데이터베이스와 오라클 데이터베이스 본문

Computer Science/Database

Do it! 오라클로 배우는 DB 입문 : 02 관계형 데이터베이스와 오라클 데이터베이스

wingbeat 2024. 4. 1. 15:59
반응형

02-1 관계형 데이터베이스의 구성 요소

 

테이블 (엔티티)

RDB는 기본적으로 데이터를 2차원으로 저장하고 관리한다. 이 저장공간을 테이블이라 한다.

행(row, 가로) - 열(column, 세로)

로우(행, row) - 로(원천, raw)

 

저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태이다.

 

저장하는 데이터를 대표하는 이름과 공동 특성을 정의한다.

 

RDB와 테이블

RDB에서 관계란 행과 열의 특성에 맞춰 데이터를 저장한 테이블 하나하나를 의미한다.

테이블의 구성과 관계를 잘 규정하고 관리하는 것이 RDB에서 데이터를 관리하는 핵심이다.

 

테이블, 행, 열

 

특별한 의미를 지닌 열, 키

키는 말 그대로 열쇠. 수많은 데이터를 구별할 수 있는 유일한 값.

키는 하나의 테이블을 구성하는 여러 열 중에서 특별한 의미를 지닌 하나 또는 여러 열의 조합을 의미한다.

 

기본키(Primary Key - PK)

후보키(Candidate Key)

외래키(Foreign Key)

복합키(Composite Key)

 

기본키

가장 중요한 키다.

한 테이블에서 중복되지 않는 값만 가질 수 있는 키이다.

값이 무조건 있어야 한다. 개인 정보 노출이 적으면서도 식별할 수 있는 학번 같은 키

 

 

엔티티가 물리설계에서는 테이블...

Entity Relation(ship) Diagram

 

보조키

대체키(Alternate Key)라 불리며, 후보키(Candidate Key)에 속해 있는 키이다.

후보키 중에서 기본키로 지정되지 않은 열이다.

후보키는 엄밀하게는 기본 키가 될 수 있는 모든 키를 의미한다. 즉, 기본키도 후보키에 속한다.

 

외래키 (Foreign Key : FK)

특정 테이블에 포함되어 있으면서 다른 테이블의 기본 키로 지정된 키.

다르 테이블로 분리해두고 FK로 연결해둔다.

중복을 줄이기 위해서 사용.

하나의 테이블이 가진 열 또한 수 십 개일 수 있다.

데이터 중복에 따른 처리비용이 증가하고, 저장 공간 크기와 관리는 비용과 관련이 있기에 최대한 데이터 중복을 피해야 한다.

또한 설계를 안한다고 해도, 설계에 대한 개념이 있으면 의도를 잘 파악할 수 있다.

 

복합키

여러 열을 조합하여 기본키 역할을 하는 키

 

 

02-2 오라클 데이터베이스

오라클 DB는 대표적인 상용 RDB이다.

오라클 DB와 버전

가장 많이 쓰는 것은 11g.

버전 업그레이드가 어려운 이유: 데이터 관리에 문제가 생길 수 있다.

 

자료형

DB에 저장하는 데이터는 다양한 형태를 가지고 있다.

숫자만으로 표현 가능한 데이터가 있고, 여러 문자를 포함한 데이터도 있다. 

이렇게 데이터가 어떤 형태의 데이터인지 말할 때 IT 분야에서는 보통 자료형(data type)이라는 용어를 사용한다.

VARCHAR2(길이) : 문자열데이터 variable은 변화하는 ,"가변길이문자열" Char은 character 하나의 문자열 (고정)

(NVARCHAR2 : 문자 데이터 셋)

NUMBER(전체 자릿수, 소수점 이하 자릿수) : 숫자데이터, NUMBER(p,s)는 s자리만큼 소숫점 이하 자리수 표현, 소수점 자리를 포함한 전체 p자리 숫자 데이터 저장.

DATE : 날짜데이터

BLOB, CLOB, BFILE은 대용량 데이터를 저장할 수 있다. (4000byte 넘을 때)

 

객체

객체는 오라클 DB내에서 데이터를 저장하고 관리하기 위한 논리 구조를 가진 구성 요소

 

인덱스(index) : DB를 잘 다루기 위한, 검색 효율을 높이기 위한

뷰(view) : 가상 테이블. 즉, 보이는 것. 실제 테이블이 아님. 선별된 데이터를 논리적으로 연결해서 하나의 테이블처럼.

시퀀스(sequence) : 순번. 자동 생성됨

 

프로시저(Procedure) : 프로그래밍 연산 및 기능 수행 가능 (반환값 없음)

트리거(trigger) : 데이터 관련 작업의 연결 및 방지 관련 기능 제공

 

PL/SQL

PL(프로그래밍 언어: Programming Language)

SQL은 프로그래밍 언어가 아님. 조회하기 위한 질의어.

PL/SQL은 오라클에서만 동작한다.

 

PL/SQL은 조건문, 변수, 반복문 등을 사용할 수 있다.

 

 

반응형