Answered step by step
Verified Expert Solution
Question
1 Approved Answer
5 . 7 LAB - Implement supertype and subtype entities ( Sakila ) Refer to the customer and staff tables of the Sakila database. These
LAB Implement supertype and subtype entities Sakila
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:
In the center is the person entity, with primary key personid and additional attributes firstname, lastname, email, active, and lastupdate. The person entity contains subtype entities staff and customer. The staff entity has primary key personid and additional attributes picture, username, and password. The customer entity has primary key personid and additional attribute createdate. Cardinality does not appear after the primary keys and attributes. On the left is the address entity, connected to the person entity by the belongsto relationship. Belongsto has cardinality on the address side and M on the person side. On the right is the store entity, connected to the person entity by the worksat relationship. Worksat has cardinality on the store side and M on the person side.
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 and subtype entities as person, customer, and staff tables with primary key personid
Implement attributes as columns:
All columns are NOT NULL.
The personid columns have data type SMALLINT UNSIGNED.
The lastupdate and createdate columns have data type TIMESTAMP.
The picture column has data type BLOB.
All other columns have data type VARCHAR
Implement the dependency relationships between subtype and supertype entities as foreign keys:
The personid columns of customer and staff become foreign keys referring to person.
Specify CASCADE actions for both relationships.
Implement the belongsto and worksat relationships as foreign keys:
belongsto becomes an addressid foreign key in person referring to address.
worksat becomes a storeid foreign key in staff referring to store.
Specify RESTRICT actions for both relationships.
The address and store tables, with primary keys addressid and storeid are predefined in the zyLab environment. Foreign keys must have the same data types as the referenced primary keys:
addressid has data type SMALLINT UNSIGNED.
storeid 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 fkpaymentcustomer,
DROP CONSTRAINT fkpaymentstaff;
ALTER TABLE rental
DROP CONSTRAINT fkrentalcustomer,
DROP CONSTRAINT fkrentalstaff;
ALTER TABLE store
DROP CONSTRAINT fkstorestaff;
DROP TABLE customer, staff;
Step by Step Solution
There are 3 Steps involved in it
Step: 1
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