查看: 12119|回复: 0

[mysql] 数据库设计-ER图,数据建模与数据字典

[复制链接]

49

主题

62

帖子

2994

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2994
发表于 2017-2-22 09:59:44 | 显示全部楼层 |阅读模式
关系型数据库/非关系型数据库

SQL 结构化查询语言
DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

DDL(data definition language)是数据定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

DCL(DataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。


需求分析是做项目中的极为重要的一环,而作为整个项目中的'血液'--数据,更是重中之重。viso,PowerDesigner/workbench,phpmyadmin等软件可以帮我们更好的处理数据分析问题。
ER图 1.png
E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来,属性如果有下划线的话,就表示该属性为主键属性;用菱形表示实体型之间的联系,在菱形框内写明联系名(实体和实体之间的关系),并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)
实体之间联系
联系可分为以下 3 种类型:
(1) 一对一联系(1 ∶1)
例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。
(2) 一对多联系(1 ∶N)
例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教
(3) 多对多联系(M ∶N)
例如,学生与课程间的联系(“学”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性。例如,学生“ 学” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩” 既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学”的属性。
推荐使 viso 来画ER图
数据建模
2.png
使用workbench软件可以很方便的建立数据模型,当然workbench不仅仅可以用来建模,还可以用来管理数据库.但通常我们只用来建模,管理数据库用navcate等更为方便的工具;
软件很简单,只不过是英文版本的,貌似市面上还没有出现中文版的,其实软件能用英文版的尽量使用英文版的
简单的图示使用说明
1.png 2.png 3.png 4.png 5.png 6.png 7.png
数据字典
在使用数据字典前,要保证sql的注释务必要详情
  1. CREATE TABLE `sc_role` (
  2.   `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
  3.   `name` varchar(20) NOT NULL DEFAULT '角色名称',
  4.   `parentid` smallint(6) NOT NULL COMMENT '父角色ID',
  5.   `status` tinyint(1) unsigned NOT NULL COMMENT '状态',
  6.   `remark` varchar(255) NOT NULL COMMENT '备注',
  7.   `create_time` int(11) unsigned NOT NULL COMMENT '创建时间',
  8.   `update_time` int(11) unsigned NOT NULL COMMENT '更新时间',
  9.   `listorder` int(3) NOT NULL DEFAULT '0' COMMENT '排序字段',
  10.   PRIMARY KEY (`id`),
  11.   KEY `parentId` (`parentid`),
  12.   KEY `status` (`status`)
  13. ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='角色信息列表';
复制代码

然后可以通过phpmyadmin来导出数据字典
phpmyadmin是一个用php语言写的B/S架构,其配置文件在其应用的根目录config.inc.php;在该文件中可以设置数据库链接的一些信息
1.png
ER图,数据模型,数据字典是对分析数据结构和维护数据库非常有帮助的,千万不要怕麻烦


签名
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表