쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/ssangyonng.git에 올려두었습니다.
DBMS ( DataBase Management System )
- 관계형 데이터베이스 (RDBMS – Relationship DBMS)
데이터를 테이블에 저장하고, 테이블 간의 관계를 설정하여 사용하는 DBMS
- 1950년에 미국 군대에서 처음 등장한 용어
군대에서 사용하는 군비를 집중적, 효율적으로 관리하기 위해 도서관개념을
도입하여 개발하면서 데이터의 기지라는 뜻으로 “데이터베이스”라는 용어를 사용하게 된다.
- 1965년 시스템 디벨로프 사 심포지움에서 표면적으로 사용하게 된다.
* 데이터베이스 정의
- data(자료) : 숫자, 영상, 단어 등의 형태로 된 의미있는 단위
연구,조사에 바탕이 되는 산재되어있는 재료
데이터를 의미있게 정리하면 정보가 된다.
- database : 체계화된 데이터의 모임
여러 프로그램에서 통합된 정보를 저장하여 사용하는
공용데이터들의 묶음
* 데이터베이스가 필요한 이유
- 여러 사용자가 데이터를 공유하여 사용할 필요가 있음
- 수시로 변경 변경되는 데이터에 대한 번거로움 최소화
- 물리적인 주소가 아닌 저장된 데이터의 값에 의한 검색
* 데이터 베이스의 4가지 특징
- 통합된 데이터 : 데이터의 중복을 최소한 데이터의 집합
- 공용 데이터 : 여러 Application에서 공동으로 동시에 사용
- 운영 데이터 : 존재 목적이나 유용성 면에서 필수적인 데이터
- 저장 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터
* DB의 특성
- 실시간 접근성
- 내용에 의한 참조
- 동시 공유
* 데이터베이스 장점
- 데이터 중복성의 최소화
- 데이터 공유( 일관성, 무결성, 보안성 유지 )
- 최신데이터로 유지
- 데이터의 표준화
* 데이터베이스의 단점
- 데이터베이스 전문가 필요
- 많은 비용 증가
- 시스템의 복잡도 상승
- 대용량 데이터를 사용하기 위해 접근이 집중되면 과부하가 발생
* 데이터베이스의 필수 기능
- 정의 기능( DDL )
- 제어기능( DCL )
- 조작기능( DML )
* DBMS
- 데이터베이스의 특징을 컴퓨터에서 사용할 수 있도록 개발된 프로그램
- Oracle, MS-SQL, MySql, DBII, Sybase 등
* Oracle
- oracle.com에서 다운
- 설치 시 주의( 설치파일은 한글 폴더 하위에 존재하면 안된다. )
컴퓨터명은 영어여야 한다.
- 설치 후 background service로 동작( 부팅속도가 느려짐 )
* background service
- OS가 부팅될 때 같이 실행 되는 프로그램( 알약, 카카오톡, Oracle )
* foreground service
- OS가 부팅된 후 사용자가 실행하는 프로그램( PPT, 한글, 알집, eclipse 등 )
* DBMS는 SQL( Structured Query Language )문을 사용하여 테이블을 조작
- DDL (Data Definition Language) 정의어.
create, drop, truncate, alter
- DCL ( Data Control Language ) 제어어
commit, rollbak, grant, revoke
- DML ( Data Manipulation Language) 조작어
insert, update, delete,
select(조작어 이지만 DQL –Data Query Language 라고 분류하기도 함)
* 구조
* 제어판 > 관리도구 > Service
OracleService, TNSListener를 정지 및 실행, 재실행
* SQLPlus.exe ( Client Process ) => Oracle Service를 정지, 실행
정지 : shutdown abort, 실행 : startup
* lsnrctl.exe => Server Process를 정지, 실행 => 관리자 권한으로 실행 될 때에만 된다.
정지 : stop, 실행 : start
*SQLPlus.exe ( Client Process ) 사용법 – DOS에서 사용한다.
- 계정/비번을 넣고 접속
sqplus 계정명/비번
- 계정만 넣고 접속
sqlplus 계정명
- 계정과 비번을 나중 입력
sqlplus
* 관리자 계정으로 접속
- 관리자의 비번을 넣지 않고 바로 접속( 로컬에서 가능 )
sqlplus "/as sysdba"
- 계정 관리, 서버 조작, 백업, 복원
* oracle version
- 8i, 9i, 10g, 11g : 계정에 c##붙지 않는다.
- 12c, 19c, 21c : 계정에 c##붙여서 만든다.
* 계정 생성
create user 계정명 indentified by 비번;
* 계정에 c##을 붙이지 않고 생성
- 접속해 있을 때에만 유지
alter session set "_ORACLE_SCRIPT" = true;
* 접속 및 DB 사용 권한 부여
grant connect to 계정명;
grant resource to 계정명;
* tablespace에 대한 권한 부여
alter user 계정명 default tablespace users quota unlimited on users;
* DBMS는 문자열을 제외한 모든 명령을 대문자로 처리한다.
RDBMS
- 테이블을 만들고 데이터를 체계적으로 분류
* 테이블생성
- DDL : create 사용
create table 테이블명(
-- Column level constraint
-- 컬럼단위 제약사항 => 생략가능
컬럼명 데이터형(크기) constraint 제약사항명 제약사항종류,
컬럼명 데이터형(크기) constraint 제약사항명 제약사항종류,
.
.
-- table level constraint
-- 테이블단위 제약사항 => 생략가능
constraint 제약사항명 제약사항종류(적용컬럼 ),
.
.
);
* Oracle에 제공하는 데이터형
- 컬럼에 저장될 값의 유형을 설정할 때 사용
- 컬럼에는 동일 데이터 형으로만 구성된다.
값 종류 | 데이터형명 | 기본크기 | 최대크기 | 사용 예 | |
숫자 | number | 숫자 22자 | 숫자 22자 | - 정수 컬럼명 데이터형(크기) age number( 3 ) : 0~999까지 저장 year number( 4 ) : 0~9999까지 저장 - 실수 컬럼명 데이터형( 전체크기,실수크기) height number(4,1) 0.0~999.9 weight number(5,2) 0.0~999.99 |
|
문자열 | 고정길이형 | char | 0 | 2000 | 설정한 크기보다 적은 문자열이 입력되더라도 설정된 크기를 유지하는 데이터 형 - 검색의 속도가 빠르다. - 문자열의 길이가 같은 데이터를 저장할 때 컬럼명 char(크기) |
가변길이형 | varchar2 | 0 | 4000 | 설정한 크기보다 적은 문자열이 입력되면 그 크기에 맞게 줄어드는 데이터 형. - 검색의 속도가 느리다. - 문자열의 길이가 다른 데이터를 저장할 때
컬럼명 varchar2(크기) |
|
날짜 | date | 크기 설정하지 않는다. | 날짜를 저장할 때 사용. 레코드가 추가되는 시점의 날짜를 입력할 때에는 sysdate 컬럼명 date |
||
긴 숫자 | long | 크기를 설정하지 않는다. 최대 2Gbyte의 숫자저장 |
컬럼명 long | ||
긴 문자열 | clob | 크기를 설정하지 않는다. 최대 4Gbyte의 문자열저장 |
컬럼명 clob - varchar2로 저장할 수 없는 길이의 문자열저장 |
||
파일 | blob | 크기를 설정하지 않는다. 최대 4Gbyte의 파일저장 |
컬럼명 blob - DBMS에는 가급적이면 파일을 저장하지 않는다. |
* char
- 입력되는 데이터의 크기와는 상관없이 크기를 유지한다.
- 저장공간의 효율성이 낮다.
- 언어에서 비교할 때에도 공백까지 넣어서 비교해야 한다.
* varchar2
- 입력되는 데이터의 크기에 맞게 저장공간이 줄어든다.
- 저장 공간의 효율성이 좋다.
- 언어에서 비교할 때 입력된 값과 동일하게 비교할 수 있다.
* editor 실행
- SQL문을 파일에 저장하고 사용하는 툴
- 편집모드
sql> ed 경로/파일명.sql
edit 경로/파일명.sql
- 실행모드
@경로/파일명.sql
* 오라클주석
- 한줄주석 --
- 여러 줄 주석 /* */
'성장 일기 > 쌍용교육센터' 카테고리의 다른 글
0118/update, delete, select (0) | 2023.01.18 |
---|---|
0117/insert, transaction, select (0) | 2023.01.16 |
0113/다 대 다 채팅 (0) | 2023.01.16 |
0112/Socket, Thread (0) | 2023.01.12 |
0111/네트워크, 소켓 통신 (0) | 2023.01.11 |