《数据库原理及应用》MySQL版知识点总结

1 数据库系统的基本原理

1.1 数据库系统概述

1.1.1 基本概念

数据库(DataBase,简称DB):是长期储存在计算机内、有组织的、可共享大量数据的集合

数据库管理系统(DBMS):主功能有(1)数据定义功能(2)数据操纵功能(3)数据控制功能

数据库系统(DBS):数据库系统是由数据库(DB)、数据库管理系统(DBMS)(及其应用开发工具)、应用系统和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统

DBMS的体系结构:3层

数据源(DATA SOURCE):远程数据库的别名

ODBC:开发工具访问数据库统一的平台

JDBC:Java数据库连接

1.1.2 数据管理技术的发展阶段

数据管理技术的发展经历了人工管理、文件管理系统、数据库系统和高级数据库系统四个阶段

1.2 数据模型

1.2.1 数据抽象的过程

(1) 概念模型:现在采用的概念模型主要是实体-联系模型,即E-R模型

实体类型(entity type,class):用实体名及其属性名集合来抽象和刻画同类实体。例如学生(学号,姓名,性别,出生年月日,所在院系,入学时间)就是一个实体型

实体集(entity set):同一类型实体的集合。例如,全体学生就是一个实体集

联系(relationship):实体集内的单个实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一、一对多和多对多等多种类型

(2) 逻辑模型:有层次模型﹑网状模型和关系模型3种

1.2.2 关系模型

1. 数据模型的三要素

数据模型的三要素分别为数据结构、数据操作、数据的完整性约束条件

2. 关系数据库的数据结构

关系(ralation):一个关系对应通常说的一张二维表

元组(tuple):表中的一行即为一个元组

属性(attribute):表中的一列即为一个属性,给每一个属性起一个名称即为属性名

码,键(key):表中的某个属性组,它可以唯一确定一个元组

域(domain):域是一组具有相同数据类型的值的集合。即某个属性的取值范围

分量:元组中的一个属性值

关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,···,属性n)

1.3 数据库体系结构

1.3.1 数据库系统的三级结构

在这里插入图片描述

1.3.2 数据库系统的三级模式

  1. 概念模式:又称模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只能有一个概念模式。

  2. 外模式(external schema):又称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述(一个数据库可以有多个外模式)

  3. 内模式(internal schema):又称存储模式或物理模式,是数据物理结构和存储方式的描述,一个数据库只有一个内模式

1.3.3 数据库系统的二级映射与数据独立性

数据库系统的二级映射:外模式/模式映射和模式/内模式映射

数据独立性:

  1. 物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的,模式/内模式映射实现

  2. 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的,通过外模式/模式映射实现

2 关系数据库

2.1 关系数据结构及形式化定义

基本概念:

候选码(key):某一属性组的值能唯一地标识一个元组,而其自己不能,则称该属性组为候选码(candidate key)

主键(Priamary Key,PK),也称主码,只可以有一个主键,要求作为主键的列不允许取NULL值

主属性(prime attribute):候选码的诸属性称为(主属性)

非主属性:不包含在任何候选码中的属性

全码(all key):关系模式的所有属性是这个关系模式的候选码

代理键(id,序列号、序号,系统自动生成,自增长)

2.2 关系的完整性

2.2.1 实体完整性

若属性A是基本关系的主属性,则A不能取空值

2.2.2 参照(引用)完整性

主(父亲)、从(子)

2.3 关系代数

  1. 选择(selection)
    选择是在关系中选择满足给定条件的诸元组
  2. 投影(projection)
    关系R上的投影是从R中选择出若干属性列组成新的关系
  3. 连接(笛卡尔积)

3 关系数据库标准语言SQL

3.1 基本知识

3.1.1 SQL特点

  1. 综合统一
    SQL集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体
  2. 高度非过程化
  3. 面向集合的操作方式

3.2 数据定义

3.2.1 数据库的定义和删除

  1. 创建数据库
    CREATE DATABASE 数据库名;
  2. Ctrl+c中断功能
  3. 选择数据库
    USE 数据库名;
  4. 删除数据库对象
    DROP DATABASE 数据库名;

3.2.3 基本表的定义、删除和修改

  1. 创建表
    CREATE TABLE 表名
    (<列名> <数据类型> DEFAULT <默认值 >) (,<列名> <数据类型> <列级完整性约束条件>) (,<表级完整性约束条件>);
    其中DEFAULT是给指定列设置默认值(也就是列名对应的字段属性是啥样的)
  2. 字符串类型
    VARCHAR (L)
    最长是L个字符
  3. 利用子查询来创建表
    CREATE TABLE dept_c
    SELECT * FROM dept;
    相当于复制了dept的表
  4. 修改基本表
    ALTER TABLE <表名>
    (ADD [COLUMN] <列名> <数据类型> DEFAULT <默认值>);
    (DROP [COLUMN] <列名> <数据类型>);
    (MODIFY [COLUMN] <列名> <数据类型> DEFAULT <默认值>);
  5. 截断表和删除表
    截断表:仅仅删除表里面的数据
    TRUNCATE TABLE <表名>
    删除表:删除了表
    DROP TABLE <表名>

3.4 数据更新

3.4.1 插入数据

  1. INSERT 语句
    INSERT INTO 表名 [([列名1[, 列名2…)]
    VALUES (值1[,值2…]…)
    例如:
    INSERT INTO dept_c(deptno,dename,loc)
    VALUES (50,‘PERSONNEL’, ‘HONGKONG’),
    (70,‘RESEARCH’,‘HONGKONG’);
  2. 利用子查询插入语句
    INSERT INTO 表名
    SELECT FROM

3.4.2 更新数据

  1. UPDATE 语句
    UPDATE 表名
    SET 列名=值[,列名=值,…]
    [WHERE <条件>];
    如果都改的话最后一行都不需要加了

3.4.3 删除数据

  1. DELETE语句
    DELETE FROM 表名
    [WHERE <条件>];

4 数据库编程

4.2 变量

  1. 用户变量
    (1)具有局部属性的变量(和下面的局部变量不一样),只存在SP,形式就是普通变量var
    (2)具有全局属性的变量,用户登录过程后也是存在的,随着用户退出登录而消失。形式是@var
  2. 系统变量(变量名都是以@@开头的名字)
    (1)全局(服务器)系统变量(全局属性)@@ global.var名
    (2)会话(实例)系统变量(局部属性)@@session.var名,一般不指定的话,操作的都是会话系统变量
    在这里插入图片描述
    在这里插入图片描述

4.2.1 局部变量

  1. 局部变量的定义与赋值
    在这里插入图片描述
    在这里插入图片描述
  2. 局部变量的显示
    在这里插入图片描述
  3. 例题
    在这里插入图片描述
    在这里插入图片描述

4.2.2 全局变量

全局变量是MySQL系统提供并赋值的变量。用户不能定义全局变量,只能使用。
在这里插入图片描述

4.3 常用系统函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4 程序控制流语句

  1. delimiter
  2. 条件判断语句的使用
    (1)声明变量
    declare
    (2)为变量赋值
    set 变量=值;
  3. IF语句
    在这里插入图片描述

  • 10
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库系统原理MySQL应用教程》是一本专门讲解数据库系统原理MySQL应用的教程,是第2的PDF本。数据库系统原理是指数据库系统的基本概念、模型和设计理论,MySQL是一种常用的关系型数据库管理系统。 这本教程的目的是帮助读者了解数据库系统的原理,并通过MySQL应用这些原理进行实践。教程分为两个主要部分:数据库系统原理MySQL应用。 在数据库系统原理部分,教程首先介绍了数据库系统的基本概念和三级模式体系结构。然后,详细解释了关系数据库模型和关系代数,以及关系数据的规范化和逻辑设计。此外,还讨论了事务和并发控制的基本原理,以及数据库安全和完整性的管理。 在MySQL应用部分,教程介绍了MySQL的安装和配置,并详细介绍了MySQL的基本操作,包括创建、查询、修改和删除数据表,以及使用SQL语句进行数据查询和更新。此外,还介绍了MySQL的高级功能,如存储过程、触发器和索引的使用。 这本教程适合那些对数据库系统和MySQL应用感兴趣的读者,无论是学生、数据库开发人员还是系统管理员。读者通过学习这本教程,可以了解数据库系统的原理MySQL的基本应用,掌握数据库设计和管理的基本技能,从而更好地应用数据库技术解决实际问题。 如果您对该教程感兴趣,可以在互联网上搜索相关信息,找到适合您的下载方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值