DB와 DBMS, 트랜잭션, Oracle

서현서현·2022년 2월 3일
0

DB, SQL

목록 보기
1/27
post-thumbnail

Oracle의 계정명은 CSH99, password는 java를 고정으로 사용할것이다.

//계정 생성
CREATE USER 계정명 IDENTIFIED BY password;

//권한 부여
GRANT CONNECT,RESOURCE,DBA TO 계정명

: 계정을 생성한 뒤 권한을 부여한다.

ALTER USER HR ACCOUNT UNLOCK; 

//암호변경
ALTER USER HR IDENTIFIED BY password;

(HR계정은 자동제공계정으로, 오라클 설치시 비활성화된 채로 제공되어있으므로 활성화하여 사용했다.)

  • 메타데이터 : Data of Data
  • Data 와 information : data 테이블에서 유의미한 정보를 빼내 만든 테이블을 인포메이션, 이전 low level이 Data이다.
  • 행위테이블(액티브테이블)은 매출정보테이블같이 행위에의해 계속 정보가 쌓이는 테이블

🍊 데이터베이스

특성

  1. 실시간접근 : ex 예약좌석 정보같은거 바로바로 요구하는대로 결과를 찾아보내주는 정도가 빨라야,,

  2. 계속적변화 : 변화 폭이 적은 테이블 (ex.사원테이블) 설계시 현재상황을 반영하고있어야..
    확장성도 좋아야함.. 계속적인변화가 일어나야.

  3. 동시공유 : 엄밀하게 동시공유란 존재하지 않음. ex 계좌를 만들어 출금방법을 두개로 한 후 동시에 출금 하더라도 중복되어서 출금 불가능, 한프로세스는 블로킹 처리가 된다 잔고가 업데이트 될때까지. 즉 한 트랜잭션이 끝날때까지
    일반적으로는 동시에 처리 되는 것처럼 보인다.
    버퍼가 만들어진 이유가 cpu를 타임 슬라이싱해서 나누어서 쓰는데 아주 고속인 cpu가 일을 금방 처리하니 각 사용자 입장에선 자원을 혼자 사용하는 것처럼 느껴짐,, <,엥 이건 컴구내용

  4. 내용에의한 참조 : 데이터를 찾는데 시간이많이걸리는건 주소를 찾아서 하는건데 주소를 변경 시키고 찾아가서 꺼내 오는게 오래 걸려서임
    좋은 방법은 내용 자체를 가지고 검사 하는 것이다. 그래서 데이터베이스가 빨라진 것임!

파일관리 시스템과 달리 데이터베이스는 중복을 절대 허용하지 않는다.
anomaly, 즉(입력,삭제,갱신)이상 때문! 이를 미연에 방지하기 위해 검증해주는 과정 : 정규화(nomalization)

🍊 데이터관리시스템

장점

  • 중복 줄어듦
  • 데이터 불일치 피할수있다
  • 응용프로그램과 데이터 독립성 유지 (하나의 테이블을 여기저기씀)
  • 응용프로그램과 데이터형식의 표준화를 기함(이건 애매 나중에설명)
  • 데이터접근 보안과 무결성 유지가 용이

단점

  • 비용이 발생
  • 파일 관리 시스템에 비해 상대적으로 속도가 느림 (자원을 많이 소비)

🍊 트랜잭션

정의

  • 하나의 작업 시작후 완료되기까지 작업의 단위. (커밋이 수행되고 연산이 하드디스크에 저장되기 전까지)

    작업이 완료되면 무조건 저장이 되느냐?
    ㄴㄴ 비정상적 종료가 존재한다.
    가벼운 오류가 원인인 오류를 예외(Exception) 이라고 함(심하면 Error, 가장 심한건 전원이상오류라고 함). Exception 발생시 예외처리가 필요하다. 예외 발생시 모든 프로그램언어는 실행이 정지하고 운영체제에 운영권한을 반납함 (프로그램 실행 중단 - 비정상적 종료 -많은 데이터를 잃을수있음 > 정상적종료를 만들어주기 위해 예외처리) 예시로 ROLLBACK이 있다. (잘못삭제해도 롤백명령어 사용시 복구됨, DROP이나 ALTER, DELETR+COMMIT은 롤백불가함 주의)

  • 트랜잭션 정상 종료시 COMMIT실행되어 하드디스크에 저장된 상태이고, 비정상적 종료면 ROLLBACK 수행되어 최후 COMMIT 직전의 상태가됨

특징

  1. 원자성(Atomicity) : 전부 처리되든, 전부 처리되지않든
  2. 일관성(Consistancy) : 고정요소는 트랜잭션 수행 전과 후가 같아야됨. 예를들어, 급여에서 소득세율표가 있어 급여가 들어오면 달의 세금이 계산되는데 사람이 바뀔때마다 세율이 바뀌어서는 안됨.
  3. 고립성(Isolation) : 한 트랜잭션이 데이터를 갱신 하는중엔 다른 트랜잭션이 접근해서는 안된다.
  4. 지속성(Durabillity) : 성공적으로 수행된 트랜잭션은 다음 트랜잭션이 올때까지 영원히 반영되어야한다.

🍊 관계형 데이터베이스

: 테이블단위로 데이터가 저장된 상태.

관계를 맺고있는 테이블들을 이용해 특정한 데이터나 결과를 얻고자 내리는 명령문 = SQL

SQL 예시

SELECT ename,tel
FROM EMPLOYEE
WHERE Dept = "영업"

테이블 세로 = 열 = 칼럼 = 속성 (시간에따라 증감하지 X)

테이블 가로 = 행 = 튜플 (시간에따라 늘었다 줄었다)

데이터값의 범위(집합) = 도메인 = 각 컬럼들이 가지는 값의범위

릴레이션 = 테이블 = 정보를 저장하는 가장 기본단위.

0개의 댓글