数据库技术与应用

初识数据库

本章任务及目标

本章内容与任务:
信息化时代,你的所有信息(包括生活、学习等)都被记录在案,你的历史轨迹可以随时随地查阅,通过数据挖掘技术,还可以通过你的这些信息分析并预测你的行为。是不是感觉很“恐怖”?

从管理和安全的角度考虑,这些记录存放在什么地方是合适的呢?人类智慧无敌,从很早开始,人类就开发出来不同的数据库产品来记录这些信息数据。接下来,我们就进去本章认识一下什么是数据库?

本章主要介绍数据库是什么,它有哪些概念性的东西需要我们掌握,具体包括:
1)信息与数据的区别
2)数据库的发展史
3)目前主流的关系数据库产品

本章在介绍完这些概念后,我们还会带大家一起创建一个属于自己的数据库实例。这样,在后续章节中我们就可以将重要的数据信息存放在该数据库实例中,就像一本书一样,随时查阅,永不丢失。

本章学习目标:
学完本章的内容后,你需要对以下内容有着清晰的认识:
1)知道信息的重要性,了解信息是如何被记录
2)熟悉数据库的相关概念,了解数据库的作用
3)能够独立创建一个简单的关系型数据库实例

数据与信息

在这里插入图片描述

总结:信息的载体是数据

前面我们了解到信息的载体是数据,数据经过加工处理之后,就成为信息。而信息则需要经过数字化转变成数据才能存储和传输。接下来,我们会为数据和信息做一个较为完整的定义。
在这里插入图片描述
在这里插入图片描述
信息必须通过数据才能进行存储和传输,那么数据是如何存储的呢?
在这里插入图片描述
请看这些前人的智慧吧:
在这里插入图片描述
我们简单总结一下,数据存储需要专门的存储介质,可以是纸张,也可以是磁盘。存储介质一直都在改进发展,这也从另一个方面佐证了信息的重要性。

随着社会的发展,我们有着更科学合理的保存方式,以便更好的维护和利用这些数据资源。

这种技术就是:数据库技术

数据库相关概念

本节开始,我们将具体阐述数据库的方方面面的内容,我们会先介绍一些技术名词,也许初入江湖的你之前没有听过,但不用担心,我们会慢慢的为你揭开数据库的“神秘面纱”。
在这里插入图片描述

首先,我们使用“<人>使用<工具>操作<地点>中的<对象>”造几个简单的句子,比如:

★ 农民使用菜刀收割菜地中的韭菜。

★ 工人使用起重机吊起码头上的一箱箱货物。

这种形式的造句,如果有搞不定的,请自觉翻开小学二年级的课本!在数据库领域中,我们也可以仿照上面的格式造句:
在这里插入图片描述
把前面的概念总结一下,就是数据库管理员可以通过数据库管理系统来操作具体的数据库实例。

数据库(DataBase,简称DB)

数据库顾名思义,是存放数据的仓库,只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放的。

数据库管理员(DateBase Administrator,简称DBA)

数据库管理员是对数据库进行规划、设计、维护和监视等的专业人员,在数据库系统中起着非常重要的作用。

数据库管理系统(DataBase Management System,简称DBMS)

数据库管理系统是位于用户和操作系统之间的一层数据管理软件,负责数据库中数据的组织、操纵、维护和服务等。

数据库系统(DataBase System,简称DBS)

数据库系统是采用数据库技术的计算机系统,是由数据库、数据库管理软件、数据库管理员,硬件平台和软件平台等五部分构成的运行实体。

关于数据库的概念,我们还可以参考下面的表格来进行细化理解:
在这里插入图片描述

数据库技术不是突然出现的东西,它经历了几个发展阶段,分别是:

1)层次型和网状型数据库

2)关系型数据库

3)以面向对象数据模型为主要特征的数据库

目前大部分数据库采用的是基于关系型数据库,那什么是关系,关系数据库又是如何存储数据的呢?

前面说到,目前主流数据库都是关系型的,那什么是关系呢,它通过什么方式存储数据呢?我们举个例子来解释:

我们现在要将班上的5个学生的一些信息保存下来,每个学生都包含姓名、年龄、性别和手机号等特征。

我们可以使用一张简单的二维表来描述这种学生关系
在这里插入图片描述

在关系型数据库中,就是通过这些二维表来描述关系,我们可以把多张关系表放在一起,来组建一个数据库实例
在这里插入图片描述
这就是关系型数据库(Relational Database,RDB)的设计思路,我们来总结一下:

1) 一张表就是一个关系,该表的结构则称为关系模式

 比如:学生表为学生关系,学生关系模式为学生(姓名、年龄、性别、手机号)

2) 一个实例数据库可以包含多个关系

 比如:一个学生信息数据库中就可以包含专业、班级、学生等关系表

3) 表与表之间可能会有联系,这种联系可以是一对一、一对多、多对多等三种情况

 比如:班级和学生,每个学生可能会归属于一个班级,而一个班级可以有多个学生

前面提到关系模式,准确来说是关系逻辑模式,那什么是模式呢?

数据库通常采用三级模式结构,包含外模式(用户模式),模式(逻辑模式),内模式(存储模式)。通过这种严谨的系统结构,数据库可以有效组织、管理数据,提高它的逻辑独立性和物理独立性。

在这里插入图片描述
一个数据库可以有多个外模式,但只有一个模式和内模式。关系模式就是关系数据库中的逻辑模式,后期我们在做数据库设计时会优先考虑模式的设计问题。

还有一个概念也需要单独拿出来说一说,它就是数据库管理系统(DBMS)

正所谓工欲善其事,必先利其器。为了便于数据库的操作,市面上推出了一系列专门的工具来管理数据库,这些工具或软件产品就称为数据库管理系统,比如市面上比较出名的Oracle、MySQL、SQL Server等。
在这里插入图片描述
这些数据库管理软件都向用户提供了良好的数据库操作接口,有着相对统一的命令格式。后期我们会对这些命令(后期指定这些命令称为SQL)进行深入浅出的学习。

那我们就认识一下前面提到的几款数据库产品:
在这里插入图片描述
可能到目前为止,你都没有亲眼见过它们,但无论你在上网购物,还是去餐厅吃饭,你的所有消费记录都会被店员直接或间接的记录到数据库中,这些数据库中会保存你的特征和行为等方面的数据。

在信息化时代,数据无处不在,数据库就会无处不在,仿佛一双眼睛时刻监视并记录着你的一切。

值得注意的是,本课程我们并不会详细的介绍这些软件的用法(那是软件公司宣传要做的事情),而是单纯地从数据库本身知识点的角度出发去阐述数据库的学习脉络。

创建数据库

上一节我们最后提到了几款目前比较流行的数据库产品(MySQL、SQL Server、Oracle等)。它们同属于关系型数据库,但在操作上还是存在一些细微的差别,拥有着各自不同的特色扩展。

基于便利性的考虑,本课程采用了一款更轻便的关系数据库,即:Firebird数据库(2.5_embed版本)。
在这里插入图片描述
接下来,我们就来通过该关系数据库,来创建一个具体业务的数据库实例。

如何创建一个具体业务的数据库实例呢?我们可以通过一门专用的编程语言来实现数据库的创建处理,该语言就是 SQL 。

问题:什么是SQL?
在这里插入图片描述
接下来,我们就来创建一个属于自己的数据库吧。在Firebird关系数据库中,创建数据库的SQL语法比较简单:
在这里插入图片描述
在SQL编程环境中,执行上面的代码,属于你的数据库实例就被创建好了。其中,CREATE DATABASE 为SQL关键字,意思就是“创建数据库”。

(注:本课程学习时,系统自动会给使用者创建一个关系数据库,无需使用者手动创建)

在这里插入图片描述
上面的创建数据库的语句,我们称为SQL语句。SQL语句虽然简单,但也有一定的规范要求。下面我们通过一段聊天截图说明SQL语句中的命名和注释等规范问题
在这里插入图片描述
SQL非常强大,除了前面说到的创建具体的数据库实例外,SQL还可以设置数据库的访问权限,修改表结构,操控数据、查询统计数据等。可以说在关系型数据库中,SQL作为官方语言,几乎无所不能!

我们给SQL语句做一个简单分类,根据使用场景的不同,划分为DDL、DML、DQL和DCL(这里就简单了解每个类别的用途,具体如何使用SQL实现这些用途,我们会在后续章节中详细说明):
在这里插入图片描述
和数据库的第一次亲密接触结束了,接下来的互动就将进入腻歪的热恋期了~

最后,奉上它的唯美“裸照”一张(有点抽象派,一个关系数据库实例就像一个盒子,里面包含了很多个关系表,这些关系表也有可能有一定的联系),记得收藏~
在这里插入图片描述

数据存储

本章任务及目标

经过上一章的学习,我们已经拥有了自己的数据库,但这个数据库仅仅是一个空壳子,如果存储数据还不行。

我们要继续对本章的学习,本章主要讲述通过创建一张表,然后向表中填充数据,从而将这些数据有效的存储并管理起来。

在这里插入图片描述
本章的主要设计思路如下:

1)首先,简单地介绍表的结构,并在数据库中动手创建出这张表

2)然后,详细地讲解怎样向表中插入数据、更新数据和删除数据

3)再次,学习一点关系模型的概念

4)最后,介绍如何创建一张带有完整性约束的关系表

本章学完后,你应该可以做到以下几件事情:

1)创建一张带有数据约束的关系表

2)能够向表中填充数据,并对数据进行更新操作

创建一张表

关系表的用途:

之前我们已经介绍过关系数据库的一些知识,并且创建了一个空数据库。但数据库提供了保存数据的方式和规范,本身不能保存数据。想要保存数据,必须先创建用于承载数据的关系表。
在这里插入图片描述
关系表的结构:

关系数据库的数据存储形式是关系,通俗的说就是简单的二维表格。
在这里插入图片描述
从这张表中,我们可以分析出一些东西:

1)每张表都有行(元组)和列(属性)组成

2)每一列默认指定一种数据类型,用于存储特定格式的数据

3)信息被拆分成多个特征数据,存储在同一行的不同列中

创建表时,数据类型的选择:
刚才我们提到,表中的每一列(属性)都会指定一种数据类型,比如:

1)年龄,可能需要整数类型(int)的表列存储

2)生日,可能需要日期类型(datetime)的表列存储

3)姓名,可能需要字符类型(varchar)的表列存储

在这里,我们也收集了几种常见的数据类型,以后要创建表时,我们可以从下面选择:
在这里插入图片描述
如何创建一张表:

在关系数据库中,想要存储数据,就必须创建表,如何使用SQL语句来创建一张表呢?语法如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值