计算机软件开发技术C#期末复习含SQL语句例题同济大学.pdf_第1页
计算机软件开发技术C#期末复习含SQL语句例题同济大学.pdf_第2页
计算机软件开发技术C#期末复习含SQL语句例题同济大学.pdf_第3页
计算机软件开发技术C#期末复习含SQL语句例题同济大学.pdf_第4页
计算机软件开发技术C#期末复习含SQL语句例题同济大学.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、数据结构一、数据结构 1、 概念部分概念部分 1)数据结构的概念及其三要素)数据结构的概念及其三要素 a. 数据结构:描述了一组性质相同的数据元素及元素间的相互关系。 b. 基本概念: 数据:描述客观事物的信息集,是程序处理的对象。 数据元素:是数据集合中的个体,构成数据对象的基本单位。一个数据元素可由若干个数据 项组成。 数据项:是数据的最小单位。 c. 数据结构的三要素: 1逻辑结构:数据元素之间的逻辑关系。 2存储结构:数据元素在计算机中的储存方式。 3运算(操作):数据元素定义上的运算集合。 2) 数据逻辑结构的基本类型,数据储存表示的基本方法及其特点:数据逻辑结构的基本类型,数据储存表示的基本方法及其特点: a. 数据逻辑结构的基本类型: 线性结构:1 对 1 树型结构:1 对多 图状结构:多对多 集合:除了同属一个集合,无其他关系 b. 数据储存表示的基本方法: 顺序表示:用物理上连续的存储空间,顺序存放逻辑上相邻的数据元素。 (主要用于线性数据结构) 主要特点: 要求存储在一片连续的地址中。 结点中只有自身信息域,没有连接信息域。存储密度大,存储空间利用率高。 可以通过计算直接确定数据结构中第 i 个结点的存储地址。 可以直接对记录进行存取。 即可以对记录直接进行存取;如数组下标 插入、删除运算会引起大量节点的移动(效率低) 链式表示:储存空间物理上不连续,数据元素之间的关系由指针确定 主要特点: 结点由两类域组成:数据域和指针域。储存密度小。 逻辑上相邻的节点物理上不必邻接,既可实现线性数据结构,又可用于表示非线性数 据结构。 插入,删除操作灵活方便,不必移动结点,只要改变结点中的指针即可。 程序实现复杂度高。 3)栈、队列等线性结构的基本概念、性质、存储方式及各自的特点)栈、队列等线性结构的基本概念、性质、存储方式及各自的特点(看 129 页 8、9 题) 栈(Stack) 是一种特殊的线性数据结构,其操作被限制在一端,这一端称为栈顶,而另一端称为栈底,具 有后进先出的特点。 根据栈中数据元素存储方式的不同,分为顺序存储栈、链式存储栈。 队列(Queue) 也是操作受限的线性表,允许在表的一端进行插入,另一端进行删除。允许插入的一端叫做队 尾(tail) ,允许删除的一端则称队头(head) 。具有先进先出的特点。 根据队列元素数据存储方式的不同,分为顺序存储队列、链式存储队列。 4) 二叉树的基本概念、性质、遍历以及由遍历序列构造出二叉树的方法二叉树的基本概念、性质、遍历以及由遍历序列构造出二叉树的方法(看 129 页 6、10、12 题) a. 定义:二叉树是 n(n0)个结点的有限集合,且满足以下两条: 1或者为空二叉树,即 n=0; 2或者由一个根结点和两棵互不相交的被称为根的左子树左子树和右子树右子树所组成, 左子树和右子树分 别又是一棵二叉树。 注意: 1二叉树的结点子树要明确指出左子树和右子树,即便结点只有一棵子树。 2二叉树允许为空。 3每个结点最多有两棵子树,故二叉树不存在度大于 2 的结点。 b. 两种特殊的二叉树: 满二叉树:所有分支结点都有左子树和右子树,且所有叶结点都在同一层上。深度为 K 的满二 叉树有 2K-1 个结点。 完全二叉树:一棵深度为 K 的二叉树,其叶结点都在第 K 层或第 K-1 层上(只有最下两层的度 小于 2) ,且最下层上的结点都集中在该层最左边的若干位置上。从满二叉树叶子所 在的层次中,自右向左连续删除若干叶子所得到的二叉树就是完全二叉树。 c. 二叉树的性质: 一般二叉树的性质 性质 1在非空二叉树的第 i 层,最多有 2i-1个结点。 性质 2高度为 k 的二叉树,结点总数最多为 2k-1。 性质 3对任何一棵非空二叉树, 若叶结点个数为 n0, 度为 2 的结点个数为 n2, 则有 n0= n2+ 1。 亦即包含 n 个结点的二叉树必有 n-1 条树枝(分枝)。 完全二叉树的性质 性质 4具有 n 个结点的完全二叉树的高度为 log2n+1 性质 5对一棵有 n 个结点的完全二叉树,若按自上而下,自左至右的顺序对二叉树中的所有 结点从 1 开始编号,则对任一结点 i(1in),有: 1若 i=1,则结点 i 是二叉树的根,无双亲;若 i1,则其双亲结点是i/2。 2如果 2in,结点 i 无左孩子(此时结点 i 为叶子);否则其左孩子是结点 2i。 3若 2i+1n,结点 i 无右孩子;否则其右孩子是结点 2i+1 d. 3 种遍历方法的递归算法(若树非空) : 1.先序遍历(树 T):根左右:ABDEHICFG 2.中序遍历(树 T):左根右:DBHEIAFCG 3.后序遍历(树 T):左右根:DHIEBFGCA 画二叉树画二叉树 已知一棵二叉树的先序序列和中序序列,或者后序序列和中序序列,就可画出该二叉树; 但若只给出一棵二叉树的先序序列和后序序列,则无法画出该二叉树。 2、程序与算法、程序与算法 1)快速排序(一趟快速排序(一趟) 、归并排序(一趟)算法思想及实现、归并排序(一趟)算法思想及实现 (注:课本 129 页 13 题:12,2,16,30,28,10,20,6,18 一趟快速排序的结果为:6,2,10,12,28,30,20,16,18 一趟归并的结果:2,12,16,30,10,28,6,20,18) a.快速排序(一趟)快速排序(一趟)(程序在 119 页) private void qkOne(int start, int end, ref int mid) /【start, end 分别为待排序列的首尾位置,mid 为一趟分割后找到的分区位置】 int i,j,x; i=start; j = end; x = datai;/【将第 1 个值保存在 x 中,作基准】 while (i != j) while (i =x) j-;/【自右向左扫描】 if (i k) p = p.leftChild; else p = p.rightChild; return (p); c.二分法查找二分法查找 public int binSearch(int keyValue) int low,high,mid;/有序表的下、上限和中间位置 low=0; high=length-1;/ 初始化下限、上限 while (low deptId deptName Teacher workerNo workerName sex 1n1 work studentNo studentName birthday sex Course courseNo courseName selectCourse 1n0n grade score 2) UML 图到关系模式的转换图到关系模式的转换: 关系模式 关系名(关键属性,A1,A2,A3,An),主键要用下划线 1实体(E)到关系模式的转换 规则:将实体的名称作为关系的名称,将实体的属性作为关系的属性,并用下划线标识出主键。 2联系(R)到关系模式的转换 规则 1 (1:1 联系):在任意一个关系模式属性集中加入另一个关系模式的主键(外键) ,不需要单 独转换为一个独立的关系模型。 规则 2 (1:n 联系):把 1 端实体的主键加至 n 端实体属性集。 规则 3 (m:n 联系):关联本身产生一个关系模型,两端对象的主键构成复合键,加上联系本身属 性 3、 关系模式规范化必要性(数据冗余导致更新异常,其根源是存在两种不好的函数依赖)关系模式规范化必要性(数据冗余导致更新异常,其根源是存在两种不好的函数依赖) 1)函数依赖: 完全函数依赖:属性由主键完全决定 部分函数依赖:XX 属性只由复合主键之一决定 传递函数依赖:AB, ,BC,则 AC(主键是 A) 2)第一、二、三范式的概念及其应用 1NF 2NF 3NF BCNF 4NF 5NF a.第一范式第一范式(1NF) 如果一个关系模式 R 的所有属性都是不可分的基本数据项,关系数据库的基本要求。 b.第二范式第二范式(2NF) 若关系模式 R 属于第一范式,且每个非主属性都完全函数依赖于主键,则 R 属于第二范 式。单个属性作为主键的关系都是第二范式。 c.第三范式第三范式(Third Normal Form,3NF) 若关系模式 R 属于第二范式,且每个非主属性都不传递依赖于主键,则 R 属于第三范式。 4、 掌握数据库中常用的数据类型掌握数据库中常用的数据类型(char, varchar, int ,real, datetime, decimal ,money 等) ,并能用于数据表的 字段设计。 5、 掌握掌握 SQL 语言中语言中 Select(查询查询) 、Insert(插入插入) 、Update(更新更新)和和 Delete(删除删除)语句的语法格式语句的语法格式。 (详见附页) Student 三、三、C#与软件开发与软件开发 1、面向对象编程中类与对象、继承与派生等基本概念、面向对象编程中类与对象、继承与派生等基本概念 类:是一类对象共性的抽象 对象:是某类中的一个个体 继承派生: 通过继承父类来实现子类,使得子类获得父类中已经声明的可被继承的内容,增强代码 的可重用性,提高开发效率。继承是实现多态的关键。一个类只能继承一个父类。 2、C#的常用控件及其属性的常用控件及其属性 1)标签 Label(Text), 2)文本框 Textbox(Text,passwordchar(将密码设为*) 3)重点 ListView 的属性设置、方法 属性 FullRowSelected:true GridLines: true View: View.Details Columns:添加属性列 SelectedItems :选中行集合 SelectedIndices : Items:列表项集合 事件 SelectedIndexChanged DoubleClick 方法 Items.Clear(); Items.Remove(ListViewItem li) Items.Add(ListViewItem li) 2、 多层次软件架构的基本思想多层次软件架构的基本思想 (类划分:实体类、边界类、控制类; 软件体系结构分层部署 4 层:表示层、逻辑层、数据访问层、数据存储层) 3、数据库访问关键步骤、嵌入式、数据库访问关键步骤、嵌入式 SQL 语句的构造等语句的构造等 1.创建 OleDbConnection 对象 OleDbConnection conn= new OleDbConnection(); 2创建 OleDbCommand 对象:两个参数 1命令文本嵌入式SQL语句 2OleDbCommand对象 OleDbCommand cmd= new OleDbCommand(sql,conn); 3执行 OleDbCommand 的某个方法 cmd. ExecuteReader() 4.嵌入式 SQL 语句 重点重看:重点重看: 二叉树的性质 画二叉树 排序算法 SQL 语句: 1. 查询所有男同学的姓名、年龄,并分别以字段名姓名、年龄显示。查询所有男同学的姓名、年龄,并分别以字段名姓名、年龄显示。 SELECT studentName AS 姓名, year(getdate()-year(birthday) AS 年龄 FROM tblStudent WHERE sex=男 2. 查询所有查询所有 01 级女生的信息级女生的信息 SELECT * FROM tblStudent WHERE sex=女 AND studentNo LIKE 01% 3. 查询德语成绩在查询德语成绩在 90 分以上的学生的姓名,学号,性别,成绩分以上的学生的姓名,学号,性别,成绩 SELECT s.studentName AS 姓名,s.studentNo AS 学号,s.sex AS 性别,sc.grade AS 成绩 FROM tblStudent AS s, tblSelectCourse AS sc, tblCourse AS c WHERE s.studentNo=sc.studentNo AND c.courseNo=sc.courseNo AND courseName=德语 AND grade90 /只在一个表中出现的列名可以不加标注,如 courseName 4. 查询男、女生的平均年龄。查询男、女生的平均年龄。 SELECT sex AS 性别,avg(year(getdate()-year(birthday) AS 平均年龄 FROM tblStudent GROUP BY sex /用到聚合函数一定要用 group by 5.将学生的将学生的“J04”课程的成绩提高课程的成绩提高 5%. UPDATE tblSelectCourse SET grade=1.05*grade WHERE courseNo=J04 6. 在学生选课表中增加在学生选课表中增加“020031”课程课程“J04”成绩为成绩为 80 分这样一条记录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论