상세 컨텐츠

본문 제목

[오라클] 서론

공부/DB

by 비렴 2022. 1. 5. 00:02

본문

목표 : RDMBS(관계형 데이터베이스 관리 시스템)와 ORDBMS(객체 관계형 데이터베이스 관리시스템)을 설명할 수 있고, 오라클 특유의 SQL문과 SQL을 실행하고 형식 지정 및 보고 용도로 사용되는 SQL Plus에 대해 알아보자.
* Oracle 9i 기준으로 설명되어있으나 실습은 11g으로 했음

select * from v$version;

1. Oracle의 특징
- 확장성 : 작게는 부서부터 크게는 기업의 비즈니스 사이트까지
- 신뢰성 : 강력하고 신뢰성있고 유용하며 보안이 철저한 구조
- 단일 개발 모델 : 단일 개발 모델이며, 간단한 배포
- 업무 능력 향상 : 오라클 플랫폼을 통해 조직의 현재 업무 능력 향상
- 하나의 관리 인터페이스 : 모든 응용 프로그램에 대해 관리 인터페이스 단일화
- 하나의 업체 : 산업 표준 기술, 단독 소유권(Lock-in) 없음
* Lock-in : 특정 제조사(제품 혹은 서비스를 제공하는)에 의존적으로 만들어 막대한 전환 비용 없이는 다른 제조사를 사용하는 것이 불가능해지는 현상

2. Oracle Database
모든 형태의 데이터를 관리
기업 데이터베이스에서 사용하는 객체 관계형 데이터 외에도 스프레드시트, 워드, 파워포인트, XML, 멀티미디어 데이터 등과 같이 구조화되지 않은 데이터도 관리.
또한, 데이터베이스에 존재하지 않고 파일시스템에 저장된 정보도 메타 테이터를 저장할 수 있기 때문에 위치에 상관없이 정보를 관리하고 서비스 제공 가능

3. 관계형 데이터베이스 관리시스템(RDBMS) 및 객체 관계형 데이터베이스 관리시스템(ORDBMS)
오라클은 두 모델 모두 지원

4. 시스템 개발 주기

  • 전략 및 분석
    업무 요구 사항을 연구하고 분석, 사용자 및 관리자와 면담을 통해 요구되는 정보를 확인
    장래의 시스템 사양 뿐 아니라 엔터프라이즈 및 응용 프로그램이 수행할 역할을 구체화
    시스템 모델을 구축, 서술 형식의 업무 내용을 업무 정보 요구사항과 규칙을 나타내는 그래픽으로 변형
    분석가 및 전문가와 함께 모델을 확인하고 세분화
  • 설계
    전략 및 분석 단계에서 개발한 모델을 기반으로 데이터베이스 설계
  • 구축 및 문서화
    프로토타입 시스템을 구축, 데이터베이스에 대한 테이블 및 지원 객체를 만드는 명령을 작성하고 실행
    사용자 설명서, 도움말 텍스트 및 작동 설명서를 개발하여 시스템을 사용 및 작동할 수 있도록 지원
  • 전환
    프로토타입을 정제화
    사용자 승인 테스트, 기존 데이터 변환 및 병렬 작업을 통해 응용 프로그램을 운용 단계로 전환
    필요하다면 수정작업
  • 운용
    시스템을 사용자에게 공개하고 운용시스템 작동
    시스템 성능을 모니터하고 시스템을 보다 나은 형태로 개선
  • 시스템 개발 주기의 각 단계는 반복적으로 수행 가능!

5. 다양한 데이터 저장 매체
모든 조직에는 정보가 필요하고 이런 정보를 데이터라고 한다. 각 조직마다 데이터를 다양한 매체에 여러 형태로 저장할 수 있다.
데이터베이스란, 조직화된 정보의 모음이다.
데이터베이스를 관리하려면 DBMS(데이터베이스 관리 시스템)가 필요하고 DBMS는 요청에 따라 데이터베이스에서 데이터를 저장, 검색 및 수정하는 프로그램이다.

6. 데이터베이스의 기본 유형
 - 계층적 데이터베이스
 - 네트워크 데이터베이스
 - 관계형 데이터베이스
 - 객쳏 관계형 데이터베이스

7. 관계형 데이터베이스란?
 - E.F.Codd 박사가 1970년에 제안
 - 구성요소
   - 데이터를 저장하는 객체 또는 관계의 모음
   - 관계에 적용되어 다른 관계를 생성할 수 있도록 해주는 연산자 집합
   - 정확성과 일관성을 위한 데이터 무결성
 - 관계형 데이터베이스는 관계 또는 2차원 테이블의 모음

8. 데이터모델
 - 모델이란 설계의 토대로, 사용자의 머리속에 있는 개념을 전달하도록 도와준다.
 - 일반 사용자가 이해할 수 있고 개발자가 데이터베이스 시스템을 구축하기에 충분한 세부 사항을 포함하는 모델을 생산하는 것이 목표

9. 엔티티 관계 모델(ER 모델링)
 - 업무를 토대로 엔티티 관계 다이어그램을 만든다.
 - 효율적인 시스템에서는 데이터가 명확히 구별된 범주 또는 엔티티로 구분된다.
 - ER(엔티티 관계)모델은 업무 상 여러 엔티티와 그들 간의 관계를 보여준다.
 - 장점
   1. 조직에 대한 정보를 정확하고 세밀한 형식으로 문서화
   2. 요구사항에 대한 명확한 범위를 제공
   3. 데이터베이스 설계를 이해하기 쉬운 그림 형태의 맵으로 제공
   4. 여러 응용 프로그램을 통합하는 효율적인 구조 제공
 - 주요 구성요소
   - 엔티티 : 정보가 필요한 주요 대상
   - 속성 : 엔티티를 설명하거나 제한하는 내용
             (속성은 반드시 필요하거나 선택적일 수 있는데 이를 '관계선택사양'이라고 한다.)
   - 관계 : 관계선택사양과 그 관계차수를 나타내는 엔티티 간의 명명된 관계

10. 엔티티 관계 모델링 표기법

 - 엔티티 : 고유한 이름을 가지고 있는 상자, 엔티티 이름은 대문자로 표시해준다.
 - 속성 : 고유한 이름을 가지고 있으며 소문자로 표시한다.
           필수 속성이나 반드시 알아야 하는 값에는 별표(*)로 태그처리
           선택 속성이나 알 수 있는 값에는 문자 o로 태그처리
 - 관계

기호 설명
점선 "가능성"을 나타내는 선택적인 관계
실선 "당위성"을 나타내는 필수적인 관계
세줄 선(끝모양) 하나 이상을 나타내는 관계
한줄 선(끝모양) 단 하나를 나타내는 관게

   - 관계명 : 관계의 이름
   - 관계선택사양 : 필수관계, 선택관계
   - 관계차수 : 1:1, 1:N, M:N

11. 여러 테이블 연결
 - 테이블의 각 데이터 행(row)는 기본키(PK)에 의해 고유하게 식별된다.
 - 외래키(FK)를 사용하여 여러 테이블의 데이터를 논리적으로 연결할 수 있다.
 - 필요성 : 관리가 가능한 별도의 단위로 정보를 조직화할 수 있다.
 - 기본키 및 외래키에 대한 지침
   - 기본키는 Null 값이 들어올 수 없으며 중복불가능, 일반적으로는 변경할 수 없음
   - 외래키는 기존의 기본키값이나 고유키 값에 일치하거나 Null값이어야 한다.
      (기본키나 고유키의 열을 참조한다.)

12. 관계형 데이터베이스의 특성
 - SQL문을 실행하여 접근하고 수정할 수 있다.
 - 물리적인 포인터가 없는 테이블들을 가지고 있다.
 - 연산자 집합을 사용한다.
 - SQL을 사용할 때의 장점 : 효율적이며 배우고 사용하기 쉽다.

13. SQL문
 - 관계형 데이터베이스를 위한 표준어
 - 테이터 검색, 데이터 조작, 정의, 제어, 트랜잭션 제어 등을 할 수 있다.

분류 명령문 설명
데이터 검색 SELECT 데이터베이스에서 데이터를 검색한다
DML
(데이터
조작어)
INSERT 데이터베이스의 테이블에서 새 행을 입력한다.
UPDATE 기존의 행을 변경한다.
DELETE 필요 없는 행 제거를 수행한다.
MERGE  
DDL
(데이터
정의어)
CREATE 테이블을 생성한다.
ALTER 테이블의 구조를 변경한다.
DROP 테이블을 제거한다.
RENAME 테이블의 이름을 변경한다.
TRUNCATE 테이블을 제거한다.
TCL
(트랜잭션
제어)
COMMIT 트랜잭션을 완료한다.
ROLLBACK COMMIT 되기 전 상태로 돌아간다.
SAVEPOINT  
DCL
(데이터
제어어)
GRANT 데이터베이스에 대한 권한을 부여한다.
REVOKE 부여한 권한을 제거한다.

'공부 > DB' 카테고리의 다른 글

[SQL 전문가 가이드] 함수(Function)  (0) 2022.09.03
[PostgreSQL] 시작하기  (0) 2022.06.10
[SQL] SQL이란?  (0) 2022.06.10
[Oracle] 스크립트 작성  (0) 2021.12.02
[Oracle] column 명 수정하기  (0) 2021.12.01

관련글 더보기