• 15
  • 15
分享
  • 数据库:除了增删改查,我还会设计和创建!——软件测试圈
  • 曼倩诙谐 2021-10-08 10:00:18 字数 1895 阅读 2480 收藏 15

  在日常测试工程中,不管是功能测试、接口测试、UI测试等,其实本质都是对应用程序的数据进行增删改查操作。开发人员设计好数据库模型后,各个业务功能都依赖于对该模型进行操作,从而展现出不同的数据给用户。

  在面试或者是写简历时,对数据库只能一句话概括“掌握数据库的增删改查”。今天来给大家带大家了解下web应用程序的数据库设计和相关操作,也就是学习下数据库是如何设计和生成的。

  在开始之前,首先要知道常用的web应用框架有django和flash框架,两者的区别可以简单形容为django像是精装房,大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富,适合企业级网站;而flash像是毛坯房,小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。

  今天我们就选Django框架来演示数据库设计和生成。

  Django自带ORM模型,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。

  ORM模型基础

  在开始设计数据库之前,我们先来了解下数据类型,作为一个测试人员,在日常测试中我们都会考虑到以下测试点:

  1.字段支持输入的类:数字、字母等

  2.字段是否允许为空

  3.字段是否唯一

  ……

  其实以上规则限制需要引用到Django ORM数据库模型。

  了解数据类型

  在学习python或java等开发语言过程中,我们首先第一步学习的就是了解这个语言的数据类型,那么在学Django的ORM数据模型也是一样,我们第一步也是要先了解其常用的数据字段类型。

1-1.png

  了解数据字段常用属性

1-2.png

  具体其他参考相关资料文档说明。

  注册数据表设计

  Django的ORM数据模型定义在项目的models.py文件内。常见的用户注册信息一般包含一下几个字段,用户名、密码、邮箱、手机号等,所以对应的数据库设计:

  前提:已创建django项目和程序。

1-3.png

  数据表注册

  1.检查条件

  1)注册app

  在项目的配置文件settings.py内的INSTALLED_APPS内注册app应用程序。

  2)设置数据库连接信息

  创建app时会自动创建sqlite3,django默认是用该数据库启动;若需要更换成mysql,则对应的项目的配置文件settings.py内的DATABASES也需要设置成mysql配置信息。

  2.数据库模型激活

  激活命令:python manage.py makemigrations

  执行激活命令后会在项目的migrations目录下生成一个预处理文件。

1-4.png

1-5.png

  数据表迁移(同步到数据库)

  迁移命令:python manage.py migrate

1-6.png

  迁移成功后才可操作数据库,迁移成功后数据库内自动以“app_模型类名小写”命名生成一张新的数据库表,如下图:

1-7.png

  操作数据库

  Django自带的ORM(object relational mapping对象关系映射)模型,通过调用api直接操作对应的数据库即可。如果业务逻辑未完成,Django也提供超级管理员界面,可通过超级管理员直接操作数据库模型。

  1.创建超级管理员,执行命令:python manage.py createsusperuser,按照提示创建管理员

  2.将数据库注册到超级管理

  3.启动Django服务:python manage.py runserver (启动成功够默认服务地址127.0.0.1:8000)

  4.访问超级管理员后台:http://127.0.0.1:8000/admin/   进入超级管理员登录界面:

1-8.png

  输入超级管理员账号和密码即可登录管理后台。

  5.超级管理员关联用户自定义的数据库,在项目下的admin.py文件内注册用户自定义的数据库,注册后超级管理员admin就有权限访问该数据库。

1-9.png

  点击对应的Account即可进行数据库的增删改查操作。

1-10.png

  以上内容就是一个数据库表生成的全过程,当然了实际业务中使用的数据库表字段更多,还设计到表与表之间的关系等,并不是一个用户信息表这么简单的事情,本文的主要目的是给大家普及下数据库表的生成过程以及数据库字段类型的概念。通过一个简单的案例让大家对数据库有更进一步的了解~



作者:绿豆芽呀   

来源:http://www.51testing.com/html/71/n-4478871.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、Web性能测试:(压力测试、负载测试、连接速度测试)1、压力测试:并发测试 (如500人同时登录邮箱)2、负载测试:根据场景设计测试用例如:100用户登录邮箱200用户查看新闻300用户查看科技3、连接速度测试:①用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网②如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开③有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了④连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面小结:测试内容 性能测试连接速度测试登入链接时间,页面刷新时间等...
            0 0 2198
            分享
          •   正交试验法  正交试验设计法,是从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理安排试验的一种科学的试验设计方法。  因子/因素:所有影响试验指标的条件。  水平/状态:而影响试验因子的,叫做因子的状态。  正交表的构成  行数(Runs):正交表中的行的个数,即试验的次数。  因素数(Factors):正交表中列的个数。  水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”。  正交表的表示形式  L行数(水平数因素数):  正交表的特点  完成试验要求所需的实验次数少  数据点的分...
            0 0 2354
            分享
          • 在以往的面试记录里,我又看到了一个多次被问到的知识点,那就是 cookie、session、token 的区别有哪些?如果现在来问你,不知道你能否说清楚呢?今天不仅仅是整理出这三者的区别,更重要的是能够真正去理解这三者之间的作用和联系。cookie、session、token三者联系在互联网里,一样事物的诞生往往是为了解决某种问题,这句话同样适用于此。其实说到底,cookie、session、token 都围绕了一个点:身份认证。为什么要认证很简单,比如电商购物网站需要登录。在输入账号密码点击登录之后,对服务器就产生了一次会话 session,就像你我之...
            0 1 553
            分享
          • 从测试leader的角度如何保障质量交付?聊的第一个话题就是测试leader如何保障团队的质量交付,这个话题最近在很多地方,听很多人聊过。我会尝试从以下几点来做阐述说明,观点仅代表个人看法。流程管理问:流程是什么?为什么要有流程?流程能解决什么问题?流程能带来什么保障?流程是什么?流程是保障团队目标达成的最佳实践,因人/团队/业务类型/迭代速度/资源紧张程度而异。为什么要有流程?没有流程会导致团队中的个体各自为战,目标不统一,进度不协调,资源配给失衡而导致交付质量下降。流程能解决什么问题?流程能保障团队或者群体在大方向上保持协调一致,尽可能降低由于团队人员能力、认知水平、资源不足、意外情况导致...
            0 0 1081
            分享
          • 1、软件接口是什么?程序不同模块之间传输数据并作处理的类或函数2、HTTP和HTTPS协议区别?答:https协议需要到CA(CertificateAuthority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用;http是超文本传输协议,信息是明文传输,Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全;http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443;3.HTTPS在哪一层?答:HTTPS在应用层4、get和post区别是什么?答:POST和GET都是向服务器提交数据,并且都会从服务器获...
            12 15 3017
            分享
      • 51testing软件测试圈微信