Post on 25-Dec-2015
Dr. Philip Cannata 1
Doug TolbertUnisysdoug_tolbert@omg.org
Doug Tolbert has been involved with OMG since the early 1990s. He is a member of the Board of Directors and currently holds a Platform seat on the Architecture Board. Doug was a principal member of the team that developed CWM, and he has made contributions to many OMG platform (UML, MOF, XMI, IMM, SOA, Alf, and ADTF) and domain (Finance, Life Science, Insurance) over the years. He is currently active on the UML Simplification and IMM submission teams. On the AB, Doug works to ensure that OMG specifications are clear and understandable in both their human- and machine-readable forms.
Dr. Philip Cannata 2
emp_projectdeadline
deptdeptnodnameloc
projectpnumpname
empjobsalcomm
0..10..* 0..10..*
0..*
0..*
0..*
0..*
0..1
0..1
0..1
0..1
personnamess_num
customercontact_info
mgr
SIM - Semantic Data Management
Dr. Philip Cannata 3
emp_projectdeadline
deptdeptnodnameloc
projectpnumpname
empjobsalcomm
0..10..* 0..10..*
0..*
0..*
0..*
0..*
0..1
0..1
0..1
0..1
personnamess_num
customercontact_info
CLASS person( ss_num: INTEGER, REQUIRED; name: STRING; );
SUBCLASS emp OF person( job : STRING; mgr : emp, SV, INVERSE IS employees; sal : INTEGER; comm : INTEGER; dept : dept, SV, INVERSE IS employees;);
CLASS dept ( deptno : INTEGER, REQUIRED; dname : STRING; loc : STRING; employees : emp, MV, INVERSE IS dept;);mgr
SIM - Semantic Data Management
Dr. Philip Cannata 4
CLASS person( ss_num: INTEGER, REQUIRED;
name: STRING;);
SUBCLASS emp "Employees of a company" OF person(
job : STRING; mgr : emp, SV, INVERSE IS employees; employees : emp, MV, INVERSE IS mgr;
sal : INTEGER;comm : INTEGER;dept : department, SV, INVERSE IS employees;
);
INSERT emp ( ss_num:= 7369 , name := "SMITH" , job := "CLERK" , sal := 800 );INSERT emp ( ss_num:= 7499 , name := "ALLEN" , job := "SALESMAN" , sal := 1600 , comm := 300 );INSERT emp ( ss_num:= 7521 , name := "WARD" , job := "SALESMAN" , sal := 1250 , comm := 500 );INSERT emp ( ss_num:= 7566 , name := "JONES" , job := "MANAGER" , sal := 2975 );INSERT emp ( ss_num:= 7654 , name := "MARTIN" , job := "SALESMAN" , sal := 1250 , comm := 1400 );INSERT emp ( ss_num:= 7698 , name := "BLAKE" , job := "MANAGER" , sal := 2850 );INSERT emp ( ss_num:= 7782 , name := "CLARK" , job := "MANAGER" , sal := 2450 );INSERT emp ( ss_num:= 7788 , name := "SCOTT" , job := "ANALYST" , sal := 3000 );INSERT emp ( ss_num:= 7839 , name := "KING" , job := "PRESIDENT" , sal := 5000 );INSERT emp ( ss_num:= 7844 , name := "TURNER" , job := "SALESMAN" , sal := 1500 );INSERT emp ( ss_num:= 7876 , name := "ADAMS" , job := "CLERK" , sal := 1100 );INSERT emp ( ss_num:= 7900 , name := "JAMES" , job := "CLERK" , sal := 950 );INSERT emp ( ss_num:= 7902 , name := "FORD" , job := "ANALYST" , sal := 3000 );INSERT emp ( ss_num:= 7934 , name := "MILLER" , job := "CLERK" , sal := 1300 );
Dr. Philip Cannata 5
CLASS department "Departments of a company"
(
deptno : INTEGER, REQUIRED;
dname : STRING;
loc : STRING;
employees : emp, MV, INVERSE IS dept;
);
INSERT department ( deptno := 10 , dname := "ACCOUNTING" , loc := "NEW YORK" );
INSERT department ( deptno := 20 , dname := "RESEARCH" , loc := "DALLAS" );
INSERT department ( deptno := 30 , dname := "SALES" , loc := "CHICAGO" );
INSERT department ( deptno := 40 , dname := "OPERATIONS" , loc := "BOSTON" );
Dr. Philip Cannata 6
MODIFY emp ( dept := department WITH (deptno = 20) ) WHERE ss_num = 7369 ;
MODIFY emp ( dept := department WITH (deptno = 30) ) WHERE ss_num = 7499 ;
MODIFY emp ( dept := department WITH (deptno = 30) ) WHERE ss_num = 7521 ;
MODIFY emp ( dept := department WITH (deptno = 20) ) WHERE ss_num = 7566 ;
MODIFY emp ( dept := department WITH (deptno = 30) ) WHERE ss_num = 7654 ;
MODIFY emp ( dept := department WITH (deptno = 30) ) WHERE ss_num = 7698 ;
MODIFY emp ( dept := department WITH (deptno = 10) ) WHERE ss_num = 7782 ;
MODIFY emp ( dept := department WITH (deptno = 20) ) WHERE ss_num = 7788 ;
MODIFY emp ( dept := department WITH (deptno = 10) ) WHERE ss_num = 7839 ;
MODIFY emp ( dept := department WITH (deptno = 30) ) WHERE ss_num = 7844 ;
MODIFY emp ( dept := department WITH (deptno = 20) ) WHERE ss_num = 7876 ;
MODIFY emp ( dept := department WITH (deptno = 30) ) WHERE ss_num = 7900 ;
MODIFY emp ( dept := department WITH (deptno = 20) ) WHERE ss_num = 7902 ;
MODIFY emp ( dept := department WITH (deptno = 10) ) WHERE ss_num = 7934 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7902) ) WHERE ss_num = 7369 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7698) ) WHERE ss_num = 7499 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7698) ) WHERE ss_num = 7521 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7839) ) WHERE ss_num = 7566 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7698) ) WHERE ss_num = 7654 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7839) ) WHERE ss_num = 7698 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7839) ) WHERE ss_num = 7782 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7566) ) WHERE ss_num = 7788 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7698) ) WHERE ss_num = 7844 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7788) ) WHERE ss_num = 7876 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7698) ) WHERE ss_num = 7900 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7566) ) WHERE ss_num = 7902 ;
MODIFY emp ( mgr := emp WITH (ss_num = 7782) ) WHERE ss_num = 7934 ;
Dr. Philip Cannata 7
cd /cygdrive/c/Documents and Settings/Nicolette Cannata/My Documents/pcannata/UT/07 Fall 327e/07 Fall e327/07 Fall e327/Class Notes/20 SIM DB/WDB
$ java -cp "lib\je.jar;." wdb.WDB
WDB Simantic Database Project
Copyright 2006 University of Texas at Austin
DB Name: test DB Path: ./
WDB> source "scott-tiger-Enhanced.txt";
WDB>
Dr. Philip Cannata 8
WDB> from person retrieve * where true;
WDB> from emp retrieve * where true;
emp_projectdeadline
deptdeptnodnameloc
projectpnumpname
empjobsalcomm
0..10..* 0..10..*
0..*
0..*
0..*
0..*
0..1
0..1
0..1
0..1
personnamess_num
customercontact_info
Dr. Philip Cannata 9
WDB> from emp retrieve * where true; WDB> from department retrieve * where true;
WDB> from emp retrieve *, * of dept where true;