본문 바로가기

database

oracle 계정생성

19.11.19. SQL 처음, 계정생성

데이터베이스 구현

2019-11-20 23:34:26


SQL

DBMS

 

데이터 베이스 : 여러 사람에 의해 공유될 목적으로 저장된 데이터의 집합.

트랜잭션 : 여러 단계의 과정을 하나의 작업 행위로 묶는 단위.

   ex) ATM기에서 입금시, 출금과 입금을 하나의 트랜잭션으로 묶어서

       하나가 취소되면 나머지 하나도 취소되고, 하나가 이뤄지면 나머지 하나도 이뤄지게 된다.

        'all or nothing' 

 

데이터는 RDBMS 정형 데이터와 NOSQL 비정형데이터가 있다.

RDBMS : 데이터관리가 중요한 곳에 쓰임. 제조업체, 회계, 금융 등. 틀리면 안 돼.

NOSQL : 데이터가 유연한 구조로 한두건 누락돼도 문제없는 곳에 쓰임. 통계치, sns 분석 등.

한쪽이 우월한 것이 아니고 목적에 따라 선택하는 것이다.

대체로 RDBMS가 쓰이긴 함.

 

RDBMS를 관리하는 유일한 언어 = SQL

표준이 있지만 db마다 고유의 문법이 있다.

db가 변하면 sql수정이 필요. (orm faimwork를 이용하는 방법도 있지만 어렵다.)

NOSQL을 관리하는 언어는 제품마다 다르다.


SQL

관계형 데이터베이스에서 데이터를 조작, 정의, 제어하기 위한 언어. 트랜잭션도 제어함.

문법과 사용법이 간단하고, 로직이 없음.

 

-ANSI_SQL

SQL의 표준. 

 

-데이터 조작어 : CRUD

select : 데이터베이스 속 데이터를 조회

insert, update, delete : 데이터를 변경

 

-데이터 정의어 : DDL

테이블 혹은 데이터베이스의 객체를 생성, 변경.

creat, alter, drop, rename.

 

-데이터 제어어 : DCL

객체에 대한 권한을 제어.

 

-트랜잭션 제어어 : TCL

트랜잭션을 제어하기 위한 명령.

commit, rollback

 

-Table

데이터베이스에서 가장 많이 사용하는 객체. 

데이터를 저장하는 2차원 구조의 저장소. ROW(가로,행), COL(세로,열) 

 

-SQL 공통사항

대소문자를 가리지 않음.

여러 줄에 걸쳐 작성 가능. (다만 키워드는 한 줄에 표현해야 한다.)

명령의 종료는 ; (세미콜론)

 

-우리 수업시간 코딩 룰

키워드는 무조건 대문자.

캐릭터 키워드도 대문자.

그 외에는 소문자.

 

*sql developer 는 툴이나 서버가 아님. 메모장과 같은 프로그램일 뿐이다.

dbms 따로 필요.


--table space 생성
  CREATE TABLESPACE TS_DBSQL
   DATAFILE 'C:\oraclexe\app\oracle\oradata\XE\TS_201805F.DBF' 
   SIZE 100M 
   AUTOEXTEND ON


--사용자 추가
create user PCXX identified by java
default tablespace TS_DBSQL
temporary tablespace temp
quota unlimited on TS_DBSQL
quota 0m on system;


--접속, 생성 권한
GRANT CONNECT, RESOURCE TO PCXX;


> 처음 만든 관리자 계정에 붙여 넣고, 

 

SELECT *
FROM DBA_DATA_FILES;


라고 쳐서 실행하면 밑에(콘솔에) 다운로드된 경로가 나온다.
그 중 하나를 복사해서 'table space 생성' 에서 'DATAFILE' 에 붙여 넣는다.
코드 안쪽에 커서를 놓거나, 블럭을 씌운 후 ctrl + enter 로 실행한다.
->테이블스페이스 생성 부분 실행하면 콘솔에 TS_DBSQL 가 추가되었다고 한다.

이후 사용자를 추가해보자. 
이름 쓰고, 자바 쓸 거라고 말하고,
테이블스페이스는 위에서 만든 TS_DBSQL 이라고 말하고
temp는 미리 만들어져 있는 것이다. 임시 테이블스페이스. 
언리밋 on TS_DBSQL 는 데이터 제한을 하지 않겠다.
quota 0m on system; 는 시스템에 일반 사용자가 들어올 수 없게 하겠다는 뜻.

 

다시 그 부분 실행.
유저가 생성됐다고 함.
접속 후 연결하고 권한이 필요해.
권한 아이디 내거로 바꾸고 실행시킴. 

그란트를 성공했다고 함.

접속에 플러스를 누르고 새로 만든다. 사용자 정보 넣고 테스트 후 성공.
저장 누름. 왼쪽으로 접속이 하나 더 생김.

->이제 시스템 계정이 아닌 내 계정을 사용할 준비가 된 것.