Microsoft Word - SQL

Size: px
Start display at page:

Download "Microsoft Word - SQL"

Transcription

1 ALTIBASE Application Development SQL User s Manual Release 5.3.3

2 ALTIBASE Application Development SQL User s Manual Release Copyright c 2001~2009 ALTIBASE Corp. All Rights Reserved. 본문서의저작권은 알티베이스에있습니다. 이문서에대하여당사의동의없이무단으로복제또는전용할수없습니다. 알티베이스 서울시구로구구로동 대륭포스트타워 Ⅱ 10 층전화 : 팩스 : support@altibase.com homepage:

3 목차 서문 i 이매뉴얼에대하여 ii Part Ⅰ 1 1. 알티베이스 SQL 소개 3 SQL 개요 4 SQL 분류 9 2. 자료형 13 자료형의개요 14 문자형데이터타입 19 숫자형데이터타입 24 날짜형데이타타입 36 이진데이터타입 48 LOB 데이타타입 52 공간데이터타입 56 Part Ⅱ 데이타정의어 59 ALTER DATABASE 60 ALTER INDEX 67 ALTER QUEUE 72 ALTER REPLICATION 73 ALTER SEQUENCE 78 ALTER TABLE 81 ALTER TABLESPACE 102 ALTER TRIGGER 110 ALTER USER 112 목차 I

4 ALTER VIEW 114 COMMENT 116 CREATE DATABASE 118 CREATE DATABASE LINK 121 CREATE DIRECTORY 126 CREATE INDEX 128 CREATE QUEUE 137 CREATE REPLICATION 139 CREATE SEQUENCE 142 CREATE SYNONYM 149 CREATE TABLE 153 CREATE DISK TABLESPACE 175 CREATE MEMORY TABLESPACE 181 CREATE VOLATILE TABLESPACE 186 CREATE TEMPORARY TABLESPACE 190 CREATE TRIGGER 192 CREATE USER 199 CREATE VIEW 202 DROP DATABASE 206 DROP DATABASE LINK 208 DROP DIRECTORY 210 DROP INDEX 211 DROP QUEUE 212 DROP REPLICATION 213 DROP SEQUENCE 214 DROP SYNONYM 215 DROP TABLE 217 DROP TABLESPACE 218 DROP TRIGGER 221 DROP USER 222 DROP VIEW 224 GRANT 225 RENAME TABLE 240 REVOKE 242 TRUNCATE TABLE 246 II ALTIBASE5 SQL User s Manual

5 4. 데이타조작어 249 DELETE 250 INSERT 255 LOCK TABLE 259 SELECT 264 UPDATE 298 MOVE 304 ENQUEUE 307 DEQUEUE 데이타제어어 310 ALTER SESSION 311 ALTER SYSTEM 314 COMMIT 316 SAVEPOINT 317 ROLLBACK 319 SET TRANSACTION 322 Part Ⅲ 집합연산자 327 합집합 (UNION) 328 합집합 (UNION ALL) 329 교집합 330 차집합 331 우선순위규칙 함수 333 함수의종류 334 그룹함수 336 분석함수 339 숫자함수 342 문자함수 355 날짜함수 371 변환함수 380 기타함수 389 목차 III

6 암호화함수 산술연산자 403 종류 404 단항연산자 405 사칙연산자 406 연결연산자 408 변환연산자 조건연산자 411 종류 412 논리연산자 413 비교조건 416 단항비교 418 Part Ⅳ 427 A. 부록 : 스키마 429 예제테이블정보 430 E-R 다이어그램과샘플데이타 433 Altibase 객체들의최대값 440 찾아보기 441 IV ALTIBASE5 SQL User s Manual

7 서문 서문 i

8 이매뉴얼에대하여 이매뉴얼은데이타베이스에서사용되는 SQL(Structured Query Language) 의사용법에대해한다. 대상사용자 이매뉴얼은다음과같은알티베이스사용자를대상으로작성되었다. 데이터베이스관리자 성능관리자 데이터베이스사용자 응용프로그램개발자 기술지원부 다음과같은배경지식을가지고이매뉴얼을읽는것이좋다. 컴퓨터, 운영체제및운영체제유틸리티운용에필요한기본지식 관계형데이타베이스사용경험또는데이타베이스개념에대한이해 컴퓨터프로그래밍경험 데이타베이스서버관리, 운영체제관리또는네트워크관리경험 소프트웨어환경 이매뉴얼은데이타베이스서버로알티베이스버전 을사용한다는가정하에작성되었다. 이매뉴얼의구성 이매뉴얼은다음과같이구성되어있다. 제 1 장알티베이스 SQL 소개이장은알티베이스를사용하기위한 SQL 의개요, 분류, 구조에대해서한다. 제 2 장자료형이장은알티베이스에서제공하는데이터타입에대해서한다. ii ALTIBASE5 SQL User s Manual

9 제 3 장데이타정의어이장은알티베이스에서사용되는데이타정의어 (DDL) 에대해서각각한다. 제 4 장데이타조작어이장은알티베이스에서사용되는데이타조작어 (DML) 에대해서각각한다. 제 5 장데이타제어어이장은알티베이스에서사용되는데이타제어어 (DCL) 에대해서각각한다. 제 6 장집합연산자이장은알티베이스의 SQL 에서사용되는집합연산자에대해서한다. 제 7 장함수이장은알티베이스에서제공하는함수들에대해서한다. 제 8 장산술연산자이장은알티베이스의 SQL 에서사용되는산술연산자에대해서한다. 제 9 장조건연산자이장은알티베이스의 SQL 문에서조건절에사용할수있는조건연산자에대해서한다. A. 부록 : 스키마이장은예제테이블정보와 ER 다이어그램과샘플데이타에대해서한다. 문서화규칙 이절에서는이매뉴얼에서사용하는규칙에대해한다. 이규칙을이해하면이매뉴얼과서세트의다른매뉴얼에서정보를쉽게찾을수있다. 여기서하는규칙은다음과같다. 구문다이어그램 샘플코드규칙 구문다이어그램 이매뉴얼에서는다음구성요소로구축된다이어그램을사용하여, 명령문의구문을한다. 구성요소 예약어 의미 명령문이시작한다. 완전한명령문이아닌구문요소는화살표로시작한다. 명령문이다음라인에계속된다. 완전한명령문이아닌구문요소는이기호로종료한다. 서문 iii

10 명령문이이전라인으로부터계속된다. 완전한명령문이아닌구문요소는이기호로시작한다. ; 명령문이종료한다. SELECT 필수항목 선택적항목 NOT ADD 선택사항이있는필수항목. 한항목만제공해야한다. DROP 선택사항이있는선택적항목. ASC DESC ASC 선택적항목. 여러항목이허용된다. 각반복앞부분에콤마가와야한다. DESC, 샘플코드규칙 코드예제는 SQL, Stored Procedure, isql 또는다른명령라인구문들을예를들어한다. 아래테이블은코드예제에서사용된인쇄규칙에대해한다. 규칙 의미 예제 [ ] 선택항목을표시 VARCHAR [(size)] [[FIXED ] VARIABLE] { } 필수항목표시. 반드시하나이상을선택해야되는표시 { ENABLE DISABLE COMPILE } 선택또는필수항목표시의인자구분표시... 그이전인자의반복표시예제코드들의생략되는것을표시 { ENABLE DISABLE COMPILE } [ ENABLE DISABLE COMPILE ] SQL> SELECT ename FROM employee; ENAME SWNO HJNO HSCHOI. iv ALTIBASE5 SQL User s Manual

11 그밖에기호기울임꼴 소문자 대문자 위에서보여진기호이외에기호들구문요소에서사용자가지정해야하는변수, 특수한값을제공해야만하는위치지정자사용자가제공하는프로그램의요소들, 예를들어테이블이름, 칼럼이름, 파일이름등 시스템에서제공하는요소들또는구문에나타나는키워드.. 20 rows selected. EXEC :p1 := 1; acc NUMBER(11,2); SELECT * FROM table_name; CONNECT userid/password; SELECT ename FROM employee; DESC SYSTEM_.SYS_INDICES_; 관련자료 자세한정보를위하여다음문서목록을참조하기바란다. ALTIBASE Administration Installation User s Manual ALTIBASE Administration Administrator s Manual ALTIBASE Administration Replication User s Manual ALTIBASE Application Development Precompiler User s Manual ALTIBASE Application Development ODBC User s Manual ALTIBASE Application Development Application Program Interface User s Manual ALTIBASE Tools isql User s Manual ALTIBASE Tools Utilities User s Manual ALTIBASE Message Error Message Reference 온라인매뉴얼 알티베이스테크니컬센터 ( 에서국문및영문매뉴얼 (PDF, HTML) 을받을수있다. 알티베이스는여러분의의견을환영합니다. 이매뉴얼에대한여러분의의견을보내주시기바랍니다. 사용자의의견은다음버전의매뉴얼을작성하는데많은도움이됩니다. 서문 v

12 보내실때에는아래내용과함께기술지원센터 로보내주시기바랍니다. 사용중인매뉴얼의이름과버전 매뉴얼에대한의견 사용자의성함, 주소, 전화번호 이외에도알티베이스기술지원서의오류와누락된부분및기타기술적인문제들에대해서이주소로보내주시면정성껏처리하겠습니다. 기술적인부분과관련하여즉각적인도움이필요한경우에는기술지원센터로연락하시기바랍니다. 여러분의의견에항상감사드립니다. vi ALTIBASE5 SQL User s Manual

13 Part Ⅰ Part Ⅰ

14

15 1. 알티베이스 SQL 소개 이장에서는알티베이스 SQL 의특징과구성에대해서간략하게소개하고있다. 알티베이스 SQL 소개 3

16 SQL 개요 SQL(Structured Query Language) 은데이타베이스로저장되는데이타를조작하고, 관리하며, 검색하기위한언어이다. 알티베이스 SQL 특징 빠른질의수행 SQL/92 표준지원 알티베이스의경우대부분의질의들이 SQL 준비 (PREPARE) 과정후실행하기전시스템카탈로그정보가변하지않는점에착안해준비과정시점에최적화된실행계획트리 (execution plan tree) 를미리만들어두고여러번실행할수있도록하여실제질의실행시수행속도를대폭향상시켰다. 이와같은방법은초기데이타베이스스키마생성후데이타정의어 (DDL) 수행은거의일어나지않고데이타조작어 (DML) 작업이빈번한응용어플리케이션에매우유용하다. 알티베이스 SQL 은 SQL/92 표준사양을지원하므로기존 SQL 사용자들은별도의숙지없이알티베이스를쉽게사용할수있다. 강력한부연질의 (subquery) 기능지원 다양한시스템제공함수지원 일반적으로부연질의는수식의일부, IN, CREATE TABLE, INSERT 등에서주로사용된다. 여기에사용되는부연질의는대부분여러칼럼의여러레코드를검색해주는기능이다. 알티베이스의경우부연질의의결과가한레코드, 한칼럼일경우데이타가위치할수있는임의의위치에치환해사용할수있으며, 빠른검색속도의부연질의을지원하므로여러 SQL 문으로처리가능한질의문을한 SQL 문으로처리할수있다. 따라서복잡한응용어플리케이션에서유용하게사용가능하다. SQL/92 의표준사양이외에사용자가유용하게사용할수있는다양한시스템함수를지원한다. SQL 의수행 알티베이스에서 SQL 문의처리과정은크게준비 (PREPARE) 과정과실행 (EXECUTE) 과정으로나뉘어진다. 4 ALTIBASE5 SQL User s Manual

17 준비과정은 SQL 문의문법을분석하여정당성을검사하고최적화한후실행계획을수립해실행계획트리 (execution plan tree) 를생성하는과정이다. 이과정에서메타테이블에접근해테이블정보, 인덱스정보등을읽고최적화된접근계획을수립한다. 따라서준비와실행이한번에이루어지지않고나뉘어져수행된다면준비후메타의변경사항이일어나지않아야준비 (PREPARE) 과정시에생성한실행계획트리를수정없이그대로사용할수있다. 예를들어, 준비과정시존재했던인덱스가실행과정에실제로존재하지않는다면준비과정시인덱스를사용하는환경에서최적화한실행계획트리는실행과정시무효한실행계획이되어사용할수없게된다. 실행과정은준비과정에서생성된실행계획에따라실제질의문을수행하는과정이다. 한 SQL 문이호스트변수를사용하여여러개의값으로변경하여여러번수행하는경우준비과정은한번수행되고변수값설정과실행과정은여러번수행된다. 주석 알티베이스는 SQL 문의임의의위치에다음두가지형식의주석을사용할수있다. /* */ C언어에서사용한주석형식과동일한방식으로주석의시작에 /* 를명시하고주석의끝에 */ 를명시한다. 여러줄의주석을쓸수있다 를연이어두번명시하여한줄의주석을쓸때사용한다. 알티베이스객체 (Object) 스키마객체 알티베이스에서제공하는데이타베이스객체 (object) 는스키가객체와비스키마객체로구분되며, 그종류는다음과같다. 제약조건 (constraint) 인덱스 (index) 시퀀스 (sequence) 시노님 (synonym) 테이블 (table) 저장프로시저 (stored procedure) 알티베이스 SQL 소개 5

18 뷰 (view) 트리거 (trigger) 데이터베이스링크 (database link) 비스키마객체 사용자 (user) 이중화 (replication) 테이블스페이스 (tablespace) 디렉토리 (directory) 객체이름생성규칙 객체이름 비밀번호 예약어 테이블, 뷰, 시퀀스, 시노님, 저장프로시저는동일한이름공간 (Name Space) 를가지므로같은이름의객체는존재할수없다. 그외에다른객체들은각각의이름공간을가진다. 알티베이스의객체들은한사용자이름내에서유일한이름을사용해야한다. 따라서제약조건의이름도한테이블내에서유일한값이아니고한사용자내에서유일한이름이어야한다. 객체의이름은최대 40 바이트즉 40 자까지사용할수있으며, 영문의경우대문자와소문자를구별하지않는다. A-Z, a-z, 0-9, _, $ 만을사용할수있으며알티베이스의예약어는사용할수없다. 알티베이스의예약어는다음절을참고한다. 첫글자는반드시문자여야한다. 객체에대해서는 Administrator s Manual 을참고한다. 사용자가알티베이스에접속하기위해사용하는비밀번호역시객체이름과유사한제약조건을가진다. A-Z, a-z, 0-9, _, $ 만을사용할수있으며알티베이스의예약어는사용할수없다. 첫글자는반드시문자여야하고비밀번호의최대크기는운영체제에따라다르며 8~40 자사이이다. Solaris10, Window XP 의경우 40 자를지원한다. 다음단어들은알티베이스에서예약되어있는단어들로테이블, 칼럼, 사용자같은데이타베이스객체이름이나비밀번호로사용할수없다. 6 ALTIBASE5 SQL User s Manual

19 ADD ALL ALTER AND ANY AS ASC BEGIN BETWEEN BY CASCADE CASE CHECK CLOSE COLUMN COMMIT CONNECT CONSTANT CONSTRAINT CONSTRAINTS CONTINUE CREATE CUBE CURSOR CYCLE DATABASE DECLARE DEFAULT DELETE DESC DISCONNECT DISTINCT DROP ELSE ELSEIF ELSIF END ESCAPE EXCEPTION EXEC EXECUTE EXISTS EXIT EXTENTSIZE FALSE FETCH FIXED FOR FOREIGN FROM FULL FUNCTION GET GOTO GRANT GROUP GROUPING HAVING IDENTIFIED IF IN INDEX INNER INSERT INTERSECT INTO IS ISOLATION JOIN KEY LEFT LEVEL LIKE LIMIT LOCALUNIQUE LOCK LOOP MAXROWS MINUS MODE NATIVE NO NOCYCLE NOT NULL OFF OFFLINE ON OPEN OR ORDER OTHERS OUT OUTER PRIMARY PRIOR PRIVILEGES PROCEDURE RAISE READ REFERENCES RENAME REPLACE REPLICATION RESTRICT RETURN REVERSE REVOKE RIGHT ROLLBACK ROLLUP ROW ROWCOUNT ROWTYPE SAVEPOINT SELECT SEQUENCE SESSION SET SETS SOME 알티베이스 SQL 소개 7

20 SQLCODE SQLERRM START STEP SYNONYM SYSTEM TABLE TABLESPACE TEMPORARY THEN TO TRANSACTION TRIGGER TRUE TRUNCATE UNION UNIQUE UNTIL UPDATE USER VALUES VARIABLE VIEW WAIT WHEN WHERE WHILE WITH WORK WRITE 8 ALTIBASE5 SQL User s Manual

21 SQL 분류 알티베이스가제공하는전체 SQL 문을분류하면다음과같다. 각 SQL 문에대한자세한사용방법은 3 장데이타정의어, 4 장데이타조작어, 5 장데이타제어어를참조한다. 데이타정의어 (DDL) SQL 문 ALTER DATABASE ALTER INDEX ALTER REPLICATION ALTER SEQUENCE ALTER TABLE ALTER TABLESPACE ALTER TRIGGER ALTER USER ALTER VIEW CREATE DATABASE CREATE DIRECTORY CREATE INDEX CREATE QUEUE CREATE REPLICATION CREATE SEQUENCE CREATE SYNONYM CREATE TABLE CREATE TABLESPACE CREATE TRIGGER CREATE USER CREATE VIEW DROP DIRECTORY DROP INDEX DROP REPLICATION DROP SEQUENCE DROP SYNONYM DROP TABLE DROP TABLESPACE DROP TRIGGER DROP USER DROP VIEW 데이타베이스정의변경인덱스정의변경이중화의시작, 종료시퀀스의정의변경테이블의정의변경테이블스페이스정의변경트리거정의변경사용자의암호변경뷰재컴파일데이타베이스생성디렉토리생성인덱스생성큐생성이중화생성시퀀스생성시노님생성테이블생성테이블스페이스생성트리거생성사용자생성뷰생성디렉토리삭제인덱스삭제이중화삭제시퀀스삭제시노님삭제테이블삭제테이블스페이스삭제트리거삭제사용자삭제뷰삭제 알티베이스 SQL 소개 9

22 GRANT RENAME REVOKE TRUNCATE TABLE [ 표 1-1] 데이타정의어목록 권한부여테이블, 시퀀스, 뷰이름변경권한삭제테이블의모든레코드삭제 메타정보가변경되는 SQL 문들로위의문들을수행하면현재시작되어있는트랜잭션은종료되고새로운트랜잭션으로위의문들을처리한후그트랜잭션은종료된다. 즉하나의트랜잭션으로처리하는 SQL 문들이다. 다시말해서자동반영 (AUTOCOMMIT) 모드가비설정 (OFF) 된상태에서데이타조작어 (DML) 를수행하고명시적으로반영 (COMMIT) 을호출하지않았다하더라도위의 SQL 문들을수행하면이전의데이타조작어 (DML) 들이모두묵시적으로반영된다. 즉, 위 SQL 문을수행하기전데이타조작어들은위의 SQL 문수행후롤백문을이용해철회될수없다. 데이타조작어 (DML) SQL 문 DELETE INSERT LOCK TABLE SELECT UPDATE MOVE ENQUEUE DEQUEUE [ 표 1-2] 데이타조작어목록 데이타의삭제데이타의삽입특정한모드에서테이블잠금데이타의검색데이타의변경데이타의이동메시지를큐에삽입메시지를큐에서갖고와삭제 자동반영 (AUTOCOMMIT) 모드가비설정 (OFF) 되어있는상태에서위의 SQL 문을수행하면데이타정의어 (DDL) 와달리수행후묵시적으로반영되지않는 SQL 문들이다. 따라서, 자동반영비설정 (AUTOCOMMIT OFF) 상태에서여러개의데이타조작어 (DML) 를수행하고롤백 (rollback) 을호출하면수행된모든데이타조작어 (DML) 들이철회된다. 10 ALTIBASE5 SQL User s Manual

23 데이타제어어 (DCL) 시스템제어문 SQL 문 ALTER SYSTEM checkpoint, backup 수행 명시적으로디스크에반영 (checkpoint) 또는현재데이타베이스상태저장 (online-backup) 을할때사용된다. 작업제어문 SQL 문 ALTER SESSION 작업의설정사항변경 한개의작업설정사항을변경하는것으로현재작업에만적용된다. 주의 ) 현재동작중인트랜잭션이없어야한다. 트랜잭션제어문 SQL 문 COMMIT ROLLBACK or ROLLBACK TO SAVEPOINT savepoint_name SAVEPOINT savepoint_name SET TRANSACTION 트랜잭션정상종료트랜잭션철회지금까지의트랜잭션을임시저장현재트랜잭션의설정사항변경 트랜잭션의설정사항 (ISOLATION LEVEL) 의설정을변경하고트랜잭션의종료와철회를사용자가명시적으로할때사용하는 SQL 문이다. 위의 SQL 문은현재작업에만영향을미치고다른작업에는영향을미치지않는다. 알티베이스 SQL 소개 11

24

25 2. 자료형 SQL 을사용하여데이타베이스에데이타를저장하고질의하기위해서는데이타베이스의자료형에대한이해가선행되어야한다. 이장에서는알티베이스의데이타형에대해서자세히하고있다. 자료형 13

26 자료형의개요 데이타형의종류 알티베이스에서제공하는데이타형은다음과같다. 문자형데이타형 타입 Length Size CHAR 1 ~ length + 2 VARCHAR 1 ~ length + 2 NCHAR 1~16000(UTF16) 1~10666(UTF8) length*2 + 2(UTF16) length*3 + 2(UTF8) NVARCHAR 1~16000(UTF16) 1~10666(UTF8) length*2 + 2(UTF16) length*3 + 2(UTF8) NCHAR, NVARCHAR 는유니코드타입으로 Length 는문자길이를나타낸다. UTF16 과 UTF8 의길이는다르다. 숫자형데이타형 타입 Precision Scale Size (bytes) 비고 Nonnative NUMERIC ((precision * 고정소수점 NUMERIC(p) 1 ~ 38 0 )+2)/2 *DECIMAL은 NUMERIC(p,s) 1 ~ ~ 128 NUMERIC과 DECIMAL 38 0 동일한데이터 DECIMAL(p) 1 ~ 38 0 타입이다. DECIMAL(p,s) 1 ~ ~ 128 NUMBER(p) 1 ~ 38 0 NUMBER(p,s) 1 ~ ~ 128 NUMBER 38 X 3+((precision * 부동소수점 FLOAT 38 X )+2)/2 Native FLOAT(p) 1 ~ 38 X 타입호환 C Type Size (bytes) 비고 DOUBLE double 8 * 실수형부동 REAL float 4 소수점 BIGINT long or long long 8 * 정수형 INTEGER int 4 SMALLINT short 2 날짜데이타형 타입 Size (byte) DATE 8 14 ALTIBASE5 SQL User s Manual

27 이진데이타형 공간데이타형 타입 Length Size (byte) BLOB/CLOB 1~ BYTE 1~32000 length + 2 NIBBLE 1~254 length/2 + 1 BIT 1~60576 length/8 + 4 VARBIT 1~ length/8 + 4 타입 Length Size (byte) GEOMETRY 16~ length + 56 실제레코드의크기는위에명시된크기 (bytes) 에서헤더정보크기만큼추가된다. 헤더정보는 OS 환경에따라다를수있다. CHAR, VARCHAR, BYTE 타입의경우 VARIABLE 로선언된경우를의미한다. 고정소수점형 Size 계산 ( 3 + ( ( p ) + 2 ) / 2 ) Precision 이나 Scale 이홀수인경우 (+ 1) - NUMERIC 예 ) NUMERIC(38,0) Size = /2 = 23 Bytes - NUMERIC(p) NUMERIC(p, 0) 예 ) NUMERIC(10) Size = /2 = 9 Bytes - NUMERIC(p, s) 예 ) NUMERIC(10, 9) Size = /2 = 9 Bytes - DECIMAL : NUMERIC과동일 - DECIMAL(p) : NUMERIC(p) 와동일 - DECIMAL(p,s) : NUMERIC(p,s) 와동일 - NUMBER(p) : NUMERIC(p) 와동일 자료형 15

28 - NUMBER(p,s) : NUMERIC(p,s) 와동일 부동소수점형 Size 계산 ( 3 + ( ( p ) + 2 ) / 2 ) - FLOAT 예 ) FLOAT(38) Size = /2 = 23 Bytes - FLOAT(p) 예 ) FLOAT(20) Size = /2 = 14 Bytes - NUMBER: FLOAT 과동일 NULL 데이타행을테이블에삽입할때열의값을모르거나값이아직없는경우, 즉값이존재하지않는것을나타내는것이널 (NULL) 이다. 따라서이는 0 또는공백과는다른의미를나타내며비교연산이나저장시특별하게취급된다. 어떤연산에서수식에널이포함되면 NVL(), IS NULL 조건, IS NOT NULL 조건을제외하고최종연산의결과는널이된다. 즉, 널이포함되면비교또는연산이의미가없어지게된다. 생성할때 NOT NULL 또는 PRIMARY KEY 로정의되지않은모든데이타유형의컬럼은널값을포함할수있다. 16 ALTIBASE5 SQL User s Manual

29 데이터타입변환과호환 다음의테이블은데이터타입의변환가능행렬을나타낸다. 비교연산은같은데이타형인경우가능하다. 그러나비교되는자료의데이타형이다른경우데이타형변환을수행후비교한다. 단, 문자형데이타일경우에는다른데이타형으로변환되어수행된다. 변환전 변환후 c h a r v a r c h a r n c h a r n v a r c h a r c l o b char o o o o o o o o o o o o o o varchar o o o o o o o o o o o o o o o nchar o o o o o o o o o o o o o o nvarchar o o o o o o o o o o o o o o o clob o bigint o o o o o o o o o o o o o decimal o o o o o o o o o o o o o double o o o o o o o o o o o o o float o o o o o o o o o o o o o integer o o o o o o o o o o o o o number o o o o o o o o o o o o o numeric o o o o o o o o o o o o o real o o o o o o o o o o o o o smallint o o o o o o o o o o o o o date o o o o o blob byte nibble bit b i g i n t d e c i m a l d o u b l e f l o a t i n t e g e r n u m b e r n u m e r i c r e a l s m a ll i n t d a t e b l o b o b y t e o o n i b b l e o b i t v a r b i t o o varbit o o o geometry g e o m e t r y o 자료형 17

30 데이타형식변환 구문 datatype ' 문자또는상수 literal ' 상수테이터가가지는데이터타입을명시적으로다른데이터타입으로변환한다. 예를들어, 다음은 의숫자값을 '157.27' 의문자열로변환한다. CHAR '157.27' 18 ALTIBASE5 SQL User s Manual

31 문자형데이터타입 CHAR 흐름도 구문 CHAR [(size)] [[FIXED ] VARIABLE ( IN ROW size ) ] 명시된크기 (size) 만큼고정길이를가지는문자형데이타타입이다. 명시된전체크기에비해입력값의크기가작을경우뒷부분에공백으로문자가채워진다. CHAR 칼럼의크기는기본값으로 1 바이트이며, 최대길이는선언방식에따라다르다. FIXED 로선언될경우페이지크기 (8K) 내에서지정할수있으며, VARIABLE 로선언될경우 32KB 즉 바이트까지저장할수있다. 자료형 19

32 VARCHAR 흐름도 구문 VARCHAR [(size)] [[FIXED ] VARIABLE ( IN ROW size ) ] 명시된크기내에서가변길이를가지는문자형데이타타입이다. FIXED 로선언될경우명시된크기만큼저장소의크기가설정된다. VARIABLE 로선언될경우에는명시된크기내에서가변길이를갖는다. 예를들어, 저장해야하는데이타가 "magic" 일경우 VARCHAR(10) FIXED 로정의하면 "magic " 으로 10 바이트만큼의저장공간을사용한다. 그러나 VARCHAR(10) VARIABLE 로정의하면 "magic" 으로 5 바이트만큼의저장공간을사용한다. FIXED 는저장공간이낭비되는반면, 저장공간의크기가고정되어있어처리속도가빨라지는장점이있다. 그러나 VARIABLE 은데이타마다저장공간의크기가달라처리속도가느린반면, 저장공간을효율적으로사용하는장점이있다. 프로퍼티 VARIABLE_COLUMN_IN_ROW_SIZE 를지정하지않은경우, 메모리테이블에대해서는데이타크기가 30 바이트이하이면, FIXED 영역에저장되며, 초과하면 VARIABLE 로인식된다. 디스크테이블에대해서는크기에관계없이 VARIABLE 로인식된다. VARCHAR 칼럼의크기는기본값으로 1 바이트이다. 최대길이는, 20 ALTIBASE5 SQL User s Manual

33 FIXED 로선언될경우한페이지크기 (8K) 내에서지정할수있으며, VARIABLE 로선언될경우 32KB 즉 바이트까지저장할수있다. * VARCHAR 는값의길이가열의길이보다짧은경우, 데이타의실제길이만큼만저장하는가변길이데이타타입이다. 반면, CHAR 데이타타입의경우, 열의길이보다짧은값을넣으면, 값의오른쪽에서열끝까지공백으로채워진다. 예를들어, 열이 CHAR(10) 으로정의되었는데저장할데이타가 "magic" 이면, 이데이타는 " magic " 으로저장된다. 여기서 "_" 은공백을나타낸다. * VARCHAR 의데이타의크기가 30 이면실제메모리공간은 32 를차지한다. 다시말해, 실제차지하는메모리공간이 32 이하일경우 FIXED 로인식된다. IN ROW size 메모리테이블의경우사용자는 VARIABLE 지정시에 IN ROW 구문을이용해서 fixed 영역에들어갈데이타길이와 variable 영역에들어갈데이타길이를지정할수있다. 예를들어 VARCHAR(400) in row 200 으로설정된칼럼의경우, 데이타삽입시에길이가 200 바이트이하이면 fixed 영역에, 200 바이트를초과하면 variable 영역에저장된다. 특별한경우가아니면매번 IN ROW size 를지정할필요없이 VARIABLE_COLUMN_IN_ROW_SIZE 프로퍼티에디폴트 in row size 를지정하고개별선언문에서는생략할수있다. 해당프로퍼티에대한상세한은 Starting User s Manual 의알티베이스프로퍼티부분을참조한다. 자료형 21

34 NCHAR 흐름도 구문 NCHAR [(size)] [[FIXED ] VARIABLE ( IN ROW size ) ] 명시된길이즉, 문자의길이만큼고정길이를가지는문자형데이타타입이다. 명시된전체크기에비해입력값의크기가작을경우뒷부분에공백으로문자가채워진다. NCHAR 칼럼의문자하나당크기는내셔널캐릭터셋 (national character set) 이 UTF16 인경우에는고정길이 2 바이트이고 ( 가변길이없음 ), UTF8 인경우에는가변길이 3 바이트 ( 고정길이없음 ) 이다. UFT16 은한문자를고정으로 2 바이트를사용하는반면, UTF8 은 1~3 바이트까지저장된다. 최대길이는선언방식에따라다르다. FIXED 로선언될경우페이지크기 (8K) 내에서지정할수있으며, VARIABLE 로선언될경우 32KB 즉 바이트까지저장할수있다. 22 ALTIBASE5 SQL User s Manual

35 NVARCHAR 흐름도 구문 NVARCHAR [(size)] [[FIXED ] VARIABLE ( IN ROW size ) ] 명시된길이내에서가변길이를가지는유니코드문자형데이타타입이다. NVARCHAR 칼럼의문자하나당크기는내셔널캐릭터셋이 UTF16 인경우에는고정길이 2 바이트이고 ( 가변길이없음 ), UTF8 인경우에는가변길이 3 바이트 ( 고정길이없음 ) 이다. UFT16 은한문자를고정으로 2 바이트를사용하는반면, UTF8 은 1~3 바이트까지저장된다. FIXED 로선언될경우명시된크기만큼저장소의크기가설정되며, VARIABLE 로선언될경우에는명시된크기내에서가변길이를갖는다. 나머지속성은 VARCHAR 와동일하므로, VARCHAR 타입을참조한다. 자료형 23

36 숫자형데이터타입 BIGINT 흐름도 BIGINT 구문 BIGINT 8 바이트크기의정수형데이터타입이다. C 의 long(64 bit) 이나 long long(32 bit) 과동일한데이터타입이다. -2^63 + 1( ) 에서 2^63 1 ( ) 사이의정수데이터 ( 전체숫자 ) 이다. * 최소값 ( ) 은널값으로사용된다. DECIMAL 흐름도 DECIMAL ( precision ), scale 구문 DECIMAL [(precision[, scale])] DECIMAL 은 NUMERIC 데이터타입과동일한데이터타입이다. 24 ALTIBASE5 SQL User s Manual

37 DOUBLE 흐름도 DOUBLE 구문 DOUBLE 8 바이트크기의부동소수점형이다. C 의 double 과동일한데이터타입이다. FLOAT 흐름도 FLOAT ( precision ) 구문 FLOAT [(precision)] -1E+120 에서 1E+120 까지의부동소수점숫자데이타다. Precision 은정밀도표시하기위해 FLOAT 숫자의가수를유효숫자표기법으로저장하는데사용되는비트수이다. Precision 의범위는 1 에서 38 까지이다. Precision 이생략되면기본값으로 38 이설정된다. INTEGER 흐름도 자료형 25

38 INTEGER 구문 INTEGER 4 바이트크기의정수형데이터타입이다. C 의 int 와동일한데이터타입이다. 정수값 -2,147,483,647 에서 2,147,483,647 까지의값을가질수있다. * -2,147,483,648 은널값으로사용된다. 26 ALTIBASE5 SQL User s Manual

39 NUMBER 흐름도 NUMBER ( precision ), scale 구문 NUMBER [(precision, scale)] NUMERIC type 의 alias 형이다. 단, precision 과 scale 이명시되지않으면 FLOAT 과동일하게취급된다. 자료형 27

40 NUMERIC 흐름도 NUMERIC ( precision ), scale 구문 NUMERIC [(precision, scale)] Precision 과 scale 을가지는숫자형데이터타입으로 precision 만큼의유효숫자와 scale 만큼의소수점이하정밀도를가지는고정소수점형이다. FLOAT 데이터타입이실수를표현하는형식인부동소수점형식인반면 NUMERIC 데이터타입은 precision 과 scale 이모두생략되면 precision 은 38, scale 은 0 인정수를표현하는형식인고정소수점으로사용된다. Precision 은 1 부터 38 까지의값을명시할수있다. Scale 은 -84 에서 126 까지의값을명시할수있다. Precision 이생략되면기본값으로 38 이설정된다. Scale 이생략되면기본값으로 0 이설정된다. 다음은각각의 NUMERIC 타입으로정의한후값이 일때의변환된값을나열한것이다. NUMERIC => NUMERIC(9) => NUMERIC(9, 2) => NUMERIC(9, 1) => NUMERIC(6) => precision 초과 NUMERIC(7, -2)=> NUMERIC(7, 2) => precision 초과 28 ALTIBASE5 SQL User s Manual

41 REAL 흐름도 REAL 구문 REAL 4 바이트크기의부동소수점형이다. C 의 float 과동일한데이터타입이다. SMALLINT 흐름도 SMALLINT 구문 SMALLINT 2 바이트크기의정수형데이터타입이다. C 의 short 와동일한데이터타입이다. -2^15 + 1(-32,767) 에서 2^15-1(32,767) 사이의정수데이타다. * 최소값 (-32768) 은널값으로사용된다. 숫자형데이타형식 자료형 29

42 TO_CHAR 함수나 TO_NUMBER 등의데이타변환함수를사용할때숫자형데이타에대하여다음과같이형식을지정할수있다. 숫자데이타형식은하나이상의숫자표시인자로구성되며이장에서는각각의인자와관련된데이타형식의예를한다. 제한사항 예제, ( 쉼표 ) 지정한위치에쉼표를출력한다. 쉼표는여러번사용할수있다. 쉼표는숫자의끝이나마침표의오른쪽에올수없고, 숫자의맨앞자리에도쉼표를사용할수없다. isql> SELECT TO_CHAR (1234, '99,99') FROM dual; TO_CHAR (1234, '99,99') ,34 1 row selected. isql> SELECT TO_NUMBER ( '12,34', '99,99') FROM dual; TO_NUMBER ( '12,34', '99,99') row selected. 제한사항 예제. ( 마침표 ) 마침표를지정한위치에추가로반환한다. 한숫자내에서마침표는한번만사용할수있다. isql> SELECT TO_CHAR (1.234, '99.999') FROM dual; TO_CHAR (1.234, '99.999') row selected. isql> SELECT TO_NUMBER ( '1.234', '99.999') FROM dual; TO_NUMBER ( '1.234', '99.999') row selected. 예제 $ 숫자앞에 $ 기호를붙인다. isql> SELECT TO_CHAR (123, '$9999') FROM dual; 30 ALTIBASE5 SQL User s Manual

43 TO_CHAR (123, '$9999') $123 1 row selected. isql> SELECT TO_NUMBER ( '$0123', '09$99') FROM dual; TO_NUMBER ( '$0123', '09$99') row selected. 예제 0( 숫자 0) 정수부분의유효자리수가실제숫자의자리수보다많을경우실제숫자앞에 0 을채워서반환한다. 그외의특성은 9 와같다. isql> SELECT TO_CHAR (123, '0999') FROM dual; TO_CHAR (123, '0999') ( 숫자 9) 출력할숫자의자릿수를숫자 9 를이용해서표시한다. 실제숫자의자릿수보다 9 의개수가더많으면앞에공백문자를출력하여길이를맞추고, 정수부분의 9 의개수가실제숫자보다더적으면숫자의길이만큼 # 를출력한다. # 의개수는사용자가지정한형식에쓰인문자의개수 + 1( 부호문자 ) 이다. 9 사이에오는마침표는숫자의정수부분과소수부분을구분하여출력하게한다. 예제 첫번째인자에소수가있는데사용자가지정한형식에소수를표현하는부분이없거나, 더적으면반올림해서사용자가지정한형식의소수부분의길이에맞춘다. isql> SELECT TO_CHAR (123, '99999') FROM dual; TO_CHAR (123, '99999') isql> SELECT TO_CHAR (123.55, '999') FROM dual; TO_CHAR (123.55, '999') row selected. isql> SELECT TO_CHAR ( , '999999') FROM dual; TO_CHAR ( , '999999') 자료형 31

44 1 row selected. isql> SELECT TO_CHAR ( , ' ') FROM dual; TO_CHAR ( , ' ') row selected. isql> SELECT TO_CHAR ( , ' ') FROM dual; TO_CHAR ( , ' ') ########## 1 row selected. isql> SELECT TO_NUMBER ( '123', '99999') FROM dual; TO_NUMBER ( '123', '99999') row selected. isql> SELECT TO_NUMBER ( ' ', ' ') FROM dual; TO_NUMBER ( ' ', ' ') row selected. 예제 B 결과값이 0 일경우, 0 을공백 (Blank) 로반환한다. isql> SELECT TO_CHAR (0.4, 'B9') FROM T1; TO_CHAR (0.4, 'B9') row selected. 제한사항예제 EEEE 입력받은숫자를지수표기법을이용하여표기한다. EEEE 는항상오른쪽끝에와야한다. 단 S, PR, MI 보다는왼쪽에오는것이가능하다. 쉼표와같이사용할수없다. TO_NUMBER 함수에서사용할수없다. MI isql> SELECT TO_CHAR (1234, '9.9EEEE') FROM dual; TO_CHAR (1234, '9.9EEEE') E+03 1 row selected. 32 ALTIBASE5 SQL User s Manual

45 제한사항 예제 MI 를숫자표현형식의오른쪽끝에사용하면입력받은수가음수일경우마이너스 (-) 기호를숫자끝에붙여서반환한다. 양수일경우에는공백문자가들어간다. MI 는항상숫자형식표현의오른쪽끝에와야한다. S, PR 과같이사용할수없다. isql> SELECT TO_CHAR (-123, '999MI') FROM dual; TO_CHAR (-123, '999MI') row selected. isql> SELECT TO_NUMBER ( '123-', '999MI') FROM dual; TO_NUMBER ( '123-', '999MI') row selected. 제한사항 예제 PR PR 를숫자표현형식의오른쪽끝에사용하면입력받은수가음수일경우마이너스기호 (-) 대신 < 숫자 > 형태로출력된다. PR 은항상숫자표현형식의오른쪽끝에와야한다. S, MI 와같이사용할수없다. isql> SELECT TO_CHAR (-123, '999PR') FROM dual; TO_CHAR (-123, '999PR') <123> 1 row selected. isql> SELECT TO_NUMBER ( '<123>', '999PR') FROM dual; TO_NUMBER ( '<123>', '999PR') row selected. 제한사항 RN 입력받은수를로마숫자로변환한다. 입력할수있는수는 1 부터 3999 까지이다. 숫자표현형식을소문자 rn 으로사용하면로마숫자가소문자로출력된다. 다른숫자형식과같이사용할수없다. TO_NUMBER 함수에서 자료형 33

46 예제제한사항예제 사용할수없다. S isql> SELECT TO_CHAR (14, 'RN') FROM dual; TO_CHAR (14, 'RN') XIV 1 row selected. 숫자표현형식의처음이나끝에와서입력받은수의기호에따라서마이너스 (-) 또는플러스 (+) 기호를붙인다. S 는숫자표현형식의맨앞이나맨뒤에만올수있다.MI, PR 과같이사용할수없다. isql> SELECT TO_CHAR (123, 'S999.99') FROM dual; TO_CHAR (123, 'S999.99') row selected. isql> SELECT TO_CHAR (-123, '999.99S') FROM dual; TO_CHAR (-123, '999.99S') row selected. isql> SELECT TO_NUMBER ( '+123', 'S999.99') FROM dual; TO_NUMBER ( '+123', 'S999.99') row selected. isql> SELECT TO_NUMBER ( ' ', '999.99S') FROM dual; TO_NUMBER ( ' ', '999.99S') row selected. 제한사항 V V 다음에있는 9 의개수와 10 을곱하고그값을인자로받은숫자와곱한다. V 앞의 9 의개수는첫번째인자의유효숫자의개수를의미한다. 마침표와같이사용할수없다. TO_NUMBER 함수에서사용할수없다. 34 ALTIBASE5 SQL User s Manual

47 예제 isql> SELECT TO_CHAR (12, '99V99') FROM dual; TO_CHAR (12, '99V99') row selected. isql> SELECT TO_CHAR (1200, '99V99') FROM dual; TO_CHAR (1200, '99V99') ###### 1 row selected. isql> SELECT TO_CHAR ( , '999V999EEEEMI') from dual; TO_CHAR ( , '999V999EEEEMI') E+02-1 row selected. 제한사항 예제 XXXX 입력받은수를 16 진수로변환한다. 만약정수가아니라면반올림하여 16 진수로변환한다. xxxx 는 16 진수중문자를소문자로반환한다. 다른숫자표현형식과같이사용할수없다. 변환할수는 0 이상이어야한다. isql> SELECT TO_CHAR (123, 'XXXX') FROM dual; TO_CHAR (123, 'XXXX') B 1 row selected. isql> SELECT TO_NUMBER ('ABC', 'XXXX') FROM dual; TO_NUMBER ('ABC', 'XXXX') row selected. 자료형 35

48 날짜형데이타타입 DATE 흐름도 DATE 구문 DATE 날짜를표현하는데이터타입이다. 날짜관련함수의경우일부플랫폼에서 1 년 1 월 1 일부터 9999 년 12 월 31 일의범위내에서사용가능하다. 8 바이트의크기를가지며, 1999/11/18 00:00:00 또는 2000/01/31 15:23:50 과같이문자열로표현된다. 날짜형데이타형식 날짜형데이터타입의데이타는데이타베이스내부적으로는숫자형데이타로관리하지만사용자는 TO_CHAR/TO_DATE 변환함수등을사용해서문자열로표시할수있다. 변환함수를사용할때사용자는보고자하는형식에맞게날짜형데이타형식문자열을지정해주어야한다. 날짜형데이타형식은다음과같은기본요소들로구성된다. AM, PM CC D, DD, DDD, DAY,DY HH, HH12, HH24 MM, MON, MONTH MI Q SS, SSSSS, SSSSSS, SSSSSSSS, FF[1..6] WW, W 36 ALTIBASE5 SQL User s Manual

49 Y,YYY, YYYY, YY, RR, RRRR 위의기본요소들과함께다음의다음의구두점과특수문자들도날짜형데이타형식을구성하는요소이다. 하이픈 (-) 슬래시 (/) 쉼표 (,) 마침표 (.) 콜론 (:) 홑따옴표 ( ) 각각의기본요소들이의미하는바와활용예를다음에서살펴보자. 예제 AM, PM 정오를기준으로오전 / 오후를구분한다. ( AM 또는 PM ) isql> SELECT TO_CHAR ( TO_DATE( '13', 'HH' ), 'AM' ) FROM dual; TO_CHAR ( TO_DATE( '13', 'HH' ), 'AM' ) PM 1 row selected. isql> SELECT TO_DATE(' PM', 'YYYY-MM-DD AM') FROM dual; TO_DATE(' PM', 'YYYY-MM-DD AM' /12/28 12:00:00 1 row selected. CC 세기를표시한다. 4 자리년도중뒤의 2 자리값이 01~99 이면, 4 자리년도중앞의두자리의값에 1 을더해서반환한다. 4 자리년도중뒤의 2 자리값이 00 이면, 4 자리년도중앞의두자리값을그대로반환한다. 예제 TO_DATE 함수에서는인자로사용할수없다. D isql> SELECT TO_CHAR ( '28-DEC-1980', 'CC' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'CC' ) row selected. 자료형 37

50 일주일중몇번째날인지를나타내는 1 ~ 7 까지의숫자이다. 일요일부터 1 로시작한다. 예제 TO_DATE 함수에서인자로사용할수없다. DAY isql> SELECT TO_CHAR ( '28-DEC-1980', 'D' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'D' ) row selected. 요일의영문이름을나타낸다. (SUNDAY, MONDAY, ) 예제 예제 TO_DATE 함수에서사용할수없다. DD isql> SELECT TO_CHAR ( '28-DEC-1980', 'DAY' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'DAY' ) SUNDAY 1 row selected. 한달중몇번째날인지를나타낸다. (1 ~ 31) isql> SELECT TO_CHAR ( '28-DEC-1980', 'DD' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'DD' ) row selected. isql> SELECT TO_DATE( ' ', 'YYYY-MM-DD') FROM dual; TO_DATE( ' ', 'YYYY-MM-DD') /12/28 00:00:00 1 row selected. DDD 일년중몇번째날인지를나타낸다. (1 ~ 366) 예제 TO_DATE 함수에서사용할수없다. isql> SELECT TO_CHAR ( '28-DEC-1980', 'DDD' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'DDD' ) row selected. 38 ALTIBASE5 SQL User s Manual

51 DY 요일의이름을약자로나타낸다. (SUN, MON, TUE, ) 예제 TO_DATE 함수에서사용할수없다. isql> SELECT TO_CHAR ( '28-DEC-1980', 'DY' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'DY' ) SUN 1 row selected. FF [1..6] FF 다음의 1 ~ 6 까지의숫자를이용하여마이크로초의자리수를나타낸다. (0 ~ ). FF 형식은 FF6 과같은같은결과를반환한다. 예제 예제 TO_DATE 함수에서사용할수없다. HH12 isql> SELECT TO_CHAR ( SYSDATE, 'FF5' ) FROM dual; TO_CHAR ( SYSDATE, 'FF5' ) row selected. 시간을 12 시간단위로나타낸다.(1 ~ 12) isql> SELECT TO_CHAR ( TO_DATE( ' :30:29', 'YYYY- MM-DD HH:MI:SS' ), 'HH12' ) FROM dual; TO_CHAR ( TO_DATE( ' :30:29', row selected. isql> SELECT TO_CHAR( TO_DATE ( ' :30:29', 'RR-MM-DD HH12:MI:SS' ), 'RR-MM-DD HH12:MI:SS') FROM dual; TO_CHAR( TO_DATE ( ' :30:29', 'R :30:29 1 row selected. 예제 HH, HH24 시간을 24 시간단위로나타낸다.(0 ~ 23) 자료형 39

52 isql> SELECT TO_CHAR ( TO_DATE( ' :30:29', 'YYYY- MM-DD HH:MI:SS' ), 'HH' ) FROM dual; TO_CHAR ( TO_DATE( ' :30:29' row selected. isql> SELECT TO_CHAR ( TO_DATE( ' :30:29', 'YYYY- MM-DD HH24:MI:SS' ), 'YYYY-MM-DD HH24:MI:SS' ) FROM dual; TO_CHAR ( TO_DATE( ' :30:29', :30:29 1 row selected. 예제 MI 분 (0 ~ 59) isql> SELECT TO_CHAR ( TO_DATE( ' :30:29', 'YYYY- MM-DD HH:MI:SS' ), 'HH' ) FROM dual; TO_CHAR ( TO_DATE( ' :30:29' row selected. isql> SELECT TO_DATE ( ' :30:29', 'RR-MM-DD HH:MI:SS' ) FROM dual; TO_DATE ( ' :30:29', 'RR-MM-DD /12/28 14:30:29 1 row selected. 예제 MM 월 (01 ~ 12) isql> SELECT TO_CHAR ( TO_DATE( ' :30:29', 'YYYY- MM-DD HH:MI:SS' ), 'HH' ) FROM dual; TO_CHAR ( TO_DATE( ' :30:29' row selected. isql> SELECT TO_DATE ( ' :30:29', 'RR-MM-DD HH:MI:SS' ) FROM dual; TO_DATE ( ' :30:29', 'RR-MM-DD /12/28 14:30:29 1 row selected. MON 월의이름을약자로표시한다.( JAN, FEB, MAR, ) 40 ALTIBASE5 SQL User s Manual

53 예제 예제 SQL> SELECT TO_CHAR (TO_DATE (' ', 'YYYY-MM-DD'), 'MON') FROM dual; TO_ --- DEC MONTH 월의이름을표시한다. (JANUARY, FEBRUARY, ) isql> SELECT TO_CHAR ( '28-DEC-1980', 'Month' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'Month' ) December 1 row selected. isql> SELECT TO_DATE ( '05-APRIL-28 14:30:29', 'RR-MONTH-DD HH:MI:SS' ) FROM dual; TO_DATE ( '05-APRIL-28 14:30:29', 'RR-MO /04/28 14:30:29 1 row selected. 자료형 41

54 Q 분기를표시한다. (1 ~ 4) 예제 예제 TO_DATE 함수에서사용할수없다. RM isql> SELECT TO_CHAR ( '28-DEC-1980', 'Q' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'Q' ) row selected. 로마숫자로월을나타낸다. (I, II, III, IV,... ) isql> SELECT TO_CHAR ( '28-DEC-1980', 'RM' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'RM' ) XII 1 row selected. isql> SELECT TO_DATE ('28-V-1980', 'DD-RM-YYYY') FROM dual; TO_DATE ('28-V-1980', 'DD-RM-YYYY') /05/28 00:00:00 1 row selected. 예제 RR 년도를두자리정수로표시한다. 날짜를표기할때, 두자리만표기한경우 50 미만인경우에만 21 세기라고가정하여 2000 을더하고, 50 이상인경우에는 1900 을더해서연도를표시한다. 따라서표시가능한년도는 1950 ~ 2049 까지이다. isql> SELECT TO_CHAR ( '28-DEC-80', 'RR' ) FROM dual; TO_CHAR ( '28-DEC-80', 'RR' ) row selected. RRRR isql> SELECT TO_DATE ( '28-DEC-80', 'DD-MON-RR' ) FROM dual; TO_DATE ( '28-DEC-80', 'DD-MON-RR' ) /12/28 00:00:00 1 row selected. 42 ALTIBASE5 SQL User s Manual

55 연도 (0 ~ 9999) 예제 네자리, 두자리의년도를모두입력으로받아서, 숫자가 50 미만인경우 2000 을더하고, 50 이상 100 미만인경우 1900 을더해서연도를나타낸다. 4 자리의숫자인경우그대로가년도로표시된다. isql> SELECT TO_CHAR ( '28-DEC-1980', 'RRRR' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'RRRR' ) row selected. isql> SELECT TO_CHAR ( '28-DEC-1980', 'DD-MON-RRRR' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'DD-MON-RRRR' ) DEC row selected. 예제 SS 초 (0 ~ 59) isql> SELECT TO_CHAR ( TO_DATE( ' :30:29', 'YYYY- MM-DD HH:MI:SS' ), 'HH' ) FROM dual; TO_CHAR ( TO_DATE( ' :30:29' row selected. isql> SELECT TO_DATE ( ' :30:29', 'RR-MM-DD HH:MI:SS' ) FROM dual; TO_DATE ( ' :30:29', 'RR-MM-DD /12/28 14:30:29 1 row selected. 예제 SSSSS 지난자정부터몇초가경과되었는지나타낸다. (0 ~ 86399) isql> SELECT TO_CHAR ( TO_DATE( ' :30:29', 'YYYY- MM-DD HH24:MI:SS' ), 'SSSSS' ) FROM dual; TO_CHAR ( TO_DATE( ' :30:29' row selected. isql> SELECT TO_DATE(' ', 'YYYY-MM-DD SSSSS') FROM dual; TO_DATE(' ', 'YYYY-MM-DD 자료형 43

56 /12/28 03:25:45 1 row selected. 예제 SSSSSS 날짜데이터타입의값의마이크로초를표시한다.(0 ~ ) isql> SELECT TO_CHAR (SYSDATE, 'SSSSSS') FROM dual; TO_CHAR (SYSDATE, 'SSSSSS') row selected. isql> SELECT TO_CHAR ( TO_DATE(' ', 'YYYY-MM- DD SSSSSS'), 'SSSSSS' ) FROM dual; TO_CHAR ( TO_DATE(' ', ' row selected. 예제 SSSSSSSS 초 + 마이크로초를나타낸다. 앞의 2 개의숫자는초를나타내고, 나머지 6 개의숫자가마이크로초를나타낸다. (0 ~ ) isql> SELECT TO_CHAR (SYSDATE, 'SSSSSSSS') FROM dual; TO_CHAR (SYSDATE, 'SSSSSSSS') row selected. isql> SELECT TO_DATE ( ' ', 'SS.SSSSSS') FROM dual; TO_DATE ( ' ', 'SS.SSSSSS') /12/01 00:00:12 1 row selected. isql> SELECT TO_CHAR( TO_DATE( ' ', 'SS.SSSSSS'), 'SSSSSS') FROM dual; TO_CHAR( TO_DATE( ' ', 'SS.SSSSS row selected. WW 일년중몇번째주인지를나타낸다. 1 월 1 일부터그주의토요일까지가그해의첫번째주이다. (1 ~ 54) TO_DATE 함수에서사용할수없다. 44 ALTIBASE5 SQL User s Manual

57 예제 isql> SELECT TO_CHAR ( '28-DEC-1980', 'WW' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'WW' ) row selected. W 한달중몇번째주인지를나타낸다. 1 일부터그주의토요일까지가그달의첫번째주이다. (1 ~ 6) 예제 TO_DATE 함수에서사용할수없다. Y,YYY isql> SELECT TO_CHAR ( '28-DEC-1980', 'W' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'W' ) row selected. 연도를나타내는숫자중임의의위치에,(comma) 를삽입할수있다. 맨앞이나뒤에와도상관없다. 예제 예제 TO_DATE 함수에서사용할수없다. YYYY isql> SELECT TO_CHAR ( '28-DEC-1980', 'Y,YYY' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'Y,YYY' ) ,980 1 row selected. 네자리숫자를그대로연도로간주한다. (0 ~ 9999) isql> SELECT TO_CHAR ( '28-DEC-1980', 'YYYY' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'YYYY' ) row selected. isql> SELECT TO_DATE ( '28-DEC-1980', 'DD-MON-YYYY' ) FROM dual; TO_DATE ( '28-DEC-1980', 'DD-MON-YYYY' ) /12/28 00:00:00 1 row selected. YY 자료형 45

58 예제 21 세기라고가정하고 2000 을더한값을연도로간주한다. (2000 ~ 2099) isql> SELECT TO_CHAR ( '28-DEC-1980', 'YY' ) FROM dual; TO_CHAR ( '28-DEC-1980', 'YY' ) row selected. isql> SELECT TO_DATE ( '28-DEC-80', 'DD-MON-YY' ) FROM dual; TO_DATE ( '28-DEC-80', 'DD-MON-YY' ) /12/28 00:00:00 1 row selected. * YYYY, YY, RRRR, RR 참고 [YYYY]: 숫자를그대로연도로간주 23-FEB-5 : 0005 년 2 월 23 일 23-FEB-05 : 0005 년 2 월 23 일 23-FEB-2005 : 2005 년 2 월 23 일 23-FEB-95 : 0095 년 2 월 23 일 [YY]: YY 23-FEB-5 : 2005 년 2 월 23 일 23-FEB-05 : 2005 년 2 월 23 일 23-FEB-2005 : 에러 23-FEB-95 : 2095 년 2 월 23 일 23-FEB-05 : 2005 년 2 월 23 일 23-FEB-2005 : 에러 23-FEB-95 : 2095 년 2 월 23 일 [RRRR]: 4 자리숫자를그대로연도로간주, 숫자가 50 미만인경우 2000 을, 50 이상 100 미만인경우 1900 을더한다. 23-FEB-5 : 2005 년 2 월 23 일 23-FEB-05 : 2005 년 2 월 23 일 23-FEB-2005 : 2005 년 2 월 23 일 23-FEB-95 : 1995 년 2 월 23 일 46 ALTIBASE5 SQL User s Manual

59 23-FEB-100 : 0100 년 2 월 23 일 23-FEB-0005 : 0005 년 2 월 23 일 [RR]: 숫자가 50 미만인경우 2000 을, 50 이상 100 미만인경우 1900 을더한다. 23-FEB-5 23-FEB-05 : 2005 년 2 월 23 일 : 2005 년 2 월 23 일 23-FEB-2005 : 에러 23-FEB-95 : 1995 년 2 월 23 일 예제 isql> CREATE TABLE timetbl(i1 INTEGER, t1 DATE, etc VARCHAR(10)); Create success. isql> INSERT INTO timetbl VALUES (1, SYSDATE, 'Start'); 1 row inserted. isql> INSERT INTO timetbl VALUES (2, TO_DATE(' :15:50', 'YYYY-MM-DD HH:MI:SS'), 'The end'); 1 row inserted. isql> SELECT TO_CHAR(T1, 'YYYY YY MM MON Mon mon DD HH MI SS SSSSSS D DDD') Date_format FROM timetbl WHERE I1 = 2; DATE_FORMAT FEB Feb feb row selected. 자료형 47

60 이진데이터타입 BYTE 흐름도 BYTE ( size ) 구문 BYTE [(size)] [[FIXED ] VARIABLE ( IN ROW size ) ] 명시된크기만큼고정된길이를가지는이진데이터타입이다. BYTE 칼럼의크기는기본값으로 1 바이트이다. 최대길이는, FIXED 로선언될경우한페이지크기 (8K) 내에서지정할수있으며, VARIABLE 로선언될경우 32KB 즉 바이트까지저장할수있다. 0FAE13 과같이문자형으로표현가능하며이때사용하는문자는 0 에서 9 까지, A 에서 F 까지의문자이다. 입력시와검색시반드시정의한길이를맞추어야한다. 1 바이트는 2 개의문자를입력할수있다. 예를들어 Byte (3) 이라고정의하면 부터 FFFFFF 까지입력할수있다. * 소문자 a 부터 f 를입력할경우대문자로변환되어저장된다. * 최소값 (OxFF) 은널값으로사용된다. 48 ALTIBASE5 SQL User s Manual

61 NIBBLE 흐름도 NIBBLE ( size ) 구문 NIBBLE [(size)] 명시된크기만큼가변길이를가지는이진데이타타입이다. NIBBLE 칼럼의크기는기본값으로한개의문자크기이며, 최대 255 크기까지허용된다. BYTE 와마찬가지로문자형으로표현가능하며이때사용하는문자는 0 에서 9 까지, A 에서 F 까지의문자이다. BYTE 와달리명시된 size 만큼의문자만을입력할수있다. 예를들어 NIBBLE(6) 이라고정의하면 부터 FFFFFF 까지입력할수있다. * 소문자 a 부터 f 를입력할경우대문자로변환되어저장된다. 자료형 49

62 BIT 흐름도 구문 BIT [(size)] 0 과 1 로만이루어진고정길이를갖는이진데이타타입이다. BIT 칼럼의크기는기본값으로 1BIT 이며, 최대길이는 비트이다. 명시한길이보다긴스트링을입력했을경우 Invalid length of data type 에러가나타난다. 명시한길이보다짧은길이로입력했을때는오른쪽을 0 으로채운다. 0 또는 1 이외의값이입력될경우 Invalid literal 에러가나타난다. 예제 isql> CREATE TABLE T1 ( I1 BIT(1), I2 BIT(5) ); Create success. isql> INSERT INTO T1 VALUES ( BIT'1', BIT'011' ); 1 row inserted. isql> SELECT TO_CHAR(I1), TO_CHAR(I2) FROM T1; TO_CHAR(I1) TO_CHAR(I2) row selected. isql> INSERT INTO T1 VALUES ( BIT'1111', BIT'011' ); [ERR-2100D : Invalid length of the data type] isql> INSERT INTO T1 VALUES ( BIT'1', BIT'1234' ); [ERR : Invalid literal] VARBIT 50 ALTIBASE5 SQL User s Manual

63 흐름도 구문 VARBIT [(size)] 0 과 1 로만이루어진가변길이를갖는이진데이타타입이다. BIT 칼럼의크기는기본값으로 1Bit 이며, 최대길이는 비트 (128KBits) 이다. 명시한길이보다긴스트링을입력했을경우 Invalid length of data type 에러가발생한다. 명시한길이보다짧은스트링을입력했을경우오른쪽을 0 으로채운다. 0 또는 1 이외의값이입력될경우 Invalid literal 에러가발생한다. 예제 isql> CREATE TABLE T1 ( I1 VARBIT(1), I2 VARBIT(5) ); Create success. isql> INSERT INTO T1 VALUES ( VARBIT'1', VARBIT'011' ); 1 row inserted. isql> SELECT TO_CHAR(I1), TO_CHAR(I2) FROM T1; TO_CHAR(I1) TO_CHAR(I2) row selected. isql> INSERT INTO T1 VALUES ( VARBIT'1111', VARBIT'011' ); [ERR-2100D : Invalid length of the data type] isql> INSERT INTO T1 VALUES ( VARBIT'1', VARBIT'1234' ); [ERR : Invalid literal] 자료형 51

64 LOB 데이타타입 개요 LOB(Large Object) 은대용량데이타를저장할수있는데이타타입이다. LOB 으로저장이가능한데이타크기는최대 2G 이다. 테이블을생성할때다른타입들과달리길이를명시하지않는다. 그리고하나의테이블에하나이상의 LOB 타입칼럼을정의할수있다. LOB 데이타타입은이미지, 동영상파일들과같은이진데이타를저장하는 BLOB(Binary Large Object) 과문자열데이타를저장하는 CLOB(Character Large Object) 으로구분된다. LOB 의특징 데이타저장기능 부분읽기 (Partial Read) 디스크 LOB 의파티션 알티베이스가제공하는 LOB 은다음과같은특징이있다. 데이타저장기능 부분읽기 (Partial Read) 디스크 LOB 파티션 ODBC SQLPutLob 함수또는 JDBC File Stream 을이용하여 CLOB, BLOB 데이타를저장한다. LOB 데이타의특정구간에대한데이타조각을읽는기능이다. SQLGetLob 함수를이용하여특정오프셋의크기를읽는다. 디스크 LOB 데이타는테이블이속한테이블스페이스가아닌다른디스크테이블스페이스로저장이가능하며, 마치파티션을이용하는것처럼구성할수있다. LOB 칼럼의저장 LOB 데이타는대부분의경우레코드영역밖의가변영역에저장된다. 또한 LOB 칼럼의크기가크지않을때에는 in row 옵션을사용하여 52 ALTIBASE5 SQL User s Manual

65 레코드영역 ( 고정영역 ) 안에저장하기도한다. 그러나디스크테이블은크기와상관없이항상가변영역에저장한다. 그러나가변영역에저장되는 LOB 칼럼의데이타는크기가매우크기때문에, 레코드영역과같은테이블스페이스에저장되는것은공간사용측면에서효율성을떨어뜨린다. 디스크테이블은 LOB 칼럼데이타를 LOB 칼럼이속한테이블과별도의테이블스페이스에저장할수있다. 그러나메모리테이블은별도로저장할수없고테이블과동일한테이블스페이스에만저장할수있다. BLOB 흐름도 구문 BLOB [ VARIABLE ( IN ROW size ) ] BLOB 은이진형대용량데이타를저장하기위한것으로, 2GB 크기내에서가변길이를가지는이진형데이타타입이다. BLOB 은 FIXED VARIABLE 을명시할수있으나모두 VARIABLE 로처리되기때문에실제로의미가없다. 메모리테이블에저장된 BLOB 은데이타의크기가 64 바이트이하일경우, 테이블의고정영역에저장되며 64 바이트를초과하면가변영역에저장된다. VARIABLE_LOB_COLUMN_IN_ROW_SIZE 프로퍼티로고정영역에저장되는디폴트크기를명시할수있다. 메모리테이블에저장된 BLOB 데이타의크기가 64 바이트이하일경우혹은디스크테이블에저장된 BLOB 데이타의크기가 4000 바이트이하일경우, 해당데이터는테이블의고정영역에저장되며, 이크기를초과하면가변영역에저장된다. 메모리테이블은 MEMORY_LOB_COLUMN_IN_ROW_SIZE 프로퍼티로, 디스크테이블은 ISK_LOB_COLUMN_IN_ROW_SIZE 로고정영역에저장되는디폴트크기를명시할수있다. 자료형 53

66 IN ROW size BLOB 은 VARIABLE 지정시에 IN ROW 구문을이용해서고정데이타영역에들어갈데이타길이와가변영역에들어갈길이를지정할수있다. 예를들어, BLOB in row 200 으로설정된칼럼의경우, 삽입되는데이타길이가 200 바이트이하이면고정영역에, 200 바이트를초과하면가변영역에저장된다. 특별한경우가아니면매번 in row 크기를지정할필요없이메모리테이블의경우 MEMORY_LOB_COLUMN_IN_ROW_SIZE 프로퍼티에, 디스크테이블의경우 DISK_LOB_COLUMN_IN_ROW_SIZE 프로퍼티에디폴트 in row 크기를지정하고테이블생성시에는생략할수있다. 해당프로퍼티에대한상세한은 Starting User s Manual 의알티베이스프로퍼티부분을참조한다. CLOB 흐름도 구문 CLOB [ VARIABLE ( IN ROW size ) ] CLOB 은문자형대용량데이타를저장하기위한것으로, 2GB 크기내에서가변길이를가지는문자형데이타타입이다. CLOB 도 BLOB 이나 VARCHAR 타입처럼 FIXED VARIABLE 을명시할수있으나, 모두 VARIABLE 로처리되기때문에실제로는의미가없다. CLOB 은 BLOB 과마찬가지로메모리테이블은데이타의크기가 64 바이트이하일경우, 디스크테이블은데이타의크기가 4000 바이트이하일경우테이블의고정영역에저장되며이를초과하면가변영역에저장된다. 메모리테이블은 MEMOFY_LOB_COLUMN_IN_ROW_SIZE 프로퍼티로디스트테이블은 DISK_LOB_COLUMN_IN_ROW_SIZE 54 ALTIBASE5 SQL User s Manual

67 IN ROW size 프로퍼티로고정영역에저장되는디폴트크기를명시할수있다. CLOB 은 VARIABLE 지정시에 IN ROW 구문을이용해서고정데이타영역에들어갈데이타길이와가변영역에들어갈길이를지정할수있다. 이에대한세부내용은앞에서한 BLOB 과같으므로 BLOB 에대한내용을참고한다. 제한사항 저장프로시저또는트리거에서는 LOB 타입을사용할수없다. 커서에서 LOB 타입을사용할수없다. 휘발성테이블과디스크임시테이블스페이스에서는 LOB 타입을사용할수없다. 디스카드된테이블스페이스의 LOB 칼럼은사용이불가능하다. LOB 타입은파티션컬럼으로사용할수없다. 파티션컬럼은대소비교가가능해야한다. LOB 칼럼에는인덱스를생성할수없다. LOB 칼럼에는제약조건으로 NOT NULL 을추가할수없다. 만약 LOB 칼럼에 NOT NULL 을허용한다면, INSERT 시에제약조건을위배한다는에러가발생하며삽입되지않는다. 자료형 55

68 공간데이터타입 공간데이터타입을 SQL 형식으로정의할때현재지원되는타입은 Geomerty 한가지뿐이며, 이 Geometry 타입은내부적으로 7 개의하위데이터타입인 Point, LineString, Polygon, GeomCollection, MultiPolygon, MultiLineString, MultiPoint 이다. 공간데이터타입에관한자세한내용은 Spatial SQL User s Manual 을참조한다 56 ALTIBASE5 SQL User s Manual

69 Part Ⅱ PART II 57

70 58 ALTIBASE5 SQL User s Manual

71 3. 데이타정의어 이장에서는데이타베이스오브젝트를생성하기위해서사용하는 SQL 문장인 DDL 문장의문법과특징을사용예제를들어서상세하게하고있다. 데이터정의어 59

72 ALTER DATABASE 구문 alter_database ::= startup_clause ::= 60 ALTIBASE5 SQL User s Manual

73 rename_clause ::= create_clause ::= session_clause ::= archivelog_option ::= backup_clause ::= recover_clause ::= until_option ::= 데이터정의어 61

74 altilinker_clause ::= 전제조건 데이타베이스다단계구동에서서비스전단계에서만수행할수있는 SQL 문으로 SYS 사용자가 sysdba 관리자모드에서만수행할수있다. 단 SESSION CLOSE 구문인경우에는 sysdba 모드로접속하지않아도사용할수있다. database_name startup_clauses CONTROL 기존데이타베이스의정의를변경하는구문이다. 변경될데이타베이스이름을명시한다. 데이타베이스를 open 하여사용자들이접근사용할수있도록한다. 데이타베이스구동단계를 CONTROL 단계로변경한다. 데이타베이스다단계구동 (startup) 시 DB 미디어복구와이중화수행을할수있는단계이다. 또한, 테이블스페이스를 Discard 할수있는단계이다. 데이타베이스다단계구동단계에대한자세한은 Administrator s Manual 을참조한다. SERVICE META 다음단계를수행하기위해 ALTER DATABASE dababase_name META; 구문을수행해야한다. 데이타베이스구동단계를 SERVICE 단계로변경한다. 데이타베이스다단계구동시메모리 DB 와디스크 DB 에로딩을수행하고, 이중화또는 SNMP 등의확장서비스를모두구동할수있다. 이옵션을수행시모든복구가완료된후정상서비스를하는단계이다. 데이타베이스구동단계를 META 단계로변경한다. 데이타베이스 62 ALTIBASE5 SQL User s Manual

75 다단계구동할때메타를로딩하는단계이다. 다음단계를수행하기위해 ALTER DATABASE dababase_name SERVICE; 구문을수행한다. META UPGRADE 데이타베이스구동단계를 META UPGRADE 단계로변경한다. 데이타베이스다단계구동시메타를갱신하는단계로, 모든복구가완료된상태이다. 다음단계를수행하기위해 ALTER DATABASE dababase_name SERVICE; 구문을수행해야한다. META RESETLOGS 데이타베이스다단계 startup 시컨트롤단계에서불완전복구를한경우, 서버를정상구동하기위해필요한작업이다. 불완전복구로불필요한로그레코드들을초기화한다. 다음단계를수행하기위해 ALTER DATABASE dababase_name SERVICE; 구문을수행해야한다. META RESETUNDO SYS_TBS_DISK_UNDO 테이블스페이스를초기화한다. 그러나파일크기는재설정하지않는다. 단, 데이타베이스의무결성을디스크가비지콜레션이수행된것을확인하고, 서버를정상종료한이후에이구문을실행한다. SHUTDOWN NORMAL 서버에접속한모든클라이언트의연결이정상적으로해제될때까지대기한후서버를정상종료한다. SHUTDOWN IMMEDIATE 서버에접속된모든클라이언트의연결을강제로해제한후, 서버를정상종료한다. RENAME DATAFILE 본구문은디스크데이타파일위치를이동시켜야할때사용하는기능으로, 데이타베이스에속한데이터파일을새로운이름으로변경한다. 주의할점은 TO datafile_path 에는이동시킬데이터파일이존재해야하며서버구동 CONTROL 단계에서만가능하다. datafile_path 에데이타파일을생성할디렉토리의상대경로또는절대경로를지정한다. 상대경로의경우, $ALTIBASE_HOME/dbs/ 를기준으로한경로를지정한다. 참고로, 메모리테이블스페이스의체크포인트이미지파일을이동시킬때에는 ALTER TABLESPACE 구문을사용한다. 데이터정의어 63

76 CREATE DATAFILE 디스크데이타파일이유실되었을때, 로그앵커의정보를참고하여데이타파일을생성한다. 이구문을실행한후에는매체완전복구를수행하여데이타파일을복구한다. 본구문은서버구동 CONTROL 단계에서만가능하다. datafile_path 에데이타파일을생성할디렉토리의상대경로또는절대경로를입력한다. 상대경로의경우, $ALTIBASE_HOME/dbs/ 를기준으로한경로를지정한다. 참고로메모리테이블스페이스의체크포인트이미지파일생성은 ALTER TABLESPACE 구문을사용한다. CREATE CHECKPOINT IMAGE SESSION CLOSE 메모리체크포인트이미지파일이유실되었을때, 로그앵커의정보를참고하여체크포인트이미지파일을생성한다. 이구문을실행한후에는매체완전복구를수행하여메모리체크포인트이미지파일을복구한다. 체크포인트이미지파일은메모리테이블스페이스에정의된체크포인트경로에생성되므로, 경로를지정하지않고파일명만명시한다. 본구문은서버구동 CONTROL 단계에서만가능하다. < 질의 > MEM-TBS-1 이름의체크포인트이미지파일을다시생성한다. isql> ALTER DATABASE CREATE CHECKPOINT IMAGE 'MEM-TBS- 1'; 세션을강제로종료시킨다. SESSION CLOSE 다음에 session_id 을넣어주면된다. 이때에는 Transaction 이바로멈춰진다. * 참고 : 단계마다상태변화는위에서기술한순서대로가능하고, 단계서로간의 jump 가가능하다. shutdown normal(immediate) 은 SERVICE 단계에서만가능하고, 다른모드에서는 shutdown abort 만가능하다. 알티베이스구동단계에대해서는 Altibase Administrator Manual 을참조한다. archivelog_option 서버컨트롤단계에서데이타베이스모드를아카이브로그모드또는노아카이브로그모드로변경한다. BACKUP LOGANCHOR 데이타베이스를아카이브로그모드로운영할때, 서비스를중지하지 64 ALTIBASE5 SQL User s Manual

77 않은상태에서로그앵커를온라인백업한다. BACKUP TABLESPACE 데이타베이스를아카이브로그모드로운영할때, 서비스를중지하지않은상태에서지정된테이블스페이스를백업디렉토리에백업한다. BACKUP DATABASE 데이타베이스를아카이브로그모드로운영할때, 서비스를중지하지않은상태에서모든메모리테이블스페이스, 디스크테이블스페이스, 로그앵커가백업된다. RECOVER DATABASE 매체완전복구를한다. 아카이브로그디렉토리의로그파일을판독하여매체오류가발생한데이타파일들을현재시점의데이타파일로복구한다. RECOVER DATABASE UNTIL TIME 데이타가백업된시점부터그이후의특정과거시점까지에대한전체데이타베이스를복구한다. RECOVER DATABASE UNTIL CANCEL 데이타가백업된시점부터그이후의유효한로그파일또는로그레코드를포함한시점까지전체데이타베이스를복구한다. AltiLinker_clause LINKER START LINKER STOP 데이타베이스링크에서원격서버와의데이타교환을매개해주는 AltiLinker 프로세스를종료시키거나재시작한다. AltiLinker 프로세스를시작한다. 단, AltiLinker 가존재하지않아야한다. AltiLinker 프로세스를종료한다. 단, 종료실행시데이타베이스링크를사용하는트랜잭션이없어야한다. 데이타베이스링크를사용하는트랜잭션이존재하면, 이연산은실패한다. 예제 < 질의 > 다음은다단계 startup 시 SERVICE 단계를이용해서데이타베이스 mydb 가정상서비스수행이가능하도록하는구문이다. isql> ALTER DATABASE mydb SERVICE; < 질의 > 아카이브로그모드로데이타베이스를운영한다. 데이터정의어 65

78 isql> ALTER DATABASE ARCHIVELOG; < 질의 > 불완전복구된데이타베이스를정상구동시킨다. isql> ALTER DATABASE mydb META RESETLOGS; < 질의 > SYS_TBS_DISK_UNDO 테이블스페이스를초기화한다. isql> ALTER DATABASE mydb META RESETUNDO; < 질의 > SYS_TBS_DISK_DATA 테이블스페이스를 /altibase_backup 에백업한다. isql> ALTER DATABASE TABLESPACE SYS_TBS_DISK_DATA TO /altibase_backup/ ; < 질의 > 백업된시점부터 2008 년 2 월 16 일오후 12 시시점으로데이타베이스를복원한다. isql> ALTER DATABASE RECOVER DATABASE UNTIL TIME :12:00:00 < 질의 > 백업된시점부터유실된로그파일 번이전인로그파일 번까지데이타베이스를복원한다. isql> ALTER DATABASE RECOVER DATABASE UNTIL CANCEL; < 질의 > 데이타베이스링크를위한 AltiLinker 를구동한다. isql> ALTER DATABASE LINKER START; < 질의 > AltiLinker 를종료한다. isql> ALTER DATABASE LINKER STOP; 66 ALTIBASE5 SQL User s Manual

79 ALTER INDEX 구문 alter_index ::= ALTER INDEX. ; RENAME TO AGING set_persistent_clause ::= rebuild_index_partition ::= index_attribute ::= alter_index_properties::= 데이터정의어 67

80 alter_index_segment_attribute_clause::= storage_clause::= allocate_extent_clause::= 전제조건 SYS 사용자이거나인덱스가현재사용자의스키마에속하거나또는 ALTER ANY INDEX 시스템권한을가진사용자만이인덱스를변경할수있다. 68 ALTIBASE5 SQL User s Manual

81 user_name 기존인덱스정의를변경한다. 변경될인덱스의소유자이름을명시한다. index_name 생략하면알티베이스는현재세션에연결된사용자의스키마에속한것으로간주한다. 변경될인덱스의이름을명시한다. SET PERSISTENT 절 PERSISTENT 색인을생성후 PERSISTENT 색인을변경하는문이다. 자세한내용은 CREATE INDEX 참고한다 rebuild_index_partition RENAME AGING index_attribute 지정한테이블스페이스에인덱스파티션을재구축한다. 변경될인덱스의이름을명시한다. 인덱스키에트랜잭션커밋 SCN 을설정하고, 구버전 (old version) 의노드들을삭제한다. 테이블스페이스명을명시한다. alter_index_segment_attribute_clause storage_clause INITRANS 절초기 TTS(Touched Transaction Slot) 의개수를변경한다. MAXTRANS 절초기 TTS 에서확장가능한최대 TTS(Touched Transaction Slot) 의개수를변경한다. 사용자가세그먼트에대한익스텐트관리파라미터를지정할수있는구문이다. 각파라미터의익스텐트크기는익스텐트크기의배수로지정되는것을기본으로하며, 익스텐트크기의배수가아닐경우에는알티베이스가내부적으로조정하여반영한다. 데이터정의어 69

82 allocate_extent_clause INITEXTENTS 절 ALTER INDEX 구문에서는 INITEXTENTS 파라미터를해석하지않고무시한다. NEXTEXTENTS 절세그먼트생성시다음익스텐트확장시마다확장할익스텐트개수를변경한다. MINEXTENTS 절세그먼트의최소익스텐트개수를변경한다. MAXEXTENTS 절세그먼트의포함할수있는익스텐트총개수를변경한다. 인덱스세그먼트에명시적으로익스텐트를할당한다. 이때 SIZE 의크기를지정하여인덱스세그먼트에추가적으로할당할수있는익스텐트크기를지정한다. 디스크테이블스페이스가여러데이터파일로구성되어있다면여러파일들에걸쳐서고르게할당된다. 주의사항 변경할인덱스가이중화테이블에걸려있는경우에는사용할수없다. 그러나 ALTER INDEX SET PERSISTENT = ON/OFF, ALTER INDEX REBUILD PARTITION 은사용할수있다. 예제 PERSISTENT 인덱스변경 인덱스파티션재구축 < 질의 > 인덱스 emp_idx1 에 PERSISTENT 인덱스를추가하라. isql> ALTER INDEX emp_idx1 SET PERSISTENT = ON; Alter success. < 질의 > 인덱스 const1 에 PERSISTENT 인덱스를추가하라. isql> ALTER INDEX const1 SET PERSISTENT = ON; 인덱스이름변경 < 질의 > 인덱스파티션 IDX_P5 를테이블스페이스 TBS1 에재구축하라. isql> ALTER INDEX IDX1 REBUILD PARTITION IDX_P5 TABLESPACE TBS1; < 질의 > 인덱스 emp_idx1 의이름을 emp_idx2 로변경하라. 70 ALTIBASE5 SQL User s Manual

83 인덱스에익스텐트할당 isql> ALTER INDEX emp_idx1 RENAME TO emp_idx2; < 질의 > 디스크테이블스페이스에 LOCAL_IDX 인덱스에 10M 만큼의익스텐트를할당한다. isql> ALTER INDEX felt_idx ALLOCATE EXTENT ( SIZE 10M ); Alter success. 데이터정의어 71

84 ALTER QUEUE 구문 alter_queue ::= COMPACT 큐에대한정의를변경한다. 데이터가없는빈페이지들에대하여테이블스페이스에페이지를반환한다. 알티베이스는콤팩션을수행할때, 데이터를옮기는작업을수행하지않는다. 이구문은메모리테이블과휘발성테이블, 큐 (Queue) 에대해서만지원한다. 72 ALTIBASE5 SQL User s Manual

85 ALTER REPLICATION 구문 이중화생성 (CREATE REPLICATION) 후이중화의동작을제어하는문장으로다음과같은종류가있다. 이중화에관한자세한내용은 Replication User s Manual 참조한다. replication_name 이중화이름을명시한다. 데이터정의어 73

86 SYNC SYNC ONLY 지역서버에있는이중화테이블들의모든데이타를원격서버의해당테이블로전송한후이중화를시작한다. 지역서버에있는이중화테이블들의모든데이타를원격서버의해당테이블로전송한다. 송신쓰레드는생성되지않는다. PARALLEL parallel_factor Parallel_factor 값은생략가능하며, 생략할경우 1 로인식된다. Parallel_factor 의최대값은 CPU 개수 * 2 이며, 최대값을초과하여설정해도최대값을넘지못한다. 0 또는음의값을설정한경우엔오류메시지가나타난다. TABLE user_name.table_name START QUICKSTART STOP ADD TABLE where_clause 지역서버이중화테이블중에서 SYNC 대상테이블을지정한다. 이중화시작시에는마지막이중화시점부터이중화를시작하며, TABLE 절을사용하지않았을때에는현재로그의위치부터이중화를시작한다. 가장최근의마지막이중화시점부터이중화를시작한다. 현재시점부터이중화를시작한다. 이중화를중지한다. 이중화할테이블을추가한다. 이중화가중지되어있는상태에서이중화할테이블을추가할수있다. SELECT 구문의 where_clause 를참고한다. DROP TABLE user_name 이중화조건절은 WHERE user_name.table_name.column_name {< > <> >= <= =!=} value [{AND OR}... ] 사용하여조건에해당하는로그만이중화대상으로한다. 단, 이중화조건절은 ADD TABLE 에서만사용할수있다. 이중화테이블을삭제한다. 이중화가중지되어있는상태에서이중화테이블을삭제할수있다. 74 ALTIBASE5 SQL User s Manual

87 tbl_name FLUSH SET HOST SET MODE 이중화테이블의소유자이름을명시한다. 이중화테이블이름을명시한다. 이중화 sender 쓰레드에의해서현재로그까지의변경내용이상대방서버에전송되도록 wait_time 초만큼기다린다. 만약, All 이함께사용되면현재로그가아닌가장최근로그까지의변경내용이상대방서버에전송되도록기다린다. 특정호스트를현재호스트로지정한다. 이중화를중지한상태에서호스트를변경할수있다. 이중화를생성할때지정한모드를변경한다. 모드변경은이중화가중지된상태에서수행할수있으며, LAZY, ACKED, EAGER 모드중하나의모드를지정할수있다. 주의사항 전제조건 입력 / 수정 / 삭제시충돌 (confliction) 이발생하면무시 (discard) 처리하고에러로그파일에남긴다. * 에러로그파일에제외되는경우 deadlock: 원격서버에서데드락으로인해이중화트랜잭션이롤백될경우에는에러로그를남기지않는다. network error: 이중화도중네트워크 (TCP/IP) 에러로인한데이타손실을막을수없다. 또한에러로그도남기지않는다. 이중화작업도중발생한에러에대해부분롤백한다. 즉여러개의자료입력중한개의중복데이타가있으면중복데이타만취소하고나머지는완료할수있다. 이중화속도는서비스속도보다매우느릴수있다. 알티베이스프로퍼티의 AUTO_REMOVE_ARCHIVE_LOG = 1 로세팅한경우라도완료되지않은이중화작업로그는로그파일에서삭제되지않는다. 만일 0 으로세팅할경우아래의 5 번은이중화작업에영향이없다. 현재이중화송신쓰레드가작업하는로그파일과현재로그파일의차이가알티베이스프로퍼티의최대로그파일개수 (REPLICATION_MAX_LOGFILE) 보다큰시점에체크포인트가발생하면이중화작업이완료되지않은로그파일도 데이터정의어 75

88 삭제되며, 이중화작업은이전의로그파일은무시하고현재로그파일부터다시시작한다. 데이타제약조건 복제되는테이블에대해반드시기본키가존재해야한다. 복제되는테이블에대해기본키에대한수정이없어야한다. 양쪽테이블의칼럼정보, 기본키, NOT NULL 정보가동일해야한다. 연결제약조건 최대이중화연결은하나의알티베이스데이타베이스에 32 개이다. 예제 이중화이름을 rep1 이라고가정하고이중화를시작하는질의는다음 3 가지중한가지를선택할수있다. < 질의 > 지역서버의데이타를원격서버로전송한후이중화를시작하라. isql> ALTER REPLICATION rep1 SYNC; Alter success. < 질의 > 가장최근의마지막 rep1 이중화시점부터 rep1 이중화를시작하라. isql> ALTER REPLICATION rep1 START; Alter success. < 질의 > 현재부터이중화를시작하라. isql> ALTER REPLICATION rep1 QUICKSTART; Alter success. 이중화이름을 rep1 이라고가정하고이중화테이블을삭제한다. < 질의 > 이중화테이블 employee 를삭제하라. isql> ALTER REPLICATION rep1 STOP; Alter success. isql> ALTER REPLICATION rep1 DROP TABLE FROM sys.employee TO sys.employee; Alter success. 이중화이름을 rep1 이라고가정하고이중화할테이블을추가한다. < 질의 > 이중화할테이블 employee 를추가하라. isql> ALTER REPLICATION rep1 STOP; Alter success. isql> ALTER REPLICATION rep1 ADD TABLE FROM sys.employee TO sys.employee; Alter success. 76 ALTIBASE5 SQL User s Manual

89 이중화이름을 rep1 이라고가정하고이중화를중지하는질의이다. < 질의 > 이중화를중지하라. isql> ALTER REPLICATION rep1 STOP; Alter success. 데이터정의어 77

90 ALTER SEQUENCE 구문 alter_sequence ::= 전제조건 SYS 사용자이거나시퀀스가사용자의스키마에속하거나시퀀스에대해 ALTER 객체접근권한을가지거나또는 ALTER ANY SEQUENCE 시스템권한을가진사용자만이시퀀스를변경할수있다. user_name 시퀀스생성 (CREATE SEQUENCE) 후시퀀스의정의를변경하는문으로메타내해당시퀀스의정의가변경된다. CREATE SEQUENCE 참고한다. 78 ALTIBASE5 SQL User s Manual

91 seq_name INCREMENT BY MAXVALUE MINVALUE CYCLE CACHE 변경될시퀀스의소유자이름을명시한다. 생략하면알티베이스는현재세션에연결된사용자의스키마에속한것으로간주한다. 변경될시퀀스이름을명시한다. 시퀀스값의증감분 시퀀스의최대값 시퀀스의최소값 시퀀스가 MAXVALUE 또는 MINVALUE 한계에도달하면해당시퀀스의추가값을할당하기위하여오름차순시퀀스인경우는 minimum value 를내림차순시퀀스인경우는 maximum value 를생성한다. 해당시퀀스값을더빠르게액세스하기위하여명시된값만큼시퀀스값들을메모리에캐시한다. 캐시는시퀀스를처음참조할때채워지며다음에시퀀스값을요청할때마다캐시된시퀀스에서검색된다. 마지막시퀀스를사용한이후의시퀀스요청은시퀀스의다른캐시를메모리로가져온다. 시퀀스생성시기본값은 20 이다. 주의사항 시퀀스정의변경의경우이미시퀀스생성이후이므로 START WITH 절을사용할수없다. 예제 * CREATE SEQUENCE 참조한다. < 질의 > 시퀀스 seq1 을최소값 0, 최대값 100 을가지고 1 씩증가하도록변경하라. isql> ALTER SEQUENCE seq1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 100; Alter success. 데이터정의어 79

Altibase SQL Manual

Altibase SQL Manual ALTIBASE Application Development SQL User s Manual Release 5.1.5 ----------------------------------------------------------- ALTIBASE Application Development SQL User s Manual Release 5.1.5 Copyright c

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 5.3.3.93 Patch Notes Table of Contents BUG-27950 ALL PRIVILEGES 권한을가진계정이다른계정의테이블에 Foreign Key 를 생성하지못한다. 3 BUG-38105 PASSWORD_LIFE_TIME 경과후유예기간 (PASSWORD_GRACE_TIME) 내에 접속을시도할경우알림메시지를발생해야한다.

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Altibase Stored Procedure Manual

Altibase Stored Procedure Manual ALTIBASE HDB Application Development C/C++ External Procedures Manual Release 6.3.1 (April 16, 2015) ----------------------------------------------------------- ALTIBASE Application Development C/C++ External

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

TITLE

TITLE CSED421 Database Systems Lab MySQL Basic Syntax SQL DML & DDL Data Manipulation Language SELECT UPDATE DELETE INSERT INTO Data Definition Language CREATE DATABASE ALTER DATABASE CREATE TABLE ALTER TABLE

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

Altibase Starting User's Manual

Altibase Starting User's Manual ALTIBASE HDB Tools & Utilities Altibase Hadoop Connector User's Manual Release 6 (April 17, 2015) ----------------------------------------------------------- ALTIBASE Tools & Utilities Altibase Hadoop

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) SECTION 03 데이터조작어 (DML) 3-1 데이터검색 (SELECT)

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.3.1.10.6 Patch Notes 목차 BUG-45060 offline replication start 와 replication drop 을동시에수행하는경우, replication start 가완료되지않았으면 replication drop 을수행하지못하도록수정하였습니다... 4 BUG-46193 메모리테이블의이중화병렬 sync

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

ALTIBASE XDB Release Note APRIL 22, 2014

ALTIBASE XDB Release Note APRIL 22, 2014 6.1.3 Release Note APRIL 22, 2014 목차 목차... 2 1. 시스템요구사항... 3 2. 릴리스정보... 4 2.1 6.1.3의주요기능... 4 2.2 변경사항... 8 데이터베이스버전... 8 호환성... 8 프로퍼티... 8 성능뷰... 8 에러메시지... 8 2.3 패키지... 9 2.4 다운로드... 10 위치... 10 설치...

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint - QVIZMVUMWURI.pptx 데이타베이스시스템 2011.03 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) Chap. 4 SQL 질의어 C4 2 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4 3 SQL

More information

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)- 1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다. 1.2.1 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-1 연산범위이유 : 00000000 00000000 00000000 00000000의 32

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUERY 을실행하게된다면 BLOCK I/O 가많이발생하게된다. 이런이유로 QUERY 의성능은좋지못할것이다.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx 05-01 SQL의소개 SQL을이용한데이터정의 SQL을이용한데이터조작 뷰 삽입 SQL 학습목표 SQL의역할을이해하고, 이를기능별로분류해본다. SQL의데이터정의기능을예제를통해익힌다. SQL의데이터조작기능을예제를통해익힌다. 뷰의개념과장점을이해한다. 삽입 SQL의역할을이해한다. 2 01 SQL 의소개 SQL (Structured Query Language) 의미

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

Microsoft Word - Altibase5_New Feature

Microsoft Word - Altibase5_New Feature Real Alternative DBMS ALTIBASE Altibase 5: 새로운기능 (New Features) 알티베이스기술백서 2008 년 6 월 목 차 고성능의데이터베이스관리... 3 휘발성테이블스페이스...3 파티션드테이블...3 효과적인대용량데이터지원... 4 사용자메모리테이블스페이스...5 LOB 타입...5 Spatio-Temporal DBMS...6

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

Microsoft Word - ALTIBASE_백서_새로운 기능_New Features__Korean_FINAL

Microsoft Word - ALTIBASE_백서_새로운 기능_New Features__Korean_FINAL Real Alternative DBMS ALTIBASE ALTIBASE 5 : 새로운기능 (New Features) 알티베이스기술백서 2008년 6월 목 차 고성능의데이터베이스관리... 3 휘발성테이블스페이스...3 파티션드테이블...3 효과적인대용량데이터지원... 4 사용자메모리테이블스페이스...5 LOB 타입...5 Spatio-Temporal DBMS...6

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Altibase Installation Manual

Altibase Installation Manual ALTIBASE HDB Application Development Windows ODBC Driver Installer User s Guide Release 6.3.1 (April 17, 2015) ----------------------------------------------------------- ALTIBASE Application Development

More information

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7 ( 참 ) 본상단부머리말에있는 Data Mart 는본문서작성자의블로그이름입니다 dd 명령어를 이용한백업수행 최소개념이해 본문서의 pdf 문서는다음 URL 참조 http://mindata.tistory.com/55 Version 변경일자 ( 작성일자 ) 변경자 ( 작성자 ) 주요내용 1 2013.4.3 김민기 최초작성 2 3 페이지 1 / 7 Contents

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070> /* */ /* LZWIN.C : Lempel-Ziv compression using Sliding Window */ /* */ #include "stdafx.h" #include "Lempel-Ziv.h" 1 /* 큐를초기화 */ void LZ::init_queue(void) front = rear = 0; /* 큐가꽉찼으면 1 을되돌림 */ int LZ::queue_full(void)

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

90

90 89 3 차원공간질의를위한효율적인위상학적데이터모델의검증 Validation of Efficient Topological Data Model for 3D Spatial Queries Seokho Lee Jiyeong Lee 요약 키워드 Abstract Keywords 90 91 92 93 94 95 96 -- 3D Brep adjacency_ordering DECLARE

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information