관계형 데이터베이스(RDBMS - Relationship DataBase Management System)
1950년에 미국 군대에서 처음 등장한 용어.
군대에서 군비를 효율적으로 관리하기위해 모아놓은 시스템. 도서관의 개념을 도입하여 개발하면서 데이터의 기지라는 뜻으로 "데이터베이스"라는 용어를 사용하게 된다.
1963년에 시스템디벨로프사가 심포지움에서 용어를 표면적으로 사용한다.
data(자료) : 숫자, 단어, 영상등의 형태로 된 의미있는 단위.
연구, 조사에 바탕이 되는 산재되어있는 재료.
데이터를 의미있게 정리하면 => 정보
database : 체계화된 데이터들의 모임.
여러 프로그램에서 통합된 정보를 저장하고 사용하는 공용데이터의 묶음.
여러 사용자가 데이터를 공유하여 사용할 필요가 있음.
수시로 변경되는 데이터에 대한 번거로움을 최소화할 수 있다.
저장된 값에 의한 검색을 하고 싶을 때.
통합된 데이터 : 데이터 중복을 최소화한 데이터의 집합
공용데이터 : 여러 Application사용자가 공동으로 사용.
운영데이터 : 데이터가 프로그램을 운영하는 데 있어 반드시 필요한 데이터
저장데이터 : 컴퓨터가 접근할 수 있는 저장매체에 저장된 데이터
데이터의 중복성 최소화.
데이터를 공유(일관성, 무결성, 보안성).
최신상태로 데이터를 유지할 수 있다.
데이터의 표준화 가능.
데이터베이스 전문가가 필요, 많은 비용의 증가, 시스템의 복잡도 상승, 대용량 데이터를 사용하면 과부화가 발생.
정의기능(DDL), 제어기능(DCL), 조작기능(DML)
데이터베이스의 특징을 컴퓨터에서 사용할 수 있도록 개발된 프로그램.
Oracle, MS-SQL, MySql, DBll, Sybase,,,,
oracle.com에서 다운.
설치시 주의( setup.exe는 관리자권한으로 실행, 설치파일은 한글명으로 된 하위 폴더에 넣지 않는다. 컴퓨터명은 영어.)
설치 후
background service로 동작( 부팅속도가 느려짐 )( OS가 부팅될 때 같이 실행되는 프로그램(알약, 카카오톡, Oracle,,,))
foreground service( OS가 부팅된 후 사용자가 직접 실행하는 프로그램( Powerpoint, 한글, 반디집, eclipse, java,,,))
설치, 가동법, 계정생성, create, 데이터형, insert, select, update, delete, truncate, drop, select 함수, subquery, constraint, alter, union, join, sequence, view, index, 계정생성, 권한부여, 백업, 복원
DBMS는 SQL(Structured Query Language)문 사용하여 테이블을 조작.
- DDL( Data Definition Language ) : 정의어
create, drop, truncate, alter- DCL( Data Control Language ) : 제어어
commit, rollback, grant, revoke- DML( Data Manipulation Language ) : 조작어
insert, update, delete, select( DQL( Data Query Language )로 분류하기도 한다.)

제어판 > Windows Tools > 서비스 >
-> 정지 후 실행.
sqlplus에서 실행 / 종료
관리자 계정으로 접속 : sqlplus "as/ sysdba"
서비스를 종료 : shutdowm abort

서비스를 시작 : startup

제어판 > Windows Tools( Window10 : 관리도구 ) > 서비스 >
-> 정지 후 실행
DOS : lsnrctl.exe 사용.( 관리자 권한으로 실행 )

정지 : stop

실행 : start

Oracle DBMS에서 제공하는 DB Client 프로그램.
DB Client 프로그램 : xxxListener(ServerPocess)서버에 접속하는 DB 클라이언트 SQL문과 SQLPlus문 사용할 수 있다.
쿼리문을 작성하고, 실행하고, 결과를 받는 일.
접속)
아이디와 비번을 노출하여 접속
sqlplus "아이디 / 비번"
sqlplus 아이디 / 비번
아이디만 노출
sqlplus 아이디
노출
sqlplus
프로그램 종료
exit
일반계정을 생성할 수 있는 설정(alter) - c##이 붙지 않은 계정을 생성할 수 있다.
alter session set "_ORACLE_SCRIPT"=true;
계정생성(create) - 계정과 비번을 설정하여 생성
create user 계정명 indentified by 비번;
계정에 접속 권한을 부여(grant) - 접속 및 DB를 사용할 수 있다.(테이블을 생성)
grant 권한,,, to 계정명;
tablespace 사용권한 수정(alter) - 생성된 테이블을 사용할 수 있다.(insert 가능)
alter user 계정명 default tablespace users quota unlimited on users;

Oracle, MS-SQL, DBll, Sybase, mySQL, Access,,,
-DB Vendor사는 모두 다르다
-DBMS에서 사용하는 SQL문은 모두 약간씩 다르다.
-ANSI( American National Standard Institute ) – SQL : 표준쿼리에서 파생됨
데이터를 체계적으로 저장하고 관리하기 위해.
DDL중 create문을 사용.
모든 계정은 테이블을 생성할 수 있다.
테이블 명은 접속한 계정에서 하나만 생성할 수 있다.(테이블 명은 대문자로 유일)
create table 테이블명(
컬럼명 데이터형(크기) constraint 제약사항명 제약사항 종류,//컬럼단위 제약사항, Column Level Constraint
...
constraint 제약사항명 제약사항종류(적용컬럼명),//테이블 단위 제약사항, Table Level Constraint
...
);
대소문자를 가리지 않는다. ' 나 "로 묶인 경우가 아니라면, 모두 다 대문자로 처리된다.
문자열은 '로 묶는다.
쿼리문의 끝에는 ;을 붙인다.

create table student(
num number(4),-- 0~9999
name varchar2( 15 ), -- name varchar2(15byte)
tel varchar2(13),
addr varchar2(300),
class char(1),
age number(3),
height number(4,1), -- 0.0~999.9
weight number(5,2), -- 0.0~999.99
input_date date
);
*SQLPlus에서는 editor를 제공한다. => 쿼리문을 파일(.sql)로 저장한 후 다음번에 사용할 수 있다.
-editor 실행
sql>ed( edit ) 경로/파일명.sql
-저장된 쿼리를 실행
sql> @ 경로/파일명.sql
값을 저장하기 위해, 메모리에 이름을 미리 부여한 공간.
테이블의 컬럼을 생성할 때 사용.
bind변수를 선언할 때 사용.
