=====DataBase(Relational) 용어의 기본=====
*Table : Table은 RDBMS의 기본적인 저장구조로, 한개 이상의 Column과
0개 이상의 Row(Record)로 구성된다.
*Column : 한 Coulumn은 Table상에서 단일 종류의 데이터를 나타내는데,
예를 들면 성적Table에서 이름, 국어, 영어 등이 각각 하나의
Column이 된다.
이것은 특정 DataType 및 Size를 갖고 있다.
*Row(Record) : Row는 Table의 Column들의 값의 조합이다.
성적 Table에서의 한 학생에 대한 성적내용이 한 Row가 된다.
예를 들면, "홍길동, 100, 95" 가 하나의 Row이다.
*Field : Row와 Column의 교차점을 Field라 한다.
Data를 갖지 않는 Field를 Null값을 갖는다고 한다.
예를 들면, 국어 Column과 홍길동학생의 Row의 Filed가 갖는
값은 "100"이다.
*Primary Key : Primary Key는 한 Table의 각각의 Row를 유일하게 식별해주는
Column 또는 Column의 조합니다.
예를 들면, 위의 성적 Table에서 각 학생의 이름을 Primary Key로
사용할 수 있으며, 더 치밀하게 하기 위해서 학생번호 Column을 새롭게
추가 시켜 Primary Key로 사용할 수 있다.
Primary key는 null값을 갖을 수 없다.
*Foreign Key : 두개 이상의 Table이 갖는 Data를 사용하려 할때, 연관시킬 수
각 Table의 단일 Column 또는 Column의 조합이다.
-------------------------------------------------------------------------------
========= SQL의 기본 분류 ============
*DDL(Data Definition Language)-Data 정의어
DB에 Table을 생성, 변경,삭제 등 Data 구조 정의를 위한 명령어
-CREATE, ALTER, DROP, RENAME, TRUNCATE, COMMENT
*DCL(Data control Language)-Data 제어어
DB에 접근하고 특정 Table을 사용할수 있도록 권한을 주고 받는 명령어
-GRANT, REVOKE
*DML(Data Manipulation-Management Language)-data 조작어
DB Table에 새로운 행을 입력/수정/삭제 등 데이더 조작을 위한 명령어
-INSERT, UPDATE, DELETE
*Data Retrieve(Query)-데이타 검색, 조회
DB로 부터 원하는 DATA를 검색하기 위한 명령어
-SELECT
*TRANSACTION
논리적인 작업의 단위로 DML에 의해 조작된 결과를 다루는 명령어
-COMMIT, ROLLBACK, SAVEPOINT
-----------------------------------------------------------------------------
========= SQL Syntax 기본 =========
*CREATE (Table 생성)
CREATE TABLE table_name (column_name datatyep(size) [DEFAULT data] , ...);
예:
CREATE TABLE grade
(id NUMBER(5),
name CHAR(25),
kor NUMBER(5,2),
eng NUMBER(5,2),
avr NUMBER(5,2) );
*DROP (Table 삭제)
DROP TABLE table_name;
*INSERT(Record 삽입)
INSERT INTO table_name (column1, column2, column3.. ) VALUES(값1, 값2, 값3...);
예:
INSERT INTO grade(id, name, kor, eng, avr)
VALUES (1, '김희선', 100, 90, 95);
또는
INSERT INTO grade VALUES(1, '김희선', 100, 90, 95);
*UPDATE(data 수정)
UPDATE table_name SET column1 = 값1 [, column2 = 값2 ,...] [WHERE 조건식];
예;
UPDATE grade
SET name='이세우', kor=100, eng=100, avr=100
WHERE id=1;
*DELETE(DATA 삭제)
DELETE FROM table_name [WHERE 조건식];
예:
DELETE FROM grade WHERE id=1;
*SELECT(data 조회)
SELECT [DISTINCT] column_name [, column_name, ...]
FROM table_name [WHERE 조건식][ORDER BY ASC|DESC];
예;
SELECT id, name, kor, eng, avr FROM grade;
또는,
SELECT * FROM grade;
SELECT * FROM grade ORDER BY ASC;
-------------------------------------------------------------------------
========== DB Data Type ===========
*DB Vendor마다 사용하는 Data Type은 다르기 때문에
사용 DB에 따라 지원하는 DATA Type에 대한 정보는 별도로 제공받아야 한다.
*Oracle 기본 Data Type
CHAR(size) : 길이가 size인 고정길이 문자값으로 최소길이는 1,
최대길이는 255이다.
VARCHAR2(size) : CHAR의 확장형으로 최대길이는 2000이다.
NUMBER : 38자리까지 유효한 부동소수점 숫자
NUMBER(p,s) : 전체자리수 p중, 소수점 자리수 s인 NUMBER
DATA : B.C.4712년 1월 에서 A.D.4712년 12월 1일 사이의 일자와
시간
LONG : 2GB까지의 가변길이 문자값으로 테이블당 한개의
LONG열만 허용
RAW, LONGRAW : 각각 VARCHAR2, LONG과 같지만 이진 데이타를
저장하는데 사용
-기타 자세한 사항은 website나 관련서적 참조
*mySQL 기본 Data Type
CHAR(size) : 최대 1-255까지의 길이를 갖는 문자값
TEXT : 최대 2^16 까지의 길이를 갖는 문자열
LONGTEXT : 최대 2^32 까지의 길이을 갖는 문자열
INT(size) : 길이가 size인 정수, 표현범위는 +-2^31까지 표현가능하다.
FLOAT : 24자리까지 유효한 floating point
FLOAT(p,s) : 전체자리수 p중, 소수점 자리수 s인 floating point
DOUBLE :
DATE : 1000-01-01 부터 9999-12-31 까지 사이의 날짜를 표현
-기타 자세한 사항은 website나 관련서적 참조
--------------------------------------------------------------------------------
===== JDBC DB Connection ======
*Driver Download : http://java.sun.com/products/jdbc/drivers 에서 해당 Type 및 Vendor에 맞는 driver를 제공
하는 site를 찾아 download한다. *Oracle
Driver Class : oracle.jdbc.driver.OracleDriver.class
Connection Protocol : jdbc:oracle:thin:@127.0.0.1:1521:ORCL
jdbc: -> jdbc를 이용한다는 명시(항상 사용)
oracle: -> DBVendor(어떤 DB제품을 사용하느냐에 따라 달라짐)
thin: -> DB Type중 type4에 해당( type2는 oci)
@host_name: -> DB Deamon이 떠있는 hostname 이나 ip
1521: -> DB Deamon이 사용하는 port번호 (default는 1521)
ORCL -> DB의 이름(인스톨시 정함)default는 ORCL 또는 ORA81
*mySQL
Driver Class : org.gjt.mm.mysql.Driver
Connection Protocol : jdbc:mysql://127.0.0.1:3306/rainer
jdbc: -> jdbc를 이용한다는 명시(항상 사용)
mysql: -> DBVendor(어떤 DB제품을 사용하느냐에 따라 달라짐)
//host_name: -> DB Deamon이 떠있는 hostname 이나 ip
3306/ -> DB Deamon이 사용하는 port번호 (default는 3306)
rainer -> DB의 이름(인스톨시 정함)
:
: 초보라서요.. ㅠㅠ
:
: 책을 뒤져봐도 간단하게만 설명이 되어있네요...
:
: 데이타 타입좀 알려주세요...
:
: 아님 관련링크라두요..
:
: --
: 어? 이거머지?--Turn that shit up.