【单选题】设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员。则部门与职员实 体之间的联系类型是( )
【单选题】)如下图所示是某学校行政管理组织结构,描述的数据模型是()。
【简答题】使用下面 sql 语句创建 yggl (员工管理)数据库、 employees 表(员工表)、 departments (部门表)、 salary 表(工资表)。 set foreign_key_checks=0; drop database if exists yggl; create database yggl; use yggl; create table employees( eid char(6) primary key not null comment ' 员工编号 ', ename char(10) not null comment ' 姓名 ', education char(4) not null comment ' 学历 ' , birthday date not null comment ' 出生日期 ', sex enum(' 男 ',' 女 ') not null default ' 男 ', workyear tinyint(1) comment ' 工作时间 ', did char(3) not null comment ' 员工部门编号 ', constraint fk_did foreign key (did) references departments(did) ); create table departments( did char(3) primary key comment ' 部门编号 ', dname char(20) not null comment ' 部门名称 ' ); create table salary( eid char(6) primary key comment ' 员工编号 ', income decimal(10,2) not null comment ' 收入 ', outcome decimal(10,2) not null comment ' 支出 ' ); insert into employees values ('001','wanlin',' 大专 ','1966-1-23',' 男 ','8','2'), ('002','ronghua',' 本科 ','1976-3-28',' 男 ','3','1'), ('003','xiangrong',' 硕士 ','1982-12-9',' 男 ','2','1'), ('004','lili',' 大专 ','1960-7-30',' 女 ','6','1'), ('005','liuming',' 本科 ','1972-10-18',' 男 ','3','5'), ('006','zhujun',' 硕士 ','1965-9-28',' 男 ','2','5'), ('007','zhongmin',' 硕士 ','1979-8-10',' 女 ','4','3'), ('008','shibing',' 本科 ','1974-10-1',' 男 ','1','5'), ('009','lintao',' 大专 ','1977-4-2',' 男 ','2','3'), ('010','yumin',' 本科 ','1968-9-20',' 男 ','3','4'), ('011','yefan',' 本科 ','1978-11-18',' 男 ','2','4'), ('012','linlin',' 大专 ','1969-9-3',' 女 ','5','4'); insert into departments values ('1',' 财务部 '), ('2',' 人力资源部 '), ('3',' 经理办公室 '), ('4',' 研发部 '), ('5',' 市场部 '); insert into salary values ('001',2100.80,123.09), ('002',1528.62,88.03), ('003',2569.88,185.65), ('004',1987.01,79.58), ('005',2066.15,108.00), ('006',2980.70,210.20), ('007',3259.98,281.52), ('008',2860.00,198.00), ('009',2347.68,180.00), ('010',2531.98,199.08), ('011',2240.00,121.00), ('012',1980.00,100.00); 在数据库 yggl 中,按下面要求创建存储过程: 1. 创建不带参数的存储过程 count_sp() ,统计 1978-1-1 之前出生的员工人数。 2. 创建带一个输入参数的存储过程 realsalary_sp() ,能根据员工编号 eid ,查询该员工的实际收入( 即 income-outcome 值 ) 。 3. 创建带一个输入参数的存储过程 name_sp() ,根据员工编号 eid ,查询该员工的姓名。 4. 创建一个存储过程 education_sp() ,用参数指定的员工学历 education ,查询具有该学历的所有员工。 5. 创建一个存储过程 income_avg_sp() ,用参数指定的部门名称 dname ,查询该部门所有员工的平均收入( 即 income 平均值 )。 6. 在 employees 员工表上创建存储过程 emp_info_sp() 。该存储过程的输入参数是 type ,输出参数是 info 。当 type 值是 1 时,计算 employees 员工表中男员工人数,然后通过参数 info 输出该人数;当 type 值是 2 时,计算 employees 员工表中女员工人数,然后通过参数 info 输出该人数;当 type 值为 1 和 2 以外的任何值时,将输出“类型错误!”。 7. 创建带一个输入参数的存储过程 addincome_sp() ,用参数指定的员工编号 eid ,修改该员工的 income 值。以员工 workyear 工作时间 4 年为基准,工作时间每增加 1 年,则收入 income 增加 20 ( 假如某员工 workyear 工作时间为 9 ,则 income 增加 20* ( 9-4 ) ),如果员工 workyear 工作时间小于或等于 4 年则 income 值无变化。
【简答题】(考察知识点为简单查询、带条件查询) 1. 请按照以下要求查询表 goods 中的数据。 goods 表结构如下: 字段名 类型 描述 id int 商品编号 name varchar(20) 商品名称 product_date date 生产日期 price float 商品价格 -- 创建表: use test; drop table if exists goods; create table if not exists `goods` ( `id` int(11) not null comment ' 商品编号 ', `name` varchar(20) default null comment ' 商品名称 ', `product_date` date default null comment ' 生产日期 ', `price` float default null comment ' 商品价格 ', primary key (`id`) ) engine=innodb default charset=utf8; -- 插入数据: insert into `goods` (`id`, `name`, `product_date`, `price`) values (1,' 洗衣粉 ','2016-03-01',null),(2,' 肥皂 ','2015-12-22',2), (3,' 毛巾 ','2015-01-20',9.9),(4,' 清洗剂 ','2016-02-19',8.6), (5,' 卫生纸 ','2015-11-06',null),(6,' 牙刷 ','2014-11-14',4.5), (7,' 牙膏 ','2016-07-05',13),(8,' 洗面