开发表结构
A. 如何优雅的进行表结构设计
数据库表的命名
使用名词作为表名
仔细想想便可发现,数据库表中存在的所有数据都是现实世界各种操作的结果,它们有的是中间过程结果,有的是最终数据结果。不论怎样,它们是一份一份没有任何动作的,静态的记录。而表本身就是存储这些记录的容器,从这样的层面理解,表名应该采用名词的形式是完全符合逻辑的。
比如我们要设计一个存储用户邀请的表,invitation 就比 invite 更加的优雅。
相关表采用统一前缀
我们知道,大型系统的设计往往按模块或者子系统进行划分,一个一个模块的处理问题,保证模块间的低耦合,模块内的高内聚。数据库表设计也一样,我们可以对相关联的表采用相同的前缀,使开发人员一眼看上去就知道哪几个表是相关的。
比如对于用户基本信息表、用户的详细信息表和用户的微信绑定表如下的命名更可取:
user
user_profile
user_wecha
字段的命名
本节先介绍几个比较通用的原则,使得字段的含义更容易理解,描述性更强,之后进行简单的总结分类,以便让我们明白这些原则背后的逻辑。
使用动词被动形式+描述性后缀
通过前面我们知道,数据库表中的所有记录都是静态的结果性数据,它是由一定的用户操作产生的。那么它是如何产生的?经过什么样的操作产生的呢?
在解答之前先看一个例子,下面是一个简单的 article 表结构:
id: integer
title: varchar
content: text
user_id: integer
create_time: timestamp
这样的设计本身是没有问题的,目前用的也很多。这个设计主要的问题是没有体现出 user_id 与这篇文章的关系,需要经过一定的猜测和思考才能得出。create_time 虽然还比较直观,但没有体现出这篇文章实在过去的某个时间创建的。
然后我们在来看修改后的设计:
id: integer
title: varchar
content: text
created_by: integer
created_at: timestamp
通过把 user_id 替换为 created_by、create_time 替换为 created_at,使得我们更容易理解对应的文章是被指定的人在指定的时间创建出来的,而不需要我们的多方猜测或者查阅文档,使得整个表结构的描述性更强。
时间区分当前时间和未来时间
英语中表时间的时候, at 一般跟一个时间点,而 in 有表示在未来的某个时间之内的意思。结合起来,笔者倾向于用 at 表示过去或者现在的时间,而用 in 表示未来的时间。比如日历中的 event 有开始时间和结束时间的概念,我觉得如下的命名是比较合理的:
starts_at 事件的开始时间,相对 ends_in 它属于当前时间,采用 _at 后缀
ends_in 事件的结束时间,相对 ends_in 它属于未来时间,从用 _in 后缀
其他我们比较常用的比如 created_at、updated_at、expires_in 都属于这种类型。
使用第三人称单数
当我们采用动词+介词的时候我更倾向与使用第三人称单数,因为字段描述的这个实体是单数的,通过使用第三人称单数,我们可以自然语言的方式表达出需要的意思。比如以 event 为例,翻译成英语是这样的:
The event starts at 2016-05-05 12:00:00
完全符合英语的语法,也表达了想要表达的意思。
区分单数与复数
单数与复数主要是对字段内容的描述,比如通知(notification)有接收人这个字段,如果我们需要通知能够发送给多个人,那么 receivers 这样的字段名称明显好于 receiver,因为 receivers 体现了通知可以发送给多个人这一个事实。
前面从四个原则出发介绍了如何让字段更具有描述性,简单总结下来我觉得从语义上来说,字段可以分为两种类型:描述性字段和动作性字段。
描述性字段是对对应数据库记录(或者说实体)的补充说明,比如以人作为实体,那么人的身高、体重和血压就属于这类描述性字段。
描述性字段如果是动词+介词的形式,动词需要采用第三人称单数的形式,比如 starts_at。然后根据字段的内容,如果内容有多个元素或实体,我们需要使用复数,否则使用单数形式。
动作性字段不仅能对所属实体进行补充说明,还能对这个实体的所涉及操作有所描述。比如我们有 article 这个实体, article 的 created_by 和 created_at 就属于动作性字段,因为它不仅表达了 article 的创建者和创建时间这层信息,它还表达了这个 article 是指定的人被创建的,而不是凭空生成的。
B. 请高手指点,数据库表结构设计是数据库设计中的哪一步
这个如何说。数据库的设计包含有数据库表的设计,还有其主键、外键、字段类型等的设计和定义,这个需要根据实际的需要进行。但一般都是需要做系统设计、数据库设计,然后才是数据库表的设计,没有什么一定是第几步之类的说法。
C. 数据库结构设计包含的数据字典 表结构有哪些
你好:
数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。
1数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。
1数据字典可能包含的信息,例如:
数据库设计资料
储存的SQL程序
用户权限
用户统计
数据库的过程中的信息
数据库增长统计
数据库性能统计
数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果.
数据字典通常包括数据项\数据结构\数据流\数据存储和处理过程五个部分.
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.
组成
1数据流
2数据流分量,即数据元素
3数据存储
4处理
数据字典
数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:
数据库中所有模式对象的信息,如表、视图、簇、及索引等。
分配多少空间,当前使用了多少空间等。
列的缺省值。
约束信息的完整性。
用户的名字。
用户及角色被授予的权限。
用户访问或使用的审计信息。
其它产生的数据库信息。
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。
数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。
关于数据的信息集合,是一种用户可以访问的记录数据库和应用程序元数据的目录,是对数据库内表信息的物理与逻辑的说明
D. 后台产品经理需要给开发设计数据库表结构吗
看公司安排了,有的公司需要产品经理来做,有的是其他人负责,但是产品经理的话,这些至少要知道。
E. mysql怎么查看表结构和注释
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
中文名
MySQL数据库
类型
开放源代码的关系型
说明
数据库管理系统
标志
sakila
相关课程
MySQL数据库性能优化项目实战
去学习
快速
导航
历史常用命令数据库导入备份与恢复数据库优化
数据库简介
[1]
MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。
F. 1,数据库表结构如何设计,有哪些表,分别有什么作用
一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。
数据字典(Data Dictionary DD)用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字、性质、意义及各类约束条件,是系统开发与维护中不可缺少的重要文件。数据与数据元素分别用数据表、数据元素表记载。其中,数据号是设计人员给定的顺序编号,用于分类清查与整理,并且与数据元素代码相关联。数据名是原有表格或凭证的名称。
G. Access建立表结构的方法有( )A使用“数据表”视图 B使用“设计”视图 C使用“表向导” D)选项A)、B)和C)
选B设计视图。
表结构的建立都是使用设计视图。可自行运行操作ACCESS程序试试。
H. 怎么设计数据库表结构的网站是先做网页设计,还是先做数据库表设计的前后台哪个先做
一般项目开发是这样的,有需求之后 分两步走。
1,美工设计页面布局,
2程序员(回组长了,项答目经理了,)设计数据库(看项目大小了。如果小项目程序员直接开发直接设计了)。如果是大项目可能数据库设计就比较重要了,从e-r图了什么的开始设计到最后的数据库表的生成。
3. 项目架构搭建,一般的公司都有自己搭建好的矿建了。
这是时候就正式的开始程序员的开发了。
-------
-基本上就是这个过程,希望帮到你了
I. 数据库表结构设计,这样设计合理吗
一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。
数据字典(Data Dictionary DD)用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字、性质、意义及各类约束条件,是系统开发与维护中不可缺少的重要文件。数据与数据元素分别用数据表、数据元素表记载。其中,数据号是设计人员给定的顺序编号,用于分类清查与整理,并且与数据元素代码相关联。数据名是原有表格或凭证的名称。