重大877-数据库和C语言知识点

知识点都来自历年真题,根据考察频率标星

24年真题难点/冷门点主要是:

        c语言:

                评价:难度中等,难度主要集中在归并排序大题 选择题有些很容易忽略的知识点,比如:函数指针调用,feof()的返回值。还有一道大题主要是要了解union类型。

        数据库:

                评价:难度简单(甚至太简单),没太冷门知识点,下列知识点均包含有。sql大题是填空,要清楚行级主键,以及多个行级主键如何写ER图大题原题2021年真题数据库ER图关于音乐人、唱片那个)

目录

知识点都来自历年真题,根据考察频率标星

C语言

转义字符 \

枚举Enum

文件

printf

运算符优先级

三目运算符优先级

位运算

冒泡排序

内存

String

参数传递方式?

什么是全局变量和局部变量?局部变量有哪几种存储类型?

static的作用

数据库

其余知识点

all和any比较运算符

空值null

sql结构化语言,非过程化

关系代数基本运算

现实世界抽象模型

数据库物理结构设计阶段

E-R图的常见冲突

sql分为四类

三大异常

触发器

存取控制

数据模型的组成

事务开启

数据库类型按照数据模型划分

视图创建后定义保存在数据库文件中

二段锁协议

三级锁协议

三级模式和二层映射

R÷S

笛卡尔积

简答题

数据库系统的体系结构

什么是数据库日志?作用?⭐️ ⭐️ ⭐️ ⭐️ ⭐️

数据库设计步骤 6 ⭐️ ⭐️ ⭐️ ⭐️ ⭐️ ⭐️

数据库安全性保护措施 5(用存审视数)⭐️⭐️⭐️⭐️

什么是视图?⭐️ ⭐️ ⭐️ ⭐️

死锁⭐️

什么是事务⭐️ ⭐️ ⭐️ ⭐️ ⭐️

数据字典⭐️

并发控制⭐️ ⭐️ ⭐️ ⭐️

游标 ⭐️ ⭐️

采用三级模式结构的优点?

为什么要用nosql数据库?

数据恢复?技术?

索引⭐️⭐️

数据库完整性?⭐️ ⭐️ ⭐️

数据库安全性⭐️ ⭐️

数据库完整性约束

存储过程⭐️ ⭐️ ⭐️ ⭐️

ER概念模型转换成关系模型的规则?

冷门

数据仓库?⭐️

数据分析?⭐️

设计一个完善的数据库应用系统需要注意哪些问题?


C语言

1.%要求必须为整型

2.循环非0执行(负数正数都可以执行)

3.二维数组可以不指定行,但列必须指定

转义字符 \

符号含义备注
\ddd1到3位八进制数所代表的字符例如 \000 = '\0' , 范围是\000 - \377
\xhh1到2位十六进制数所代表的字符
\0空字符(NULL)

枚举Enum

enum colors {

        RED,

        GREEN=10,

        BLUE

}

1.默认从0开始,如:RED=0

2.默认升序递增,如:BLUE=11( 因为GREEN=10)

3.enum colors 变量1=RED;

文件

fopen("文件地址", "模式")

fgetc(fp) / fputc(char, fp);

fgets(str,len,fp) / fputs( str , fp)

fscanf(fp, "格式", 被赋值参数列(变长)) / fprintf(fp, const char* format, ...)

fclose(fp)

fseek(fp,offset, 0/1/2)

4.w,a,w+,a+都可以不存在则创建文件

printf

1.默认右对齐,%-d左对齐

2.进制位输出

%d 十进制

%x 小写十六进制 / %X 大写十六进制 / %#x%#X 带0x符号位置

%o 八进制

运算符优先级

赋值运算符( = )< 逻辑运算符(&|)< 关系运算符(<=>!)< 算数运算符 +-*/

三目运算符优先级

多个三目运算符嵌套,从右到左

例如:a > b ?x > y ? m : n : p

等价于 a > b? ( x > y ? m : n ) : p

在这个表达式中,最右边的三目运算符 x>y?m:n 先执行,判断x是否大于y。如果条件 成立,则返回m,否则返回n。然后 a>b? (上一次结果):p,将这个结果与a是否大于b 进行比较。如果条件成立,则返回之前的结果,否则返回p。

位运算

|

&

~ 取反

^ 异或

冒泡排序

> void sort(int arr[], int size){
> 	int j,i,tem;
> 	for (i = 0; i < size-1;i ++){
>
> ​		for (j = 0; j < **size-1 - i**; j++)	{
> ​			if (arr[j] > arr[j+1]){
> ​				tem = arr[j];
> ​				arr[j] = arr[j+1];
> ​				arr[j+1] = tem;
> ​	
> ​				}
>
> ​		}
>
> ​	}
>
> }

内存

#include<stdlib.h>

malloc( 大小 )

calloc( 个数, 大小)

realloc(原指针,新大小)

String

#include<string.h>

函数名函数作用
strrev(str])颠倒字符串
strlen(str)字符串长度(不包括\0)
strcpy(to,from)字符串的复制(默认从to[0]开始)
strcat(to,from)字符拼接(to改变,from不变)
strcmp(a,b)字符串比较,< 负数, = 0 ,> 正数

参数传递方式?

三个

值传递、引用传递、地址传递

什么是全局变量和局部变量?局部变量有哪几种存储类型?

全局变量的定义:所有的函数外部定义的变量,它的作用域是整个程序,也就是所有的源文件,包括.c和.h文件。

局部变量的定义:定义在函数体内部的变量,作用域仅限于函数体内部。

局部变量的存储类型有: auto, static,register。

static的作用

static 全局变量:仅限本模块使用

static 局部变量:函数调用过程值不变

static 函数:仅限本模块使用

数据库

其余知识点

1.数据库应用中,一般一条SQL语句可产生或处理一组记录,而高级程序语言语句一般一次只能处理一条记录,其协调可通过游标实现

  1. 下列说法错误的是,视图一经定义就可以和基本表一样被查询和更新

  2. 设计关系模式是数据库设计的逻辑结构设计阶段的任务

  3. 已知事务T1的封锁序列为:……LOCK S(A), LOCK S(B) , LOCK S(C),…UNLOCK(B),UNLOCK(A),UNLOCK(C)……; 事务T2的封锁序列为:……LOCK S(A),UNLOCK S(A), LOCK S(B),UNLOCKS(B), LOCK S(C),UNLOCK S(C)…; 则遵守两端封锁协议的是(T1

    T2放锁后就不能再拿锁

  4. 不属于数据库物理结构设计阶段任务的------选用DBMS

  5. 判断一个并发调度是否正确,可以用( 可串行化调度 )概念来解决。

  6. 若关系模式R∈1NF,对于每一个非平凡的函数依赖X→Y,都有X包含码,则R最高一定可以达到 BCNF

  7. 假设两个事务同时存取同一个数据库,当第一个事务结束之前,第二个事务更新数据库,这就违反了事务的 隔离性 ,破坏了DB的一致性。

  8. 模式分解时,为保持原模式的特性,要求分解具有 无损连接性保持函数依赖

  9. 关系模式R中的属性全是主属性,则R的最高范式必定是 3NF

求闭包

  1. 求谁写谁

  2. 根据映射规则,一一得出结果

示例:已知{ A-> B , C -> D , B-> E , AE -> F}

求( AB )闭包

       { AB } 本身

        { ABE } B->E

        { ABEF } AE->F

  最总闭包结果{ ABEF }

all和any比较运算符

!= any : 不等于某一个值

!= all 等价 not in : 不等于任意一个值

空值null

算数运算:任为null

比较运算:结果为unknown

sql结构化语言,非过程化

关系代数基本运算

并、差、笛卡尔积、选择、投影

现实世界抽象模型

第一层抽象:概念模型

第二层抽象:逻辑模型

数据库物理结构设计阶段

  1. 数据库大小估算

  2. 存储结构设计

  3. 存取方式设计

  4. 索引设计

  5. 分区设计

  6. 安全性设计

  7. 性能优化

  8. 备份和恢复设计

E-R图的常见冲突

1、属性冲突:包括属性域冲突属性取值单位冲突。

(a).属性域的冲突:指同一属性在不同局部E-R模型中有不同数据类型取值范围取值集合

例如: 学生编号有的是int类型,有些是char类型

(b).属性取值单位冲突:取值单位不同

例如:重量有些是克g,有些是千克kg。

2、命名冲突包括同名异义和异名同义。

(a).同名异义:不同对象有相同名字

例如: 局部应用A中将教室称为房间,局部应用B将学生宿舍称为房间。

(b).异名同义:同一个对象取了不同名字

例如:有的部门把教科书称为课本,有的部门则把教科书称为教材。

3、结构冲突:

(a).同一对象在不同应用中具有不同的抽象

例如:“课程”在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。

(b).同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。即:数据结构不同,属性不相同

sql分为四类

数据定义DDL、数据操纵DML、数据查询DQL和数据控制DCL

三大异常

修改异常、插入异常、删除异常

触发器

触发器是用户定义在关系表上的一类由 事件 驱动的特殊过程。

存取控制

自主存取控制和强制存取控制

数据模型的组成

数据结构,数据操作,完整性约束

事务开启

begin transaction

sql.....

commit/rollback transaction

数据库类型按照数据模型划分

视图创建后定义保存在数据库文件

二段锁协议

1.拿锁

2.放锁

总结:先拿后放,放了就不能拿

三级锁协议

分别解决

1.一级封锁协议解决丢失修改

2.二级封锁协议解决读脏数据

3.三级封锁线协议不可重复读

三级模式和二层映射

外模式:又称子模式用户模式

概念模式:又称模式

内模式:又称存储模式,对应于物理级

保证数据库逻辑数据独立性的是:外模式——模式映像

保证数据库物理数据独立性是:模式——内模式映像

R÷S

若R

ABC
abc
abd
bce

若S

C
c
d

则R÷S解法:

  1. 列出R的象集合

    {a,b} => {c,d} {b,c} =>{e}

  2. 象集与S对比

    ∵ {a,b} =>{c,d} 的结果集在S中都能找到

    ∴ R÷S={a,b}

笛卡尔积

1.m、n列 => 得到 m+n

2.m、n行 => 得到m x n

简答题

22年之前考,23、24没有简答题了,但简答题的内容变成了填空题

数据库系统的体系结构

单用户结构

主从式结构

分布式结构

客户机/服务器结构

浏览器/服务器结构

什么是数据库日志?作用?⭐️ ⭐️ ⭐️ ⭐️ ⭐️

数据库日志是用来记录事务数据库更新操作的文件

作用:进行事务故障恢复系统故障恢复

协助后备副本进行介质恢复

数据库设计步骤 6 ⭐️ ⭐️ ⭐️ ⭐️ ⭐️ ⭐️

需求分析,概要结构设计,逻辑结构设计,物理结构设计,系统实施,系统维护

数据库安全性保护措施 5(用存审视数)⭐️⭐️⭐️⭐️

用户识别和身份鉴定、存取控制、审计、视图、数据加密

什么是视图?⭐️ ⭐️ ⭐️ ⭐️

视图是从一个或者几个基本表(或视图)导出的表,是一个虚表,只存放视图的定义,不存放视图的数据

优点:

1.简化用户操作

2.使用户能多角度看待同一数据

3.对机密数据进行加密

4.对重构数据库提供了一定程度的l逻辑独立性

死锁⭐️

系统中有两个或两个以上的事务都处于等待状态,并且每个事务都在等待其中另一个事务解除封锁,他才能执行下去,结果造成任务一个事务都无法继续执行,这种现象称为死锁。

死锁预防:

一次加锁法顺序加锁法

检测是否有死锁:事务依赖图

什么是事务⭐️ ⭐️ ⭐️ ⭐️ ⭐️

事务是数据库的逻辑工作单位,是用户定义的一组操作序列。在关系数据库中,一个事务可以是一组 SQL语句或整个序列。事务常以Begin Transaction开始,以commit或rollback结束。

ACID特性:

原子性(A):事务必须是原子工作单位,对于其数据操作,要么全部执行,要么全不执行。

一致性(C):事务的执行结果必须使数据库从一个一致性状态变到另一个一致性状态。

隔离性(I):一个事务的执行不能被其它事务干扰。

持续性( D ):一旦事务提交成功,其对数据库的更新操作将是永久的,即使数据库发生故障也是如此。

数据字典⭐️

数据字典是指对数据的数据项数据结构数据流数据存储处理逻辑等进行定义和描述。

目的:对数据流图中的各个元素作出详细的说明,使用数据字典为简单的建模项目。

并发控制⭐️ ⭐️ ⭐️ ⭐️

简述:多个事务对数据库进行并发操作时,对数据库实行管理和控制

详述:为了充分利用数据库资源,发挥数据库共享资源的特点,允许多个用户并行地存取数据库。但会存在多个用户并发存取同一数据的情况,这时就需要对事务进行并发控制和管理,防止数据库出现不一致情况。

游标 ⭐️ ⭐️

系统为用户开辟的一个缓冲区,存放sql的执行结果,用户可以用sql逐一从游标中获取数据记录。

采用三级模式结构的优点?

1.保证数据独立性

2.简化用户接口

3.保证数据安全性和加密

4.有利于数据共享

为什么要用nosql数据库?

1.易扩展

2.数据量大,高性能

3.灵活的数据模型

4.高可用

数据恢复?技术?

技术:

数据转储

登记日志文件

索引⭐️⭐️

对数据库表中一或多列的值进行排序的一种结构

优点:

a)加快查询速度

b)加快表与表之间的连接

c)保证每行数据的唯一性

缺点:

a)创建索引和维护索引都需要耗费时间,这种时间随数据量的增加而增加

b)索引要占用物理空间

c )当对表中的数据进行增加,删除和修改时,索引也要进行动态维护,降低了数据的维护速度

数据库完整性?⭐️ ⭐️ ⭐️

保护数据库中数据的正确性有效性相容性,防止不合语义的数据进入数据库

数据库安全性⭐️ ⭐️

保护数据以防止未经授权不合法使用造成的数据泄漏更改破坏

数据库完整性约束

包括:

主键约束

外键约束

属性约束

域约束

断言约束

触发器约束

存储过程⭐️ ⭐️ ⭐️ ⭐️

一组为了完成特定功能sql语句集,经编译后存放在数据库中。用户通过指定存储过程的名字并给出参数来执行他

ER概念模型转换成关系模型的规则?

冷门

数据仓库?⭐️

数据仓库是一个面向主题的,集成的,不可更新,随时间不断变化的数据集合,用以支持企业或组织的决策分析处理

数据分析?⭐️

指从大量的,不完全的,有噪声的,模糊的数据中提取出人们事先不知道的,但对人们有潜在价值的信息和知识的过程。

设计一个完善的数据库应用系统需要注意哪些问题?

1.要满足用户的需求

2..要便于维护和扩充;

3.要具有“可读性”; 4.能够满足空间和效率的要求;

5.好的数据库设计可以简化业务逻辑的设计;

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shan-chen lbm是一种用于计算流体力学的模型,其基于Lattice Boltzmann方法。在实现该模型的过程中,需要使用C语言进行编写。以下是shan-chen lbm的C语言代码的相关说明。 首先,shan-chen lbm的C语言代码包含了许多函数,用于实现不同的计算方法。这些函数可以分为两类:一类用于设置模型的参数和变量(如碰撞时间、初始速度和密度等),另一类用于进行LB方法的迭代计算(如求解速度场和被网络格点的流体流动等)。 其次,shan-chen lbm的C语言代码需要使用二维向量(vector)和二维流场(field)进行计算。其中,二维向量存储了流体每个格点上的速度矢量,而二维流场则存储了每个格点上的密度、速度和其他相关参数。 另外,shan-chen lbm的C语言代码还需要使用多个循环和条件语句,以便实现流场的迭代计算和碰撞操作。这些循环和条件语句可用于实现不同的计算方法和流场特性。 最后,shan-chen lbm的C语言代码需要使用其他辅助函数和库,如读写文件函数、数学函数和随机数生成器等。这些函数和库可用于实现更复杂的流场计算和可视化方法。 总之,shan-chen lbm的C语言代码是一种高度复杂的计算流体力学模型,其实现需要使用多种函数、变量和库来完成。通过正确地实现函数和变量,以及运用循环和条件语句进行计算,理论上可以得到非常精确和准确的流场计算结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值