MySQL常用数据字典表设计

CREATE TABLE `sys_dict_type` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dict_type_code` varchar(255) NOT NULL COMMENT '数据类型编码',
  `dict_type_name` varchar(255) NOT NULL COMMENT '数据类型名称',
  `dict_desc` varchar(255) DEFAULT NULL COMMENT '描述',
  `sort` int(5) DEFAULT '1' COMMENT '排序',
  `create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
  `create_by_user_id` int(11) DEFAULT NULL COMMENT '创建人id',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_by` varchar(50) DEFAULT NULL COMMENT '修改人',
  `update_by_user_id` int(11) DEFAULT NULL COMMENT '修改人id',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_dict_type_code` (`dict_type_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统字典类型表';
CREATE TABLE `sys_dict_item` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dict_type_code` varchar(255) NOT NULL COMMENT '字典类型编码',
  `dict_code` varchar(255) NOT NULL COMMENT '数据编码',
  `dict_value` varchar(255) DEFAULT NULL COMMENT '值',
  `dict_name` varchar(255) NOT NULL COMMENT '字典名称',
  `dict_desc` varchar(255) DEFAULT NULL COMMENT '描述',
  `sort` int(5) DEFAULT NULL COMMENT '排序',
  `status` enum('0','1') NOT NULL DEFAULT '1' COMMENT '0 禁用;1 启用',
  `create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
  `create_by_user_id` int(11) DEFAULT NULL COMMENT '创建人id',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_by` varchar(50) DEFAULT NULL COMMENT '修改人',
  `update_by_user_id` int(11) DEFAULT NULL COMMENT '修改人id',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_dict_code` (`dict_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统字典条目表';

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库设计 数据库数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。成功的数据库设计意味着数据库能够存储所有必需的数据,而且其存储方式保证能够快速的保存、提取、编辑、删除数据。许多因素影响数据库设计是否成功,而数据库是否规范化是一个关键的因素。一个规范化的数据库应满足第三范式的要求,即应该竭力避免部分依赖和传递依赖,这样可以减少数据冗余造成的由于数据异常引起的不必要错误[20]。数据库设计过程大致如下。 (1)数据库需求分析。根据用户需求,确定数据库中要保存的数据信息。对用户需求进行分析时数据库设计的第一个阶段。不断的调查与研究用户需求,了解企业运作流程等系统需求,是设计概念模型的基础。 (2)设计数据库的概念模型。概念模型是按用户的观点来对数据建模,是用于进行信息世界建模的工具。它对整个数据库设计具有深刻的影响。 (3)逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。 (4)数据库的实施和维护。在设计好前台与后台的功能模块后,就开始进行数据库设计了。根据网站系统的分析,数据库是整个网站的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。 本系统是按照需求分析、概念模型设计、逻辑结构设计数据库的实施和维护的流程完成数据库设计,力求满足该设计原则。 数据库设计 数据库设计通常是以一个已经存在的数据库管理系统为基础的,常用数据库管理系统有MySQL、SQL Server、Oracle等。根据用户的需求和系统分析,本系统采用MySQL数据库管理系统。在MySQL数据库管理系统中建立名称为db_eatery的数据库。这个数据库需要提供各种信息的保存、更新和查询,这就要求数据库结构充分满足各种信息的输出和输入。搜集基本数据、数据结构和数据处理的流程,组成一个详尽的数据字典,为后面的具体设计打下基础。 根据系统功能需求,网上订餐系统数据库中将建立以下10个数据: 管理员信息(admin) 会员信息(member) 会员级别(memberlevel) 餐饮类型(foodType) 餐饮信息(foodInfo) 订单信息(orders) 美食数据库设计全文共6页,当前为第1页。 购餐车信息(cart) 美食数据库设计全文共6页,当前为第1页。 餐饮订购细则(foodDetail) 留言评价(messages) 公告信息(notice) 数据库概念模型设计(E-R图) 数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。 E-R模型的基本概念: ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间[20]。实体是现实世界中的事物;属性是事物的特性;联系是现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。 根据数据库的需求分析,设计规划出本系统的实体有:管理员和会员实体,餐饮信息实体,订单实体,公告实体和留言评价实体。下面以会员实体对象和餐饮信息实体对象为例来说明。 会员实体对象拥有会员的基本属性,包括会员编号,会员级别,用户名,密码,地址,注册时间等属性。会员编号是识别不同会员的唯一标识,数据类型为int型,并且是数据库自增的。其他属性是会员通用的特性。会员信息的实体对象如图4-2所示。 图4-2 会员实体对象 美食数据库设计全文共6页,当前为第2页。餐饮信息实体对象包括餐饮编号,餐饮名称,类别编号,有无特价,市场价,会员价等属性。餐饮编号是辨别餐饮实体的唯一标识,数据类型为int型,是数据库自增的。其余的属性是餐饮的通用属性。餐饮信息的实体对象如图4-3所示。 美食数据库设计全文共6页,当前为第2页。 图4-3 餐饮实体图 订餐系统中各个实体对象之间存在着关系,将实体间的关系示为订餐系统的系统E-R图。如图4-4所示。 图4-4 系统E-R图 数据库逻辑结构设计 根据对网上订餐系统的分析设计如下数据。每个格对应数据库中每一张的具体设计情况。 (1)管理员信息信息 管理员信息主要存储管理员的基本信息,包括管理员ID,管理员级别,登录名,密码等信息。其结构如4-1所示。 4-1 admin管理员信息 列名 数据类型 长度 是否空 默认值 描述 Id int 4 否 自动增长1 管理员ID号,主键 AdminType Int 4 否 管理员级别编号 Admi
MySQL】20个经典面试题 I 1 MySQL的复制原理以及流程 1 2 MySQL中MyISAM与InnoDB的区别,至少5点 1 2.1 MyISAM与InnoDB的5个不同点; 1 2.2 InnoDB引擎的4大特性 1 2.3 两者select count(*)哪个更快,为什么? 2 3 MySQL中varchar与char的区别以及varchar(50)中的50代的涵义 2 3.1 varchar与char的区别 2 3.2 varchar(50)中50的涵义 2 3.3 int(20)中20的涵义 2 3.4 MySQL为什么这么设计? 2 4 问了InnoDB的事务与日志的实现方式 2 4.1 有多少种日志? 2 4.2 事物的4种隔离级别? 3 4.3 事务是如何通过日志来实现的,说得越深入越好? 3 5 MySQL binlog的几种日志录入格式以及区别? 3 5.1 Statement 4 5.1.1 优点 4 5.1.2 缺点 4 5.2 Row 4 5.2.1 优点 5 5.2.2 缺点 5 5.3 Mixedlevel: 5 6 MySQL数据库cpu飙升到500%的话怎么处理? 5 7 sql优化 6 7.1 explain出来的各种item的意义; 6 7.2 profile的意义以及使用场景; 6 8 备份计划,MySQLdump以及xtranbackup的实现原理 6 8.1 备份计划; 6 8.2 备份恢复时间; 7 8.3 xtrabackup实现原理 7 9 MySQLdump中备份出来的sql,如果我想sql文件中,一行只有一个insert....value()的话,怎么办?如果备份需要带上master的复制点信息怎么办? 7 10 500台db,在最快时间之内重启 8 11 InnoDB的读写参数优化 8 12 你是如何监控你们的数据库的?你们的慢日志都是怎么查询的? 9 13 你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做? 9 14 你们数据库是否支持emoji情,如果不支持,如何操作? 9 15 你是如何维护数据库数据字典的? 10 16 你们是否有开发规范,如果有,如何执行的 10 17 中有大字段X(例如:text类型),且字段X不会经常更新,以读为为主,请问 10 18 MySQL中InnoDB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的? 10 19 如何从MySQL dump产生的全库备份中只恢复某一个库、某一张? 11 20 开放性问题:据说是腾讯的 11

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值