华南师范大学2019计算机复试笔试回忆:C++与数据库试题解析
需积分: 49 122 浏览量
更新于2024-09-11
8
收藏 5KB MD 举报
"2019年华南师范大学计算机学院的复试笔试主要涵盖了C++和数据库两个部分。在数据库部分,试题包括选择题、简答题和分析题,涉及了数据库设计、查询优化、范式理论以及NoSQL数据库的相关知识。考生需要熟悉SQL语句的编写,特别是与实体完整性和参照完整性的约束定义相关的部分。"
数据库部分知识点详细说明:
1. 数据库设计基本步骤:
- 需求分析:理解业务需求,明确数据存储和处理的目标。
- 概念设计:构建信息模型,通常使用E-R图表示实体、属性和关系。
- 逻辑设计:将E-R图转换为关系模型,确定数据表、字段及其类型。
- 物理设计:考虑存储和性能,设计表的索引、分区等物理结构。
- 实现与测试:创建数据库,导入数据,进行功能和性能测试。
2. 关系数据库管理系统查询优化的三条原则:
- 最小化I/O操作:减少磁盘读写,优化索引使用。
- 利用并行处理:通过并发执行子任务来加速查询。
- 减少数据处理量:避免全表扫描,利用索引等手段减少数据处理。
3. 范式理论:
- 若关系的候选码都为单属性,这意味着每个属性都能唯一标识一行,关系至少属于第一范式(1NF)。
- 第二范式(2NF)要求非主属性完全依赖于任何候选键。
- 第三范式(3NF)要求非主属性不传递依赖于候选键。
- 如果所有属性都直接依赖于候选键,关系可能属于第三范式,但具体是否达到需根据题目条件判断。
4. NoSQL数据库与关系型数据库的区别:
- 数据模型:NoSQL通常支持非关系型的数据模型,如文档、图形、列族和键值对;而关系型数据库采用表格形式存储数据,遵循ACID(原子性、一致性、隔离性、持久性)特性。
- 扩展性:NoSQL通常更适合大规模分布式环境,提供水平扩展;关系型数据库一般侧重垂直扩展。
- 灵活性:NoSQL数据库对数据结构的变更更灵活,适应快速变化的需求。
- 常见的NoSQL数据库包括MongoDB(文档型)、Cassandra(列族)、Redis(键值对)等。
5. SQL语句实体完整性和参照完整性的约束:
- 实体完整性:确保每张表中的主键字段都有唯一且非空的值。
- 参照完整性:保证引用的外键值必须存在于引用表的主键中,防止出现无效引用。
在给出的问题中,考生需要完成创建`BORROWS`表的SQL语句,定义BRId为主键,UserId为外键,参考描述中的业务规则,正确设置约束条件。完整的SQL语句可能如下:
```sql
CREATE TABLE BORROWS (
BRId CHAR(20) PRIMARY KEY,
UserId CHAR(10) FOREIGN KEY REFERENCES USERS(UserId),
CId CHAR(10) FOREIGN KEY REFERENCES CARS(CId),
STime DATE DEFAULT CURRENT_DATE,
ETime DATE,
...
);
```
这里省略了其他未给出的字段,`CId`是外键,关联`CARS`表的`CId`字段,同样需要定义完整性约束。考生还需要确保SQL语句能够满足题目中提到的业务规则。
2021-08-26 上传
2021-10-13 上传
2020-05-02 上传
2020-03-02 上传
_Tse_
- 粉丝: 5
- 资源: 5
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜