< 그림 1> 타입상속의예제 Person_T 이아닐경우에는첫번째입력인자를반환하고, 나의상위타입에서하나이상의하위타입은정의할수있다. 이들 해당함수에맞지않는경우에는두번째표현식에대해평가를계속하게된다. 즉, NULL이면 타입사이의상 / 하위관계를타입계층구조 (type hiera

Size: px
Start display at page:

Download "< 그림 1> 타입상속의예제 Person_T 이아닐경우에는첫번째입력인자를반환하고, 나의상위타입에서하나이상의하위타입은정의할수있다. 이들 해당함수에맞지않는경우에는두번째표현식에대해평가를계속하게된다. 즉, NULL이면 타입사이의상 / 하위관계를타입계층구조 (type hiera"

Transcription

1 오라클9i에서는객체지향개념과관련해한걸음더나아가상속 (Inheritance), 타입진화 (Evolution), 멀티레벨컬렉션등의기능을지원한다. 특히상속개념은오라클9i를진정한의미의객체관계형 DBMS로자리잡게만들었다. 이글에서는개발자가오라클9i를기반으로새롭게개발할경우프로그램내부에추가로코딩할필요가없어진기능에대해알아본다. 장세국한국오라클 DB 기술팀장 개발자를위한오라클 9i 의새로운기능 2 XML 과객체지향으로 날개단오라클 9i 개발환경 오 라클8i를인터넷데이터베이스라할수있었던이유는 ( 운영체제의 JVM과별도의 ) JVM을 DB에내장, EJB를이 용해애플리케이션의프리젠테이션과비즈니스로직을분리해보다효율적인 e비즈니스애플리케이션을구축할수있었기때문이다. 오라클9i에는여기서한단계더나아가 XML, 객체지향개념, 데이트타임 (datetime) 을강화해한층융통성있는 e 비즈니스애플리케이션을개발할수있도록지원한다. 기업의비즈니스가단지고객만을대상으로하는데에서벗어나 B2B, 국내시장에서벗어나일본과중국시장, 더나아가전세계로확대하기에이르렀다. 오라클9i에는이러한고객의요구를충족시킬수있는여러기능이새롭게추가돼개발자가보다쉽게애플리케이션을개발할수있게됐다. 시장확대를위해이중으로데이터베이스를구축할필요가없도록하나의데이터베이스에서지역적으로또는시간적으로떨어진고객에게도 24시간서비스할수있는기능이추가됐다. 일례로서 XML 문서자체를데이터베이스의한컬럼으로저장시켜 XPATH를이용해다양하게검색할수있는방법을들수있다. 또는전세계 57개언어, 88 지역, 200여개의문자셋을하나의필드에저장해통합지원, 개발을가능케했다. ANSI/ISO SQL 오라클9i는 ANSI/ISO SQL:1999 표준을수용한기능을제공한다. 가장대표적인것으로조인, CASE 표현식, 문장, 스칼라서브쿼리, 명시적디폴트등을들수있다. 이에따라기존코드를수정하지않고응용프로그램을이전할수있다. 또한 ANSI/ISO 표준을지원하기때문에다른데이터베이스로부터마이그레이션이쉽다. SQL문에서 CASE 표현방법은네가지가있다. 간단한 CASE 표현식, 검색 CASE 표현식, COALESCE 함수, NULLIF 함수가그것이다. 이가운데간단한 CASE 표현식은오라클 8.1.7부터제공했으며, 나머지는오라클9i에새로추가된것이다. 또한 CASE 표현식은 PL/SQL에서도지원하며표현식과문장으로분류된다. 간단한 CASE 표현식이것은오라클9i 이전의서버에서제공하던 DECODE 문장과유사하며, 주어진표현식에서검색하거나값을치환하는데사용할수있다. 또각각의검색값에대해반환되는값을명시할수있으나비교연산자는허용되지않는다. EMP 테이블에서각사원의근속년수를구하고이를화면에출력하는 SQL문과출력결과는다음과같다. SQL> SELECT ename, 2 (CASE EXTRACT(YEAR FROM hiredate) 3 WHEN 1982 THEN 3 years service 4 WHEN 1981 THEN 5 WHEN 1980 THEN 5 years service 6 END) AS Award for FROM emp 8 WHERE EXTRACT(YEAR FROM hiredate) IN (1982,1981,1980) 9 ORDER BY hiredate; 앞의간단한 CASE 표현식에대한출력결과는다음과같다. E Award for SMITH 5 years service ALLEN WARD JONES BLAKE CLARK TURNER MARTIN KING JAMES FORD MILLER 3 years service 12 rows selected. 검색 CASE 표현식검색 CASE 표현식은 IFTHEN ELSE 구조와유사하며, 표현식내에서조건에따른검색과값을치환하는데사용할수있다. 각 WHEN 조건은논리적연산자 (AND, OR 등 ) 와결합돼사용할수있으며, 조건표현식에서비교연산자를사용할수있다. 따라서간단한 CASE 표현식보다는유연하다. 예를들어 EMP 테이블에서 Sal 컬럼의범위에따른영역을표현하는 SQL문과결과는다음과같다. SQL> SELECT empno, ename,(case 2 WHEN sal >= 5000 THEN High Sal 3 WHEN sal >= 3000 AND sal < 5000 THEN Middle Sal 4 WHEN sal >= 1000 AND sal < 3000 THEN Average Sal 5 WHEN sal < 1000 THEN Low Sal 6 END) AS Sal_Category 7 FROM emp; EMPNO E SAL_CATEGORY SMITH Low Sal 7499 ALLEN Average Sal 7521 WARD Average Sal 7566 JONES Average Sal 7654 MARTIN Average Sal 7698 BLAKE Average Sal 7782 CLARK Average Sal 7788 SCOTT Middle Sal 7839 KING High Sal 7844 TURNER Average Sal 7876 ADAMS Average Sal 7900 JAMES Low Sal 7902 FORD Middle Sal 7934 MILLER Average Sal COALESCE 함수 COALESCE 함수는오라클의 NVL 함수를일반화한것이다. CASE문이포함된 SQL문에서 COALESCE 함수를사용할때해당함수의작업처리방법을보면첫번째입력인자가 NULL 210 m i c r o s o f t w a r e

2 < 그림 1> 타입상속의예제 Person_T 이아닐경우에는첫번째입력인자를반환하고, 나의상위타입에서하나이상의하위타입은정의할수있다. 이들 해당함수에맞지않는경우에는두번째표현식에대해평가를계속하게된다. 즉, NULL이면 타입사이의상 / 하위관계를타입계층구조 (type hierarchy) 라한다. 단일상속모델에서는타입계층구조는트리구조가된다. 타입 Student_T Emp_T 해당함수의첫번째정의된입력인자를반환 계층구조의최상위타입을루트타입 (root type) 이라한다. 다음의 ( 여기서반환은검색이나정의된값으로지정돼 < 그림 1> 은 Person_T 를루트타입으로하는타입계층구조예를보 Prof_T 조회 ) 한다. 예를들어, EMP 테이블에서 여주고있다. COMM 컬럼의값이 NULL 인지검사하는 SQL 문은다음과같다. SQL> SELECT ename, COALESCE(comm, NULL ) 2 FROM emp; CASE WHEN expression1 = expression2 THEN NULL ELSE expression1 END CASE ; FINAL vs. NOT FINAL 특정타입을 NOT FINAL로선언하면이타입에서상속을통해하위타입을생성할수있다. 그러나, 특정타입을 FINAL로선언하면이타입으로부터는상속이불가능하다. < 그림 1> 에서타입 Person_T + 연산자의경우피연산자가정수인경우와실수인경우계산방식이다른데, 이는 + 연산자의의미가오버로딩된것이다. 객체관계형 DB 의완성을위한상속 는 NOT FINAL 로선언됐기때문에하위타입을생성할수있어 다이내믹메쏘드디스패치 NULLIF 함수와유사하게 CASE 표현식으 관계형 DBMS 를사용하는애플리케이션의범위가기존의정형화 Student_T 타입을정의할때 FINAL 로선언했다면 Student_T 에 다음과같은 Person_T 타입변수가있다고가정 로나타내면다음과같다. 된데이터에서점점더다양하고복잡한데이터를필요로하는영 서는하위타입을생성할수없다. 타입선언은디폴트로 FINAL 로 하다. 역으로확장되고있다. 이에따라 DBMS 는멀티미디어데이터인 지정된다. CASE WHEN expression1 IS NOT NULL THEN expression1 ELSE expression2 텍스트, 이미지, 오디오, 비디오등과같은멀티미디어데이터에대한처리부터 CAD, CAM, CASE 등의복합객체, 그리고반구조 NOT INSTANTIABLE 타입과메쏘드 person Person_T; END CASE; 적데이터인 XML, 메시지, 다양한도큐먼트포맷등을처리해야 일반적으로타입을정의하고이타입에서객체를생성할수있다. 상속의개념에따르면, 이변수에는다음과같 한다. 그런데타입선언시에 NOT INSTANTIABLE 로지정하면해당타 이, Person_T 의객체뿐만아니라, 하위타입인 NVL 함수에비해 COALESCE 함수의장점 이와같이복잡한데이터를 DB 에저장, 관리할수있는기능을 입의객체를생성할수없다 (C++ 언어의추상클래스와개념이 Student_T 의객체도할당 (assign) 될수있다. 은여러대체값을취할수있다는것이다. 예를 효과적으로지원하기위한해답으로서많은 DBMS 업체는객체지 동일하다 ). NOT INSTANTIABLE 타입의목적은하위타입에공 들어, 첫번째입력인자가 NULL일경우에는나머지표현식에대해 COALESCE를계속적 향개념을도입했다. 오라클도오라클 8.0부터객체, 객체뷰, 메쏘드, 복합객체, 컬렉션등객체지향관련개념을지원해오고있다. 통으로필요한멤버와메쏘드를정의해두고, 하위타입에서는이들멤버와멤버함수를상속받아사용하는데있다. 타입선언은디폴트 person := Person_T(); /* Person_T 객체 */ person.print(); person := Student_T(); /* Student_T 객체 */ 용할수있다. 객체지향개념을지원함으로써오라클데이터베이스에서객체개 로 INSTANTIABLE 이다. 이와유사하게특정메쏘드의경우에각 person.print(); 념을모델링할수있고, 멀티미디어와 XML 등의데이터를지원할 각의하위타입에서구현이제각각다른경우에는해당멤버함수를 NULLIF 함수 수있다. 특히확장프레임워크를통해새로운타입의데이터와이 NOT INSTANTIABLE 하게선언해두고, 각각의하위타입에서자 그런데앞에서설명한메쏘드오버라이딩의 NULLIF 함수의경우첫번째입력인자와두 에대한연산을추가할수있다. 신에맞는메쏘드를구현해야한다. 결과로처음 print() 메쏘드는 Person_T 의메쏘 번째입력인자가같은경우에는 NULL 을반환 드가수행돼야하고, 두번째 print() 메쏘드는 하고, 그렇지않을경우에는첫번째입력인자의 타입, 서브타입, 타입계층구조에대한상속 메쏘드오버라이딩과메쏘드오버로딩 Studnet_T 에서재정의한메쏘드가수행되어야 값을반환한다. 예를들어, EMP 테이블의사원 타입은자신의멤버와메쏘드 (member function 과 member 사용자는상위타입에서상속받은메쏘드를자신의타입에맞도록 한다. 즉, person 변수에할당되는객체의타입 중 Sal 컬럼값이 5000 인사람에대해 NULLIF procedure) 를갖는다. 하나의타입 T1 에서상속을통해새로운타 재정의할수있는데, 이를 메쏘드오버라이딩 이라한다. < 그림 1> 에따라실행할때동적으로수행할메쏘드를결 함수를적용하는 SQL 문과결과는다음과같다. 입 T2 를정의할수있다. 이때 T1 을 T2 의상위타입 (supertype), 에서 Person_T 에 print() 라는메쏘드가정의돼있는데, Student_T 정해야한다. 이과정을다이내믹메쏘드디스패 T2 를 T1 의하위타입 (subtype) 이라한다. 하위타입은상위타입의 에서는이 print() 메쏘드에 Student_T 에서정의된멤버의정보를 치 (dynamic method dispatch) 라한다. 이는 SQL> SELECT ename, sal 2 FROM emp 3 WHERE NULLIF(sal, 5000) IS NULL; 모든멤버와메쏘드를상속받는다. 또한, 하위타입에서추가로자신의멤버와메쏘드를정의할수있다. 추가적으로출력할필요가있다. 이때는 print() 메쏘드를자신의타입에맞도록재정의해야한다. 반면, 상위타입에서상속받은메쏘 C++ 언어의가상함수 (virtual function) 와비슷한개념으로, 프로그래밍언어분야에서는이 오라클 9i 는하나의상위타입에서상속받은단일상속 (single 드와이름은같지만인자의타입이다른메쏘드를정의할수있다. 과정을다이내믹메쏘드바인딩 (Dynamic 만약 NULLIF 함수를 CASE 표현식으로나 inheritance) 만을가질수있다. 즉, 둘이상의상위타입에서상속하 이를 메쏘드오버로딩 이라한다. 즉, 하나의메쏘드이름에대해 Method Binding) 이라고한다. 타내면다음과같다. 는다중상속 (multiple inheritance) 은지원하지않는다. 그러나하 인자의타입에따라서로다른메쏘드가불려지게된다. 예를들어, 212 m i c r o s o f t w a r e

3 < 그림 2> 타입진화를위한샘플스키마 타입계층구조 하위타입생성 < 리스트 1> 은 < 그림 1> 의 Person_T 타입과 Student_T 타입의상속을통해생성한예다. < 리스트 1> 은앞에서설명한상속과관련한개념을표현하고있다. < 리스트 2> 의 CREATE TYPE Student_T 부분을살펴보면 Student_T 언됐다. 또한 Student_T의메쏘드 foo() 는 Person_T에서상속받은 foo() 의오버라이딩이며, Student_T의메쏘드 foo(x, y ) 는상속받은 fod(x ) 에대한오버로딩이다. 두타입에정의된메쏘드의역할은다음과같다. age() 는출생년도부터나이를계산해리턴하며, Person_T::foo(x NUM BER) 는 (x+1) 을리턴하고, Student_T::foo(x ) 는 (x-1) 을리턴, 와메쏘드 AGE를상속하고, Student_t의 FOO(x) 는오버라이딩, FOO(x,y) 는오버로딩이다. 메쏘드오버로딩이제메쏘드오버로딩에대해알아보자. Student_T에는 foo라는같은이름을가진두개의메쏘드가정의돼있다. 이제다음과같은 Person_T Student_T Type Inheritance View of 객체테이블 Person 뷰계층구조 Person_V Student_V 는 Person_T 의하위타입이며 Person_T 는 NOT 그리고 Student_ T::foo(x, y ) 는 (x+y) 를 PL/SQL 문을수행하면각각 2, 3 의결과를수행해야한다. 즉, 인 View Inheritance Student FINAL 로선언됐고, Student_T 는 FINAL 로선 리턴한다. 자의개수와타입에따라서로다른 foo 메쏘드가호출돼야한다. < 리스트 1> Subtype 생성 CREATE TYPE Person_T AS OBJECT ( name, address, birth_year, FINAL MEMBER FUNCTION age RETURN, MEMBER FUNCTION foo(x ) RETURN 멤버와메쏘드상속이와같이 Person_T와 Student_T를생성하고 desc Student_T 명령을이용해서 Student_T에대한정보를조회하면 < 리스트 2> 를볼수있다. 이와결과에서다음과같은사실을알수있다. Student_t는 Person_t의하위타입이며, Person_t의멤버,, DECLARE student Student_T; student := student_t( Carey, Proper Street 3, 1982, 500, Chemistry ); dbms_output.put_line( Foo(x ).: student.foo(1). ); dbms_output.put_line( Foo(x, y ). : student.foo(1,2). ); < 리스트 3> 타입변경을위한스키마생성 /* Type Hierarchy */ SQL> CREATE TYPE Person_T AS OBJECT 2 ( name, 3 address, 4 birth_year, 5 FINAL MEMBER FUNCTION age RETURN, ) NOT FINAL; 6 MEMBER FUNCTION foo(x ) RETURN CREATE OR REPLACE TYPE BODY Person_T IS < 리스트 2> 멤버와메쏘드조회결과 이때결과는다음과같다. 7 ) NOT FINAL; FINAL MEMBER FUNCTION age RETURN IS RETURN birth_year; student_t extends SCOTT.PERSON_T Foo(x ). :0. Foo(x, y ). :3. SQL> CREATE OR REPLACE TYPE BODY Person_T IS SQL> CREATE TYPE Student_T UNDER Person_T 2 ( deptid, MEMBER FUNCTION foo(x ) RETURN IS RETURN (x + 1); 지금까지오라클9i에서새로제공하는상속의개념과사용법에대해알아봤다. 3 major, 4 OVERRIDING MEMBER FUNCTION foo(x ) RETURN ); SQL> CREATE OR REPLACE TYPE BODY Student_T IS CREATE TYPE Student_T UNDER Person_T ( deptid, FINAL MEMBER FUNCTION AGE RETURNS 객체관계형 DB 지원을위한타입진화타입진화 (Type Evolution) 는객체타입에변경하는작업을일컫는다. 오라클9i 이전에는타입에새로운메쏘드를추가하는연산을 /* Object Tables */ SQL> CREATE TABLE Person of Person_T (name PRIMARY KEY); SQL> CREATE TABLE Student of Student_T; major, OVERRIDING FINAL MEMBER FUNCTION foo(x ) RETURN, MEMBER FUNCTION foo(x, y ) RETURN ); MEMBER FUNCTION FOO RETURNS 허용했다. 오라클9i에서는타입상속개념을지원하면서, 이타입계층구조의타입에대한다양한변경작업을지원한다. 즉, 타입진화기능을제공한다. 타입상속은순수객체지향 DBMS에서도이 SQL> INSERT INTO Person VALUES( Andy, Alington Street 1, 1980); SQL> INSERT INTO Student VALUES( Bob, Berkeley Street 2, 1978, 1000, Comp. Science ); CREATE OR REPLACE TYPE BODY Student_T IS OVERRIDING FINAL MEMBER FUNCTION foo(x ) RETURN IS RETURN (x - 1); Argument Name Type In/Out Default? X IN 와유사한기능을제공하는데주로스키마진화 (Schema Evolution) 라는용어를사용하고있다. 이타입진화기능은특히 ERP, 공간데이터 (Spatial Data), 멀티미디어응용분야에서많이요구되고 /* Object View Hierarchy */ SQL> CREATE VIEW Person_V of Person_T WITH OBJECT ID (name) 2 AS MEMBER FUNCTION foo(x, y ) RETURN IS RETURN (x + y) MEMBER FUNCTION FOO RETURNS Argument Name Type In/Out Default? X IN Y IN 있다오라클9i부터지원하는타입변경오퍼레이션은애트리뷰트추가 / 삭제, 메쏘드추가 / 삭제, Built-in 타입애트리뷰트속성 ( 길이, 자리수등 ) 변경, 타입 FINAL/INSTANTIABLE 속성변경, 타입변경과의존스키마객체 (Dependent Schema Objects) 등을들수 3 SELECT name, address, birth_year 4 FROM Person; SQL> CREATE VIEW Student_V of Student_T UNDER Person_V 2 AS 3 SELECT * 4 FROM Student; 214 m i c r o s o f t w a r e

4 있다. 특정타입을직간접으로참조하고, 해당 하겠다. 이샘플스키마는 Type Hiearchy, Object Tables, View XML 타입 time with time zone, 타임스탬프, 타임스탬프 타입변경에영향을받는모든스키마객체를 Hiearchy 를보여준다. 오라클 9i 에서 XML 타입이라는새로운데이터타입을제공한다. with time zone 등 5 개의타입으로, 이들중에 dependent 객체 라한다. 여기에서는다음샘 다음의 < 리스트 3> 은앞의 < 그림 2> 에해당하는스키마생성스크 XML 타입은 XML 문서를 CLOB 처럼저장하며, 컨테인오퍼레이 서 time, time with time zone 을제외한타입을 플스키마를대상으로타입변경의내용을설명 립트다. 앞의샘플스키마의 Person_T 에예를들어다음과같이주 터 (Contains operator) 와 XPath-like syntax 를사용해오라클 9i 지원하며오라클만의데이트타임타입으로 time < 리스트 4> 타입변경결과확인 민등록번호를추가하는타입변경을가정해보자. Text(interMedia Text) 인덱스를사용할수있다. 현재버전에서는서버에서만 PL/SQL, SQL을사용해 XML타입을이용할수있으 stamp with local time zone이있다. 인터벌타입에는 13개가있으나그중에서오라클은 inter SQL> desc Person_T person_t is NOT FINAL ALTER TYPE Person_T ADD ATTRIBUTE(ssn ) CASCADE; 앞에서옵션 CASCADE 는현재의타입변경의효과를 depen 며아직은 CLOB로만저장되지만, 추후에는 BLOBs, NCLOBs 등으로확장될것이다. < 리스트 5> 는 XML타입컬럼을가진테이블에 XML 문서를삽입하고, extract(), existsnode(), getclobval(), getstringval() 과같 val year to month, interval day to second 타입만지원한다.. dent 객체 에바로적용하라는의미다. 앞의타입변경결과로 Per son_t, Student_T 타입객체, Person, Student 테이블에 ssn 항목이추가됐음을 < 리스트 4> 에서확인할수있다. 은기능을사용해 XML 문서를읽는예제이다. < 리스트 5> 와같이데이터베이스테이블의특정컬럼을 XML타입으로선언해놓고이필드에 XML 문서전체를그대로저장할수 < 리스트 5> 테이블에 XML 문서저장및읽기 SQL> CREATE TABLE po_tab ( 2 pono number primary key, SQL> desc Student_T Student_T extends SCOTT.PERSON_T 그리고다음에서처럼 Person 테이블을검색해보면로우객체단위에서도 ssn 애트리뷰트가추가됐음을알수있다 (Student 테이블도마찬가지임 ). 있으며, 추후 XPATH를이용해문서의전체나일부의하위구조만을검색할수있다. 그러므로 XML을이용한애플리케이션을개발할경우개발자는더이상애플리케이션내부에 XML을분석할필요가없어졌다. 단순한 SQL만을이용해쉽게 XML 문서를저장하 3 orderdate date, 4 poxml sys.xmltype); (100, TO_DATE( February 07, 2001, Month dd, YYYY ), sys.xmltype.createxml SQL> select * from person; Andy Alington Street (NULL) 거나쿼리할수있다. 데이트타임과인터벌 ( <?xml version= 1.0?><PO pono= 100 > <PO>PO_1</PO> </PO> )); XML 지원강화인터넷에서일어나는모든정보교환의표준으로서, XML의역할 오라클9i의모든데이트타임데이터타입 (datetime datatype) 과인터벌데이터타입 (interval datetype) 은 ANSI SQL 99 표준과순응한다. 이를위해데이트타임데이터타입으로는타임스탬프, timest (200, TO_DATE( February 07, 2001, Month dd, YYYY ), sys.xmltype.createxml ( <?xml version= 1.0?><PO pono= 200 ><PO>PO_2</PO></PO> )); SQL> desc Person NOT NULL 이점점더커지고있다. XML은옵션이아니라대세 란말을쉽게들을수있다. 따라서데이터베이스에서 XML을읽고쓰고기존애플리케이션에 XML 데이터를통합할수있는기능은필수적이다. 이러한 XML을다른데이터타입처럼쉽게다룰수있게도와주는 amp with time zone, timestamp with local time zone 타입이, 인터벌데이터타입으로는 interval year to month, interval day to seco nd 타입이추가됐다. 이글에서는새롭게추가된데이터타입의사용예와오라클9i에추가된데이트관련기능의사용예를알아보자. (300, TO_DATE( February 07, 2001, Month dd, YYYY ), sys.xmltype.createxml ( <?xml version= 1.0?><PO pono= 300 ><PO> 한글 </PO></PO> )); SQL> select e.poxml.getclobval() from po_tab e; 것이 XML 디벨로퍼킷이다. 오라클9i 또한몇개의컴포넌트가추가됐으며기존의컴포넌트기능도향상됐다. 가장큰변화는 XML 스키마 1.0을지원하는것인데새로운컴포넌트는 XML 스키마프 ANSI SQL:99는데이트타임과인터벌에대한타입으로총 18 개의타입을제시했다. 데이트타임데이터타입으로는 date, time, E.POXML.GETCLOBVAL() <?xml version= 1.0?><PO pono= 100 ><PO>PO_1</PO></PO> <?xml version= 1.0?><PO pono= 200 ><PO>PO_2</PO></PO> SQL> desc Student 로세서와 XDK 자바빈즈 (DBAccess Class, DBViewer Bean) 다. 또한오라클9i에서가장눈에띄는기능으로새롭게추가된데이터타입으로 XML타입을들수있다. XDK는현재웹사이트 (http: //otn.oracle.co.kr) 에서무료로다운받을수있으며, 여러샘플을해당사이트에서접할수있을것이다. 여기에서는오라클9i에 XML을특정데이터타입으로저장할수있는기능인 XML타입 (XMLTYPE) 에대해알아보자. < 표 1> 데이트타임필드와값 Datetime Field 올바른값 Year (0의값은가질수없다 ) Month 01 to 12 Day 01 to 31 Hour 00 to 23 Minute 00 to 59 Second 00 to 59.9(N), 소수점아래 9자리까지가능 Timezone_Hour( 시간대를 GMT와의 -12 to 13 차이시간으로나타낼때쓰이는값 ) Timezone_Minute 00 to 59 <?xml version= 1.0?><PO pono= 300 ><PO> 한글 </PO></PO> SQL> select e.poxml.extract( /PO/PO ).getclobval() 2 from po_tab e 3 where e.poxml.existsnode( /PO/@pono ) = 1 and 4 e.poxml.extract( /PO/@pono ).getstringval() = 100 and 5 e.poxml.extract( /PO/PO ).getstringval() like %PO% ; E.POXML.EXTRACT( /PO/PO ).GETCLOBVAL() <PO>PO_1</PO> 216 m i c r o s o f t w a r e

5 데이트타임데이터타입 타임스탬프 타임존과같이사용한타임스탬프 사용될수있는 alter session set time_zone = 타임스탬프, timestamp with time zone, 타임스탬프 (timestamp) 타입은테이트타입의확장형이다. 이는 이타입은해당데이트타임이어느시간대에속하는지에대한정보 local 에서 local 도이값이사용된다. ORA_SDTZ timestamp with local time zone 이세가지데 연, 월, 날짜에덧붙여시간, 분, 초의정보를갖고있다. 초밑에소 가있다는것을제외하면타임스탬프타입과같다. 시간대정보는 에이용될수있는값은 OS 의로컬타임존을나 이터타임타입모두연, 월, 날짜, 시간, 분, 소수 수점아래몇자리까지나타낼것인지는선언할때정의해준다. 다 +09:00 과같이 GMT 와의시간차로나타내거나 US/Pacific 처럼 타내는 OS_TZ, 데이터베이스의시간대를나타 점아래초와같은시간정보를갖고있다. 이러 음예제에서는소수점아래 5 자리까지나타낸다. 이값을명시하지 시간대의이름으로나타낸다. 또한 PST 와같이약어를사용할수 내는 DB_TZ, 그리고예제에서와같이 offset 으 한정보는의미있는값을가져야하며이각각의 않으면기본으로 6 자리까지나타낸다. 있다. 우리가사용하고있는시간대의경우그이름은 Asia /Seoul 로나타내는방법세가지가있다. 이는항상명 정보가가질수있는값은 < 표 1> 과같다. 이며시간대의이름으로가능한값은 v$timezone_names 의 시적으로세션의시간대정보를설정하기위해 이각각의데이트타임타입은모두 < 표 1> 의 SQL> create table 타임스탬프 _test( 타임스탬프 _a 타임스탬프 (5)) ; tzname 의값을참조하면된다. 사용될수있으며이환경변수가설정돼있지 필드값을갖으나그차이점은타임존 (time 않으면시스템의시간대정보를그대로이용한 zone) 정보를갖고있느냐이다. 즉, 갖고있다면 타임스탬프타입과데이트타입의차이는먼저단순한디스플레 SQL> select sys 타임스탬프 from dual ; 다. local 도시스템의시간대정보값을가진다. 어떠한형태로갖고있느냐의차이다. 이에서난다. 데이트타입은데이트포맷을 to_char 함수를사용해 SYS 타임스탬프 변환시켜사용하지않는경우는단순히연, 월, 날짜에대한정보만나타낼수있다. 그리고가장큰차이점은데이트타입은 -- 01/04/10 17:09: :00 타임존과타임스탬프의활용분야세계가하나의커다란네트워크로묶여나감에 < 리스트 6> 로컬타임존의예 to_char 함수를이용해도초정보서소수점아래 0부터 60 까지의값만나타낼수있는데반해타임스탬프타입은소수점아래정보 이결과는 GMT(UTC) + 9 시간대임을의미한다. 따라여러언어의고객을지원하는것은매우중요한일이되고있다. 이는시간정보를저장하 SQL> desc date_test2 까지나타낼수있다. 그럼다음의예제에서기존에제공하던데이 는데있어서도매한가지이다. 새롭게추가된데 TIMESTAMP(6) WITH LOCAL TIME ZONE 트데이터타입과오라클9i에새롭게추가된타임스탬프의차이를비교해보자. 다음은기존에제공하던데이트데이터타입을사용한예제다. 로컬타임존의타임스탬프이타입은타임스탬프의하나의변형으로내부적으로타임존 (timezone) 정보를갖고있다. 이타입이 timestamp with time 이트타임타입은좀더유용한시간관련연산을할수있도록하고있다. 시간대정보를저장하고시간차정보를저장할수있게된것이다. 오 SQL> select * from date_test2 ; zone 과차이가있다면타임존정보를직접적으로컬럼의일부로저 라클 9i 를사용하면전세계를지원하는사이트의 -- 01/04/09 16:54: /04/16 00:00: SQL> select sessiontimezone from dual ; SESSIONTIMEZONE - +09:00 SQL> select sysdate from dual ; SYSDATE -- 01/04/10 SQL> select to_char(sysdate, YY-MM-DD HH:MM:SS AM ) from dual TO_CHAR(SYSDATE, YY-MM :04:45 오후 장하는것이아니라데이터베이스세션정보를이용한다. 그래서데이터베이스세션정보의타임존정보를수정하면전체데이터또한같이수정된다. 그럼 < 리스트 6> 을통해직접확인해보자. 앞의예제에서보면 +09:00 시간대에서는 01/04/09 16:54: 값을가진데이터가 US/Pacific(-08:00) 시간대에서는 01/04/09 00:54: 으로변한다. 참고로 sessiontimezone 은세션의시간대정보를리턴하는값이다. 세션의시간대정보를바꾸기위해서는 alter session set time_zone = <time zone 명시 > 구축이훨씬쉬워질것이다. 또한이전버전에서는데이트타입의차가항상일단위로나와서실제로몇시간몇분이됐는지계산해구했다. 그러나이제타임스탬프타입의차가인터벌타입이라는것을이용하면계산이매우쉬워져유용하게사용할수있다. 정리 : 조규형 jokyu@sbmedia.co.kr m a s o SQL> alter session set time_zone = US/Pacific ; Session altered. 그리고다음은오라클9i에서새롭게추가된타임스탬프데이터타입의예제다. 명령을이용한다. 이때타임존에명시될수있는값은앞의타임스탬프에서사용하는값과 local, dbtimezone이다. local은기본로컬 SQL> select sessiontimezone from dual ; SESSIONTIMEZONE - US/Pacific SQL> select * from date_test2 ; /04/09 00:54: /04/15 08:00: SQL> create table date_test ( 2 today_date 타임스탬프 ) ; Table created SQL> select today_date from date_test ; _DATE /04/09 15:53: 년 4월 9일 15시 53분 타임존정보로 ORA_SDTZ 환경변수에설정된값을가진다. ORA_SDTZ 값이 -08:00으로설정돼있으면새로운세션연결시세션시간대정보는해당값으로설정된다. dbtime zone은데이터베이스생성시지정한시간대정보이며아무런값도주지않으면 - 08:00으로돼있다. 이값은 Alter Database 명령에의해바뀔수있다. 앞의환경변수를설정하면세션의시간대정보는항상 -08:00 즉, US/Pacific 시간대로설정되며세션의시간대정보변경할때 218 m i c r o s o f t w a r e

목차 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

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

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

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

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

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

@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

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

C++ Programming

C++ Programming C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )

More information

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

Microsoft PowerPoint - additional08.ppt [호환 모드] 8. 상속과다형성 (polymorphism) 상속된객체와포인터 / 참조자의관계 정적바인딩과동적바인딩 virtual 소멸자 Jong Hyuk Park 상속의조건 public 상속은 is-a 관계가성립되도록하자. 일반화 ParttimeStd 구체화 2 상속의조건 잘못된상속의예 현실세계와완전히동떨어진모델이형성됨 3 상속의조건 HAS-A( 소유 ) 관계에의한상속!

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

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private

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

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý 5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

Microsoft PowerPoint - 10Àå.ppt

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

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

쉽게 풀어쓴 C 프로그래밊

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

More information

PowerPoint Template

PowerPoint Template 9. 객체지향프로그래밍 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 9.1 개요 9.2 객체지향프로그래밍언어 9.3 추상자료형 9.4 상속 9.5 동적바인딩 9.1 객체지향의개념 (1) 3 객체지향의등장배경 소프트웨어와하드웨어의발전불균형 소프트웨어모듈의재사용과독립성을강조 객체 (object) 란? 우리가다루는모든사물을일컫는말 예 ) 하나의점, 사각형,

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

문서 템플릿

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

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

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

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

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

More information

PowerPoint 프레젠테이션

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

More information

(Microsoft PowerPoint - java2-lecture3.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java2-lecture3.ppt [\310\243\310\257 \270\360\265\345]) Class Class, Collections 514770-1 2017 년봄학기 3/22/2017 박경신 클래스 (Class) 객체의속성과행위선언 객체의설계도혹은틀 객체 (Object) 클래스의틀로찍어낸실체 메모리공간을갖는구체적인실체 클래스를구체화한객체를인스턴스 (instance) 라고부름 객체와인스턴스는같은뜻으로사용 클래스구조 클래스접근권한, public 다른클래스들에서이클래스를사용하거나접근할수있음을선언

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

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

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

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

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft Word - SQL튜닝_실습교재_.doc * 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여

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

다양한 예제로 쉽게 배우는 오라클 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

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

(Microsoft Word - \301\337\260\243\260\355\273\347.docx) 내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요

More information

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - Chapter 6.ppt 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

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 Word - PLSQL.doc

Microsoft Word - PLSQL.doc PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 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

[ 마이크로프로세서 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 - additional06.ppt [호환 모드]

Microsoft PowerPoint - additional06.ppt [호환 모드] 보조자료 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park 복습 : Const 키워드왜사용? C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; //

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

Slide 1

Slide 1 SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 14. 상속 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 상속의기본 파생클래스와생성자 protected: 제한자 멤버함수의재정의 상속되지않는함수들 상속을이용한프로그래밍

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

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

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

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

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

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

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

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

歯PLSQL10.PDF

歯PLSQL10.PDF 10 - SQL*Pl u s Pl / SQL - SQL*P lus 10-1 1 0.1 PL/ SQL SQL*Pl u s. SQL*P lus 10-2 1 0.2 S QL* Pl u s PL/ S QL SQL*Pl u s, Pl / SQL. - PL/ SQL (i npu t ), (s t or e ), (r un). - PL/ SQL s cr i pt,,. -

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

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

C++ Programming

C++ Programming C++ Programming 클래스와데이터추상화 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 객체지향프로그래밍 클래스와객체 2 객체지향프로그래밍 객체지향언어 (Object-Oriented Language) 프로그램을명령어의목록으로보는시각에서벗어나여러개의 독립된단위, 즉 객체 (Object) 들의모임으로파악

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

JAVA PROGRAMMING 실습 07. 상속

JAVA PROGRAMMING 실습 07. 상속 상속 부모클래스에정의된필드와메소드를자식클래스가물려받는것 슈퍼클래스 (superclass) 특성을물려주는상위클래스 서브클래스 (subclass) 특성을물려받는하위클래스 슈퍼클래스에자신만의특성 ( 필드, 메소드 ) 추가 슈퍼클래스의특성 ( 메소드 ) 을수정 = 오버라이딩구체화 class Phone 전화걸기전화받기 class MobilePhone 전화걸기전화받기무선기지국연결배터리충전하기

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

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

예제소스는  에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US A.4 마당서점데이터베이스생성 1 마당서점의데이터베이스 Madang을생성하기위해윈도우의 [ 시작 ]-[ 모든프로그램 ]- [Microsoft SQL Server 2012]-[SQL Server Management Studio] 를선택한다. 인증을 [Windows 인증 ] 으로선택한후 < 연결 > 을클릭한다. 2 1 3 서버이름 MADANG_DB\SQLEXPRESS

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 HANAcode 01 회사소개 01 코드마인드소개 02 특허 / 인증 / 수상 2p 회사소개 SW 보안과안전을위한 근본적인해법을 추구합니다 코드분석전문기업 소프트웨어분석검증전문가그룹 소프트웨어보안및신뢰성진단도구제공 소프트웨어분석검증솔루션제공 세계최고수준의 SW 분석검증기술을 제공합니다 기술이마술이되는 사용자경험을 선도합니다 소스코드시큐어코딩진단 소스코드신뢰성진단

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

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

슬라이드 제목 없음

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

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

강의계획서 1. 강의개요 학습과목명 객체지향프로그래밍 Ⅰ 학점 3 학점교 강사명교 강사전화번호 강의시간 4시간강의실수강대상 2. 교과목학습목표 4차산업혁명시대의도래로컴퓨터와프로그래밍에대한관심이커지고있으며, 여러분야에서소프트웨어의중요성을강조하며, 새시대를이끌

강의계획서 1. 강의개요 학습과목명 객체지향프로그래밍 Ⅰ 학점 3 학점교 강사명교 강사전화번호 강의시간 4시간강의실수강대상  2. 교과목학습목표 4차산업혁명시대의도래로컴퓨터와프로그래밍에대한관심이커지고있으며, 여러분야에서소프트웨어의중요성을강조하며, 새시대를이끌 강의계획서. 강의개요 학습과목명 객체지향프로그래밍 Ⅰ 학점 학점교 강사명교 강사전화번호 강의시간 시간강의실수강대상 E-mail. 교과목학습목표 차산업혁명시대의도래로컴퓨터와프로그래밍에대한관심이커지고있으며, 여러분야에서소프트웨어의중요성을강조하며, 새시대를이끌어나갈핵심기술의기초로프로그래밍에주목하고있다. 이에본교과목에서객체지향언어의기본개념을학습한후구조적프로그래밍언어와의차이점을학습한다.

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

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc 특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력

More information

Microsoft PowerPoint - C++ 5 .pptx

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

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

슬라이드 1

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

More information

Microsoft PowerPoint - chap11

Microsoft PowerPoint - chap11 10 장객체 - 지향프로그래밍 II 상속 상속 (Inheritance) 상속이란무엇인가? 기존의클래스로부터새로운클래스를유도하는것 자식클래스는부모클래스의메쏘드와데이터를상속 자식클래스에새로운변수나메쏘드를추가할수있다. 기존클래스 부모클래스 (parent class), 수퍼클래스 (superclass), 기반클래스 (base class) 유도클래스 자식클래스 (child

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

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

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

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

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

More information

11장 포인터

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

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

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

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

More information

Microsoft PowerPoint Python-DB

Microsoft PowerPoint Python-DB 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음

More information