C++ 基础知识复习(五)

UML建模部分

70. 什么是UML:

答: Unified Modeling Language, 统一建模语言,是一种标准的图形化建模语言。是面向对象分析和设计的标准表示。

71. UML有哪些图:

答: 类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。

72. UML图中的符号:

答:

类图 - 三个部分, 类名,属性和方法,三个符号+public - private #protected

包图-

接口 - 可以是一个原点,也可以类似类图,里面用尖括号说明interface

泛化关系 - generalization,表示is-a是对象之间藕合度最大的关系,子类继承父类的细节。用带三角箭头的实线表示,箭头从子类指向父类。

实现关系 - 接口与实现的关系,用带三角箭头的虚线表示,箭头从实现类指向接口。

依赖关系 - Dependancy 最弱的一种关系,临时性的关联,一般指由局部变量,函数参数和返回值建立的对于其他对象的调用关系。用带箭头的虚线表示,从使用类指向被依赖的类。

关联关系 - Association 对象之间的一种引用关系,也就是类的属性。包括一般关联,聚合和组合。实现箭头表示。

聚合关系 - Aggregation 较强的关联,表示has-a,不稳定的包含关系,没有了整体,局部依旧可以存在,使用空心菱形表示,从局部指向整体。

组合关系 - Composition,contains-a 强烈的包含关系,整体决定局部的生存周期,用实心菱形表示,从局部指向整体。

73. 设计模式分为创建型设计模式,行为型设计模式和结构型设计模式。

数据库部分:

74. 什么事设计范式:

答: 数据库范式,是指设计数据库时应当遵守的设计原则。常见的有第一范式1NF,第二范式2NF,第三范式3NF,第四范式4NF,第五范式5NF和BCNF范式。
第一范式:关系型数据库的基本要求,要求每一列都是不可分割的基本数据项。
第二范式:行值完全依赖于主关键字。
第三范式:为去处冗余,要求表之间不能存在除了主键外的其它以来。

75. 什么是数据库事务:

答:事务是一个操作序列,要么全部执行,要么都不执行,不可分割。关键操作,事务提交和事务回滚。具有四个特性,原子性Atomicity,一致性Consistency,独立性Isolation,持续性Durability

76. 什么是SQL语言:

答:结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,实现数据定义DDL,数据操纵DML和数据控制功能。

77. 常用SQL操作:

Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表 

1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.S#
from (select s#,score from SC where C#=’001′) a,
(select s#,score from SC where C#=’002′) b
where a.score>b.score and a.s#=b.s#; 

2、查询平均成绩大于60分的同学的学号和平均成绩;
select S#,avg(score)
from sc
group by S# having avg(score) >60; 

3、查询所有同学的学号、姓名、选课数、总成绩;
select Student.S#,Student.Sname,count(SC.C#),sum(score)
from Student left Outer join SC on Student.S#=SC.S#
group by Student.S#,Sname 

4、查询姓“李”的老师的个数;
select count(distinct(Tname))
from Teacher
where Tname like ‘李%’; 

5、查询没学过“叶平”老师课的同学的学号、姓名;
select Student.S#,Student.Sname
from Student
where S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname=’叶平’); 

6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;
select Student.S#,Student.Sname
from Student,SC
where Student.S#=SC.S# and SC.C#=’001′and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#=’002′);

7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;
select S#,Sname
from Student
where S# in
(select S#
from SC ,Course ,Teacher
where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname=’叶平’ group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname=’叶平’)); 

8、查询所有课程成绩小于60分的同学的学号、姓名;
select S#,Sname
from Student
where S# not in (select Student.S# from Student,SC where S.S#=SC.S# and score>60); 

9、查询没有学全所有课的同学的学号、姓名;
select Student.S#,Student.Sname
from Student,SC
where Student.S#=SC.S#
group by Student.S#,Student.Sname having count(C#) <(select count(C#) from Course); 

10、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;
select S#,Sname
from Student,SC
where Student.S#=SC.S# and C# in (select C# from SC where S#=‘1001‘);

11、删除学习“叶平”老师课的SC表记录;
Delect SC
from course ,Teacher
where Course.C#=SC.C# and Course.T#= Teacher.T# and Tname=‘叶平‘; 

12、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分
SELECT L.C# 课程ID,L.score 最高分,R.score 最低分
FROM SC L ,SC R
WHERE L.C# = R.C#
and
L.score = (SELECT MAX(IL.score)
FROM SC IL,Student IM
WHERE IL.C# = L.C# and IM.S#=IL.S#
GROUP BY IL.C#)
and
R.Score = (SELECT MIN(IR.score)
FROM SC IR
WHERE IR.C# = R.C#
GROUP BY IR.C# ); 

14、查询各科成绩前三名的记录:(不考虑成绩并列情况)
SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数
FROM SC t1
WHERE score IN (SELECT TOP 3 score
FROM SC
WHERE t1.C#= C#
ORDER BY score DESC)
ORDER BY t1.C#; 

查询A(ID,Name)表中第31至40条记录,ID作为主键可能是不是连续增长的列,完整的查询语句如下:
方法一:
select top 10 *
from A
where ID >(select max(ID) from (select top 30 ID from A order by ID ) T) order by ID
方法二:
select top 10 *
from A
where ID not In (select top 30 ID from A order by ID)
order by ID
时间: 2024-10-24 09:47:36

C++ 基础知识复习(五)的相关文章

C# 基础知识复习(五)---结构与枚举

定义结构 为了定义一个结构,您必须使用 struct 语句.struct 语句为程序定义了一个带有多个成员的新的数据类型. 例如,您可以按照如下的方式声明 Book 结构: struct Books { public string title; public string author; public string subject; public int book_id; }; C# 结构的特点 您已经用了一个简单的名为 Books 的结构.在 C# 中的结构与传统的 C 或 C++ 中的结构不

考试备战系列--软考--02基础知识复习

这部分主要是计算机基础知识的概念介绍,相关系列文章如下所示. 考试备战系列--软考--01基础架构概念 考试备战系列--软考--02基础知识复习 考试备战系列--软考--03综合知识复习 考试备战系列--软考--04考题收集 考试备战系列--软考--05案例收集 考试备战系列--软考--06论文准备 操作系统时计算机系统的核心系统软件,其他软件均建立在其上,其分类包括:单用户操作系统和批处理操作系统.分时操作系统和实时操作系统.网络操作系统和分布式操作系统.嵌入式操作系统.其4大特征为并发性.共

php高级进阶系列文章--第二篇(PHP基础知识复习)

php基础知识复习 本文中对于简单的知识点只会提及一下(例如什么控制结构什么的),对于较有难度的详细复习下(例如面向对象的反射等等) 再次申明,本系列文章不是从最基础的开始复习,对于零基础的可能不适用,本文的初衷是我要准备攻读源码,在攻读前将之前的知识牢固下,太过简单的就写在文中了 1,echo print echo 可以输出一个或者多个字符串 print 只可以输出一个字符串,返回值总为1 2,PHP7中的组合比较符 echo 1 <==> 1 // 0 echo 1 <==>

c基础知识复习

C的发展历程 C原本是为了开发UNIX操作系统而设计的语言:如此说,应该C比UNIX更早问世,而事实并非如此,最早的UNIX是由汇编写的: C语言本来是美国人开发的,解读C的声明,最好还是用英语来读: 解读C声明的步骤: 1.首先着眼于标识符(变量名或者函数名) 2.从距离标识符最近的地方开始,依照优先顺序解释派生类型(指针.数组和函数).优先顺序说明如下: a.用于整理声明内容的括号: b.用于表示数组的[ ],用于表示函数的( ) c.用于表示指针的* 3.解释完成派生类型,使用 “of”.

linux基础知识复习

@(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作>创建文件和目录>拷贝文件和目录>剪切文件和目录>删除文件和目录>查看文件和目录>查看文件属性>查看文件内容>过滤文件内容>编辑文件内容>统配符使用>命令别名 用户和组管理 用户基本操作>添加账户>设置密码>删除账户>修改密码组基本管理>创建组>查看组>

Python基础知识(五)

# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : [email protected]# @File : Python基础知识(五).py# @Software : PyCharm Python基础知识(五)今日内容大纲:昨日内容回顾 list: 增:append() insert(index,object) extend() 迭代着追加 删: pop 默认删除最后一个,按照索引去删除,有返回值.

php高级进阶系列文章--第五篇(redis基础知识复习)

在实际工作中不仅需要使用到非常重要的关系型数据库mysql,同时也需要使用到redis,memcached,mongodb等进行数据存储,完成特定的产品需求,本节先复习redis的基础知识,高深部分后续会继续探讨 1,redis与其他的key-value形式缓存数据库的特点: 支持数据持久化,将内存中的数据保存到磁盘中,重启的时候再次加载进行使用 redis不仅有key-value格式的数据,同时也有list,set,zset,hash格式的数据结构存储数据 redis支持数据的备份,即Mast

线程基础知识系列(五)认识volatile

线程基础知识系列(四)线程的同步2  :线程的notify-wait通信机制,以及Condition条件变量 线程基础知识系列(三)线程的同步  :同步控制,锁及synchronized 线程基础知识系列(二)线程的管理 :线程的状态,控制,休眠,Interrupt,yield等 线程基础知识系列(一)线程的创建和启动  :线程的创建和启动,join(),daemon线程,Callable任务. 本篇文章主要讨论的关键字是volatile. volatile使用场景 volatile介绍 vol

c#基础知识复习

平时写代码也就依照样子画葫芦,重复着相同的工作,也很无聊,现在开始整理下,一些基础知识,都已经快忘记光了,写下来记录下,平时还可以重温下. 什么是属性? 比如: public class A{ public int Id{get;set;} public string Name{get;set;} } 上面是一个类,那么我们要访问的属性,就是: A  model=new A();//调用类 A.Id//Id就是属性 平时我们都是这么来写代码的.分析下:官网说法:属性结合了字段和方法的多个方面.对