MySQL学习笔记(二十)

200 阅读5分钟

这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

选择题

1、我们在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 阶段。

A.需求分析 B.概念设计 C.逻辑设计 D.物理设计

【正确答案:】B

2、在关系数据库设计中,设计关系模式是 的任务。

A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段

【正确答案:】C

3、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是 。

A.建立库结构 B.扩充功能 C.加载数据 D.系统调试

【正确答案:】B

4、在数据库的概念设计中,最常用的数据模型是 。

A.形象模型 B.物理模型 C.逻辑模型 D.实体联系模型

【正确答案:】D

5、从E-R模型关系向关系模型转换时,一个M∶N联系转换为关系模型时,该关系模式的关键字是 。

A.M端实体的关键字 B.N端实体的关键字 C.M端实体关键字与N端实体关键字组合 D.重新选取其他属性

【正确答案:】C

6、数据流程图(DFD)是用于描述结构化方法中 阶段的工具。

A.可行性分析 B.详细设计 C.需求分析 D.程序编码

【正确答案:】B

7、概念模型独立于 。

A.E-R模型 B.硬件设备和DBMS C.操作系统和DBMS D.DBMS

【正确答案:】B

8、当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是 。

A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突

【正确答案:】C

5.16 — 5.20

 【习题16】列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门.
  select d.dname , e.* from emp e right join dept d on e.deptno = d.deptno order by e.deptno; 
 ​
 【习题17】列出至少有 5 个员工的所有部门
  select d.dname , count(*) from emp e join dept d on e.deptno = d.deptno group by e.deptno having count(*) >= 5;
 ​
 【习题18】列出薪金比"SMITH"多的所有员工信息.
  select * from emp where sal > (select sal from emp where ename = 'SMITH');
 ​
 【习题19】列出所有"CLERK"(办事员)的姓名及其部门名称,部门的人数
  select e.ename , d.dname , c.cc from emp e join dept d on e.deptno = d.deptno join (select deptno , count(*) as cc from emp group by deptno) as c on d.deptno = c.deptno where job = 'CLERK' ;
 ​
 【习题20】列出最低薪金大于 1500 的各种工作及从事此工作的全部雇员人数
  select job ,count(*) from emp group by job having min(sal) > 1500 ;

5.21 —5 .25

 【习题21】列出在部门"SALES"<销售部>工作的员工的姓名,假定不知道销售部的部门编号
  select e.ename from emp e join dept d on d.dname = 'SALES' and e.deptno = d.deptno  ;
  
 【习题22】列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,雇员的工资等级
  select e.ename '姓名', d.dname '部门名称', ifnull(m.ename , '无') '上级领导', s.grade '工资等级' from emp e join dept d on e.deptno = d.deptno left join emp m on e.mgr = m.empno join salgrade s on e.sal between s.losal and s.hisal where e.sal > (select avg(sal) avgsal from emp) ;
 ​
 【习题23】列出与"SCOTT"从事相同工作的所有员工及部门名称.
 select e.ename , d.dname from emp e join dept d on e.deptno = d.deptno where job = (select job from emp where ename = 'SCOTT') and ename != 'SCOTT';
 ​
 【习题24】列出薪金等于部门 30 中员工的薪金的其他员工的姓名和薪金
 select ename , sal from emp where sal in (select sal from emp where deptno = 30) and deptno != 30 ;
 ​
 【习题25】列出薪金高于在部门 30 工作的所有员工的薪金的员工姓名和薪金.部门名称.
  select e.ename , e.sal , d.dname from emp e join dept d on d.deptno = e.deptno where e.sal > (select max(sal) from emp where deptno = 30) ;

下一步就是学习web了

固定定位

我们经常会看到网页中右下角有个回顶部的标记,无论鼠标滑轮怎么滑动他都不会改变他的位置。 position: fixed;(相对浏览器窗口定位)

image-20211116002735817

 <body>
   <div class="fix_position">
     固定在右侧中间
   </div>
 </body>
 .fix_position {
   width: 50px;
   height: 180px;
   position: fixed;
   right: 0;
   top: calc(50% - 90px);
   background-color:antiquewhite;
 }

粘性定位

粘性定位是相对定位和固定定位的结合。元素在跨越特定阈值前为相对定位,之后为固定定位。 position: sticky;

z-index属性

z-index 属性指定了一个具有定位属性的元素及其子代元素的 z-order。

当元素之间重叠的时候,z-order 决定哪一个元素覆盖在其余元素的上方显示。

通常来说 z-index 较大的元素会覆盖较小的一个。

语法格式 z-index: auto | < integer > 取值:

  • auto 默认值,元素不会建立一个新的本地堆叠上下文。当前堆叠上下文中新生成的元素和父元素堆叠层级相同。
  • < integer > 整型数字是生成的元素在当前堆叠上下文中的堆叠层级。元素同时会创建一个堆叠层级为0的本地堆叠上下文。这意味着子元素的 z-indexes 不与元素外的其余元素的 z-index 进行对比。

默认堆叠规则: 当z-index未指定或值为auto时,元素按如下规则堆叠(从下至上):

  • 根元素的背景的边框
  • 没有定位的后代元素, 按照它们出现在HTML文件中的顺序
  • 定位的后代元素, 按照它们出现在HTML文件中的顺序

z-index实例

image-20211116003237589

 <div class="dashed-box">Dashed box
   <span class="gold-box">Gold box</span>
   <span class="green-box">Green box</span>
 </div>
 .dashed-box { 
   position: relative;
   z-index: 1;
   border: dashed;
   height: 8em;
   margin-bottom: 1em; margin-top: 2em;
 }
 .gold-box { 
   position: absolute;
   z-index: 3; 
   background: gold;
   width: 80%;
   left: 60px; top: 3em;
 }
 .green-box { 
   position: absolute;
   z-index: 2; 
   background: lightgreen;
   width: 20%;
   left: 65%; top: -25px; height: 7em;
   opacity: 0.9;
 }