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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[HackMyVM]靶场 Zeug

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

力扣hot100:240.搜索二维矩阵II(脑子)

吉大21级算法分析与设计的一道大题,由于每一行都是排好序的直接逐行二分 可以达到:O(mlogn)。但是这里追求更广的思路可以使用其他方法。 矩阵四分: 在矩阵中用中心点比较,如果target大于中心点的值,则由于升序排列&am…

排序二叉树

参考 Binary Search Tree Visualization (usfca.edu) 一、构建排序二叉树 注意引用 tree /*** 构造二叉排序树* param tree* param x*/ void buildTree(BSTree &tree,ElementType &x){if (treeNULL){tree(BSTree) calloc(1, sizeof(BSTNode));tree->datax;//注意ret…

Python算法题集_搜索二维矩阵

Python算法题集_搜索二维矩阵 题51:搜索二维矩阵1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【矩阵展开为列表二分法】2) 改进版一【行*列区间二分法】3) 改进版二【第三方模块】 4. 最优算法5. 相关资源 本文为Python算法题集之…

bugku-misc隐写

下载文件,解压得到图片 没看到信息,试着查看图片属性 看到图片宽高不一致,猜测可能需要改变图片长度或者宽度 试着把图片变大,十进制500转16进制 得到1f4 用010打开图片 第二行第一个为宽,第二个为高,A…

【计网】TCP协议安全与风险:深入探讨网络通信的基石

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 🌐前言 🔒正文 TCP (Transmission Control Protocol): UDP (User Datagram Protocol): HTTP (Hypertext Transfer …

WordPress建站入门教程:如何创建菜单和设置前端导航菜单?

前面我们跟大家分享了WordPress如何上传安装WordPress主题,但是启用主题后前端没有看到有导航菜单,这是因为我们还没有创建菜单和设置导航菜单。 JianYue主题导航菜单和右上角菜单 今天boke112百科就继续跟大家分享WordPress站点如何创建菜单和设置前端…

java-抢红包一些简单概念

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

2024最新版正规视频影视系统源码/APP+H5视频影视源码

全新魅思V20正规视频影视系统源码,APPH5视频影视源码。会员花费三千购入的,具体搭建教程放压缩包了! 有兴趣的下载自行研究吧,搭建一共要用到3个域名,可以拿二级域名搭建。

奖励建模(Reward Modeling)实现人类对智能体的反馈

奖励建模(Reward Modeling)是强化学习中的一个重要概念和技术,它主要用于训练智能体(如AI机器人或大型语言模型)如何更有效地学习和遵循人类期望的行为。在强化学习环境中,智能体通过尝试不同的行为获得环境…

4月9日至10日Hack.Summit 2024亚洲首秀:Web3开发者齐聚香港数码港

Hack.Summit() 是一系列 Web3 开发者大会。本届活动将于 2024 年 4 月 9 日至 4 月 10 日在香港数码港举行。自十年前首次举办以来,此次会议标志着 Hack.Summit() 首次在亚洲举办,香港被选为首次亚洲主办城市,这对 Hack VC 和该地区都具有重要…

【Servlet】Servlet 详解(使用+原理)

文章目录 1. Servlet 介绍1.1 什么是 Servlet1.2 Servlet 的主要工作 2. Servlet 程序创建步骤2.1 创建项目2.2 引入依赖2.3 创建目录2.4 编写代码2.5 打包程序2.6 部署程序2.7 验证程序 3. 使用 Smart Tomcat 进行部署3.1 安装 Smart Tomcat3.2 配置 Smart Tomcat3.3 使用 Sma…

React-Redux中actions

一、同步actions 1.概念 说明:在reducers的同步修改方法中添加action对象参数,在调用actionCreater的时候传递参数,数会被传递到action对象payload属性上。 2.reducers对象 说明:声明函数同时接受参数 const counterStorecre…

【Python】科研代码学习:三 PreTrainedModel, PretrainedConfig

【Python】科研代码学习:三 PreTrainedModel, PretrainedConfig 前言Models : PreTrainedModelPreTrainedModel 中重要的方法 tensorflow & pytorch 简单对比Configuration : PretrainedConfigPretrainedConfig 中重要的方法 前言 HF 官网API 本文主要从官网AP…

乐高EV3硬件编程

文章目录: 一:软件 1.软件下载安装 2.软件的使用 二:乐高EV3电子元器件介绍 1.针对不同的版本 2.组合起来看 3.元器件栏 绿色部分:动作 橙色部分:流程控制 黄色部分:传感器 红色部分&#xff1…

【PyTorch】进阶学习:探索BCEWithLogitsLoss的正确使用---二元分类问题中的logits与标签形状问题

【PyTorch】进阶学习:探索BCEWithLogitsLoss的正确使用—二元分类问题中的logits与标签形状问题 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、Py…

Python爬虫——scrapy-4

免责声明 本文章仅用于学习交流,无任何商业用途 部分图片来自尚硅谷 meta简介 在Scrapy框架中,可以使用meta属性来传递额外的信息。meta属性可以在不同的组件之间传递数据,包括爬虫、中间件和管道等。 在爬虫中,可以使用meta属…

储能系统---交流充电桩(三)

一、充电模式及其功能要求 关注公众号 --- 小Q下午茶 新国标在标准 GB/T 18487.1-2015《电动汽车传导充电系统 第1部分:通用要求》中规定了 4 种充电模式,下面将对这 4 种充电模式及其功能要求进行介绍。 1.1 、模式 1 模式 1 是指在充电系统中应使用…

一次电脑感染Synaptics Pointing Device Driver病毒的经历,分享下经验

没想到作为使用电脑多年的老司机也会电脑中病毒,周末玩电脑的时候突然电脑很卡,然后自动重启,奇怪,之前没出现这个情况。 重启后电脑开机等了几十秒,打开任务管理器查看开机进程,果然发现有个Synaptics Po…

LeetCode 2482.行和列中一和零的差值

给你一个下标从 0 开始的 m x n 二进制矩阵 grid 。 我们按照如下过程,定义一个下标从 0 开始的 m x n 差值矩阵 diff : 令第 i 行一的数目为 onesRowi 。 令第 j 列一的数目为 onesColj 。 令第 i 行零的数目为 zerosRowi 。 令第 j 列零的数目为 zer…