MySQL 08章_数据库设计
一、 关系模型与对象模型之间的对应关系
序号 |
关系模型:数据库 |
对象模型:java程序 |
|
1 |
数据表table |
实体entity:特殊的java类 |
| 2 |
字段field |
属性attribute/字段field |
| 3 |
记录record |
对象object |
二、 数据库设计的三大范式 第一范式:设计数据表字段是要保证字段的原子性,即字段是不能再拆分的最小单位。 第二范式:每一张表都要有主键(可以是单主键、可以是联合主键)用于唯一标识第一条记录,其他字段只能依赖该主键,即每个表只描述一件事 第三范式:除主键以外的字段只能依赖主键,而不能依赖主键以外的其他字段 三、 数据库设计中使用“图形” 在数据库设计的过程中,通常会使用图像化的方式直观的描述数据库对象以及他们之间的依赖关系,有许多数据库设计的系统软件,但较常用的是:PowerDesigner、Visio、Rose 1. 类图:以图形化的方式描述类及类中的属性和方法,还可以通过类图导出java代码
-表示private(私有的)
+表示public(公共的)
2. 用例图:指项目中每一个角色拥有的功能示意图
3. E-R图:entity--relationship实体关系图,描述实体内容及实体间的关联关系图。
实体:使用矩形表示
属性:使用椭圆表示
实体间的关系:使用菱形表示
4. 组织结构图:项目中按层次从上到下可以分为多个层次的多个模块,这些模块可以通过组织结构图把他们表示出来
(没有做部门和员工表的组织结构图,随便找了一个代替)数据表设计的模板:
部门表:tb_dept
| 序号 | 字段名称 |
数据类型(长度[,小数位数]) |
是否主外键 |
描述 |
| 1 |
deptno |
INT[10] |
主键,自动增长 |
部门编号 |
| 2 | ||||
| 3 |
员工表:tb_emp
| 序号 | 字段名称 |
数据类型(长度[,小数位数]) |
是否主外键 |
描述 |
| 1 |
deptno |
INT[10] |
主键,自动增长 |
部门编号 |
MySQL 08章_数据库设计的更多相关文章
- mysql学习5:数据库设计
mysql学习5:数据库设计 本文转载:https://blog.51cto.com/9291927/2087925:原创为天山老妖S 一.数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段 ...
- MySql三大范式与数据库设计和表创建常用语句
[数据库设计的三大范式] 1.第一范式(1NF First Normal Fromate):数据表中的每一列(字段),必须是不可拆分的最小单元.也就是确保每一列的原子性. 例如: userInfo: ...
- MariaDB第三章:数据库设计与备份--小白博客
数据库设计 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式. 2.第二范式(确保表中的每列都和主键相关) 第 ...
- HNU_团队项目_数据库设计感想_个人感想
数据库设计感想 个人的一点心得体会 最重要的放在最前面——讨论开会时的123经验 开会前对会议目的及方式要有所考虑: 不要随意无目的开会: 遵守时间,控制会议时间长度: 会议主持人要维持会议只需,有 ...
- mysql 12章_MySQL数据库的高级管理
一. 用户管理 Root用户是MySQL数据库管理系统中的系统管理员,但在实际开发过程中通常需要根据不同的开发者分配不同的用户,这样有利于用户的管理和维护. . 用户的创建: ) 方式1:使用MySQ ...
- MySQL 05章_模糊查询和聚合函数
在之前的查询都需要对查询的关机中进行“精确”.“完整”完整的输入才能查询相应的结果, 但在实际开发过程中,通常需要考虑用户可能不知道“精确”.“完整”的关键字, 那么就需要提供一种不太严格的查询方式, ...
- MySQL 11章_索引、触发器
一. 索引: . 为什么要使用索引: 一本书需要目录能快速定位到寻找的内容,同理,数据表中的数据很多时候也可以为他们创建相应的“目录”,称为索引,当创建索引后查询数据也会更加高效 . Mysql中的索 ...
- MySQL 10章_视图、事务
一. 视图: 视图(view)是保存了查询语句的一种数据库对象,其数据来源是查询语句对应的数据表,他的结果与数据表查询的结果一样也是一张虚拟的数据表 . 为什么需要视图: ) 不同的用户关心的数据可能 ...
- mysql 03章_完整性、约束
.完整性:数据库中数据的可靠性有效性和合理性我们称为数据的完整性,这样才能保证数据合理符合现实生活中的数据体现. 注:数据完整性的设计应该在设计表的时候就进行设计了,而不是等到数据库中已经存在数据才进 ...
随机推荐
- linux进阶之路(一):linux入门
Linux:开源.免费得开源系统.具有高效性.稳定性.安全性.处理多并发. Linux的发行版本:基于Linux,不同的安装软件 CentOS(RedHat开源版本) RedHat Ubuntu Su ...
- Java 反射获取私有方法
通常我们创建一个类时,它的私有方法在类外是不可见的,但是可以通过反射机制来获取调用.具体的反射机制的介绍大家自己百度. 所以反射可能会破坏我们的单例模式,当然解决方案也是有的,就是做个标记记录次数,第 ...
- [已解决]报错SyntaxError: Non-ASCII character '\xe6'
解决方案:开头加上 # -*- coding: utf-8 -*
- Object相关方法
const object1 = { a: 'somestring', b: 42, c: false }; console.log(Object.values(object1)); // expect ...
- 关于第一次将STM32与电脑连接情况
安装了Keil(ARM)版本之后,不管是自己编程,还是配套的程序运行.我们都想把它下载到STM32芯片里面,在板子上运行.这里介绍几种方法. 1.用J-LINK下载调试. 这个工具,可以直接点击kei ...
- 基于 CI 1.7.x 的 项目使用新版本CI的文件缓存类库
维护的项目使用的是 codeigniter 1.7.x版本,但是我想使用文件缓存,但是旧版本是没有缓存类库的,并且autoload.php没有drivers这个配置项. 我复制的是 Codeignit ...
- CSIC_716_20191129【面向对象高级----反射、类的内置方法(魔法方法)、单例模式】
反射 反射是通过'字符串'对 对象的属性进行操作,反射有四个内置的方法. hasattr 通过字符串 判断对象的属性或者方法是否存在 getattr 通过字符串 获取对象的属性或者方法 ...
- ArrayList集合二
集合的遍历 通过集合遍历,得到集合中每个元素,这是集合中最常见的操作.集合的遍历与数组的遍历很像,都是通过索引的方式,集合遍历方式如下 13 import java.util.ArrayList; 1 ...
- C++ 将汉字转换成拼音全拼【转载】
转载自https://www.cnblogs.com/mzhrd/p/4758105.html #include <string> using std::string; //======= ...
- [NOI.AC] palindrome
思路: \(50pts\) \(f[l,r]\)表示区间\([l,r]\)能够变成多少个串,转移枚举\(l\),利用\(hash\)判字符串相等. 复杂度\(O(Tn^3)\) \(70pts\) 考 ...

3. E-R图:entity--relationship实体关系图,描述实体内容及实体间的关联关系图。
4. 组织结构图:项目中按层次从上到下可以分为多个层次的多个模块,这些模块可以通过组织结构图把他们表示出来
数据表设计的模板: