DBMS

데이터베이스 요구사항에 따라 하드웨어와 운영체제에 적합한 DBMS를 선정할 때의 고려사항

1. DBMS 가용성 및 안정성

2. DBMS 구축 비용

3. DBMS 지속적인 기술 지원

4. 다양한 개발 환경의 지원

 

테이블스페이스

test 는 유저가 생성한 계정이다.

테이블스페이스명

사용하는 계정명

system

sys

sysaux

system

ts1

test

temp

test

 

DBMS 설치 완료 보고서

DBMS명

DBMS ip주소

DBMS에 대한 port정보

테이블 스페이스

계정정보

 

설명

서비스명

port

구분

 테이블스페이스명

계정명

비밀번호

oracle 11g

192.168.100.1

http

1521

default

 system

system

sys1234

 

temporary

 default

sysaux

sys1234

 

사용하는

DBMS

DB가 위치한

ip주소

 default

 ts1

test

test

사용자가 생성한 tablespace ts1

temporary

 temp

test

test

임시로 사용되는 디폴트 tablespace temp

 

테이블 스페이스의 용량을 확인하는 명령어

select * from dba_data_files;

 

sqlplus의 system의 상위계정 SYS에 접속하기 위해서는

sqlplus /"as sysdba"

명령어로 접속할 수 있다.

 

상기 명령어 이후 비밀번호 변경은

alter user joeun identified by 바꿀번호;

 

sys계정으로 들어가는 다른 방법은

conn system/sys1234 as sysdba

를 통해 system계정과 비번을 친 후 as sysdba를 통해 접속할 수 있다.

 

계정 잠금 및 해제

alter user joeun account lock;

으로 joeun계정을 잠금하고

alter user joeun account unlock;

을 통해 잠금

 

테이블스페이스 생성

create tablespace ts1

datafile 'c:\ts1.dbf'

size 4M

autoextend on next 10M

maxsize unlimited;

로 테이블스페이스를 생성

내용은

테이블스페이스 선언

c드라이브에 ts1.dbf로 생성

4메가로 생성

10메가씩 크기 증가

최대 크기 무제한

으로 생성함

 

테이블스페이스 삭제

drop tablespace ts1;

ts1은 테이블스페이스의 이름이다.

 

테이블스페이스를 사용하여 계정 생성

create user test identified by test

default tablespace ts1

temporary tablespace temp;

 

권한 부여

grant connect to 계정명;

권한 회수

revoke connect to 계정명;

 

상기 명령어는 connect를 부여 및 회수하는 과정이다.

 

테이블스페이스를 사용하여 테이블 생성

create table tbl_test (

name varchar2(15)

) tablespace ts1;

tbl_test테이블을 tablespace 인 ts1에 넣는 기능

 

테이블이 들어있는 테이블스페이스의 삭제

drop tablespace ts1 including contents;

ts1을 삭제하면서 뒤에 including contents를 붙여 확실히 삭제하나, 테이블스페이스는 아까 생성했던 c드라이브 내의 파일로 남아있게 된다.

 

다른 계정의 테이블 접근

select * from joeun.member;

타 계정에서 joeun계정의 member테이블의 내용을 검색한다.

 

in형태의 검색자

select * from joeun.member where name in('홍길동', '피천득');

name값에 '홍길동' or '피천득'을 가진 값을 전부 출력

 

check제약조건

create table gender(

gen char(1) check(gen in('m', 'f'))

);

테이블 gender를 만들 때

성별 gen의 값이 m이나 f만 입력되도록

체크해주는 기능

ㄴ check 제약조건의 in에는 where절에 들어갈 수 있는 것은 대부분 들어갈 수 있음.

 

erd

entity relation diagram

eid(ssn)

did(부서코드)

────────────

실선인 경우

식별관계

did(부서코드)

n-------------------1

점선인 경우

비식별관계

일반적으로 안정적

 

relation의 사용

학생

relration

교수

학생

sid

수강

교수

pid

학생

교수

student id = sid

profesional id = pid

 

employee

m-----1

depart

 

비식별관계

create table employee(
eid varchar2(6) primary key,
ename varchar2(15) not null,
did varchar2(6) constraint fk_did references depart(did)
)
//did는 employee(사원) 의 외래키이자, 근무파트를 지정하는 것.

create table depart(
did varchar2(6) primary key,
dname varchar2(21) not null
)
//did는 디파트의 pk이자 근무파트 테이블을 구성하는 것.

 

식별관계

create table student(
sid varchar2(6) primary key,
sname varchar2(15),
pid varchar2(6) constraint fk_pid references profesional(pid)
)

create table profesional(
pid varchar2(6) primary key,
pname varchar2(15),
sid varchar2(6) constraint fk_pid references student(pid)
)

create table class(
pid varchar2(6) constraint fk_class_pid references profesional(pid),
sid varchar2(6) constraint fk_class_pid references student(pid),
classname varchar2(30),
constraint pk_com primary key(pid, sid)
)

학생과 교수를 class의 마지막 줄에서 쌍방 외래키로 선언함과 동시에 그 쌍방 외래키를 primary key로 묶음.

이로써 쌍방에 primary key가 성립되며, 쌍방참조가 이루어지기에, 식별관계로서 정리됨

 

비식별관계 - 하나의 외래키에 다른 테이블의 primary key가 연동되는 경우

식별관계 - 쌍방의 primary key를 서로 외래키로 사용하여 연동되는 경우.

※식별관계의 경우 쌍방에 primary key로 묶여있기에 삭제 등의 자료변경이 굉장히 힘듬.

 

특정 테이블 접근권한부여

grant select on 테이블명 to public;

모든 계정에 테이블 접근권한부여

 

synonym

create public synonym pub_syn1 for joeun.member;

으로 pub_syn1을 사용하여 joeun.member를 호출가능

 

시노님의 삭제

drop public synonym pub_syn1;

단. 시노님은 dba권한이 있는 계정에서만 삭제가능.

 

팁. mariaDB는 무료 프로그램

 

테이블스페이스 전체 출력

select * from tabs

 

테이블스페이스 이동

alter table 테이블명 move tablespace ts1;

'JAVA > JAVA 기본' 카테고리의 다른 글

bootstrap  (0) 2017.10.12
JAVA 암호화  (0) 2017.10.11
JAVA URL의 사용  (0) 2017.10.11
JAVA Calender클래스  (0) 2017.10.11
JAVA-Oracle JDBC  (0) 2017.10.11

+ Recent posts