读SQL学习指南(第3版)笔记01_背景知识

1. 数据库

1.1. 一组相关信息

1.2. 电话簿肯定是最为普及且常用的数据库

2. 非关系型数据库系统

2.1. 层次数据库系统

2.1.1. 以一个或多个树形结构来表示数据

2.1.2. 提供了定位特定客户信息树的工具,并能够遍历该树找到所需的账户和/或交易

2.1.3. 树中的每个节点都具有0个或1个父节点,以及0个、1个或多个子节点

2.1.3.1. 单根层次结构

2.1.4. 在大型机世界中找到

2.1.5. 已在目录服务领域中重获新生

2.1.5.1. Microsoft的Active Directory

2.1.5.2. 开源的Apache Directory Server

2.2. 网状数据库系统

2.2.1. 表现为多个记录以及定义不同记录之间关系的多个链接

2.2.2. 具有多根层次的特点

2.2.3. 在大型机世界中找到

3. 关系模型

3.1. E.F.Codd博士

3.1.1. 1970年

3.1.2. IBM研究院

3.1.3. A Relational Model of Data for Large Shared Data Banks论文

3.1.3.1. 大型共享数据银行的数据关系模型

3.1.4. 使用数据表集合来表示数据

3.1.5. 相关实体之间并不是用指针来导航的

3.1.6. 借助冗余数据来链接不同表中的记录

3.2. 主键(primary key)

3.2.1. 能够唯一标识某一行的信息

3.2.2. 每种数据库服务器都提供了相应的机制来生成用作主键的唯一数字

3.2.2.1. 不用操心跟踪已分配的数字

3.2.3. 主键列在被赋值后是绝不允许被修改的

3.2.4. 复合主键

3.2.4.1. 由两个或多于两个列组成的主键

3.2.5. 自然键(natural key)

3.2.6. 代理键(surrogate key)

3.3. 外键(foreign key)

3.4. 规范化(normalization)

3.4.1. 改进数据库设计以确保独立信息仅出现在一处(外键除外)的过程

4. SQL

4.1. IBM委托一个小组根据Codd的想法建立一个原型

4.1.1. 这个小组创建了DSL/Alpha的简化版本SQUARE

4.1.2. 经过对SQUARE的改进,产生了SEQUEL语言,最终该语言被命名为SQL

4.2. ANSI

4.2.1. 美国国家标准协会(American National Standards Institute)

4.2.2. 20世纪80年代中期1986年发布第一个SQL标准

4.2.3. 在1989年、1992年、1999年、2003年、2006年、2008年、2011年、2016年发布了新版本

4.3. SQL并不是某种缩写

4.3.1. “Structured Query Language”结构化查询语言

4.3.2. 可以使用独立的字母(S.Q.L)或使用“sequel”

4.4. 语句分类

4.4.1. SQL模式语句(SQL schema statement)

4.4.1.1. 用于定义存储在数据库中的数据结构

4.4.1.2. 通过SQL模式语句所创建的所有数据库元素都被存储在一个名为“数据字典”(data dictionary)的特殊表集合内

4.4.1.3. 关于数据库的数据被称为“元数据”

4.4.2. SQL数据语句(SQL data statement)

4.4.2.1. 用于操作之前使用SQL模式语句定义的数据结构

4.4.3. SQL事务语句(SQL transaction statement)

4.4.3.1. 用于启动、结束、回滚事务

4.5. 一种非过程化语言

4.5.1. 只定义了必要的输入和输出

4.5.2. 如何执行语句,则由名为优化器(optimizer)的数据库引擎组件来处理

4.5.3. 优化器的工作是检查SQL语句,考虑数据表的配置以及可用的索引,并决定最有效的执行路径

4.5.4. 单凭SQL无法编写完整的应用程序

4.5.5. 需要将SQL与编程语言集成起来

4.5.5.1. Oracle的PL/SQL语言

4.5.5.2. MySQL的存储过程语言

4.5.5.3. Microsoft的Transact-SQL语言

4.5.5.4. SQL数据语句是该语言语法的一部分,允许无缝地将数据库查询与过程化语句集成到一起

4.6. 大多数SQL实现将位于“/”和“/”之间的文本视为注释

5. 跨平台SQL

5.1. 最有前途的工具之一是 Apache Drill

5.1.1. 是一款开源查询引擎,允许用户编写查询,以访问存储在大多数数据库或文件系统中的数据

6. 关系型数据库产品

6.1. 商业化的关系型数据库

6.1.1. Oracle公司的Oracle Database

6.1.2. Microsoft公司的SQL Server

6.1.3. IBM公司的DB2 Universal Database

6.2. 最常用的两个开源数据库服务器

6.2.1. PostgreSQL

6.2.2. MySQL

posted @ 2023-08-18 06:45  躺柒  阅读(131)  评论(0编辑  收藏  举报