본문 바로가기

IT/Database

[데이터베이스] 트렌젝션 4가지 속성에 대하여 알아보자 Transaction 더이상 쪼갤수 없는 하나의 작업 단위 x) 송금시스템 A계좌 | B계좌 | 송금 ----- 출금한다 ------>| | | ----- 입금한다 ----> | Transaction의 4가지 속성 만족 1) 원자성(Atomicity) - 트랜잭션은 연산들을 전부 실행하든지 전혀 실행하지 않아야지 일부만 실행해서는 안된다. All or Nothing 2) 일관성(Consistency) - 틀랜잭션이 성공적으로 실행되면 데이터베이스 상태는 모순되지 않고 일관된 상태가 된다. - 출금한 금액만큼 입금이 이루어져서 출금 데이터와 입금 데이터가 일치해야한다. 3) 격리성(Isolation) - 트랜잭션 실행 도중의 연산 결과는 다른 트랜잭션에서 접근할 수 없다. - 출금을 하는 중에는 다른 사람.. 더보기
[데이터베이스] 클러스터드 인덱스와 넌 클러스터드 인덱스 몇일전에 클러스터드 인덱스와 넌 클러스터드 인덱스에 대해서 나에게 물어보신 분이 계셨다. 헌데 내 기억 속에는 클러스터드 인덱스는 테이블 당 1개만 생성할 수 있다는 것만 기억날 뿐 다른 것은 기억나지 않았다. 그래서 내 기억 속에 오랫 동안 자리 잡기를 바라는 마음으로 이곳에 정리한다. 클러스터드 인덱스와 넌 클러스터드 인덱스는 간단하게 다음과 같이 정리할 수 있다. 위에서 말하는 차이, 크기, 선택도, 최대갯수에 대해서 설명을 하겠다. [차이] 클러스터드인덱스는 물리적으로 행을 재배열한다. 이 말 뜻의 의미를 이해하기 위해서 테스트 테이블을 생성한 후 데이터를 저장해 보았다. 아래와 같이 LOG_DATE, MEDIA_ID 두 개의 복합키는 자동적으로 클러스터드 인덱스로 생성이 된다. CREATE TA.. 더보기
[MySQL] Developer를 이용한 깔끔한 User Interface로 작업하기 MySQL Client 콘솔창으로 스키마를 이용해서 생성할 수도 있다. 하지만 요즘은 다양한 데이터베이스 접속 툴을 이용해서 사용 한다. 접속 툴로는 SQLGate, Toad, SQLYog, Navi, Orange 등 다양하게 많다. 국산용 프로그램이고 개인용은 프리웨어인 SQLGate를 이용해서 생성해보겠다. 이 프로그램은 깔끔한 UI로 손쉽게 익힐 수 있어 많이 사용하고 있다. 회원가입 후 로그인 해야 다운받을 수 있다. (약관동의) 특이사항 없이 다음 ~ 다음 ~ 을 통해 설치 한다.실행해보면 10초를 센 후 사용할 수 있다. 예전엔 안그랬는 데 다 돈 벌기 위한 목적이니 이해해주자. MySQL설치시 입력했던 암호를 작성하고 접속 해보자. 좌측 메뉴 패널에서 맨 상위 마우스 우측 클릭 후 새 데이터.. 더보기
[Oracle] SQL Plus로 USER 생성 및 권한 추가 user를 생성하는 방법 중 한가지, SQL Plus에서의 방법이다.sql plus에서 system 권한으로 접속한다. 회사에서 세팅하는 user는 대부분 DBA 권한을 주기 때문이다.그리고 아래의 커맨드를 날린다. 1. USER 생성SQL> CREATE USER 사용자명 IDENTIFIED BY 비밀번호; 대소문자를 구분하지 않으나, 사용자명과 비밀번호에서는 대소문자를 가리는 것 같으니(사실 확인은 안해봤다) 유의하자.USER 생성에 따라 여러 옵션이 존재하는 것 같은데 그것에 대해서는 추후 설명... 잠시 기다리면 완료메시지가 출력된다. 그럼 접속을 한 번 해 보자. 2. 생성한 USER로 접속SQL> CONN 사용자명/비밀번호 연결방식에 따라 ORACLE 에러가 날 수도 있고, 올바르게 접속될 수도.. 더보기
[SQL] SQL 콘솔 명령어 정리 - 모든 USER 확인SQL> select * 2 from all_users 3 order by 1; 더보기