1 / 116

Explore UniSQL: Object-Oriented Extension for Internet Environment

Learn about UniSQL, a versatile OODBMS with multi-DBMS connectivity. Discover UniSQL's features, installation process, system requirements, and database management utilities. Guide on DB creation, volume addition, and deletion using UniSQL commands.

gates
Download Presentation

Explore UniSQL: Object-Oriented Extension for Internet Environment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What is UniSQL?

  2. Object-Oriented Extension Internet Environment 멀티미디어 프레임웍 RDBMS Relational Concept OODBMS ORDBMS Connectivity Multi-DBMS 연결 UniSQL 개념

  3. WWW Browser 4GL client UniSQL 제품 구조도 UniCAS • C API • ESQL/X • C++ API • Smalltalk WEB server API UniSQL/X PHP Multi Media Framework UniWEB RDBMS JDBC WAS OODBMS • SQL/X • Visual SQL/X Tool *UniSQL/M Vision3 ODBC File based M/M

  4. 제공 툴 • SQL/X • dos나 Unix 터미널에서 사용하는 interactive interface • Visual-SQL • SQL/X의 기능을 window 상에서 수행 • 데이터 조작/클래스 생성 및 변경 위저드 제공 • 엑셀 데이터의 Import/Export • 검색 결과 편집 기능 • Easy-Manager • window상에서 UniSQL과 UniCAS를 통합적으로 운영/관리

  5. UniSQL 제품 설치하기 • 지원하는 플랫폼 확인하기 • Unix 계열 • sun Microsystems SPARC with solaris 2.6 이상 • IBM RS/6000 with AIX 4.3.x • HP with HP-UX 11.0 • Compaq Alpha with Tru64 unix • Intel Pentium-compatible with red hat linux 7.1 • Window 계열 • Intel Pentium-compatible with window NT 4.0 • Intel Pentium-compatible with window 2000 • 필요한 시스템 자원 확인하기 • Memory 128M 이상, Hard disk 150M 이상 • UniSQL 사이트 (http://dev.unisql.com)에 계정 생성

  6. 소프트웨어가 있는 곳 • http://dev.unisql.com

  7. 소프트웨어 다운로드

  8. 제품 키 받기

  9. 설치 (1)

  10. 설치(2)

  11. DB 생성하고 다루기

  12. UniSQL 운영 및 관리 • Easy-Manager • UniSQL과 UniCAS를 운영하기 위한 소프트웨어로 window상에서 제공되는 GUI환경 관리 도구이다. • Utilities • 데이터베이스 관리 작업을 위해 사용자가 터미널 상에서 직접 명령어를 입력하여 사용하는 유틸리티이다.

  13. Utilities • UniSQL 데이터베이스를 운영/관리의 편의를 위해 제공되는 프로그램들 • C:\UniSQL\UniSQL 디렉토리에 존재 • 기능 • 데이터베이스 생성/ 삭제 – createdb/deletedb • 데이터베이스 서버 확인- commdb • 데이터베이스 공간 확인- spacedb • 데이터베이스 볼륨 추가 - addvoldb

  14. DB 생성하기 : createdb • 데이터베이스를 생성하고 built-in UniSQL/X 시스템 클래스(system class)를 초기화함 • %UNISQLX_DATABASES (C:\UniSQL\UniSQL) 디렉토리에 ordblist.txt 파일에 생성된 데이터베이스의 위치 정보가 기록됨 • 사용방법 createdb [ options ] database_name createdb –p 500 –ps 8196 demodb  페이지 크기가 8KB인 500개 page를 갖는 demodb라는 데이터베이스 생성 데이터베이스 페이지(page)란? 데이터 저장의 기본 단위로서 데이터베이스 생성시 그 크기가 결정. 데이터베이스내의 모든 페이지는 같은 크기이며, 생성시 지정된 페이지 크기는 변경이 불가능하다. 크기는 2의 배수로 1K 이상 16K 이하로 디폴트 값은 4K이다

  15. DB 생성하기 : createdb(cont.) • 옵션들

  16. DB 생성하기 : createdb(cont.) • 어떤 파일들이 생성되는가? • 데이터베이스 초기 파일(DB-name) • 로그 볼륨(DB-name_lgat) • 볼륨 정보 파일(DB-name_vinf) • 로그 정보 파일(DB-name_lginf) 볼륨(volume)이란? • 데이터베이스가 사용하는 운영체제의 파일을 말한다

  17. DB 볼륨 추가하기 : addvoldb • 왜 추가해서 사용하는가? • 데이터베이스가 초기화될 때 생성되는 generic 볼륨 하나로 운영하는 것보다 용도별 볼륨을 분산하는 것이 성능상 효율적이다 • 볼륨의 자동 증가 • 용도별 볼륨의 종류 • generic : 어떤 용도로도 사용 가능 • data : 클래스, 인스턴스, 멀티미디어 등의 데이터 저장 • index : 인덱스, 해쉬 등의 데이터 지원 정보 저장 • temporary : 질의 처리나 정렬할 때 사용

  18. DB 볼륨 추가하기 : addvoldb(cont.) • 사용법 addvoldb [options] database_name number_of_pages addvoldb –sa –pu data demodb 500 데이터 저장 목적으로 볼륨 500 페이지 추가 • 옵션

  19. DB 볼륨 정보 확인하기 : spacedb • 생성하고 확장한 데이터베이스 볼륨의 요약 정보를 화면에 출력 • 볼륨 ID와 이름 • 각 볼륨의 용도 • 각 볼륨의 총 사용량과 여유 공간 크기 • 볼륨의 전체 개수 • 데이터베이스 총 사용량과 여유 페이지 크기 • 사용법 spacedb [-sa | -cs] database_name spacedb - sa demodb

  20. DB 삭제하기 : deletedb • 생성된 데이터베이스를 삭제 • 운영체제 파일 삭제 명령어(예를 들면, rm 또는 del)를 이용해서 삭제해선 안된다 • deletedb 유틸리티는 데이터베이스 관련 모든 파일을 삭제 • 데이터베이스 정보 파일(ordblist.txt)도 변경 deletedb [-o filename] database_name deletedb demodb

  21. DB 프로세스 • 마스터 • 서버와 클라이언트간의 통신 담당 • 한 호스트에 하나의 마스터 존재 • 서버 • 클라이언트와 데이터베이스 간의 채널 • 데이터베이스 당 한 서버만이 연결 가능 • 한 호스트에서 여러 개의 서버 동작 가능 • 클라이언트 • 사용자와 데이터베이스 사이에서 상호작용 • 클라이언트 수는 이론적으로 제한이 없음

  22. DB 서버 구동하기 : server • 생성된 데이터베이스 서버를 구동 server [-timeout second] database_name server demodb • 마스터가 수행중인 상태이어야 한다. • 주어진 timeout 시간 동안 서버가 구동 되지 않으면 종료된다

  23. DB 서버 모니터링 : commdb • 마스터 데몬과 서버 프로그램들의 상태 정보를 화면에 출력 • 데이터베이스 서버 리스트 출력 • 서버 및 마스터 종료 commdb [options]

  24. DB 서버 종료하기 : commdb -S • 수행중인 데이터베이스 서버를 종료 commdb -S database_name commdb -S demodb • kill 명령어로 서버를 종료하지 말아야 함 • ‘commdb –A’ 명령어는 마스터와 서버를 모두 종료한다.

  25. SQL/X • command line 기반의 SQL/X 인터프리터 • X Windows 없이 모든 터미널 환경에서 사용 가능 • 모든 UniSQL/X 명령어의 입력, 편집, 수행 가능 • 결과를 파일이나 화면으로 출력 • SQL/X 명령어 sqlx [-sa | -cs] [-u 사용자이름 –p 암호 ] 데이터베이스_이름 sqlx –u dba -sa demodb • -sa 옵션은 standalone 모드 플래그 • -cs 옵션은 client/server 모드 플래그(default) • 사용자이름 의 default는 ‘public’

  26. SQL/X * 명령어의 대문자 부분만 입력하면 실행된다. * ‘;Help’하면 세션 명령어 목록이 나타난다.

  27. 스키마 다루기

  28. RDBMS와 ORDBMS 용어 비교

  29. 클래스 선언 구문 • 각 클래스 이름은 해당 데이터베이스에서 유일해야 함 • 클래스 내에서 애트리뷰트의 이름은 유일해야 함 CREATE [CLASS|TABLE]클래스이름 [(애트리뷰트_이름 데이터_타입 [DEFAULT값] [제약사항])]; 제약 사항 : NOT NULL UNIQUE

  30. 클래스 선언 구문 create class employee ( name varchar(50) not null, employee_# integer not null unique, fulltime varchar(50) default ‘yes’, birth_date date ); 애트리뷰트 이름 데이터 타입 constraint default value

  31. Domain :Primitive Data Types

  32. Default value • 인스턴스가 생성될 때 값이 명시가 되지 않을 경우 애트리뷰트의 값은 default값으로 초기화 된다. • Default 옵션이 사용되지 않은 경우, 인스턴스가 생성될 때 애트리뷰트의 값은 NULL로 초기화 된다. • 공유(shared) 애트리뷰트와 default 옵션은 애트리뷰트 정의에 있어서 상호 배제 관계(mutual exclusion)이다.

  33. Constraints • not null constraint • 애트리뷰트 값을 입력할 때 null값을 허용하지 않는 애트리뷰트 제약 조건이다. • unique constraint • 애트리뷰트 값을 입력할 때 값의 중복을 허용하지 않는 애트리뷰트 제약 조건이다.

  34. 클래스 제거하기 • 데이터베이스로부터 명시된 클래스의 스키마 정의부와 정의된 모든 메소드, 또 애트리뷰트에 저장된 모든 데이터(인스턴스)를 제거한다 • DROP address; • address 클래스 제거 • DROP address, employee; • address 클래스와 employee 클래스 함께 제거 DROP 클래스 이름

  35. 클래스 변경하기 • DBA나 클래스 소유권자, 인증을 받은 사용자는 alter구문을 사용하여 클래스를 변경할 수 있다. ALTERCLASS클래스 이름 변경사항; 변경 사항: • ADD애트리뷰트 추가 • DROP애트리뷰트 제거 • CHANGE초기값 변경 • RENAME애트리뷰트 이름 변경

  36. 클래스 변경하기 : ADD / DROP • 애트리뷰트 추가 • ALTER CLASS accommodations ADD ATTRIBUTE allows_pets char(3) default ‘NO’; • 애트리뷰트 제거 • ALTER CLASS accommodations DROP ATTRIBUTE allows_pets ;

  37. 클래스 변경하기 : CHANGE/RENAME • 초기값(default value) 변경 ALTER CLASS eatery CHANGE rating default ‘***’ ; • 애트리뷰트 이름 변경 ALTER CLASS location RENAME ATTRIBUTE lodging AS place_to_sleep;

  38. 클래스 이름 변경하기: RENAME • 데이터베이스에 존재하는 클래스의 이름을 변경 RENAME CLASS old_class_name AS new_class_name; RENAME CLASS cabin AS villa;

  39. 데이터 조작하기

  40. 인스턴스 생성 • 인스턴스가 생성되는 것은 • 해당 클래스의 애트리뷰트(애트리뷰트) 값을 입력하는 것이고 • 객체 식별자인 OID를 부여 받는다 (예제) insert into location (lodging, country, city, street) values(‘한화콘도’, ‘한국’, ‘경기도’, ‘양평’;); insert into location default values; INSERTINTOclass_nameVALUES( value_list); INSERTINTOclass_name(attribute_list)VALUES( value_list); INSERTINTOclass_nameDEFAULT [VALUES]; 애트리뷰트를 일일이 나열하지 않고, 클래스이름을 명시하면 전체 애트리뷰트에 대해서 값을 입력해야 한다

  41. Inserting with a query • 질의결과를 이용해서 데이터를 입력할 경우 • SELECT절과 INSERT절의 도메인은 일치해야 한다. insert into snack (serving_hours) selectserving_hours from dinner where proper_required = ‘yes’; insert into brunch(coffee_is_served, serving_hours, served_style, menu) select‘yes’, serving_hours, ‘no’, menu from breakfast; INSERTINTOclass_name ( attribute_list) SELECTquery_statement;

  42. 데이터 갱신 • 클래스의 인스턴스를 새로운 값으로 갱신 UPDATE resort SET cost = cost + 100 WHERE name = ‘korea resort’; UPDATE클래스이름 SET변경사항 [WHERE검색조건 ] 변경사항: • 애트리뷰트이름= { expression | NULL }

  43. 데이터 삭제 • 데이터베이스에서 불필요한 인스턴스 제거 DELETE FROM resort WHERE name = ‘korea resort’; DELETE FROM 클래스이름 [WHERE검색조건] 변경사항: • 애트리뷰트이름= { expression | NULL }

  44. 데이터 검색

  45. SELECT 구문의 기본 구조 SELECT attribute(s) FROMclass(es) WHERE predicate(s); 예제) SELECT name, country FROM resort WHERE cost > 200;  resort 클래스에서 cost가 200보다 큰 resort의 이름과 국가를 검색하라

  46. SELECT 절 • SELECT 절에는 애트리뷰트 이름과 DISTINCT( or UNIQUE), * 등이 올 수 있다 SELECT name, country from resort;  애트리뷰트 이름이 온 경우 SELECT UNIQUEcountry from resort;  애트리뷰트의 중복된 값을 제거한 경우 SELECT * from resort;  해당 클래스의 모든 애트리뷰트를 검색한 경우

  47. FROM 절 • 기본적으로 클래스 이름을 명시 SELECT name FROM accommodations;

  48. WHERE 절 • WHERE 절에서는 검색하고자 하는 인스턴스의 조건을 명시한다. 검색 조건으로 올 수 있는 술어(predicate)의 종류는 다음과 같다. • 비교 연산자 • =, <>, >, <, >=, <= • 정량자(quantifier) • ALL • SOME • 그 외의 술어(predicates) • BETWEEN • EXISTS • IN • LIKE • NULL

  49. Quantifier • 특정 단일 값에 대하여 수식 또는 서브 질의의 모든 결과를 만족하는지(ALL)또는 적어도 하나를 만족하는지(SOME)에 대한 여부를 검사한다. select name, cost from resort where cost > ALL (select cost from hotel);  hotel 클래스의 모든 cost가 resort 클래스의 cost보다 작아야 한다 select name, cost from resort where cost > SOME (select cost from hotel);  hotel 클래스의 cost가 resort 클래스의 cost 중 하나 이상 보다만 크면 된다 expression비교연산자ALL | SOME expression

  50. BETWEEN • 주어진 두 값 사이에 존재하는 인스턴스를 검색 select name, country, cost from hotel where cost between $100.00 and $150.00;  cost가 $100.00와 $150.00 사이의 값인 hotel에 대해서 name, country, cost 검색 select name, country, cost from hotel where cost not between $100.00 and $150.00;  cost가 $100.00와 $150.00 이외의 값인 hotel에 대해서 name, country, cost 검색 expression [ NOT] BETWEEN expression AND expression

More Related