JAVA

데이터베이스 01

나주나주 2024. 1. 8. 16:18

data 자료

information 정보

 

Tip) 동기화 ↔ 이원화

 

계층형 데이터 베이스

: Tree 구조 ≒ 상속 관계

부모 객체가 여러 자식 객체를 가질 순 있지만, 자식 객체가 여러 부모를 가질 수 X

 

네트워크형 데이터 모델

: graph 구조로 연결, 자식 개체(각각 다른 서버)가 여러 부모를 가질 수 있다

 

객체 지향형 데이터 모델

: 데이터를 독립된 객체로 구성하고 관리, 상속이나 오버라이드 등의 기능 사용 가능

 

관계형 데이터 모델

: 관계, 에드거 프랭크 커드가 제안한 관계형 데이터베이스의 바탕

 

Tip) 객체 지향형 모델 개념을 데이터베이스에 적용하는 것은 쉽지 않지만, 오라클 데이터베이스와 같이 관계형 데이터 모델을 바탕으로 객체 개념을 도입한 객체 관계형 데이터 베이스 object-relational data model를 주로 사용한다

 

관계형 데이터 모델의 구성 요소

table   relation 관계 
row tuple record
column 종류 조건 범위 attribute 속성 field

 

Key

: 데이터를 구별할 수 있는 열

    설명 특징 예시
Primary Key 기본키 후보키 중 선정된 것 NOT NULL, 유일성, 보안성( ) 학번
Candidate Key 후보키  보조키, 대체키 alternate key
데이터를 식별할 수 있는 모든 키의 집합
NOT NULL, 유일성, 활용성 이메일 주소, 아이디, 학번
Foreign Key 외래키 다른 테이블의 기본키 중복 데이터의 생성을 막음  
Composite Key 복합키 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키    

 


오라클 데이터 베이스

 

자료형

Tip) var == 가변

 

VARCHAR2 (길이)

: 4000byte만큼의 가변 길이 문자열 데이터 저장

 

NUMBER (전체 자릿수(범위: long), 소수점 이하 자릿수(범위: double)

: ± 38자릿수의 숫자 저장

 

DATE

: 날짜 형식 저장

 

CHAR

: 4000byte만큼의 고정 길이 문자열 데이터

 ex) 아이디, 패스워드 (성능이 좋음)

 

NVARCHAR2(길이)

: 국가별 문자 세트(유니코드) 데이터 저장

 

BFILE

:대용량 이진 데이터 파일 저장

BLOB

: 대용량 이진 데이터 저장

CLOB

: 대용량 텍스트 데이터 저장


SQL

: 데이터를 관리하는 데 사용하는 질의 언어

DQL (Data Query Language) 원하는 방식으로 조회 read하는 명령어
선택적 조회, 전체 조회
DML (Data Manipulation Language) 데이터를 저장 create, 수정 update, 삭제 delete하는 명령어
DDL (Data Definition Language) 테이블을 포함한 여러 객체를 생성, 수정, 삭제하는 명령어
TCL (Transaction Control Language) 트랜젝션(동시에 처리?) 데이터의 영구 저장commit, 취소 rollback 등과 관련된 명령어
DCL (Data Control Language) 데이터 사용 권한과 관련된 명령어

 

SELECT

: 조회

select [필드, *] from [테이블] where [조건문];

 

DISTINCT

: 중복 데이터 삭제

select distinct [] from [];

 

AS

: 별명

select sal, sal*12+comm AS "ANNSAL" from emp;

 

ORDER BY

: 정렬

select [a] from [] order by [a];       --오름차순
select [a] from [] order by [a] desc;  --내림차순

 

WHERE

: 조건식

select [] from [] where [] = [조건식];

 


연산자

 

AND, OR

select [] from [] where [{} = {}] AND  [{} = {}];  --둘 다 만족
select [] from [] where [{} = {}] OR  [{} = {}];   --하나라도 만족

 

등가 비교 연산자: 양쪽 항목이 같은 값이면 true

연산자 사용법 의미
= A = B 같을 경우 T, 다를 경우 false
!= A != B
<> A <> B 다를 경우 T, 같을 경우 false
^= A ^= B

 

 

NOT

: 값의 반대로

select [] from [] where Not [] = [];

 

IN

: 특정 데이터 값 조회 (OR 연산자를 여러 개 사용하는 것과 같음)

select [] from [] where [] IN ('데이터1', '데이터2', '데이터3');

 

BETWEEN A AND B

: A 와 B 사이

select [] from [] where [A >= 2000] AND [B<= 3000];

 

LIKE

: 문자열 조회

와일드 카드 의미
_ 한 개의 문자 데이터
% 모든 문자 데이터
select [] from [] where [] LIKE 'S%';      --S로 시작하는 문자열
select [] from [] where [] LIKE '_S%';     --두 번째 글짜가 S인 문자열
select [] from [] where [] LIKE '%S%';     --S가 포함되어 있는 문자열
select [] from [] where [] NOT LIKE '%S';  --S가 포함되지 않은 문자열

 

IS NULL

: 비어 있는가?

select [] from [] where [] IS NULL;

Tip) 0 != NULL(비어 있음)

 


집합 연산자

: 열의 개수, 자료형, 순서가 일치하는 두 개 이상의 SELECT문의 결과 값 연결

  관계형 데이터베이스 개념은 집합론에서 시작되었다

종류 설명
UNION 합집합, 중복 X
UNION ALL 합집합, 중복 O
MINUS 차집합
INTERSECT 교집합
SELECT A.NO, A.NAME FROM APPLE WHERE NO = 10;
--UNION, UNIONALL, MINUS, INTERSECT
SELECT A.NO, A.NAME FROM APPLE WHERE NO = 20;

 

Sequence

: 순차적으로 정수 자동 생성

//create sequence 시퀀스명 [increment by 값] [start with 시작값] [maxvalue 최대값 | minvalue 최소값] [cycle | nocycle] [cache | nocache] ;
옵션 설명
increment by 값 값 증가 / 감소 (기본값: 1)
start with 인덱스의 시작번호 (기본값: 1)
maxvalue / minvalue 시퀀스의 최댓값 / 최솟값 지정
cycle / nocycle 최댓값 / 최솟값 도달 시 반복 여부 결정
cache / nocache 지정한 수량만큼 메모리 생성 여부 결정

 

FOREIGN KEY 외래키

: 특정 테이블에서 PRIMARY KEY 제약 조건을 지정한 열을 다른 테이블의 특정 열에서 참조하겠다

 

지정

create table 테이블명 (
	자료형 constraint 제약조건명 references 참조테이블(참조열) //제약조건명으로 지정
    자료형 references 참조테이블(참조열)				//제약조건명 없이 지정
);

 

변경

alter table 테이블명 rename constraint 제약조건명1 to 제약조건명2; //생성된 제약조건명 변경

 

삭제

alter table 테이블명 drop constraint 제약조건명 //제약 조건 삭제

//열 데이터를 삭제할 때 데이터를 참조하고 있는 데이터도 함께 삭제
constraint 제약조건명 references 참조테이블명(참조열) on delete cascade

 

DEFAULT

: 열에 저장할 값이 지정되지 않았을 경우 기본값 지정

 

제약 조건 활성화, 비활성화

: 제약 조건은 데이터 무결성을 보장하는 데 중요한 역할을 합니다. 필요에 의해 제약조건의 비활성화에는 DISABLE절을, 활성화에는 ENABLE절을 다음과 같이 사용합니다.

 

alter table 테이블명 disable constraint 제약조건명;
alter table 테이블명 enable constraint 제약조건명;

ex)
alter table board add constraint board_mem_fk foreign key (id) references member(id);

 

사용자와 객체 모두 삭제하기

drop user 사용자명 cascade;

'JAVA' 카테고리의 다른 글

정규표현식  (0) 2024.01.25
제어문  (1) 2023.12.28
진법, 불대수  (0) 2023.12.28
연산식  (0) 2023.12.28
형변환  (0) 2023.12.28