Part 1: True or False, please explain why.
1, SQL (Structured Query Language) is both DDL (Data Definition Language) and DML (Data Manipulation Language).
2, View is not updatable.
3, For Character data type, value NULL is equivalent to empty string ''.
4, A table has only one primary key, but it can have more than one foreign keys.
5, In SQL, an asterisk (*) can be used to express "all columns".
6, If a schema satisfies BCNF, then it also satisfies 3NF.
7, A secondary index can be either dense or sparse.
8, Given a hash function h and two search-key values, Ki and kj, if ki≠kj, then h(ki)≠h(kj).
9, ΠLname, Fname, Salary(σsalary>30000(Employee)) is equivalent to σsalary>30000(ΠLname, Fname, Salary(Employee)).
10, since Natural-join operations are associative, (E1 E2) E3 = E1 (E2 E3), the ordering of natural-join is not important for query optimization.
Part 2: Case study
The following tables form part of a database held in a relational DBMS:
Employee(Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary, Super_ssn, Dno)
Department(Dname, Dnumber, Mgr_ssn, Mgr_start_date)
Project(Pname, Pnumber, Plocation, Dnum)
Works_on(Essn, Pno, Hours)
The underlined attribute(s) in each relational schema is primary key.
Employee contains employee details, Super_ssn is the SSN of supervisor, which is a foreign key that refers to Ssn in table Employee, and Dno is the department number, which is another foreign key that refers to Dnumber in table Department.
Department contains department details and Mgr_ssn is SSN of the department manager, which is a foreign key that refers to Ssn in table Employee.
Project contains project details, and Dnum is a foreign key which refers to Dnumber in table Department.
Works_on records who work on which project, Essn is a foreign key that refers to Ssn in table
Employee, and Pno is another foreign key that refers to Pnumber in table Project.
Based on the schema defined above, write SQL statements to answer the following queries:
1, Retrieve the birth date and address of the employee(s) whose name is 'John B. Smith'.
2, Retrieve the name and address of all employees who work for the 'Research' department.
3, For each employee, retrieve the employee's first name and last name and the first name and last name of his or her immediate supervisor.
4, Find the sum of the salaries of all employees, the maximum salary, the minimum salary, and the average salary.
5, For each project, retrieve the project number, the project name, and the number of employees who work on that project.
Describe what the following SQL statements return and give the equivalent relational algebra expressions.
6, Select Fname, Lname, Sex, Address
From Employee;
7, Select Fname, Lname
From Employee
Where Sex='M';
Describe what the following relational algebra expressions return and give the equivalent SQL statements.
8, ΠLname, Fname, Salary(σsalary>30000(Employee))
9, ΠDname, Lname, Fname(Department Mgr_ssn = SsnEmployee)
Part 3: Questions
1, Use Armstrong's axioms to prove the soundness of the union rule. Union rule: If a → b holds and a → c holds, then a → b c holds.
2, For B+ Tree below, show the steps involved in the following queries:
a. Find records with a search-key value which is great than 18.
b. Find records with a search-key value which is between 5 and 19, inclusively.