Python的数据库编程基础知识

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝

如果停止,就是低谷;如果继续,就是上坡!

        文件用于存储和处理非结构化数据,如果要处理大量结构化数据,提高数据处理效率,就要使用数据库了。数据库是数据的集合,它以文件的形式存在。数据库技术是一种数据库访问和存储的技术,是一种计算机软件技术。数据库技术、网络技术、多媒体技术、人工智能技术,都是计算机应用领域的主流技术。
        Python 支持 Sybase、SAP、Oracle、SQL Server、SQLite 等多种数据库。

数据库的概念:

        数据库(DataBase,DB)将大量数据按照一定的方式组织并存储起来,是相互关联的数据的集合数据库中的数据不仅包括描述事物的数据本身,还包括相关数据之间的联系。数据库具有如下特点。

  1. 以一定的方式组织、存储数据。
  2. 能为多个用户共享。
  3. 具有尽可能少的冗余数据。
  4. 是与程序彼此独立的数据集合。


        相对文件而言,数据库为用户提供安全、高效、快速检索和修改的数据集合。同时,数据库文件独立于用户的应用程序,可为多个应用程序所使用,可以更好地实现数据共享。

        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 的功能更加强大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码随想录算法训练营Day29】 491.递增子序列;46.全排列;47.全排列 II

文章目录 ❇️Day 29 第七章 回溯算法 part05✴️今日内容❇️491.递增子序列自己的思路随想录思路自己的代码 ❇️46.全排列思路代码流程 ❇️47.全排列 II思路代码 ❇️Day 29 第七章 回溯算法 part05 ✴️今日内容 491.递增子序列46.全排列47.全排列 II ❇️491.递增子序…

【性能测试】Jmeter+InfluxDB+Grafana 搭建性能监控平台

一、背景 为什么要搭建性能监控平台? 在用 Jmeter 获取性能测试结果的时候,Jmeter自带的测试报告如下: 这个报告有几个很明显的缺点: 只能自己看,无法实时共享;报告信息的展示比较简陋单一,不…

在外包公司搞了2年,出来技术都没了...

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的的功能…

网络工程师笔记9

动态路由 RIP路由协议 配置简单 易于维护 适用于小型网络 周期性是30s发一次

MyBatis-Plus如何娴熟运用乐观锁

欢迎来到我的博客,代码的世界里,每一行都是一个故事 MyBatis-Plus如何娴熟运用乐观锁 前言乐观锁的基本概念基本概念和原理:为何乐观锁是解决并发问题的有效手段: MyBatis-Plus中乐观锁的支持1. Version 注解:2. 配置乐…

严刑拷打_微服务

文章详情 :😊 作者:Lion J 💖 主页: https://blog.csdn.net/weixin_69252724 🎉 主题: 微服务相关知识 ⏱️ 创作时间:2024年03月8日 ———————————————— 文章目…

高级语言讲义2014计专(仅高级语言部分)

1. 已知,连续函数在区间[0, 3]有且只有一个实根,编写完整程序,利用二分法计算并输出该实根的近似值,要求结果精确到。 二分法的基本思路是:对于区间[a, b]上的连续函数f(x),若f(a)和f(b)的正负号不同,则该区…

unicloud where 使用

where介绍 在uniCloud中,WHERE是一个用于指定查询条件的关键字。它允许用户根据特定的条件来筛选和查询云数据库中的数据。WHERE语句的基本语法格式是WHERE condition,其中condition表示查询条件,可以是一个或多个逻辑表达式组成的条件。 在…

达梦数据库将DMHR模式下的表(迁移)导出为EXCEL文件

数据库迁移工具(Data Transfer Service)位于/dm8/tool/dts.其中/dm8是数据库安装目录。 在创建数据库时我们如果勾选了 “创建示例库DMHR(R)”,数据库实例中就带有这个数据库。 这里是用MobaXterm客户端远程控制ip地址为192.168.148.130的虚…

【C++】C++11---右值引用和移动语义

目录 1、什么是左值引用和右值引用2、左值引用与右值引用比较3、右值引用使用场景和意义4、右值引用引用左值的分析5、完美转发 1、什么是左值引用和右值引用 传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前学习…

Xilinx 7系列 FPGA硬件知识系列(九)——FPGA的配置

目录 1 .1配置模式 1.1.1 主模式 1.1.2 从模式 1.2 7种配置模式 1.2.1 主串配置模式 1.2.2 从串配置模式 ​编辑1.2.3 主并配置模式 1.2.4 从并配置模式 1.2.5 JTAG配置模式 ​编辑1.2.6 主SPI配置模式 ​编辑1.2.7 主BPI配置模式 1.2.8 FPGA BPI加载时间…

详解float函数类型转换

函数描述 float([x]) 函数将数字或数字的字符串表示形式转换为与它等效的有符号浮点数。如果参数x是一个字符串(十进制表示的数字串),数字前面可以添加符号来表示正数,或负数。符号和数字之间不能出现空格,但是符号前…

【Linux基础(三)】信号

学习分享 1、信号的基本概念2、查看信号列表3、常见信号名称4、signal库函数5、发送信号kill6、kill - signal (无参信号)示例6.1、kill - signal (不可靠信号)示例6.2、kill - signal (可靠信号)示例 7、信号分类7.1、信号运行原理分类7.2、信号是否携带…

java-抢红包一些简单概念

抢红包,比如微信中抢红包,红包金额分配使用的是二倍均值算法。 二倍均值拆包: 拆包要求:所有人抢到的金额之和等于红包总额,每个人最少抢到 0.01 元,每个人抢到的红包金额不要相差太大二倍均值法:假设红包总金额是X&…

【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏《Spring 狂野之旅:从入门到入魔》 &a…

3DES算法的起源与演进:保障信息安全的重要里程碑

title: 3DES算法的起源与演进:保障信息安全的重要里程碑 date: 2024/3/8 21:25:19 updated: 2024/3/8 21:25:19 tags: 3DES算法起源安全性增强三次迭代加密密钥管理复杂效率对比AES应用场景广泛Python实现示例 一、3DES算法的起源与演进 3DES算法是DES算法的增强版…

Linux第72步_使用“新字符设备的一般模板”编写LED驱动

使用“新字符设备的一般模板”编写LED驱动,使用寄存器直接开关灯。 1、创建LED目录 输入“cd /home/zgq/linux/Linux_Drivers/回车” 切换到“/home/zgq/linux/Linux_Drivers/” 输入“ls回车”,查看“/home/zgq/linux/Linux_Drivers/” 输入“mkdi…

IDEA自带 .http 请求工具文档

基础语法 请求格式 基础格式 Method Request-URI HTTP-Version Header-field: Header-valueRequest-Body其中,GET 请求可以省略 Method 不写;HTTP-Version 可以省略不写,默认使用 1.1 版本。 示例: GET https://www.baidu.co…

【LaTeX】行内代码块、行间代码块的插入以及高亮(懒人版)

文章目录 思路和优点基本框架行内代码行间代码pythoncpp 所支持的语言所支持的代码风格 思路和优点 思路是listingsminted包, 一个负责插入代码一个负责高亮代码 这种方法显著的优点在于:完全不需要自定义代码风格 使用其他方法时,你定义好…

组合逻辑电路(二)(译码器和编码器)

目录 译码器 简单逻辑门译码器 二进制译码器 2线-4线译码器 3线-8线译码器 二-十进制译码器 4线-10线译码器 七段显示译码器 编码器 二进制普通编码器 二-十进制普通编码器(8421BCD码编码器) 优先编码器(Priority Encoder) 译…