---
title: "RA: parts used in DBMS and MIS"
subject: "Database Management System"
chapter: 3
key: "semester_6/database_management_system:ra-parts-both-dbms-mis"
source: https://www.bctengineer.com/q/semester_6/database_management_system/ra-parts-both-dbms-mis
site: BCT Engineering
---

# RA: parts used in DBMS and MIS

Database Management System · Chapter 3: Relational Languages & Relational Model

- Asked in: year not given
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/database_management_system/ra-parts-both-dbms-mis
- Whole chapter: https://www.bctengineer.com/md/semester_6/database_management_system/chapter-3

## Question

Consider the relational schema:
employee (e_no, name, address)
project (p_no, p_name)
work (e_no, p_no)
part (part_no, part_name, qty, size)
use (e_no, p_no, part_no, number)
List part no and part name used in both projects "DBMS" and "MIS". (Write a relational algebra expression.)

## Short answer

Find part_no sets for projects "DBMS" and "MIS" via selection, join with use, and projection. Intersect the sets to get parts used in both, then natural join with part and project part_no and part_name.

## Answer

Relational algebra symbols used: σ select, π project, ⋈ natural join, ∪ union, ∩ intersection, − difference, ρ rename, 𝒢 aggregate.

#### Relational algebra expression
```text
D = π part_no ( use ⋈ σ p_name = "DBMS" (project) )
M = π part_no ( use ⋈ σ p_name = "MIS"  (project) )

π part_no, part_name ( part ⋈ ( D ∩ M ) )
```

#### Explanation
1. use ⋈ σ p_name="DBMS"(project) joins on p_no, so only the parts used in the DBMS project remain; π part_no gives set D.
2. Set M is found the same way for the MIS project.
3. The intersection D ∩ M gives part numbers used in both projects. (A single selection with p_name="DBMS" ∧ p_name="MIS" would always be empty, so the two sets must be built separately.)
4. Joining with part adds part_name, and the last projection prints part_no and part_name.

#### Equivalent SQL
```sql
SELECT t.part_no, t.part_name FROM part t
WHERE t.part_no IN (SELECT part_no FROM use u JOIN project p
                    ON p.p_no = u.p_no WHERE p_name = 'DBMS')
  AND t.part_no IN (SELECT part_no FROM use u JOIN project p
                    ON p.p_no = u.p_no WHERE p_name = 'MIS');
```

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Why not use sigma p_name=DBMS ∧ p_name=MIS?
   A. A tuple has one p_name, so the condition is always false (empty result)
   B. It is slow
   C. It gives all parts
   D. It works but gives duplicates
   Answer: A. One tuple cannot have two project names. (Key point: Single selection fails)

2. Which operator finds parts used in both projects?
   A. Union D U M
   B. Difference D - M
   C. Intersection D ∩ M
   D. Cross product
   Answer: C. Intersection keeps part numbers present in both sets. (Key point: Intersection)

3. Why join D ∩ M with part?
   A. To obtain part_name along with part_no
   B. To get the project name
   C. To remove duplicates
   D. To make D and M compatible
   Answer: A. part_name is stored only in part. (Key point: Final join)

## Close variants set in other exams

- [RA: employees in both DBMS and MIS](https://www.bctengineer.com/question.md?key=semester_6%2Fdatabase_management_system%3Ara-emp-both-dbms-mis) — Database Management System, chapter 3

## Related in Database Management System

- [RA: employee-projects with no part used](https://www.bctengineer.com/question.md?key=semester_6%2Fdatabase_management_system%3Ara-emp-project-no-part) — Database Management System, chapter 3
- [RA: projects where all used bolts size 6](https://www.bctengineer.com/question.md?key=semester_6%2Fdatabase_management_system%3Ara-projects-all-used-bolts) — Database Management System, chapter 3
- [RA: employees on project DBMS](https://www.bctengineer.com/question.md?key=semester_6%2Fdatabase_management_system%3Ara-emp-project-dbms) — Database Management System, chapter 3
- [RA: employees on no project](https://www.bctengineer.com/question.md?key=semester_6%2Fdatabase_management_system%3Ara-emp-no-project) — Database Management System, chapter 3
- [RA: projects count per department](https://www.bctengineer.com/question.md?key=semester_6%2Fdatabase_management_system%3Ara-projects-per-department) — Database Management System, chapter 3
- [RA: delete Electrical dept projects](https://www.bctengineer.com/question.md?key=semester_6%2Fdatabase_management_system%3Ara-delete-electrical-projects) — Database Management System, chapter 3
