(오라클+자바) 데이타베이스에 데이타 올리기 - 01
(오라클+자바) 데이타베이스에 데이타 올리기 - 02
(오라클+자바) 데이타베이스에 데이타 올리기 - 03
오라클 과 자바를 연동하여서 데이타베이스를 구축하는 작업.
보통 데이타베이스를 만들때에는 테이블로 만들어서, values(값들)을 저장하는데,
어떻게 해야지 테이블을 만들수 있는지 하나하나 살펴보자.
create table users(
//table data
);
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_id | user_pwd | user_name | user_level |
이렇게 생성된다.
그럼 테이블 이름 (user_id/user_pwd...) 뒤에 붙어있는 varchar2(23)은 무엇인가?
먼저 공식을 살펴보면
varchar2 = variable-length character 의 줄임말이다.
이것의 반대 언어는 var이 없는 char2 뿐이다. char2는 고정값이다.
variable-length -> 가변길이
character -> 문자/캐릭터
variable- length = 23개. 23byte. 23문자가 들어갈수있단는것을 의미한다.
그럼 user_level 옆에 있는 number란 건 무엇일까?
이 데이터 타입이 숫자 라는걸 지칭 해주는거고, 숫자는 2자리 숫자밖에 안된다.
더 데이터 타입을 알고싶으면 여기를 클릭하면 더 알수있다.
영어로 되어있으니, 영어를 꼭 배우고 올것.
참고로 data type 이 long 이면, 오직 한 컬럼에서만 쓸수있다.
ex)
aaa long;
bbb long; //error !
자 그럼 또 봐보자,
그럼 테이블 이름 (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 | 제한이름| 제한타입 | 제한조건
으로 해야한다.
not null -> 제한 조건의 타입.
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(성질)은 다 해석해봤다..!
다음편에 계속
임시현 탈모 현재진행형
답글삭제ㅗㅗ
삭제