第一章
1.数据
数据( Data )是事物的符号表示,数据的种类有数字、文字、图像、声音等,可以用数字化进制形式存入计算机来进行处理。
数据的含义称为信息,数据是信息的载体,信息是数据的内涵,是对数据的语义解释。
2.数据库
数据库( DataBase , DB )是长期存放在计算机内的有组织的可共享的数据集合,数据库中的数据按一定的数据模型组织、描述和储存,具有尽可能小的冗余度、较高的数据独立性和易扩张性。
数据库具有以下特性:
共享性。数据库中的数据能被多个应用程序的用户使用。
·独立性。提高了数据和程序的独立性,有专门的语言支持。
.完整性。数据库中的数据具有正确性、一致性和有效性。
.可减少数据冗余。
数据库包含以下含义:
.建立数据库的目的是为应用服务。
.数据存储在计算机的存储介质中。
.数据结构比较复杂,有专门的理论支持。
1.1.2数据库管理系统
数据库管理系统( DataBase Management System . DBMS )是数据库系统的核心组成都分,它是在操作系统支持下的系统软件,是对数据进行管理的大型系统软件,用户在数据库系统中的一些操作都是由数据库管理系统来实现的。
数据库管理系统的主要功能包括数据定义、数据操纵、数据控制、数据库建立维护等,.数据定义功能。提供数据定义语言定义数据库和数据库对象。
.数据操纵功能。提供数据操纵语言对数据库中的数据进行查询、插入、修改、删除等操作。
数据控制功能。提供数据控制语言进行数据控制,即提供数据的安全性、完整性、并发控制等功能。
.数据库建立维护功能。包括数据库初始数据的装入、转储、恢复和系统性能监视、分析等功能。
1.1,3 数据库系统
数据库系统( DataBase System , DBS )是在计算机系统中引入数据库后的系统构成,数据库系统由数据库、操作系统、数据库管理系统、应用系统、用户、数据库管理员( DataBase Administrator , DBA )、应用开发工具组成,如图1.1所示。数据库系统在整个计算机系统中的地位如图1.2所示。
数据库系统与文件系统相比较,主要具有以下的特点:
(1)数据结构化。
(2)数据的共享度高,冗余度小。
(3)有较高的数据独立性。
(4)由数据库管理系统对数据进行管理。
在数据库系统中,数据库管理系统作为用户与数据库的接口,提供了数据库定义、数据库运行、数据库维护和数据安全性、完整性等控制功能。
2数据模型的分类
数据模型按应用层次可分为三类:概念模型( Conceptual Data Model )、逻辑模型( Logical Data Model )、物理模型( Physical Data Model )。
3.数据模型的组成要素
数据模型是现实世界数据特征的抽象,一般由数据结构、数据操作、数据完整性约束三部分组成。
概念模型的基本概念
(1)实体:客观存在并可相互区别的事务称为实体,实体可以是具体的、事、物或抽象的概念,例如,在教学管理系统中,"学生"就是一个实体。
(2)属性:实体所具有的某一特性称为属性,属性采用椭圆框表示,框内为属性名,并用无向边与其相应实体连接。
(5)联系:在现实世界中,事务内部和事务之间的联系,在概念模型中反映为实体(型)内部的联系和实体(型)之间的联系。
3.概念模型的表示方法
1)实体用矩形框表示,框内为实体名。
(2)属性采用椭圆框表示,框内为属性名,并用无向边与其相应实体连接。
(3)实体间的联系采用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用向边将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1:1、1:n或 m : n 。如果联系也具有属性,则将属性与菱形也用无向边连上。
逻辑类型:
三种类型:层次类型、网状模型和关系模型,关系模型是应用最广泛、最重要的一种逻辑类型。关系模型采用关系的形式组织数据,一个关系就是一张二维表,二维表有行和列组成,按关系模型组织数据。
数据库的二级映像功能和数据独立性
三级模式之间提供了两级映像:外模式/模式映像、模式/内模式映像。
NoSQL的基本概念
NoSQL( Not Only SQL )数据库泛指非关系型的数据库, NoSQL 指其在设计上和传统的关系数据库不同,常用的数据模型有 Cassandra 、 Hbase 、 BigTable 、 Redis 、 MongoDB 、 CouchDB 、Neo4j等。
小结:
(1)数据库( DataBase , DB )是长期存放在计算机内的有组织的可共享的数据集合,数据库中的数据按一定的数据模型组织、描述和存储,具有尽可能小的冗余度、较高的数据独性和易扩张性。
(2)数据库管理系统( DataBase Management System . DBMS )是数据库系统的核心
成部分,它是在操作系统支持下的系统软件,是对数据进行管理的大型系统软件,用户在据库系统中的一些操作都是由数据库管理系统来实现的。
(3)数据库系统( DataBase System , DBS )是在计算机系统中引入数据库后的系统构成数据库系统由数据库、操作系统、数据库管理系统、应用程序、用户、数据库管理员( DataBa Administrator , DBA )组成。
4)数据模型( Data Model )是对现实世界数据特征的抽象,它是用来描述数据、组织据和对数据进行操作的。数据模型一般由数据结构、数据操作、数据完整性约束三部分组成。数据模型按应用层次可分为三类:概念模型、逻辑模型、物理模型。概念模型的最著名和最常用的方法是实体﹣联系方法,该方法用 E - R 图描述现实世界的概念模型
(5)数据库应用中三种主要的逻辑模型有层次模型、网状模型、关系模型,关系模型是应用最广泛、最重要的一种逻辑模型。
第二章
2.1关系模型
关系数据库系统采用关系模型作为数据的组织方式,关系模型由关系数据结构,关系操作和关系的完整性三部分组成。
2.1.3关系的完整性
关系模型的三种完整性约束为实体完整性、参照完整性和用户定义完整性。
关系代数使用的运算符如下:
1)传统的集合操作: U (并)、一(差)、∩(交)、 x (笛卡儿积)。(2)专门的关系操作: o (选择)、 II (投影)、 D (连接)、÷(除)。
(3)比较运算符:>(大于)、≥(大于或等于)、<(小于)、≤(小于或等于)、=(等于)、≠(不等于)。
(4)逻辑运算符: A (与)、 V (或)、(非)。
2.3.1 SQL 语言的分类
通常将 sQL 语言分为以下4类。
(1)数据定义语言( Data Definition Language . D . DDL .)。 DDLD
(2)数据操纵语言( Data Manipulation Language . ge . DML .) DMLD
(3)数据查询语言( DataQuery Language . DQL )。 DQLD
(4)数据控制语言( Data Control Language , DCL )。 DCLD
SQL语言功能 | 动词 | |
数据定义 | create、alter、drop | |
数据操纵 | insert、update、delete | |
数据查询 | select | |
数据控制 | grant、revoke |
第四章
创建:create
选择:use
修改:alter
删除:drop
添加:add
插入:instert into
重命名:rename to
2.定点数类型
在 MySQL中,decimal ( m , d )和 numeric ( m , d )视为相同的定点数类型,m是小数总位数,d是小数点后面的位数。
第六章
1.使用 like关键字的字符串匹配查
(1)%:代表0或多个字符。
(2)_:代表一个字符。
2.聚合函数
聚合函数包括:count()、sum()、avg()、max()、min()等。
升序排列:ase
降序排列:desc
限制:limit
- 查询 score 表中学号为196004,课程号为1201的学生成绩。
select grade as 成绩
from score
where sno ='196004' and cno ='1201';
- 查询 student 表中姓周的学生情况。
select *from student
where sname like '周%';
- 查询数学成绩第2~5名的信息。
select sno , cno , grade
from score
where cno ='8001'
order by grade desc
limit 1,4;
- 查询通信专业最高学分的学生的情况。
select max ( tc ) as 最高学分
from student
where speciality ='通信';
- 查询1004课程的最高分、最低分、平均成绩。
select max ( grade ) as 课程1004最高分, min ( grade ) as 课程1004最低分, avg ( grade ) as 课程1004平均分
from score
where cno ='1004';
- 查询至少有3名学生选修且以4开头的课程号和平均分数。
mysql > select cno as 课程号, avg ( grade ) as 平均分数
from score
where cno like '4%'-> group by cno
having count (*)>=3;
第七章
7.1视图及其作用
视图( View )是从一个或多个表(或视图)导出的,用来导出视图的表称为基表( Base Table )或基本表,导出的视图称为虚表。在数据库中,视图通过 SELECT 查询语句定义,它只存储视图的定义,不存放视图对应的数据,这些数据仍然存放在原来的基表中。视图一经定义,就可以像表一样被查询、修改、删除和更新。
视图可以由一个基表中选取的某些行和列组成,也可以由多个表中满足一定条件的数据组成,视图就像基表的窗口,它反映了一个或多个基表的局部数据。
视图有以下优点。
1)方便用户的查询和处理,集中分散的数据。
(2)保护数据安全,增加安全性。
(3)便于数据共享。
(4)简化查询操作,屏蔽数据库的复杂性。
(5)可以重新组织数据。
1.索引的概念
对数据库中的表进行查询操作时,有两种搜索扫描方式:一种是全表扫描,另一种是使用表上建立的索引进行扫描。
索引是按照数据表中一列或多个列进行索引排序,并为其建立指向数据表记录所在位置的指针。
建立索引的作用如下。
1.提高查询速度。
2.保证列值的唯一性。
3.查询优化依靠索引起作用。
4.提高 order by 、group by 的执行速度。
第八章
数据完整性一般包括实体完整性、参照完整性、用户定义的完整性和实现上述完整性的约束。实体完整性通过primary key约束。
语法格式:
primary key (主键列名)
unique (唯一性约束列名)
foreign key (外键列名) references 被参照关系表(主键列名)
check (约束条件表达式)
第九章
2变量
MySQL 的变量可分为用户变量和系统变量。
在使用时,用户变量前常添加一个@符号,以与列名区分。大多数的系统变量应用时,必须在名称前加两个@符号,而某些特定的系统变量是要省略这两个@符号
3运算符
运算符是一种符号,用来指定在一个或多个表达式中执行的操作,在 MySQL 中常用的运算符有算术运算符、比较运算符、逻辑运算符和位运算符。
(1)算术运算符的运算有+(加)、一(减)、*(乘)、/(除)、%(求模)。(2)比较运算符的运算有=(等于)、<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、<>(不等于)、!=(不等于)、<=>(相等或都等于空)。
(3)逻辑运算符的运算有 NOT 或!(逻辑非)、 AND 或&&(逻辑与)、 OR 逻辑或)、 XOR (逻辑异或)。
(4)位运算符的运算有~(位取反)、&(位与)、|(位或)、(位异或)、>>(位右移)、<<(位左移)。
二、填空题
1.SQL语言是关系数据库的(标准语言),是一种专门用来与数据库通信的语言。
2.数据定义语言包括的主要 SQL 语句有(create)、alter、drop