数据库模型

数据库构思与设计规范

怎甘沉沦 提交于 2019-12-19 05:41:24
一、 数据库模型构思(数据库设计步骤) a) 数据库模型理解 数据库模型设计是编写软件就像建筑结构对于工程师们。工程师们学习所有的设计艺术比如浴室应该放哪和有多少个浴室,以及是否有浴室。如果这些结构设计留给土木工程师,他们也许会忘记这些浴室或者把问题遗留给居住的人们。这就非常类似数据库结构和与开发人员之间设计问题。 土木工程师们确保我们的建筑上的砖头不会砸到我们,而建筑师们让建筑 更加的适合居住。是什么导致我们在软件,数据库建模中不得不设计数据库模 型。本质上来说,设计过程中涉及具体的对象构建前把我们的思路写在纸上, 或者可能移动一些零件和部件以获取他们期待的设计。而一般的土木工程师 (开发人员)可能不会关注设计数百万吨的混凝土的预制结构。就类似数据库 模型的建立,你需要在构建之前和开始填充数据以及连接到应用程序之前建立 他的数据库模型。 数据库的设计是如此的重要因为所有应用程序都是针对数据库模型设计的,他们完全依赖于底层数据的结构。如果数据库模型在后一阶段有所改变,所有以数据库模型为基础的任何东西都有可能需要改变甚至全部重写。他们就需要非常大的财力和精力花费。设计数据库模型我们通常需要使用一些工具,流程图,图片,以及实体关系图(ERD)和任何能帮助我们确定设计思路的东西。 b) 确定(实现)的目标 确定目标可能是一个最重要的任务做任何项目的规划

动态创建数据库模型

痞子三分冷 提交于 2019-12-04 06:44:53
在开发过程中,经常会由用户自主创建模型,然后添加模块内容,这种情况在cms中居多,所以我把几张常规的表给大家列出,帮助大家在以后的开发中可以参考该表来实现该功能。 一, Module表展示视图 module表数据字典 id module主键id title 模块名称 name:模块表名 description 模块 Issearch 列表页是否开启搜索 listfields 列表页调用字段 Isdel 是否允许删除 Isadd 是否是否允许添加数据 status 是否启用模型 sortid 排序 is_category 是否启用栏目 Category_max_level 最大栏目级别 is_add 允许添加栏目 Is_del 允许删除栏目 Is_ext 启用多栏目 query_field 数据列表搜索字段 list_pagesize 列表页显示条数 is_hidden 是否隐藏 二.Module category栏目表 Category 表数据字典 Id 栏目主键 typeid 上级栏目id Title 栏目名称 Moduleid 所属模块 Url 地址链接 Isshow 是否显示 Sortid 显示排序 Alias 栏目别名 三.字段表 Field 表数据字典 Id 字段id Moduleid 所属模块id Title 字段 Name 字典名称 Required 字段是否必填

数据库模型和表的转换

匿名 (未验证) 提交于 2019-12-03 00:26:01
------------------------------------------------------------数据库模型和表的转换-------------------------------------------------------- 从数据库模型中导出 第一步: 第二步: 我们也可以在导出前做一些修改 ---------------------------------------------------------------------------------------------- 在pl/sql中导入数据模型中的表 第一步: 第二步在控制台输入@加文件路径再加文件名和后缀,就可以导入到oracle用户中了 文章来源: 数据库模型和表的转换

数据库模型设计,第一范式、第二范式、第三范式简单例子理解

匿名 (未验证) 提交于 2019-12-03 00:22:01
数据库设计一般满足第三范式就够了 第一范式() 定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性 通俗解释:一个字段只存储一项信息 eg:班级:高三年1班,应改为2个字段,一个年级、一个班级,才满足第一范式 不满足第一范式 学号 姓名 班级 0001 小红 高三年1班 改成 学号 姓名 年级 班级 0001 小红 高三年 1班 第二范式() 定义:满足第一范式前提, 学生证 名称 学生证号 学生证办理时间 借书证名称 借书证号 借书证办理时间 学生证 学生证号 学生证办理时间 借书证表 借书证 借书证号 借书证把你拉时间 第三范式() 定义:满足第二范式前提, 爸爸 儿子 女儿 女儿的小熊 女儿的海绵宝宝 爸爸信息表: 爸爸 儿子 女儿 女儿信息表 女儿 女儿的小熊 女儿的海绵宝宝 文章来源: 数据库模型设计,第一范式、第二范式、第三范式简单例子理解

数据库模型设计——历史与版本设计

◇◆丶佛笑我妖孽 提交于 2019-11-28 19:51:23
在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据。对于这种需求,我们可以使用保留历史数据或者使用版本来实现。 为了能够保留历史数据,在版本设计时有以下方案: 一、使用版本号 版本号是一种常见的版本设计方案,就是在要进行历史数据保留的表上面增加一个版本号字段,该字段可以是DateTime类型,也可以是int类型,每进行数据操作时,都是创建一个新的版本,版本是只增不减的,所以只需要拿到最大一个版本号,就能得到最新的业务数据。 版本号除了能够用于留存历史数据外,还有一个功能就是避免并发编辑操作。比如我们有一个对象A,当前的版本是1,两个用户同时打开了该对象的编辑页面,进行数据更改。先是甲用户提交更改,这个时候系统把对象的ID和版本进行查询,发现要修改的数据最新版本是1,所以成功修改,保存了对象A的新版本2。这个时候用户乙也提交了修改。系统把对象的ID和版本1进行查询,发现要修改的数据最新版本是2,不符合要求,所以拒绝用户乙的修改。用户乙只有刷新界面,拿到最新的版本2,再进行修改。 ID 单号 金额 版本号 1 EXP123 100 1 在使用版本号的情况下,对单据的金额进行修改,修改后创建新的版本号2: ID 单号 金额 版本号 1 EXP123 100 1 2 EXP123 120 2 二、使用生效、失效时间

14.Django__ORM_创建数据库模型类

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-27 07:30:01
一.修改django的默认数据库引擎连接数据库 settings.py DATABASES = { 'default' : { # 指定引擎 'ENGINE' : 'django.db.backends.mysql' , 'NAME' : 'djangoSql' , #数据库名称 'USER' : 'root' , #数据库用户名 'PASSWORD' : '123456' , #数据库用户密码 'HOST' : 'localhost' , #IP地址 'PORT' : '3306' #端口号 } } .二、创建数据库模型类/Model 注意: 每个应用的数据库模型类,都需要在该应用的models.py文件中定义 一个数据模型类相当于一个数据表:table 一个数据模型类相当于一个数据表需要继承 Model模型类或者数据模型子类; 定义的一个类属性 models.CharField 相当于数据表中的一个字段; 默认会创建一个自增的id主键; 创建的维护库名称为 应用名小写_数据库模型类小写; 写一下model.py类文件进行映射: from django . db import models # Create your models here. class Projects ( models . Model ) : # 创建Projects模型类 name = models .