mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-08 21:37:56 +00:00
71 lines
3.5 KiB
Plaintext
71 lines
3.5 KiB
Plaintext
sakila.payment
|
|
CREATE TABLE `payment` (
|
|
`payment_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` smallint(5) unsigned NOT NULL,
|
|
`staff_id` tinyint(3) unsigned NOT NULL,
|
|
`rental_id` int(11) DEFAULT NULL,
|
|
`amount` decimal(5,2) NOT NULL,
|
|
`payment_date` datetime NOT NULL,
|
|
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`payment_id`),
|
|
KEY `idx_fk_staff_id` (`staff_id`),
|
|
KEY `idx_fk_customer_id` (`customer_id`),
|
|
KEY `fk_payment_rental` (`rental_id`),
|
|
CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8
|
|
|
|
sakila.rental
|
|
CREATE TABLE `rental` (
|
|
`rental_id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`rental_date` datetime NOT NULL,
|
|
`inventory_id` mediumint(8) unsigned NOT NULL,
|
|
`customer_id` smallint(5) unsigned NOT NULL,
|
|
`return_date` datetime DEFAULT NULL,
|
|
`staff_id` tinyint(3) unsigned NOT NULL,
|
|
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`rental_id`),
|
|
UNIQUE KEY `rental_date` (`rental_date`,`inventory_id`,`customer_id`),
|
|
KEY `idx_fk_inventory_id` (`inventory_id`),
|
|
KEY `idx_fk_customer_id` (`customer_id`),
|
|
KEY `idx_fk_staff_id` (`staff_id`),
|
|
CONSTRAINT `fk_rental_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_rental_inventory` FOREIGN KEY (`inventory_id`) REFERENCES `inventory` (`inventory_id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_rental_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8
|
|
|
|
sakila.staff
|
|
CREATE TABLE `staff` (
|
|
`staff_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
|
`first_name` varchar(45) NOT NULL,
|
|
`last_name` varchar(45) NOT NULL,
|
|
`address_id` smallint(5) unsigned NOT NULL,
|
|
`picture` blob,
|
|
`email` varchar(50) DEFAULT NULL,
|
|
`store_id` tinyint(3) unsigned NOT NULL,
|
|
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
`username` varchar(16) NOT NULL,
|
|
`password` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
|
|
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`staff_id`),
|
|
KEY `idx_fk_store_id` (`store_id`),
|
|
KEY `idx_fk_address_id` (`address_id`),
|
|
CONSTRAINT `fk_staff_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_staff_store` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
|
|
|
|
sakila.store
|
|
CREATE TABLE `store` (
|
|
`store_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
|
`manager_staff_id` tinyint(3) unsigned NOT NULL,
|
|
`address_id` smallint(5) unsigned NOT NULL,
|
|
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`store_id`),
|
|
UNIQUE KEY `idx_unique_manager` (`manager_staff_id`),
|
|
KEY `idx_fk_address_id` (`address_id`),
|
|
CONSTRAINT `fk_store_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_store_staff` FOREIGN KEY (`manager_staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
|
|
|