DataBase

[Oracle] 1장. 데이터 베이스 개념 잡기 (1-2 관계형 데이터베이스와 오라클 데이터베이스)

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

 

테이블 (Relation)

관계형 데이터베이스는 기본적으로 데이터를 2차원 표 형태로 저장하고 관리.

이 표 형태의 데이터 저장공간을 테이블(table)이라고 한다.

테이블은 2차원 형태이므로 가로줄과 세로줄로 구성되는데 이때 가로줄을 행(row) 세로줄을 열(column)이라고 부른다.

(학번 테이블)

학번 이름 생년월일 전화번호
    [열]  
[열] [행]

 

행 (tuple or record)

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

1603955 홍길동 971210 010-111-111 서울시 1 2 COM

열 (attribute or field)

열은 저자하려는 데이터를 대표하는 이름과 공통 특성을 정의

저장 정보의 종류(자료형)와 저장 가능한 값의 최대 길이 그리고 값의 중복을 허용하지 않는 등의 저장 조건과 범위를 지정가능

학번
16031055
12071632
15022655
이름
홍길동
성춘향
박문수
학과 코드
COM
BNS
MTH

관계형 데이터베이스와 테이블

관계형 데이터베이스에서 관계란 행과 열의 특성에 맞추어 데이터를 저장한 테이블 하나하나를 의미.

여러 테이블의 구성과 관계를 잘 규정하고 관리하는 것이 관계형 데이터베이스에서 데이터를 관리하는 핵심

 

특별한 의미를 지닌 열, 키

키(key)는 단어 뜻 그대로 '열쇠'라는 의미에서 비롯된 용어

수많은 데이터를 구별할 수 있는 유일한 값

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

종류별로 데이터를 구별하거나 테이블 간의 연관 관계를 표현할 때 키로 지정한 열을 사용

키는 기본키(Primary key), 후보키(candidate key), 외래키(foreign key), 복합키(composite key) 등으로 구분할 수 있습니다.

 

기본키

기본키(PK : Primary Key)는 여러 키 중에서 가장 중요한 키로서 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키입니다.

기본키의 속성을 정리하면 다음과 같습니다.

더보기

기본키의 속성

1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다.

2. 값의 중복이 없어야 한다.

3. NULL 값을 가질 수 없다.

기본키는 중복되지 않는 유일한 값이라는 특성을 가졌기 때문에 하나 또는 여러 열의 조합으로 만들 수 있습니다.

학번 아이디  주민등록번호 이름
16031055 baby 971210-1XXXXXX 홍길동
12071632 onemore 940424-2XXXXXX 성춘향
(기본키)      
15022655 time 960605-1XXXXXX 박문수

 

보조키

보조키는 대체키(alternate key)라고도 부르며 후보키(candidate key)에 속해 있는 키

후보키 중에서 기보키로 지정되지 않는 열

학번 아이디  주민등록번호 이름
16031055 baby 971210-1XXXXXX 홍길동
12071632 onemore 940424-2XXXXXX 성춘향
(기본키) (후보키) (보조키 또는 대체키) (후보키) (보조키 또는 대체키) (후보키)  
15022655 time 960605-1XXXXXX 박문수

유일한(중복되지 않은) 데이터를 가지고 있고

빈 값(NULL)이 없는 열(학번, 아이디, 주민등록번호)은 기본키가 될 수 있는 후보키이다.

후보키 중에서 기본키로 선택한 학번을 제외한 아이디와 주민등록번호가 보조키가 된다.

 

외래키

외래키(FK : Foreign Key)는 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키를 의미

중복 데이터 저장을 막기위해 분리를 위해 사용

 

복합키

복합키(composite key)는 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키를 뜻한다.

과목 코드 (복합키) 담당 교수 (복합키) 전공 여부 과목 이름
C3655 이순신 교양 논리와 비판적 사고
C3655 김유신 교양 논리와 비판적 사고
E0134 이몽룡 전공 모바일 프로그래밍
E0021 이몽룡 전공 네트워크 프로그래밍

 

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

 

오라클 데이터베이스와 버전

11g 버전을 기준으로 설치 및 학습을 진행 (대부분 기업에서 11g를 사용 | 2018년 6월 기준)

 

자료형

자료형 설명
VARCHAR2(길이)* 4000byte만큼의 가변 길이 문자열 데이터를 저장할 수 있습니다(최소 크기는 1byte).
NUMBER(전체 자릿수, 소숫점 이하 자릿수)* ±38자릿수의 숫자를 저장할 수 있습니다.
NUMBER(p, s)와 같이 표기할 경우 s자리만큼 소수점 이하 자릿수를 표현하고, 이 소수점 자리를 포함한 전체 p자리만큼 숫자 데이터를 저장합니다.
DATE* 날짜 형식을 저장하기 위해 사용하는 자료형으로 세기, 연, 월, 일, 시, 분, 초 저장이 가능
CHAR(길이) 4000byte만큼의 고정 길이 문자열 데이터를 저장할 수 있습니다.(최소 크기는 1byte)
NVARCHAR2(길이) 4000byte만큼의 가변 길이 국가별 문자 세트 데이터를 저장할 수 있습니다.(최소 크기는 1byte).
BLOG 최대 크기 4GB의 대용량 이진 데이터를 저장할 수 있습니다.
CLOB 최대 크기 4GB의 대용량 텍스트 데이터를 저장할 수 있습니다.
BFILE 최대 크기 4GB의 대용량 이진 데이터 파일을 저장할 수 있습니다.

 

객체

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

객체 설명 다루는 부분
테이블(table) 데이터를 저장하는 장소 전체
인덱스(index) 테이블의 검색 효율을 높이기 위해 사용함 13장
뷰(view) 하나 또는 여러 개의 선별된 데이터를 논리적으로 연결하여 하나의 테이블처럼 사용하게 해 줌
시퀸스(sequence) 일련 번호를 생성해 줌 13장
시노님(synonym) 오라클 객체의 별칭(다른 이름)을 지정함
프로시저(procedure) 프로그래밍 연산 및 기능 수행이 가능함(반환 값 없음) 넷째마당
함수(function) 프로그래밍 연산 및 기능 수행이 가능함(반환 값 있음)
패키지(package) 관련 있는 프로시저와 함수를 보관함
트리거(trigger) 데이터 관련 작업의 연결 및 방지 관련 기능을 제공함

 

PL/SQL

데이터를 관리하기 위해 복잡한 기능이 필요할 때 기존 SQL만으로 이를 구현하는 것은 다소 한계가 있다.

그래서 오라클 데이터베이스는 데이터 관리를 위해 별도의 프로그래밍 언어를 제공하는데

이를 PL/SQL (Procedural Language extension to SQL)이라고 합니다.

보통 오라클 데이터베이스 프로그래밍이라고 하면 SQL문과 PL/SQL을 사용하여 프로그램을 제작하는 것을 의미한다.

PL/SQL을 사용하면 변수, 조건문, 반복문 등 프로그래밍 언어에서 제공하는 요소를 사용하여 데이터를 관리할 수 있다.

따라서 보다 강력한 데이터 관리 기능을 구현할 수 있다.

 


참조

https://ittutorial.org/oracle-version-history-oracle-database-release-versions/

 

Oracle Database Version History | Oracle Release Versions

I will explain about Oracle Database Version History | Oracle Release Versions in this article.

ittutorial.org