Class Exercise:  Relational Database Terminology

To answer these questions refer to the MySQL reference by Murach and the 
relation definitions discussed in class for a small relational database (RDB)
as described below:
   Department(deptNo(pk), dname, location, salary); 
   Employee(empno(pk), ename, job, manager(fk), hiredate, salary, dNo(fk));
1. Describe the major components of the relational model.

2. What is a domain?  Why is it useful?  Identify a domain common to both 
   relations. Identify a domain that may need segmenting to achieve atomic 
   state. Identify an instance where multiple attributes in a single 
   relation arise from the same domain.

3. What is a relation and what does it represent?
                
4. What is a relational database? How are the relations linked in this
   database? 

5. Identify candidate keys for these relations. Choose and define primary
   keys. What are the alternate keys? Place not null and unique constraints
   on the alternate keys.

6. What is a foreign key? Identify foreign key(s) for this database.

create table Department (      
  deptNo    int(2) primary key,
  dName     char(10), 
  location  char(10),
  salary    decimal(7,2));

Department:                            
deptNo dName      location salary                  
10     ACCOUNTING NEW YORK 11637.50     
20     RESEARCH   DALLAS   14463.75     
30     SALES      CHICAGO  12502.00     
40     OPERATIONS BOSTON       0.00
      
create table Employee(
empno int(4) primary key,
ename char(10) not null unique,
job   varchar(9) default null,
manager  decimal(4),
hireDate date,
salary   decimal(7,2) default 1.00,
deptno   int(4) );

Employee:                                                  
empno ename  job       manager hiredate   salary  deptNo    
7369  SMITH  CLERK     7902    1995-12-17 1064.00 20        
7499  ALLEN  SALESMAN  7698    1996-02-22 2128.00 30        
7521  WARD   SALESMAN  7698    1996-02-22 1662.50 30        
7566  JONES  MANAGER   7839    1996-04-02 4000.00 20        
7654  MARTIN SALESMAN  7698    1996-09-28 1662.50 30        
7698  BLAKE  MANAGER   7839    1996-05-01 4000.00 30        
7782  CLARK  MANAGER   7839    1996-06-09 4000.00 10        
7788  SCOTT  ANALYST   7566    2002-04-19 3990.00 20
7839  KING   PRESIDENT         1980-11-17         10
7844  TURNER SALESMAN  7698    1996-09-08 1995.00 30
7876  ADAMS  CLERK     7788    2002-05-23 1463.00 20
7900  JAMES  CLERK     7698    1996-12-03 1263.50 30
7902  FORD   ANALYST   7566    1996-12-03 3990.00 20
7934  MILLER CLERK     7782    1997-01-23 1729.00 10