zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt5开发从入门到精通——终章、数据库基本概念(后续篇章升级为 QT常规应用开发)

Qt数据库应用入门开发 升级 精通 基本概念
2023-09-27 14:19:51 时间

提示:欢迎小伙伴的点评✨✨,相互学习c/c++应用开发。🍳🍳🍳
博主🧑🧑 本着开源的精神交流Qt开发的经验、将持续更新续章,为社区贡献博主自身的开源精神👩‍🚀


前言

本节简要介绍关于数据库系统的基本概念和术语,以及进行数据库应用开发中常用的数据库管理系统 。


一、数据和数据库 (DB)

利用计算机进行数据处理,首先需要将信息以数据形式存储到计算机中,因为数据是可以被计算机接收和处理的符号。根据所表示的信息特征不同,数据有不同的类别,如数字、文字、表格、图形/图像和声音等 。
数据库 (DataBase, DB), 顾名思义,就是存放数据的仓库,其特点是:数据按照数据模型
组织,是高度结构化的,可供多个用户共享并且具有一定的安全性。
实际开发中使用的数据库几乎都是关系型的。关系数据库是按照二维表结构方式组织的数
据集合,二维表由行和列组成,表的行称为元组,列称为属性,对表的操作称为关系运算,主要的关系运算有投影、选择和连接等。

二、数据库管理系统 (DBMS)

数据库管理系统 (DataBase Management System, DBMS), 是位于用户应用程序和操作系统之间的数据库管理系统软件,其主要功能是组织、存储和管理数据,高效地访问和维护数据,即提供数据定义、数据操纵、数据控制和数据维护等功能。常用的数据库管理系统有 Oracle 、Microsoft SQL Server 和 MySQL 等。
数据库系统 (DataBase System, DBS), 是指按照数据库方式存储和维护数据,并向应用程序提供数据访问接口的系统 。 DBS 通常由数据库、计算机硬件(支待 DB 存储和访问)、软件(包括操作系统、 DBMS 及应用开发支撑软件)和数据库管理员 (DataBase Administrator, OBA)四个部分组成。其中, OBA 是控制数据整体结构的人,负责数据库系统的正常运行,承担创建、监控和维护整个数据库结构的责任。 OBA 必须具有的素质是,熟悉所有数据的性质和用途,充分了解用户需求,对系统性能非常熟悉。
在实际应用中,数据库系统通常分为桌面型和网络型两类。
桌面型数据库系统是指只在本机运行、不与其他计算机交换数据的系统,常用于小型信息管理系统,这类数据库系统的典型代表是 VFP 和 Access 。
网络型数据库系统是指能够通过计算机网络进行数据共享和交换的系统,常用于构建较复
杂的 C/S 结构或 BIS 结构的分布式应用系统,大多数数据库系统均属于此类,如 Oracle 、 MicrosoftSQL Server 等。随着计算机网络的普及,计算模式正迅速从单机向网络计算平台迁移,网络型数据库系统的应用将越来越广泛。

三、结构化查询语言 (SQL)

结构化查询语言 (Structured Query Language, SQL) 是用于关系数据库操作的标准语言,最早由 Boyce 和 Chambedin 在 1974 年提出,称为 SEQUEL 语言。 1976 年, IBM 公司的 San Jose研究所在研制关系数据库管理系统 SystemR 时将 SEQUEL 修改为 SEQUEL2, 后来简称为 SQL 。1976 年, SQL 开始在商品化关系数据库管理系统中应用。1982 年,美国国家标准化组织 (ANSI)确认 SQL 为数据库系统的工业标准。 1986 年, ANSI 公布了 SQL 的第一个标准 X3.135-1986 。随后,国际标准化组织 (ISO) 也通过了这个标准,即通常所说的 SQL-86 。 1987 年, ISO 又将其采纳为国际标准。 1989 年, ANSI 和 ISO 公布了经过增补和修改的 SQL-89 。 1992 年,公布了SQL-92 CSQL-2), 对语言表达式做了较大扩充。 1999 年,推出 SQL-99 (SQL-3 ), 新增了对面向对象的支持。
目前,许多关系型数据库供应商都在自己的数据库中支持 SQL 语言,如 Access 、 MySQL 、
Oracle 和 Microsoft SQL Server 等,其中大部分数据库遵守的是 SQL-89 标准。
SQL 语言由以下三部分组成。

(1) 数据定义语言 (Data Description Language, ODL), 用于执行数据库定义的任务,对数
据库及数据库中的各种对象进行创建、删除和修改等操作。数据库对象主要包括表、默认约束、
规则、视图、触发器和存储过程等。
(2) 数据操纵语言 (Data Manipulation Language, DML), 用于操纵数据库中各种对象,检
索和修改数据。
(3) 数据控制语言 (Data Control Language, DCL), 用于安全管理,确定哪些用户可以查
看或修改数据库中的数据。
SQL 语言主体由大约 40 条语句组成,每条语句都会对 DBMS 产生特定的动作,如创建新
表、检索数据和更新数据等。 SQL 语句通常由一个描述要产生的动作谓词 (Verb) 关键字开始,
如 Create 、 Select、 Update 等。紧随语句的是一个或多个子句 (Clause), 子句进一步指明语句对
数据的作用条件、范围和方式等。

四、表和视图

表是关系数据库中最主要的数据库对象,它是用来存储和操作数据的一种逻辑结构。表由行和列组成,因此也称为二维表。

4.1表 (Table) 。

表是在日常工作和生活中经常使用的一种表示数据及其关系的形式,如下表为一个学生表。

学号姓名专业名性别出生时间
001乔伊波伊电气工程2000/03/22
002张三计算机1998/10/01
003李四计算机1999/02/08
004王紫计算机2001/12/08

每个表都有一个名字,以标志该表。例如上表的名字是学生表,它共有五列,每列也都有一个名字,描述学生的某一方面特性。每个表由若干行组成,表的第一行为各列标题,即“栏目信息”,其余各行都是数据。例如上表 分别描述了四位同学的情况。下面是表的定义 。

• 表结构

每个数据库包含若干个表。每个表具有一定的结构,称为表的“型”。所谓表型是指组成表的各列的名称及数据类型,也就是日常表格的"栏目信息”。
• 记录

每个表包含若干行数据,它们是表的“值",表中的 一行称为一个记录 (Record) 。因此,表是记录的有限集合。
• 字段

每个记录由若干个数据项构成,将构成记录的每个数据项称为字段 (Field) 。字段包含的属性有字段名、字段数据类型、字段长度及是否为关键字等。其中,字段名是字段的标识,字段的数据类型可以是多样的,如整型、实型、字符型、日期型或二进制型等。
• 关键字

在学生表中,若不加以限制,则每条记录的姓名、专业名、性别和出生时间这四个字段的值都有可能相同,但是学号字段的值对表中所有记录来说则一定不同,即通过“学号”字段可以将表中的不同记录区分开来。

4.2、视图 (View)

视图是从一个或多个表(或视图)导出的表。
视图与表不同,它是一个虚表,即对视图所对应的数据不进行实际存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义操作与视图相关联的基本表。视图一经定义后,就可以像表一样被查询、修改、删除和更新。使用视图具有便于数据共享、简化用户权限管理和屏蔽数据库的复杂性等优点。

五、总结

Qt5开发从入门到精通基础篇系列,至此篇后不再更新,有关QT篇章将升级为QT常规应用开发: 以常规界面开发为主要篇章、继而去深入了解Qt的API接口以及C++庞大的库函数。