Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Refer to the customer and staff tables of the Sakila database. These tables have many columns in common and represent similar entities. Convert the customer
Refer to the customer and staff tables of the Sakila database. These tables have many columns in common and represent similar entities. Convert the customer and staff entities into subtypes of a new supertype person:
https://static-resources.zybooks.com/zyLab/SQL/supertype+entity.5.png
The diagram uses Sakila naming conventions. Follow the Sakila conventions for your table and column names:
All lower case
Underscore separator between root and suffix
Foreign keys have the same name as referenced primary key
Implement supertype & subtype entities as person, customer, and staff tables with primary key person_id.
Implement attributes as columns:
All columns are NOT NULL.
The person_id columns have data type SMALLINT UNSIGNED.
The last_update and create_date columns have data type TIMESTAMP.
The picture column has data type BLOB.
All other columns have data type VARCHAR(20).
Implement the dependency relationships between subtype & supertype entities as foreign keys:
The person_id columns of customer and staff become foreign keys referring to person.
Specify CASCADE actions for both relationships.
Implement the belongs_to and works_at relationships as foreign keys:
belongs_to becomes an address_id foreign key in person referring to address.
works_at becomes a store_id foreign key in staff referring to store.
Specify RESTRICT actions for both relationships.
The address and store tables, with primary keys address_id and store_id, are pre-defined in the zyLab environment. Foreign keys must have the same data types as the referenced primary keys:
address_id has data type SMALLINT UNSIGNED.
store_id has data type TINYINT UNSIGNED.
If you execute your solution with the Sakila database, you must first drop customer, staff, and all constraints that refer to these tables. Use the following statements with Sakila only, not in the zyLab environment:
ALTER TABLE payment
DROP CONSTRAINT fk_payment_customer,
DROP CONSTRAINT fk_payment_staff;
ALTER TABLE rental
DROP CONSTRAINT fk_rental_customer,
DROP CONSTRAINT fk_rental_staff;
ALTER TABLE store
DROP CONSTRAINT fk_store_staff;
DROP TABLE customer, staff;
https://static-resources.zybooks.com/zyLab/SQL/supertype+entity.5.png
The diagram uses Sakila naming conventions. Follow the Sakila conventions for your table and column names:
All lower case
Underscore separator between root and suffix
Foreign keys have the same name as referenced primary key
Implement supertype & subtype entities as person, customer, and staff tables with primary key person_id.
Implement attributes as columns:
All columns are NOT NULL.
The person_id columns have data type SMALLINT UNSIGNED.
The last_update and create_date columns have data type TIMESTAMP.
The picture column has data type BLOB.
All other columns have data type VARCHAR(20).
Implement the dependency relationships between subtype & supertype entities as foreign keys:
The person_id columns of customer and staff become foreign keys referring to person.
Specify CASCADE actions for both relationships.
Implement the belongs_to and works_at relationships as foreign keys:
belongs_to becomes an address_id foreign key in person referring to address.
works_at becomes a store_id foreign key in staff referring to store.
Specify RESTRICT actions for both relationships.
The address and store tables, with primary keys address_id and store_id, are pre-defined in the zyLab environment. Foreign keys must have the same data types as the referenced primary keys:
address_id has data type SMALLINT UNSIGNED.
store_id has data type TINYINT UNSIGNED.
If you execute your solution with the Sakila database, you must first drop customer, staff, and all constraints that refer to these tables. Use the following statements with Sakila only, not in the zyLab environment:
ALTER TABLE payment
DROP CONSTRAINT fk_payment_customer,
DROP CONSTRAINT fk_payment_staff;
ALTER TABLE rental
DROP CONSTRAINT fk_rental_customer,
DROP CONSTRAINT fk_rental_staff;
ALTER TABLE store
DROP CONSTRAINT fk_store_staff;
DROP TABLE customer, staff;
Step by Step Solution
★★★★★
3.38 Rating (167 Votes )
There are 3 Steps involved in it
Step: 1
To implement the supertypesubtype relationship between the person customer and staff tables in the Sakila database you can use the following SQL state...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started