### 数据库学习总结——小白篇 #### 数据库基础概念 - **关系**:关系是指一个二维表,由行和列组成。在数学上,关系定义为笛卡尔积D1×D2×…×Dn的有限子集。这里的每一个元素(如 (d1, d2, …, dn))构成了一条记录或者说是元组。 - **元组**:元组是关系中的行。每一个元组都代表了一个具体的实例,例如在学生关系中,一个元组可能表示一个具体的学生信息。 - **属性**:属性是关系中的列,也就是每列代表的一个特定的信息类型。例如,在学生关系中,属性可以是学号、姓名、年龄等。 - **域**:域是一组具有相同数据类型的值的集合。例如,所有学生的年龄组成的集合就是年龄域。 - **主码**:主码是一个或一组属性,它们的值能够唯一地标识一个元组。在多个候选码中选择一个作为主码。 #### 连接操作 - **自然连接**(Natural Join):这是一种特殊类型的等值连接,它要求两个关系在进行连接时,必须对相同属性组进行比较,并且在结果集中去除重复的属性列。 - **等值连接**:在连接过程中使用等号(=)来比较两个表中的特定列,但不会去除重复的属性列。自然连接可以看作是去除了重复列的等值连接。 #### 索引类型 - **聚簇索引**:这种类型的索引会按照索引键的顺序存储数据,因此查找速度快。一个表只能有一个聚簇索引。 - **非聚簇索引**:非聚簇索引不会改变表中数据的物理存储顺序,而是创建一个索引结构,其中包含指向实际数据的指针。这种索引适用于多种场景。 #### SQL 子查询 - **标量子查询**:这类子查询只返回一个值或根本不返回值,常用于比较操作。 - **非相关子查询**(嵌套子查询):这类子查询独立于外部查询运行,无论外部查询执行多少次,子查询仅执行一次。 - **相关子查询**(多值子查询):这类子查询依赖于外部查询的数据,每次外部查询执行时都会重新计算子查询的结果。 #### SQL 语句的形式 SQL 语句通常包括以下部分:`SELECT`, `FROM`, `WHERE`, `GROUP BY`, `HAVING`, `ORDER BY`等关键字,用于从数据库中检索和操纵数据。 #### 视图 - **行列子集视图**:这种视图是从单个表中选取特定的行和列形成的。 - **带表达式视图**:这类视图包含一些基于现有列计算得出的新列。 #### 授权 在数据库管理中,授权机制允许管理员控制用户对数据库对象的访问权限,例如读取、修改等操作。 #### 嵌入式SQL 嵌入式SQL是将SQL语句嵌入到高级语言程序中的一种方式,使得程序员可以在程序中直接使用SQL来操作数据库。 #### 动态SQL 动态SQL允许在运行时构建和执行SQL语句,这增加了灵活性但也可能带来安全风险。 #### 函数依赖与范式 - **函数依赖**:在关系数据库中,如果属性Y的值完全由属性X的值决定,则称X函数依赖于Y。 - **第一范式**(1NF):确保每个列都是不可分割的原子值。这是最基本的要求,保证了表的每列都具有单一值的特性。 - **第二范式**(2NF):在满足1NF的基础上,进一步要求非主属性完全函数依赖于整个主码。这意味着表中不存在部分依赖的情况。 - **第三范式**(3NF):在满足2NF的基础上,进一步要求非主属性不传递依赖于主码。也就是说,所有非主属性都应该直接依赖于主码,而不是通过其他非主属性间接依赖。 通过理解这些概念和技术,初学者可以更好地掌握数据库的基本原理和操作方法,为后续深入学习打下坚实的基础。
剩余6页未读,继续阅读
- 粉丝: 4
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助