Products
GG网络技术分享 2025-03-18 16:17 1
MySQL是一个流行的关系型数据库管理系统,在数据库设计中,存储过程是一块相对较新的技术。在MySQL存储过程中,可以使用4张表来管理不同的数据,这些表的用途如下:
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
`dept_name` varchar(40) NOT NULL,
PRIMARY KEY (`dept_no`),
UNIQUE KEY `dept_name` (`dept_name`)
) ENGINE=InnoDB;
CREATE TABLE `titles` (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date DEFAULT NULL,
PRIMARY KEY (`emp_no`,`title`,`from_date`),
KEY `emp_no` (`emp_no`),
CONSTRAINT `titles_ibfk_1` FOREIGN KEY (`emp_no`) REFERENCES `employees` (`emp_no`) ON DELETE CASCADE
) ENGINE=InnoDB;
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` enum(\'M\',\'F\') NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`)
) ENGINE=InnoDB;
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`),
KEY `emp_no` (`emp_no`),
CONSTRAINT `salaries_ibfk_1` FOREIGN KEY (`emp_no`) REFERENCES `employees` (`emp_no`) ON DELETE CASCADE
) ENGINE=InnoDB;这些表的用途是:
1. departments表格:用于存储公司的各个部门的信息,如部门编号、部门名字等。在实际应用中,我们常常需要根据部门信息来进行统计或者查询。
2. titles表格:用于存储员工职称的变化信息。因为员工的职称往往会因为升职、调整、离职等因素发生变化,所以我们需要一个表格来记录这些变化。titles表格中存储的是员工的职称、职称变化的起始日期和终止日期等信息。
3. employees表格:用于存储公司员工的基本信息,如员工编号、员工姓名、性别、出生日期、入职日期等。我们可以借助employees表格来查询员工的详细信息,如员工的籍贯、学历、工作经验等。
4. salaries表格:用于存储公司员工的薪资信息。salaries表格中存储的是员工的薪资变化信息,包括薪资、起始日期和终止日期等。
Demand feedback