(오라클+자바) 데이타베이스에 데이타 올리기 - 01



(오라클+자바) 데이타베이스에 데이타 올리기 - 02
(오라클+자바) 데이타베이스에 데이타 올리기 - 03


오라클 과 자바를 연동하여서 데이타베이스를 구축하는 작업.


보통 데이타베이스를 만들때에는 테이블로 만들어서, values(값들)을 저장하는데,
어떻게 해야지 테이블을 만들수 있는지 하나하나 살펴보자.

create table users(
//table data
);

create table - > 테이블 생성
users -> 테이블 이름

table 안에 users란 데이타가 보관이 된다라고 알면된다.
table 생성->데이터 보관->제약 조건(outline + inline constraint)

테이블을 생성할때 오라클에서 이렇게 먼저 적어준다.
그리고 바로 예제를 볼꺼다,

example 1:

    user_id varchar2(23),
    user_pwd varchar2(23) CONSTRAINT lucky_user_pwd_nn not null, --inline constraint
    user_name varchar2(50) CONSTRAINT lucky_user_name_nn not null,
    user_level number(2),
    CONSTRAINT lucky_uses_id_pk primary key(user_id),  --outline constraint
    CONSTRAINT lucky_users_level_ck check (user_level >=0)


처음 보는 사람이라면 머리가 띵할것이다
먼저 쉽게 시작적으로 접근하자.



user_iduser_pwduser_nameuser_level

이렇게 생성된다.

그럼 테이블 이름 (user_id/user_pwd...) 뒤에 붙어있는 varchar2(23)은 무엇인가?
먼저 공식을 살펴보면

이름(name) 데이터-타입(data-type)


varchar2 = variable-length character 의 줄임말이다.
이것의 반대 언어는 var이 없는 char2 뿐이다. char2는 고정값이다.
variable-length -> 가변길이
character -> 문자/캐릭터
참고로 , varchar2 = varchar 이다.
그러면, varchar2뒤에 달려있는 (23) 이란건 무엇일까?
variable- length = 23개. 23byte. 23문자가 들어갈수있단는것을 의미한다.

그럼 user_level 옆에 있는 number란 건 무엇일까?
이 데이터 타입이 숫자 라는걸 지칭 해주는거고, 숫자는 2자리 숫자밖에 안된다.
더 데이터 타입을 알고싶으면 여기를 클릭하면 더 알수있다.
영어로 되어있으니, 영어를 꼭 배우고 올것.

참고로 data type 이 long 이면, 오직 한 컬럼에서만 쓸수있다.
ex)
aaa long;
bbb long; //error !


자 그럼 또 봐보자,


1. user_pwd varchar2(23) CONSTRAINT lucky_user_pwd_nn not null; 이나

2. CONSTRAINT lucky_users_level_ck check (user_level>=0) 을 볼수 있을것이다.

첫번째는 inline constraint 이고
두번째는 outline constraint 이다.

둘이 제한 시키는것은 똑같은데 , 그저 방법이 다를뿐이다.
(사실 나도 초보이기때문에...그렇게 디테일하게는 모른당)


inline constraint 는 이름 | 데이터-타입 | CONSTARINT|  제한이름 | 제한타입 |제한조건   으로 할수있지만,

outline constraint 는 우선,

이름| 데이터-타입,
CONSTRAINT | 제한이름| 제한타입 | 제한조건

으로 해야한다.

CONSTRAINT -> 제한  
lucky_user_pwd_nn -> 제한조건의 이름 (마치 제한조건의 대명사 라고 부를수있다.)
not null -> 제한 조건의 타입.

constraint
그렇다, 우리는 제한 하는 것 이다, 그 제한 조건의 이름은 lucky_user_pwd_nn 이며, not null 이란 타입으로 제한을 하는 것 이다.

그럼 왜?  제한 ? 어떻게? 제한?을 대답하자
제한은 데이타에게 특정한 규칙을 줌으로서, 정의된 요건을 데이터가 순응 시키게 한다.

솔직히 영어를 번역한건데 왜 한국어가 더 어려운지 모르겠지만,...


그럼 이제 제한의 타입을 알아 볼 차례이다.
  • Check
  • Not NULL
  • Primary key
  • Unique
  • Foreign Key
이렇게 있는데, 나중에 더 디테일 하게 설명하겠다.


아니면 영어가 되면 이 사이트를 참조해도 좋다.

그리고 CONSTRAINT lucky_users_level_ck check (user_level>=0)
check (제한 타입) 뒤에 어떤 '(user_level>=0)' 이 붙는다.

이게 조건이 붙은 것인데, user_level은 0이나 양수만 쓸수있다.

자 이제 테이블의 properties(성질)은 다 해석해봤다..!

다음편에 계속

댓글

댓글 쓰기

이 블로그의 인기 게시물

c++ 랜덤 숫자 생성하기 / 컴퓨터 난수 시드 설정

(오라클) Sequence/시퀸스의 활용과 개념

(오라클) 뷰 + 조인 예제