zeechive 2024. 4. 1. 11:25

관계형 데이터 모델  : 데이터 간의 관계(relationship)에 초점을 둔다. 

<사원 테이블> 의 부서코드와 <부서 테이블> 의 부서 코드가 연결이 되어서 작용을 한다. 

 

개체, 속성, 관계

 

 

 

 

 

 

관계형 데이터베이스 (RDBMS)

- 관계형 데이터 모델 개념을 바탕으로 데이터를 저장, 관리하는 데이터베이스 

 

SQL ( Structurd Query Language : 구조적 질의 언어 ) 

- RDBMS에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어 

- RDBMS에게 데이터에 관해 물어보고 결과를 얻는다. 

DML RDBMS 내 테이블의 데이터를 저장,수정,삭제하는 명령어
DDL RDBMS 내 데이터 관리를 위해 테이블을 포함한 여러 객체를 생성,수정,삭제하는 명령어
TCL 트랜잭션 데이터의 영구 저장, 취소 등 관련하는 명령어
DDL 데이터 사용 권한 관련하는 명령어

 

 

 

 

 

관계형 데이터베이스 구성 요소 

1) 테이블 : 2차원 표 형태로 표현한 데이터 저장공간         

2) 행(row) : 저장하려는 하나의 개체를 구성하는 여러값을 가로로 늘어뜨린 형태

3) 열(column) / 필드(field)

       : 저장하려는 데이터를 대표하는 이름, 공통 특성

       : 저장 정보의 종류와 저장 가능한 값의 최대 길이, 값의 중복을 허용하지 않는 등 저장 조건과 범위를 지정할 수 있다.   

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

 

 

 

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

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

 

1. 기본키 (PK - Primary Key) 

- 가장 중요한 키

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

속성 
  ① 테이블에 지정된 행을 식별할 수 있는 유일한 값이어야 한다. (ex - 학번, 아이디) 
  ② 값의 중복을 없애야 한다. 
  ③ NULL 값을 가질 수 없다. ( 식별할 수 있는 요소를 반드시 가져야 한다.) 

 

2. 보조키 (alternate key) 

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

- 기본키가 될 수 있는 모든 키 

 

3. 외래키 (FK - Foreign Key) 

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

   ( 학생 정보 테이블에 학과 코드는 기본 키가 아니지만, → 학과 정보 테이블에서 학과 코드는 기본 키이다.)

     - 학생 정보 테이블은 학과 코드를 통해 학과 정보 테이블의 세부정보를 찾을 수 있는데 

       이를 학생 정보 테이블이 학과 코드를 참조한다고 표현한다.

- 기본키만이 다른테이블에 외래키가 될 수 있다.

- 하나의 테이블로 저장하는 경우 중복 데이터가 저장되는 현상을 피하기 위해. 

- 또한 추후에 변경을 하게되는 경우, 해당된 데이터 수만큼 데이터를 변경해야 하므로, 중복 처리 비용 감소를 위해.

 

4. 복합키(composite key)

- 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키

- 과목코드와 담당 교수를 함께 작성하는 것 

 

 

 

 

 

 

오라클 데이터베이스 

- 자료형 : 데이터가 어떤 형태의 데이터인지 말할 때. 

VARCHAR2(길이) 가변 길이(길이 변경이 가능) 문자열 데이터를 저장할 수 있다. 
NUMBER(전체자리수,
               소수점 이하 자릿수) 
38자릿수의 숫자(정수와 실수 모두) 를 저장할 수 있다. 
NUMBER(p, s)와 같이 표기할 경우 s자리만큼 소수점 이하 자릿수를 표현하고, 
   이 소수점 자리를 포함한 전체 p자리만큼의 숫자 데이터를 저장한다. 
    (정수만 사용하는 경우 p만 작성해주면 된다.) 
DATE 날짜 형식을 저장하기 위한 자료형 
세기, 연, 월, 일, 시, 분, 초 저장이 가능하다. 
CHAR 고정 길이 문자열 데이터를 저장할 수 있다. 

 

- 데이터 저장 관련 자료형 (참고만...) 

BLOB 최대 4GB의 대용량 이진 데이터 저장 
CLOB 최대 4GB의 대용량 텍스트 데이터 저장 

 

 

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

테이블(table) 데이터를 저장하는 장소
인덱스(index) 테이블의 검색 효율을 높이기 위해 사용
뷰(view) 하나 또는 여러 개의 선별된 데이터를 논리적으로 연결하여 하나의 테이블처럼 사용하게 해준다.
시퀀스(sequence) 일련 번호를 생성해 줌. ( 순서대로 번호를 부여 )

 

 

 

 

 

 

PL/SQL

- 데이터 관리를 위해 별도의 프로그래밍 언어를 제공하는 것. 

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

- 자바에서 프로그래밍 언어를 하게 되는 경우 오라클에 종속되어, 다른 데이터베이스를 사용하게 되는 경우 작동을 하지 않을 수 있다. 따라서 PL/SQL을 사용하여, 데이터베이스 내부에서 작성할 수 있게 하는 것이 낫다.