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( create table depart( |
식별관계 |
create table student( create table profesional( create table class( |
학생과 교수를 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 |