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章_完整性、约束
.完整性:数据库中数据的可靠性有效性和合理性我们称为数据的完整性,这样才能保证数据合理符合现实生活中的数据体现. 注:数据完整性的设计应该在设计表的时候就进行设计了,而不是等到数据库中已经存在数据才进 ...
随机推荐
- 2019牛客多校第四场C-sequence(单调栈+线段树)
sequence 题目传送门 解题思路 用单调栈求出每个a[i]作为最小值的最大范围.对于每个a[i],我们都要乘以一个以a[i]为区间内最小值的对应的b的区间和s,如果a[i] > 0,则s要 ...
- redis-trib.rb创建集群失败
yum安装ruby: yum install -y rubyyum install -y rubygems //安装rubygemgem install redis //安装redis的接口包gem ...
- Day 20: 面向对象【多态,封装,反射】字符串模块导入/内置attr /包装 /授权
面向对象,多态: 有时一个对象会有多种表现形式,比如网站页面有个按钮, 这个按钮的设计可以不一样(单选框.多选框.圆角的点击按钮.直角的点击按钮等),尽管长的不一样,但它们都有一个共同调用方式,就是o ...
- 线性回归——Python代码实现
import numpy as np def computer_error_for_give_point(w, b, points): # 计算出 观测值与计算值 之间的误差, 并累加,最后返回 平均 ...
- iOS组件化开发-CocoaPods安装
首先要检查Mac是否安装了rvm(ruby version manager).打开终端,输入指令$ rvm -v ,若没有安装 curl -L https://get.rvm.io | bash -s ...
- windows7远程连接服务器出现身份验证错误,又找不到加密Oracle修正
把以下内容复制到文本中, Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cur ...
- cpu相关信息查看
查看CPU型号:grep "model name" /proc/cpuinfo | uniqdmidecode -s processor-version | uniq 查看物理CP ...
- 读书笔记一、numpy基础--创建数组
创建ndarray (1)使用array函数 接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的numpy数组. import numpy as np #将一个由数值组成列表作为 ...
- BCZM : 2.1
1.问题描述 实现一个函数,输入一个无符号整数,输出该数二进制中的1的个数.例如把9表示成二进制是1001,有2位是1,因此如果输入9,该函数输出2 2.分析与解法 解法1:利用十进制和二进制相互转化 ...
- 57 CUDA 编程入门
0 引言 由于毕设用到了Marvin,采用的是CUDA框架作为加速器,正好借此学习一下CUDA编程的一些基本知识. 各个版本的cuda的下载链接如下. https://developer.nvidia ...

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