数据库实战
要素 数据:文本、数字、图像、音视频等任何形式的信息 表: 数据以二维表的形式组织,每个表包含: 字段(Field):列名,表示数据的属性(如“姓名”“年龄”)。 记录(Record):每一行的具体数据(如“张三,25岁”)。 数据库管理系统(DBMS):负责数据的存储、查询、更新和安全控制 数据操作(Data Manipulation): 对数据进行增删改查(CRUD),DML(Data Manipulation Language) 实现SELECT, INSERT, UPDATE, DELETE 数据定义(Data Definition):定义数据的结构和约束,创建、修改、删除数据库对象(如表、视图、索引等)。 DDL(Data Definition Language) 实现,如 CREATE TABLE, ALTER TABLE, DROP TABLE 数据存储与管理(Storage...
ER图概念模型转换为关系模式
E-R模型向关系模型的转换规则: 转换准则:1:1、1:N、M:N 二元联系 (1)一对一关系(One to One) 当转换为关系模型时,在两个实体任选一个添加另一个实体的主键即可。 例子:校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。当转换为关系模式时,我们可以在班长关系中添加班级的主键(班级号);或者在班级关系中添加班长的主键(学号)。 (2)多对一关系(Many to one) 保留多边(Many-side)E1的所有属性 + 一边(one-side)的主键 +...
范式
第一范式(1NF) - 原子性 第一范式(1NF)要求表中的每个字段(列)必须是原子的,即每个列的值不能是集合、数组或其他可以分解的多个值。表中的每个单元格只能包含一个值,而不能包含多个值。 1NF 要求: 表中的每列的值都是不可再分割的原子值。 每行必须是唯一的,不能有重复的行 不满足,违反原子性 学号 姓名 科目 001 张三 数学, 英语 002 李四 语文, 数学 解决方法 学号 姓名 科目 001 张三 数学 001 张三 英语 002 李四 语文 002 李四 数学 第二范式(2NF) - 消除部分依赖 第二范式(2NF)要求表格不仅符合 第一范式(1NF),还要消除 部分依赖。2NF 解决的是 非主属性(非关键字属性)部分依赖于 主键 的问题 2NF 要求: 表必须首先满足 第一范式。 非主属性(即不包含在候选键中的属性)必须完全依赖于 主键,而不能仅依赖于主键的一部分。 假设有一个学生课程成绩表,主键是 (学号, 课程), 姓名 只依赖于 学号,而与 课程 无关。姓名 依赖于 学号,而不是 学号...
switch()使用与限制
类型 是否允许 典型语言 替代方案 整数 ✅ 所有语言 switch 浮点数 ❌ C/C++、Java、C# if-else、模式匹配 字符串 ✅(部分语言) Java 7+、C#、JavaScript switch、字典映射 布尔值 ❌(多数语言) 仅C# 允许 if-else 对象 ❌(除特定类型) JavaScript、Java(String) 类型检查+if-else 浮点数(float/double) 原因:浮点数存在精度问题(如 0.1 + 0.2 != 0.3),无法精确匹配。 1234double value = 3.14;switch (value) { // 编译错误:表达式类型必须为整型或枚举 case 3.14:"输出错误"} 布尔值(bool) 原因:布尔值只有 true/false,直接用 if-else 更直观。 对象 原因:对象无法直接进行值匹配 1....
博客部署
如何选择合适的框架 在个人博客部署上我已经走过来很多的坑 , 合理的框架绝对是你需要首先的选择,对于我来讲博客于我更像是一个记录个人知识的**“云端”**. 我个人推荐部署静态博客,主要是维护成本低 , 方便又快捷 , 静态博客在构建时会将所有页面生成为 HTML、CSS 和 JavaScript 等静态文件。这些文件无需服务器实时处理,可以直接被浏览器读取和渲染,大大缩短了页面加载时间。相比之下,动态博客需要在每次用户请求时,由服务器从数据库中读取数据、渲染页面,这一过程相对耗时。在安全性上静态博客不涉及服务器端脚本语言(如 PHP、Python 的 Flask 等)和数据库交互,减少了诸如 SQL 注入、跨站脚本攻击(XSS)等常见的安全漏洞风险。没有动态脚本的执行,黑客难以找到可利用的漏洞来篡改数据或获取敏感信息。 目前搭建博客的主流框架有 WordPress、VuePress、Hugo、Hexo 等等,WordPress是我在大学课上老师教的, 这东西是真的很简单 ,但问题就是太大了 , 用户请求的时候速度极慢 . 环境准备 安装 Node.js 和...