首页 > 数据库 >团队项目数据库设计心得

团队项目数据库设计心得

时间:2023-11-10 21:57:22浏览次数:40  
标签:角色 数据库 用户 设计 团队 心得 id 页面

数据库设计心得

一、项目简介

该项目是在一个miniob(mini数据库)库的基础上, 让参数选手实现数据库的非常基础的功能, 功能分为入门(预选赛), 中级(决赛), 高阶(黑客松) 3个阶段。 入门门槛较低, 适合所有参赛选手。 面向的对象主要是在校学生,数据库爱好者, 或者对基础技术有一定兴趣的爱好者, 并且考题对诸多模块做了简化,比如不考虑并发操作, 事务比较简单。 目标是让不熟悉数据库设计和实现的同学能够快速的了解与深入学习数据库内核,期望通过miniob相关训练之后,能够对各个数据库内核模块的功能与它们之间的关联有所了解,并能够在使用时,设计出高效的SQL, 并帮助降低学习OceanBase 内核的学习门槛。

二、系统的功能描述

要想设计好数据库,首先,我们应明确项目的需求,明确功能需求
1. 数据表管理:允许用户创建、编辑和删除数据表,包括定义字段、数据类型和约束条件等。
2. 数据记录管理:提供对数据表中的数据记录进行增加、修改和删除操作,包括对字段进行数据验证和约束条件的检查。
3. 数据查询:允许用户执行各种类型的查询操作,如简单查询、复杂查询、条件查询等,以满足用户的数据检索需求。
4. 数据导入和导出:支持数据的导入和导出功能,允许用户将数据从外部文件或其他数据库导入到MiniOB数据库中,以及将MiniOB数据库中的数据导出为文件或其他数据库格式。
5. 用户权限管理:提供用户管理和权限设置功能,包括用户的添加、编辑、删除,以及角色和权限的分配和管理。
6. 数据备份和恢复:支持数据库的定期备份和数据恢复功能,以保证数据的安全性和可靠性。
7. 界面友好性:设计简洁直观的用户界面,使用户能够轻松地进行操作和导航,提供良好的用户体验。

三、确定实体

通过对搜索引擎各方面的分析,我们可以知道搜索引擎中的实体包括:日志表、用户表,数据表,角色表,字段表,角色页面表、页面表。各实体包含的数据项分别如下:

1)用户:用户id、表id、用户名、角色id、角色、密码、创建者创建时间备注

2)日志表:日志id、用户id、用户、操作类型、表名创建时间

3)数据表表id、表名、索引字、索引字段、创建者创建时间

4)字段表数据库字段id、属性名属性类型长度

5)角色表角色id、角色页面表id、角色名角色数量

(6)角色页面表:角色页面表id、角色id、页面id。

(7)页面表:页面id、页面名、页面路径。

 

四、最终设计结果

这个是我们做出来的物理模型:

 

 

 

 

五、心得

 

这次的数据库设计,小组同学内部积极讨论,积极提出意见,改进数据库。在数据库设计中,我们要考虑全面,先设计概念模型,然后生成物理模型。在设计过程中要注意:

若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。

标签:角色,数据库,用户,设计,团队,心得,id,页面
From: https://www.cnblogs.com/FFTT/p/17825149.html

相关文章

  • 基于大模型的日程管理通知系统——数据库设计心得
    项目:基于大模型的日程管理通知系统指导老师:李友焕组名:PMA班级:软件21011.  前言上学期数据库系统的课程,让我们了解了数据库的基本操作和设计原则。我们认识到良好的数据库设计在工程项目中是至关重要的。它直接影响到项目的成功与否,对系统的性能、安全性、可维护性和用户体......
  • Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入
    从表格中选择数据要从MySQL中的表格中选择数据,请使用"SELECT"语句:示例选择"customers"表格中的所有记录,并显示结果:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword",datab......
  • 初唐五杰-数据库设计心得
    软件2105-初唐五杰-数据库设计心得指导老师:肖雄仁项目:管道直饮水自动控制云平台团队名:初唐五杰成员:杨虎强、马子豪、刘一凡、谢昶皓、陈家睦在本次数据库的设计中,我们小组所采取的设计步骤如下:需求分析小组项目为设计一个直饮水机管理云平台。重要的系统需求如下:......
  • 数据库设计报告
    组员:雷茜,程煜栋,胡友缘,彭子芹,宋君帆数据库设计执行摘要Kubernetes工作流管理系统概述本报告详细描述了Kubernetes工作流管理系统的数据库设计,该系统旨在提供高效、可扩展的工作流管理解决方案。该系统能够支持复杂的工作流程,包括任务调度、执行和监控,以及与Kubernetes集群......
  • 临高启明-数据库设计心得
     在做软件工程导论的项目的过程中,我们学习了如何通过分析需求来构建数据库实体对象以及powerdesigner的使用。最终通过powerdesigner完成了数据库概念模型、物理模型的设计,并导出了相应的建表SQL语句。需求分析:A)    设计过程中首先从项目需求分析文档出发,考量了项目实......
  • openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略
    openGauss学习笔记-119openGauss数据库管理-设置数据库审计-设置文件权限安全策略119.1背景信息数据库在安装过程中,会自动对其文件权限(包括运行过程中生成的文件,如日志文件等)进行设置。其权限规则如下:数据库程序目录的权限为0750。数据库数据文件目录的权限为0700。ope......
  • 想去码头整点薯条-数据库设计心得
    数据库设计心得-想去码头整点薯条一、背景高校学生外出进行实习时,目前的管理方式主要是手工和传统纸质材料方式,非常耗费人力物力,同时存在纸质材料不易收集、数据管理与统计分析费时、过程难以监控预警等问题。为改变传统纸质材料传递方式,提高管理工作效率,实现学生校外实习实践活动......
  • 高斯数据库HCNA之数据更新
    二、数据更新1、数据插入功能描述在表中插入新的数据注意事项只有拥有表INSERT权限的用户,才可以向表中插入数据如果使用RETURNING子句,用户必须要有该表的SELECE权限如果使用query子句插入来自查询里的数据行,用户还需要拥有在查询里使用的表的SELECT权限INSERT事务提交默认是......
  • 软件2103班【六个核桃】数据库设计心得体会
     引言本博客为在完成《软件工程导论》课程软件项目的数据库设计时的一些心得体会。数据库设计是软件开发过程中的关键环节之一,直接影响到软件系统的性能和稳定性。一个合理和高效的数据库设计能够有效地提高软件系统的运行效率和响应速度,减少资源的浪费和冗余。同时,良好的......
  • 代码写的都队-数据库设计心得博客
    指导老师:刘琴项目:基于隐私保护的众包系统组名:代码写的都队组员:李明胜、桑健康、刘豪奇、杜洋、史涛、夏金茗作者:桑健康我们的项目是基于隐私包含的众包系统。在设计之前,我们先把需求搞清楚。业务需求雇主能发布需求,工人能接单,完成任务。哈哈,听上去还挺简单的,但涉及到雇主取......