热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

DB基础第二篇:数据库的结构

图片来源网络:侵删RDBMS的常见系统结构    使用 RDBMS 时,最常见的系统结构就是客户端 服务器类型(C/S类型)这种

图片来源网络:侵删

RDBMS的常见系统结构

    使用 RDBMS 时,最常见的系统结构就是客户端 服务器类型(C/S类型)这种结构。

     服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机)。在计算机上持续执行处理,并等待接收下一条请求。RDBMS 也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并返回,还可以把数据变更为指定内容。

     与之相对,向服务器发出请求的程序(软件),或者是安装了该程序的设备(计算机)称为客户端。访问由 RDBMS 管理的数据库,进行数据读写的程序称为 RDBMS 客户端。RDBMS 客户端将想要获取什么样的数据,或者想对哪些数据进行何种变更等信息通过 SQL 语句发送给RDBMS 服务器。RDBMS 根据该语句的内容返回所请求的数据,或者对存储在数据库中的数据进行更新。

     客户端就如同委托方,而服务器就像是受托方。由于两者关系类似受托方执行委托方发出的指令,故而得名。这样就可以使用 SQL 语句来实现关系数据库的读写操作了。另外,RDBMS 既可以和其客户端安装在同一台计算机上,也可以分别安装在不同的计算机上。这样一来,不仅可以通过网络使二者相互关联,还可以实现多个客户端访问同一个 RDBMS。

        通过网络可以实现多个客户端访问同一个数据库

     客户端没有必要使用同样的程序,只要能将 SQL 发送给 RDBMS,就可以操作数据库了。并且,多个客户端还可以同时对同一个数据库进行读写操作。另外,RDBMS 除了需要同时接收多个客户端的请求之外,还需要操作存有大量数据的数据库,因此通常都会安装在比客户端性能更优越的计算机上。操作数据量特别巨大的数据库时,还可以将多台计算机组合使用。虽然 RDBMS 的系统结构多种多样,但是从客户端发来的 SQL 语句基本上都是一样的。

表的结构

     让我们再具体了解一下 RDBMS 的结构。上一节我们讲到了关系数据库通过类似 Excel 工作表那样的、由行和列组成的二维表来管理数据。用来管理数据的二维表在关系数据库中简称为表。表存储在由 RDBMS 管理的数据库中,一个数据库中可以存储多个表。

数据库和表的关系

     根据 SQL 语句的内容返回的数据同样必须是二维表的形式 ,这也是关系数据库的特征之一。返回结果如果不是二维表的 SQL 语句则无法执行。

另外,上图中只有一个数据库,我们还可以创建多个数据库分别用于不同用途。

1-2 表的示例(商品表)

     表的列(垂直方向)称为字段,它代表了保存在表中的数据项目。在表 1-2 的商品表中,从商品编号到登记日期一共有 6 列。对于列的约束比Excel 更加严格,定义为数字的列只能输入数字,定义为日期的列只能输入日期。

与之相对,表的行(水平方向)称为记录,它相当于一条数据。商品表中总共有 8 行数据。关系数据库必须以行为单位进行数据读写 ,一个单元格中只能输入一个数据,请大家牢记。

RDBMS的用户管理

     为了防止重要数据被窃读或篡改,RDBMS 只允许注册用户接触数据库。这里的用户并不是指 Windows 等操作系统的注册用户,而是只能用于 RDBMS 的用户。RDBMS 允许注册多个用户。

     注册用户的时候除了设定用户名(账号),还需要设定密码。虽然密码并不是必需的,但为了防止重要信息的泄露,还是希望大家能够设定密码。

总结

  • RDBMS通常使用客户端/服务器这样的系统结构。

  • 通过客户端向服务器端发送SQL语句来实现数据库的读写操作。

  • 系数据库采用被称为数据库表的二维表来管理数据。

  •  数据库表由表示数据项目的列(字段)和表示一条数据的行(记录)所组成,以记录为单位进行数据读写。

  • 行和列交汇的方格称为单元格,每个单元格只能输入一个数据。

                                         




推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 图片复制到服务器 方向变了_双服务器热备更新配置文件步骤问题及解决方法
    本文介绍了在将图片复制到服务器并进行方向变换的过程中,双服务器热备更新配置文件所出现的问题及解决方法。通过停止所有服务、更新配置、重启服务等操作,可以避免数据中断和操作不规范导致的问题。同时还提到了注意事项,如Avimet版本的差异以及配置文件和批处理文件的存放路径等。通过严格执行切换步骤,可以成功进行更新操作。 ... [详细]
author-avatar
飛373227470
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有