归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言📝
如果停止,就是低谷;如果继续,就是上坡!
文件用于存储和处理非结构化数据,如果要处理大量结构化数据,提高数据处理效率,就要使用数据库了。数据库是数据的集合,它以文件的形式存在。数据库技术是一种数据库访问和存储的技术,是一种计算机软件技术。数据库技术、网络技术、多媒体技术、人工智能技术,都是计算机应用领域的主流技术。
Python 支持 Sybase、SAP、Oracle、SQL Server、SQLite 等多种数据库。
数据库的概念:
数据库(DataBase,DB)将大量数据按照一定的方式组织并存储起来,是相互关联的数据的集合数据库中的数据不仅包括描述事物的数据本身,还包括相关数据之间的联系。数据库具有如下特点。
- 以一定的方式组织、存储数据。
- 能为多个用户共享。
- 具有尽可能少的冗余数据。
- 是与程序彼此独立的数据集合。
相对文件而言,数据库为用户提供安全、高效、快速检索和修改的数据集合。同时,数据库文件独立于用户的应用程序,可为多个应用程序所使用,可以更好地实现数据共享。
1.数据库系统
数据库系统是基于数据库的计算机应用系统,主要包括数据库、数据库管理系统、相关软硬件环境和数据库用户。其中,数据库管理系统是数据库系统的核心。
2.数据库管理系统
数据库管理系统(DataBase ManagementSystem,DBMS)是用来管理和维护数据库的、位于操作系统之上的系统软件,其主要功能如下。
(1)数据定义功能。DBMS 提供数据定义语言(DDL),用户通过它可以方便地对数据库中的对象进行定义,如对数据库、表、视图和索引进行定义。
(2)数据操纵功能。DBMS向用户提供数据操纵语言(DML),实现对数据库的基本操作如查询、插入、删除和修改数据库中的数据。
(3)数据库的运行管理。这是 DBMS 的核心部分,包括并发控制、存取控制,安全性检查完整性约束条件的检查和执行,以及数据库的内部维护(如索引、数据字典的自动维护)等。所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性和多个用户对数据库的并发操作。
(4)数据通信功能。包括与操作系统的联机处理、分时处理和远程作业传输的相应接口等
这尝功能对分布式数据库系统尤为重要。数据库可以分为关系型数据库和非关系型数据库。关系型数据库使用二维表来存储数据,非关系型数据库通常以对象的形式存储数据。目前的数据库管理系统几乎都支持关系模型,SOLite就是关系型的、轻量级的数据库管理系统。
关系型数据库
关系型数据库是目前的主流数据库。通常,一个关系型数据库中可包含多个表,例如,一个雇员管理数据库中可以包含雇员表、订单表、工资表等多个表。通过在表之间建立关系,可以将不同表中的数据联系起来,实现更强大的数据管理功能。下面介绍关系型数据库中的基本概念和关系间的联系类型。
1.关系型数据库的基本概念
(1)关系。一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关
系,每个关系都有一个关系名,也就是表名。
(2)元组。二维表的水平方向的行在关系中称为元组。每个元组均对应表中的一条记录。
(3)属性。二维表的垂直方向的列在关系中称为属性,每个属性都有一个属性名,属性值则)7是各个元组属性的取值。属性名也称为字段名,属性值也称为字段值。
(4)域。属性的取值范围称为域。域作为属性值的集合,其类型与范围由属性的性质及其所
表示的意义来确定。同一属性只能在相同域中进行取值。
(5)关键字。其值能唯一地标识一个元组的属性或属性的组合称为关键字。关键字可表示为属性或属性的组合,例如,雇员表的id字段可以作为标识一条记录的关键字。们0们2.实体间联系的类型实体是指客观世界的事物,实体的集合构成实体集,在关系数据库中可用二维表来描述实体实体之间的对应关系称为实体间的联系,具体是指一个实体集中可能出现的每一个实体与另山安体集中多少个具体实体之间存在联系,它反映了现实世界事物之间的关联关系。实体之间有各种各样的联系,归纳起来有以下3种类型。
(1)一对一联系(1:1)。如果对于实体集A 中的每一个实体,实体集B中有且只有一个实体与之联系,反之亦然,则称实体集 A 与实体集B具有一对一联系。例如,一所学校只有一个校一个校长只在一所学校任职,校长与学校之间存在一对一的联系。
(2)一对多联系(1:n)。如果对于实体集A 中的每一个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每一个实体,实体集A 中至多只有一个实体与之联系,则称实体长,集A与实体集B有一对多的联系。例如,一所学校有许多学生,但一个学生只能就读于一所学校所以学校和学生之间存在着一对多的联系。
(3)多对多联系(m:n)。如果对于实体集A中的每一个实体,实体集B中有多个实体与之联系,而对于实体集 B中的每一个实体,实体集A中也有多个实体与之联系,则称实体集A实体集B之间存在多对多的联系。例如,一个学生可以选修多门课程,一门课程也可以被多个学生选修,所以学生和课程之间存在着多对多的联系。对应于实体间联系模型,数据库中包含若干表,这些表的记录之间也存在着一对一联系、对多联系和多对多联系。
Python 的 SQLite3 模块
Python 内置了 SQLite 数据库,通过内置的 SQLite3 模块可以直接访问数据库。SOLite3 模块用C语言编写,提供了访问和操作 SQLite 数据库的各种功能。
SQLite3 提供的 Python 程序都在一定程度上遵守 Python DB-API规范。Python DB-API是为不同的数据库提供的访问接口规范,它定义了一系列必需的对象和数据库存取方式,以便为各种的底层数据库系统和多样的数据库接口程序提供一致的访问接口,使在不同的数据库之间移植代码成为可能。强大的数据库支持使得 Python 的功能更加强大。