생각하는 감쟈

[Oracle] DateBase / 관계형 데이터 모델 개념 본문

Language/Oracle

[Oracle] DateBase / 관계형 데이터 모델 개념

생각하는 감쟈🥔 2024. 3. 6. 11:14

 

1. 사용자 생성

- create user 오라클 객체 생성

- drop : 사용자 삭제.

2024-0304-01) 사용자 생성과 권한 부여
1. 사용자 생성
    - create user 명령 사용
    [사용형식]
     create user 유저명  IDENTIFIED BY 암호;
    . '유저명'과 '암호'는 사용자 정의어 (USER DEFINED WORD)를 사용
    . 사용자 정의어
        - 영어 알파벳, 숫자, _, $등을 사용
        - 첫 글자는 영어 알파벳을 사용하고 2번째 숫자나 특수문자 사용 가능
        - 특수문자는 연속하여 사용할 수 없음(반복은 가능)
        - 단어의 길이는 제한 없음
        - 예약어(RESERVED WORD)와 동일해서는 안 됨
        - 대소문자 구별하지 않음
        
    사용예)
    CREATE USER SB IDENTIFIED BY java;
 

한줄 실행 CTRL + ENTER

 

2. 권한 부여
    . 사용자의 역활 부여
    . GRANT : 권한 부여
      REVOKE : 권한 회수
    [사용형식]
     GRANT 권한명, ... TO 계정명;
        - 권한명 : 사용자가 수향할 수 있는 일의 종류
                  보통 초기 부여값으로 CONNECT, RESOURCE, DBA를 사용하여 권한을 부여함
    
    사용예}
    GRANT CONNECT, RESOURCE, DBA TO SB;
 

SYSTEM으로 접속자(USER)만듦 안에는 테이블 생성 불가

유저 계정을 새로 만들어서 테이블!

 

 

+) 워크시트 만들기

3. hr 계정의 활성화

    ALTER USER HR ACCOUNT UNLOCK;
    ALTER USER HR IDENTIFIED BY java;
 

ERD클라우드 - 내보내기 테이블로 가져올 수 있음!

 


DB(Data Base)

특성

  • 실시간 접근
  • 계속적인 변화
  • 동시 공유
  • 내용에 의한 참조

 

DBMS (데이터베이스 관리 시스템)

- 파일 관리 시스템의 단점을 개선하여 데이터를 통합적으로 관리하는 소프트웨어 시스템

 

트랜잭션

  • 트랜잭션은 DB에서 하나의 논리적 기능을 수행하기 위한 일견릥 연산 권한으로서 작업의 단위
  • DB관리 시스템에서 회복 및 병행 수행 시 처리되는 작업의 논리적 단위
  • 하나의 트랜잭션은 정상적으로 종료될 경우 Commit / 비정상적으로 종료될 경우 Rollback

 

트랜잭션의 특성

  • 데이터 무결성을 보장하기 위하여 DBMS의 트랜잭션이 갖추어야 할 특성

원자성(Atomaicity) : 완전히 끝마치지 않을 경우에는 전혀 이루어지지 않은 것과 같아야 함

일관성(Comsistency) : 트랜잭션들간의 영향이 한 방향으로만 전달되어야 함

고립성(Isolation) : 트랜잭션의 부분적인 상태를 다룬 트랜잭션에 제공해서는 안 됨

지속성(Durability) : 성공적인 트랜잭션의 수행 후 반드시 DB에 반영하여햐 함

 

트랜잭션의 상태

  • 활동 (Active) : 트랜잭션이 실행 중인 상태
  • 실패 (Falied) : 실행 중에 오류가 발생하여 중단된 상태
  • 철회 (Acirted) : 비정상적으로 종료되어 Rollback 수행한 상태
  • 부분 완료 (Partially Committed) : 마지막 연산까지 수행했지만 Commit을 실행하기 전의 상태
  • 완료 (Committed) : 성공적으로 완료되어 Commit 연산을 수행한 후 상태

 


 

관계형 데이터 모델
  • 데이터가 최소한의 의미를 가지는 테이블 형태별로 표현

 

릴레이션 (Relation) : 테이블 (Table)

튜플 (Tuple) : 레코드(Record) 한 행을 구성하는 속성들의 집합

애트리뷰트 (Attribute) : 속성 -> 열

도메인(Domain) : 속성들이 가질 수 있는 값들의 집합

차수 (Degree) : 릴레이션에 들어있는 속성의 개수

기수 (Cardinality) : 릴레이션에 들어있는 튜플의 개수

스키마 (Schema) : 릴레이션의 이름과 모든 속성의 이름으로 정의한는 릴레이션의 논리적 구조

 

릴레이션의 특징

  • 릴레이션은 순서가 없는 집합
  • 튜플 속성 간 순서 없고, 동일한 튜플은 존재할수 없으니 튜플이 모두 유일하며 각각 식별 가능

 

 

KEY

Super Key > Candidate Key > Alernate Key > Primary Key

 

  • 슈퍼키 (Super Key) : 튜플을 식별할 수 있는 속성의 집합. 유일성을 가짐
  • 후보키 (Candidate Key) : SuperKey에사 최소성을 갖는 키
  • 기본키 ( Primary Key) : 후보키 중 튜플을 식별하는데 기준으로 사용할 키 / 유일성과 최소성, NOT NULL
  • 대체키 (Alternate KEy) : 후보키 중 기본키로 선택되지 않은 나머지 키
  • 외래키 (foreign Key) : 상호 관련이 있는 테이블들 사이에서 데이터의 일관성을 보장해 주는 수단 식별관계와 비식별관계 / 부모테이블의 기본키는 자식테이블 외래키
  • 복합키 (Composite Key) : 하나의 컬럼이 후보키의 역활을 하지 못하고 두 개 이상의 컬럼 합쳐져야 후보키 역활을 하는 경우

 

 

데이터 무결성을 유지하기 위한 제약 조건

  1. 개체 무결성 : 기본키를 구성하는 속성 값이라도 중복되는 값이나 NULL이 올 수 없음
  2. 참조 무결성 : 참조할 수 없는 왜래키값은 가질 수 없다. NULL 또한 올 수 없음
  3. 도메인 무결성 : 각 속성 값은 반드시 정의된 도메인을 가져야 함




SQL 용어

 

데이터베이스 개체

테이블 (Table)
행, 열 2차원 배열의 데이터 저장 기본 단위 테이블 이름은 고유성을 지님
행 (Row) / 열 (Colum)
가로 / 세로
가상표 (VIEW)
테이블로부터 데이터의 부분을 선택하는 논리적 개념. select에 결과 집합
저장 프로시저
미리 컴파일 된 SQL문장들의 집합
트리커 (Trigger)
사용자가 테이블의 데이터를 수정할 때 자동으로 수행되는 저장된 프로시져
디폴트 (Default)
사용자가 값을 지정하지 않았을 때 자동을 입력하는 값
규칙 (rule)
어떤 값이 테이블에 들어가야 하는지를 명시하고 제어
색인 (Indexes)
키 값에 의해 논리적으로 정렬된 포인터 집합/ 키 값을 통해 행 데이터에 접근
사용자 정의 데이터형
컬럼 정보의 종류와 저장방식을 알려주는 구분자
제약사항 ( Constraints)
데이터 무결성을 유지하기 위한 구성요소

 

 

SQL 명령어 (CRUD)

Query
SELECT, 조회문
DML (data manipulation language)
INSERT / UPDATE / DELETE
DDL (data definition language)
CREATE / ALTER / DROP 등..
DCL (data control language)
GRANT / REVOKE / COMMIT / ROLLBACK 등..

* DELECT DROP 구분!

 

 

E-R 다이어그램 도형

Entity
개체 (table)
Attribute
속성
Relation
관계 (PK, FK)
Identifier
기본 키 (PK)
○ + _
link
개체 연결

 

 


 

 

Comments