数据库设计【笔记】

简介: 数据库设计【笔记】

数据库设计

一、设计步骤

  1.收集信息(来源项目需求分析)

  2.标识实体(一般是需求分析中需要管理的信息名词)

  3.标识每个实体的属性

  4.实体之间的关系

二、画e-r图(实体关系图)

  1.矩形表示实体

  2.椭圆表示实体的属性

  3.菱形表示实体之间的关系

  4.用直线连接实体和属性,实体和实体之间的关系

三、实体之间的关系:

  1.一对一  1:1          车和车位

  2.一对多  1:N (1:M) 客人和客房

  3.多对多  N:M          图书和作者

四、E-R图映射到数据表

  1.一般一类实体映射为表

  2.实体中的属性映射为表中的列

  3.关系的映射:

     (1)一对一:映射为一个表,其中一个实体的属性

     (2)一对多:每个实体一个表,通过主外键表示关系,如客人和客房,在客人表里添加一个房间号作为外键,客房中的房间号就是主键。

     (3)多对多:每个实体一个表,关系映射为一个表

     映射3个表,图书表  作者表  关系表

五、用三大范式衡量或规范数据库

  1.每列都是一个不可再分的单元(保持原子性)  符合第一大范式

  2.在满足第一范式的情况下,每个表只描述一件事,就符合第二范式

  3.在满足一二范式的情况下,并且除主键外,其他列都不传递依赖于主键,符合第三范式(除主键外, 所有的列都是直接依赖于主键而不是间接的依赖于主键)

六、数据非规范化设计:

   规范化设计的话是把大表拆分成小表,节约空间但同时会降低性能,为了提高性能,进行非规划化设计

相关文章
|
6月前
|
Go 数据库
数据库的实现【笔记】
数据库的实现【笔记】
|
28天前
|
SQL NoSQL 数据库
Cassandra数据库与Cql实战笔记
Cassandra数据库与Cql实战笔记
16 1
Cassandra数据库与Cql实战笔记
|
2月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
2月前
|
前端开发 应用服务中间件 API
|
5月前
|
SQL 安全 API
Python基础教程(第3版)中文版 第13章 数据库支持(笔记)
Python基础教程(第3版)中文版 第13章 数据库支持(笔记)
|
4月前
数据库系统工程师考点笔记
数据库系统工程师考点笔记
338 0
|
4月前
|
编解码 算法 vr&ar
软考中级之数据库系统工程师笔记总结(六)多媒体基础
软考中级之数据库系统工程师笔记总结(六)多媒体基础
30 0
|
4月前
|
网络协议 安全 网络安全
软考中级之数据库系统工程师笔记总结(五)网络基础
软考中级之数据库系统工程师笔记总结(五)网络基础
32 0
|
4月前
|
人工智能 数据管理 Java
软考中级之数据库系统工程师笔记总结(四)程序设计基础
软考中级之数据库系统工程师笔记总结(四)程序设计基础
31 0
|
4月前
|
存储 算法 Unix
软考中级之数据库系统工程师笔记总结(三)操作系统
软考中级之数据库系统工程师笔记总结(三)操作系统
40 0