数据库原理与技术

数据库原理与技术(新增章节)2020-10

基本概念

数据库(DB):是按照一定结构组织并长期存储在计算机内的、可共享的大量数据的有机集合。

解释:

1)数据库中的数据是按照一定的结构数据模型来进行组织的,即数据间有一定的联系以及数据有语义解释。

数据模型:数据库系统的核心和基础,是关于描述数据与数据之间的联系、数据的语义、一致性约束的概念性工具的集合。

数据模型的分类:

  • 三种基本数据模型:层次模型、关系模型(重点掌握)、网状模型。
  • 面向对象数据模型
  • 谓词模型(逻辑模型)
  • XML数据模型
  • 非SQL数据模型
  • 扩充的数据模型

数据模型通常是由:数据结构、数据操作和完整性约束组成。

  • 数据结构:系统静态特征的描述,描述对象包含的数据类型、内容、性质和数据之间的相互关系。
  • 数据操作:系统动态特征的描述,是对数据库各种对象实例的操作。
  • 完整性约束:定义了给定数据模型中数据及联系所具有的制约和依存关系。

数据库管理系统(DBMS):管理和维护数据库的系统软件,是数据库和用户之间的一个接口。

数据库系统(DBS):实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软件、硬件和人组成的系统。

计算机系统中引入数据库技术后形成数据库系统,也可以说数据库系统是具有管理数据库功能的计算机系统。

关系:DBS=计算机系统(硬件、软件平台、人)+ DBMS + DB

DB、DBMS、DBS之间的关系 ## 关系数据库

关系模型数据结构:行和列组成的二维表结构。

1.笛卡尔积(数据库)

笛卡尔积是在域上的一种运算。域是一组具有相同数据类型的值集合。域用来表明定义属性的取值范围。

给定一组域D1,D2,...,Dn,则D1,D2,...,Dn的笛卡尔积为

D1 X D2 X ... X Dn = {(d1,d2,...,dn) | di ∈ Di, i=1,2,...,n }

在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

简单说就是两集合中,每一项与另一集合中每一项的乘积。

2.关系

关系中基本术语:

(1)元组与属性

(2)候选键

(3)主键

(4)外键

3.关系的完整性约束

关系型数据库的完整性约束:实体完整性、参照完整性、用户自定义

实体完整性:主键

参照完整性:外键

用户自定义:字段非空、取值范围要求

关系代数

​ 关系代数是一种抽象语言,它通过对关系的运算来表达查询。关系代数以关系为运算对象,通过对关系进行“组合”或“分割”,得到所需的数据集合—一个新的关系。

关系代数可分为:

1)集合运算(并交差、广义笛卡尔积)

2)关系运算(投影、选择、连接和除运算)

3)扩充的关系运算(广义投影、外连接、半连接、聚集等)

🔖🆕 2020-10-15 未完待续

查询

SQL写法顺序和执行顺序

写法顺序:select--from--where--group by--having--order by 
执行顺序:from--where--group by [having]--select--order by
就是select要放后面,如果有order by,则order by放最后,因为order by 是对结果进行排序

用GROUP BY关键字分组查询

通过GROUP BY子句可以将数据划分到不同的组中,实现对记录进行分组查询。在查询时,所查询的列必须包含在分组中

执行如下sql,发现能正常执行,而且groupby后默认取每组第一条数据。

当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:
--执行where子句查找符合条件的数据;
--使用group by 子句对数据进行分组;对group by 子句形成的组运行聚集函数计算每一组的值;最后用having 子句去掉不符合条件的组。
--having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
--having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。
--having子句限制的是组,而不是行。where子句中不能使用聚集函数,而having子句中可以。

posted @ 2020-10-16 19:08  Wonkey  阅读(428)  评论(0编辑  收藏  举报