Oracle 1일차 - (1) 정리

donghani·2024년 1월 9일
post-thumbnail

🎈데이터베이스 기초 개념 잡기

데이터 : 가공되지 않은 값, 사실, 자료 자체
정보 : 수집한 데이터를 특정 목적을 위해 분석하거나 가공하여 가치를 추가하거나 의미를 이끌어 낼 수 있는 결과

데이터들을 스프레드시트 파일이나 특정 프로그램으로 관리하는 프로그램에 저장하는 것이 기업이 해야할 의무

효율적인 데이터 관리를 위한 조건
1. 데이터를 통합하여 관리
2. 일관된 방법으로 관리
3. 데이터 누락 및 중복 제거
4. 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능

위 조건을 만족하면서 특정 목적을 위해 여러 사람이 공유하여 사용할 수 있으며, 효율적인 관리와 검색을 위해 구조화한 데이터 집합
: 데이터베이스

🎈파일 시스템 vs DBMS

데이터베이스 이전 데이터 관리 : 파일 시스템
여러 응용 프로그램이 제공하는 기능에 맞게 필요한 데이터를 각각 나누어서 저장
-> 문제점 : 각 파일에 저장한 데이터는 연관성이 없고, 중복이나 누락이 발생할 수 있다.
해결책 : 데이터를 한곳에 모아 관리하고, 응용 프로그램이 사용되면 해결된다.
이 때 시간과 자원도 절약되어, 서비스를 제공하는 효율이 증가한다.

효율적인 데이터 관리 조건을 만족하며 서비스 제공의 효율성을 높이기 위해, 데이터베이스 관리 시스템(DBMS) 등장
데이터 조작과 데이터 관리를 극대화한 시스템 소프트웨어

데이터베이스를 통한 데이터 관리 : 데이터의 접근, 관리 등의 업무를 DBMS가 전담하는 방식
응용 프로그램이 작업이 필요하다 -> DBMS에 요청 -> DBMS가 자신이 관리하는 데이터베이스에 관련 작업을 수행 -> 결과값을 제공

🎈데이터 모델

데이터 모델 : 데이터를 저장하는 방식

  1. 계층형 데이터 모델
    트리 구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리
    일대다 관계

  2. 네트워크형 데이터 모델
    망형 데이터 모델, 그래프(자료 구조)를 기반으로 하여, 자식 개체가 여러 부모 개체를 가질 수 있음

  3. 객체 지향형 데이터 모델
    객체 지향의 기능을 활용한 데이터 모델

  4. 관계형 데이터 모델
    데이터 간 관계에 초점을 둔 모델
    데이터의 독립 특성만을 규정하여, 데이터 묶음을 나눔(하나의 묶음은 간단하지만, 효율적인 관리를 못함)

데이터는 별개의 릴레이션으로 정의한 후 데이터를 연결

관계형 데이터 모델의 핵심 구성 요소
1. 개체 : 데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위 : 관계형 데이터베이스의 테이블 개념과 대응되고, 테이블은 릴레이션으로 표기되기도 함
2. 속성 : 개체를 구성하는 데이터의 가장 작은 논리적 단위, 데이터의 종류, 특성, 상태 등을 정의, 관계형 데이터베이스의 열 개념과 대응
3. 관계 : 개체와 개체 OR 속성간의 연관성을 나타내기 위해 사용, 테이블 간의 관계를 외래키로 구현하여 사용

구성 요소를 활용, 데이터의 독립성, 무결성과 같은 안전한 데이터 관리

관계형 데이터베이스가 현재 많이 쓰임(아닌 것도 있음)

🎈SQL이란

SQL : Structured Query Language, 관계형 DBMS(RDBMS)에서 데이터 다루고 관리하는데 사용하는 데이터베이스 질의 언어

데이터 관련 내용을 데이터베이스에 물어보면, 데이터베이스는 결과를 리턴해준다.

SQL의 사용 목적에 따른 나눔
DQL(Data Query Language) : RDBMS에 저장한 데이터를 원하는 방식으로 조회
DML(Data Manipulation Language) : RDBMS에 저장한 데이터를 저장,수정,삭제 하는 명령어
DDL(Data Definition Language) : RDBMS 내 데이터 관리를 위해 테이블을 포함한 여러 객체를 생성, 수정, 삭제하는 명령어
TCL(Transaction Control Language) :
트랜잭션(Transaction 이하 트랜잭션)이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위
트랙잭션의 데이터의 영구 저장, 취소와 관련된 명령어
DCL(Data Control Language) : 데이터 사용 권한과 관련된 명령어

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

테이블 : 데이터를 저장하고 관리하는 곳, 2차원 표 형태
가로줄 : 행 세로줄 : 열
행 : 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태
열 : 저장하려는 데이터를 대표하는 이름과 공통 특성을 정의한 것
열은 저장 정보의 종류(자료형)과 값의 최대 길이, 중복 허용하지 않는 등의 저장조건을 정할 수 있음

관계형 DB에 관계 : 행과 열의 특성에 맞추어 데이터를 저장한 테이블 하나하나
테이블 -> 관계 행 -> 튜플, 레코드 열 -> 속성(애트리뷰트), 필드

특별한 의미를 지닌 열 : 키
기본키 : 가장 중요한 키, 테이블 내에서 중복되지 않는 값만 가질 수 있는 키
기본키의 속성
1. 테이블에 저장된 행을 식별할 수 있는 유일한 값
2. 값의 중복이 없어야 한다.
3. NULL 값을 가질 수 없다.
기본키의 대부분의 경우에 개인 정보 노출이 가장 적은 데이터를 선정

보조키 : 대체키 또는 후보키, 후보키 중에서 기본키로 지정되지 않는 열
기본키가 될 수 있기 때문에, 기본키의 특성을 가지고 있어야 함

외래키 : 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키
외래키는 두 개의 테이블을 이어주는 역할을 한다. (외래키를 통해 세부 정보로 찾아가서 참조한다고 할 수 있다.)
실제로 이어 부이면, 중복 발생(참조의 역할로 알아야 이해하기 쉬움)
관계형 DB는 엑셀처럼 병합을 못하지만 외래키로 그 역할을 하게 한다.

복합키 : 여러 열을 조합하여 기본키 역할을 할 수 있게 만드는 키
하나의 열만으로 행을 식별하는 것이 불가능하여, 사용

다양한 키는 관계형 데이터베이스에서 테이블 행을 구분하기 위해 관계를 정의하기 위해 사용된다.

🎈오라클 데이터베이스

대표적인 상용 관계형 데이터베이스 제품
오라클은 꾸준히 발전해왔다.
11g 버전이 현업에서 가장 많이 사용하는 버전(한번 구축하면 버전 업그레이드가 어려움) -> 2018년 나온 교재에선

자료형 데이터베이스에 저장하는 데이터의 형태

  1. VARCHAR2 (길이) : 4000byte까지의 가변 길이 문자열 데이터를 저장할 수 있음(최소 크기 1byte)
  2. NUMBER(전체 자릿수, 소수점 이하 자릿수) : +-38자릿수의 숫자를 저장,
    NUMBER(p,s) : s자리만큼 소수점 이하 자릿수, p자리만큼 숫자 데이터를 저장
    NUMBER(4) : 4자리만큼의 숫자 데이터만 저장, 스칼라형
  3. DATE : 날자 형식을 저장하기 위해 사용되는 자료형,
    세기, 연, 월, 일, 시, 분, 초 저장 가능
  4. CHAR(길이) : 4000byte만큼의 고정 길이 문자열 데이터를 저장할 수 있다.(최소 크기 1byte)
  5. NVARCHAR2(길이) : 4000byte만큼의 가변 길이 국가별 문자 세트 데이터를 저장할 수 있다.(최소 크기 1byte)
  6. BLOB : 최대 크기 4GB의 대용량 이진 데이터를 저장 할 수 있음
  7. CLOB : 최대 크기 4GB의 대용량 텍스트 데이터를 저장 할 수 있음
  8. BFILE : 최대 크기 4GB의 대용량 이진 데이터 파일을 저장 할 수 있음

VARCHAR2,NUMBER,DATE가 가장 많이 쓰인다고 함(기억하면 좋아보임)

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

오라클 객체의 종류
테이블 : 데이터를 저장하는 장소
인덱스 : 테이블의 검색 효율을 높이기 위해 사용함
뷰 : 하나 또는 여러 개의 선별된 데이터를 논리적으로 연결하여 하나의 테이블처럼 사용하게 해줌
시퀀스 : 일련 번호를 생성해 줌
시노님 : 오라클 객체의 별칭(다른 이름)을 지정함
프로시저 : 프로그래밍 연산 및 기능 수행이 가능함(반환 값 x)
함수 : 프로그래밍 연산 및 기능 수행이 가능함(반환 값 있음)
패키지 : 관련 있는 프로시저와 함수를 보관
트리거 : 데이터 관련 작업의 연결 및 방지 관련 기능을 제공함

데이터 관리를 위해 별도의 프로그래밍 언어 제공 : PL/SQL -> 오라클 데이터베이스 프로그래밍 : PL/SQL 사용, 프로그래밍 언어에서 제공하는 요소 사용 가능

🎈오라클 데이터베이스 설치

오라클 홈페이지 접속
회원가입
앞서 말한 것처럼 큰 기업은 11g 버전을 사용하고 있기 때문에,
11g 버전을 다운로드 해준다.
그러기 위해선 resource 탭에 가서 Customer Downloads를 클릭하고
검색 창에 11g을 검색해서 자신의 운영체제에 맞는 버전을 다운로드 해서 zip파일을 다운로드 받는다.

1of2, 2of2 zip파일이 2개가 생기는데 2개 다 다운로드!
그리고, 설치 오류가 나면 2of2에 있는 component를 1of2로 옮겨준다.

설치가 완료되면 cmd 창에 -> splplus system/oracle
을 입력해서 확인한다.

오라클 데이터베이스 시스템은 기본 학습을 위한 테이블과 데이터가 미리 구현되어 있는 SCOTT 계정이 있는데,

다음과 같이 접속을 하면 된다.

연결종료 EXIT
SCOTT 계정 접속 : SQLPLUS scott/tiger

🎈오라클을 위한 도구 프로그램 : Toad for Oracle

Toadworld.com에서 다운로드
버전을 잘 찾아서 다운로드하고, 이메일을 만들거나 간단한 인증을 한다.

profile
컴퓨터 공학과 이방인

0개의 댓글