数据库技术-MySQL、Oracle


1. 初识数据库

1.1 什么是数据库技术

数据库技术所研究是问题就是1.如何科学地组织和存储数据,2.如何高效地获取和处理数据。

1.2 SQL(结构化查询语言,是操作数据库的语言)

SQL(Structured Query Language,结构化查询语言);
SQL语言是专门为数据库而建立的操作命令集,是一种功能齐全的数据库语言;是一种在关系型数据库中定义和操纵数据的标准语言。

SQL语言特点
1)集合性:SQL的集合性允许一条SQL语句的结果作为另一条SQL语句输入。
2)统一性:SQL为许多任务提供了统一的命令,方便用户学习和使用,主要体现在:
查询数据;
在表中插入,修改,删除记录;
建立,修改和删除数据对象
控制对数据和数据对象的读写;
保证数据库一致性和完整性。
3)易移植性(跨平台性)

SQL语言的划分
1)数据查询语言(DQL)
用于检索数据库中的数据,主要有select语句。
2)数据操纵语言(DML)
主要包括insertupdatedelete三条语句。
3)数据定义语言(DDL)
用于建立,修改,删除数据库对象(表,视图,索引),主要包括createalterdrop
4)数据控制语言(DCL)
用于执行权限授予和权限收回操作,包括grantrevoke
5)事务控制语言(TCL)
用于维护数据的一致性,有commit用于提交对数据库的更改,rollback用于取消对数据库的更改,savepoint设置保存点。

1.3 DB,DBMS,DBS之间的关系(数据库的基本架构)

数据(Data)

对客观事物的符号表示,如图形符号、数字、字母等,数据是数据库中存储的基本对象。

在日常生活中,人们直接用语言来描述事物;在计算机中,为了存储和处理这些事物,就要将事物的特征抽象出来组成一个记录来描述。

数据的种类:文字、图形、图像、声音等。

数据库(Database,DB)

长期存储在计算机内、有组织的、可共享的数据集合。

数据库中的数据按一定的数据模型组织、描述和存储。

数据库中存储的各种各样的数据,数据是以表的形式来组织和存放的。

具有较小的冗余度、较高的数据独立性和易扩展性(指可修改的),并可为各个用户共享。

数据库管理系统(Database Management System,DBMS)

位于应用程序与存储数据之间的一层数据管理软件。

是基础软件,是一个大型复杂的软件系统。

DBMS的用途:科学地组织和存储数据、高效地获取和维护数据。

DBMS主要功能:
1)数据库的定义功能:
它把用DDL(Data Definition Language,数据库模式定义语言,是SQL语言的分支,用于描述数据库中要存储的现实世界实体的语言)编写的各级源模式编译成各级目标模式,这些目标模式是对数据库结构信息的描述,而不是数据本身,它们被保存在数据字典里,供以后数据操纵或数据控制时使用。
DDL提供了三个语句:create(创建)、alter(修改)、drop(删除),操作的对象是数据库中的基本架构—表。
2)数据库的操作功能:
单独的数据操作语言DML(Data Manipulation Language,数据操纵语言,是SQL语言的分支,用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句)及其编译程序,实现对数据库的基本操作,基本操作有两类检索和更新。
DML实现了对数据库中存储的数据进行增删改查(insert delete update select)的操作。
3)数据库的保护功能:
数据库的数据恢复、数据库的并发控制、数据完整性控制和数据安全性控制。
4)数据库的维护功能:
数据库的数据导入、转换、存储、数据库性能监控等。

DBMS的优点:
1)相互关联的数据的集合;
2)减少的数据冗余;
3)程序与数据相互对立;
4)保证数据的安全、可靠、正确;
5)数据可以并发使用并能同时保证一致性。

数据库系统(Database System,DBS)

一般有数据库(DB)、数据库管理系统(DBMS)(及其开发工具)、应用程序、数据库管理员(DBA,Database Administrator)和用户构成。

数据库系统的发展经历了三个阶段:网状数据库、层次数据库和关系数据库,它们分别采用网状模型、层次模型和关系模型作为数据的组织方式。

网状模型(图形结构)
层次模型(树形结构)
关系模型(简单二维表结构)

现在还有非关系型数据库,比如mangodb
关系型数据库,比如mysql,oracle

信息:是指数据经过加工处理后所获取的有用知识,信息是以某种数据形式表现的。

信息的三种世界:
1)现实世界:存在与人脑之外的客观世界。
2)信息世界:现实世界在人们头脑中的反应,又称观念世界。
3)数据世界:信息世界中的信息数据化后对应的产物,就是将信息世界中的信息经过抽象和组织,按照特定的数据结构,将数据存储在计算机中。

实体-联系模型

实体:客观事物在信息世界中称为实体(Entity),它是现实世界中任何可区分、识别的事物。

属性:描述实体或者联系的性质或者特质的数据项。

联系:
1)反映事物内部或事物之间的关联集合;
2)常见的实体联系有3种:一对一联系、一对多联系和多对多联系。

DB,DBMS,DBS之间的关系

在这里插入图片描述

1.4 关系模型(Relational Model)

关系模型是关系型数据库中数据的组织方式。

关系:一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。

元组(行、记录):二维表的每一行在关系中称为元组,在MySQL中,一个元组对应表中一个记录。

属性(列、字段):二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。

域:属性的取值范围称为域,域作为属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定,同一个属性只能在相同域中取值。

关键字(主键(主关键字)、外键(外关键字)):关系中能唯一区分,确定不同元组的属性或属性组合,称为该关系的一个关键字。
主关键字:唯一,不为空

关系模式:对关系的描述称为关系模式,格式为:关系名(属性名1,属性名2,…,属性名n)

关系的基本特点:
1)关系必须规范化(三范式),属性不可再分割
2)在同一个关系(表)中不允许出现相同的属性名
3)在同一个关系(表)中元组(行)的顺序可以任意
4)在同一个关系(表)中属性(列)的顺序可以任意

关系运算:主要有选择、投影和连接3种。
选择:从关系模式中找出满足给定条件的元组组成新的关系,从行的角度进行的运算。
投影:从关系模式中指定若干属性组成新的关系,从列的角度进行运算。
连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组,组成新的关系(把两个表能够匹配到的结果全部罗列出来(冗余))
eg1:集合A={a,b},集合B={0,1,2},则这两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}
eg2:如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。

1.5 关系的完整性约束(即限定表中数据的约束)

1.实体的完整性:主属性值(主键)不能取空值。

2.参照完整性(引用完整性):主键和外键的关系,或者说分主表和从表(从表参照主表,即从表所作的操作,必须先询问主表的意见)。
从表中列不是随便参照主表中的某个列,必须要求参照主表的这个列必须是主键或者唯一约束。

3.域完整性(用户定义完整性):限制了某些属性中出现的值,将属性的值限制在一个有限的集合中。

1.6 三范式(关系模式的范式要求)

关系模式(关系型数据库中数据的组织方式)要满足的条件称为规范化形式,简称范式(NF)。

关系模型规范化的目的是为了消除存储异常,减少数据冗余,保证数据的完整性和存储效率,一般规范为3NF(三范式)即可。

第一范式(1NF):如果关系R的所有属性均为简单属性(列不可拆分),即每个属性都是不可再分的,则称R满足第一范式。简单说:第一范式的列不可拆分。
第二范式(2NF):如果关系R满足第一范式,且每一个非主键字段完全依赖于主键(即知道主键值,就能将非主键的列的值都查询出来),则称R满足第二范式。
第三范式(3NF):如果关系R满足第二范式,且非主键字段之间不存在依赖关系(即知道非主键字段的值,不能将别的非主键字段的值查询出来),则称R满足第三范式。

一个基本的关系型数据库要满足第一范式,一个完整的关系型数据库要满足第三范式。

1.7 E-R图

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

通常:
用矩形来表示实体型,矩形框内写实体名;
用椭圆来表示实体属性,椭圆内写实体属性名;
用菱形来表示实体型间的联系,在菱形内写联系名;
用线段连接起来。
常见的联系:一对一(1:1)、一对多(1:n或1:m)、多对多(m:n)

在这里插入图片描述

1.8 常见的数据库

  • Oracle
    • 应用广泛,功能强大,分布式数据库系统
    • 可移植性好
  • MySQL
    • 开源、免费、与PHP组成经典的LAMP组合
    • 快速的、可靠的和易于使用
  • SQL Server
    • Web上最流行的用于存储数据的数据库
    • 易用性好但只能在Windows上运行

2. MySQL数据库

数据库测试技术—MySQL

3. Oracle数据库

数据库测试技术—Oracle

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值