67% found this document useful (3 votes)
5K views

Week2 Home Work

The document discusses a bank database schema with tables for branches, customers, loans, borrowers, accounts, and depositors. It identifies the primary keys for each table as well as the appropriate foreign keys. For example, the primary keys are the underlined attributes in each table. The foreign keys include loan.branch_name referencing branch and borrower.customer_name and borrower.loan_number referencing customer and loan respectively.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
67% found this document useful (3 votes)
5K views

Week2 Home Work

The document discusses a bank database schema with tables for branches, customers, loans, borrowers, accounts, and depositors. It identifies the primary keys for each table as well as the appropriate foreign keys. For example, the primary keys are the underlined attributes in each table. The foreign keys include loan.branch_name referencing branch and borrower.customer_name and borrower.loan_number referencing customer and loan respectively.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Week 2 home work 2.9 Consider the bank database of Figure 2.15. a.

What are the appropriate primary keys? b. Given your choice of primary keys, identify appropriate foreign keys. Answer: a. The primary keys of the various schema are underlined. Although in a real bank the customer name is unlikely to be a primary key, since two customers could have the same name, we use a simplified schema where we assume that names are unique. We allow customers to have more than one account, and more than one loan. branch(branch_name, branch_city, assets) customer (customer_name, customer street, customer city) loan (loan_number, branch name, amount) borrower (customer_name, loan_number) account (account_number, branch name, balance) depositor (customer_ name, account_ number) b. The foreign keys are as follows i. For loan: branch_name referencing branch. ii. ii. For borrower: Attribute customer_name referencing customer and loan_number referencing loan iii. For account: branch_name referencing branch. iv. For depositor: Attribute customer_name referencing customer and account_number referencing account

2.10 Consider the advisor relation shown in Figure 2.8, with s id as the primary key of advisor. Suppose a student can have more than one advisor. Then, would s id still be a primary key of the advisor relation? If not, what should the primary key of advisor be? Answer: No, s_id would not be a primary key, since there may be two (or more) tuples for a single student, corresponding to two (or more) advisors. The primary key should then be s_id, i_id.

2.11 Describe the differences in meaning between the terms relation and relation schema.

Answer: A relation schema is a type definition, and a relation is an instance of that schema. For example, student (ss#, name) is a relation schema and 123-456-222 John 234-567-999 Mary is a relation based on that schema.

2.14 List two reasons why null values might be introduced into the database. Answer: Nulls may be introduced into the database because the actual value is either unknown or does not exist. For example, an employee whose address has changed and whose new address is not yet known should be retained with a null address. If employee tuples have a composite attribute dependents, and a particular employee has no dependents, then that tuples dependents attribute should be given a null value.

You might also like