数据库设计【笔记】

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

数据库设计

一、设计步骤

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

六、数据非规范化设计:

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

目录
相关文章
|
1月前
|
Go 数据库
数据库的实现【笔记】
数据库的实现【笔记】
12 0
|
2月前
|
SQL 存储 数据库
【数据库SQL server】自学终极笔记
【数据库SQL server】自学终极笔记
95 0
|
3月前
|
SQL Dart 数据库
Flutter笔记: 在Flutter应用中使用SQLite数据库
Flutter笔记: 在Flutter应用中使用SQLite数据库
198 0
|
3月前
|
SQL Java 数据库连接
(数据库链接池)spring内容复习7月16日笔记
(数据库链接池)spring内容复习7月16日笔记
15 0
|
4月前
|
SQL 存储 数据库
Flask狼书笔记 | 05_数据库
5 数据库 这一章学习如何在Python中使用DBMS(数据库管理系统),来对数据库进行管理和操作。本书使用SQLite作为示例。 注:按下Ctrl+F5,或Shift+F5可以清除浏览器缓存。 5.1 数据库的分类
34 0
|
4月前
|
存储 小程序 前端开发
前端知识笔记(四十六)———什么是小程序,什么是数据库
前端知识笔记(四十六)———什么是小程序,什么是数据库
23 0
|
4月前
|
运维 关系型数据库 MySQL
阿里大牛的595页MySQL笔记,透彻即系数据库、架构与运维
数据库运维的变革,经历从手工造到脚本化、系统化、平台化、智能化的转变,逐步实现DBA对数据库的规范化、自动化、自助化、可视化、智能化、服务化管理,从而保障数据库的安全、稳定、高效运行。
|
6月前
|
机器学习/深度学习 存储 算法
系统分析师笔记-数据库
系统分析师笔记-数据库
|
6月前
|
SQL Java 数据库
[笔记]Springboot入门《三》springboot集成Quartz简单使用+数据库
[笔记]Springboot入门《三》springboot集成Quartz简单使用+数据库
|
6月前
|
Java 关系型数据库 数据库
Spring Boot 学习研究笔记(七) -使用SpringData JPA访问PostgreSql数据库
Spring Boot 学习研究笔记(七) -使用SpringData JPA访问PostgreSql数据库
123 0

热门文章

最新文章