数据库设计【笔记】

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

数据库设计

一、设计步骤

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

六、数据非规范化设计:

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

相关文章
|
2月前
|
Go 数据库
数据库的实现【笔记】
数据库的实现【笔记】
|
15天前
数据库系统工程师考点笔记
数据库系统工程师考点笔记
59 0
|
15天前
|
编解码 算法 vr&ar
软考中级之数据库系统工程师笔记总结(六)多媒体基础
软考中级之数据库系统工程师笔记总结(六)多媒体基础
12 0
|
15天前
|
网络协议 安全 网络安全
软考中级之数据库系统工程师笔记总结(五)网络基础
软考中级之数据库系统工程师笔记总结(五)网络基础
10 0
|
15天前
|
人工智能 数据管理 Java
软考中级之数据库系统工程师笔记总结(四)程序设计基础
软考中级之数据库系统工程师笔记总结(四)程序设计基础
12 0
|
15天前
|
存储 算法 Unix
软考中级之数据库系统工程师笔记总结(三)操作系统
软考中级之数据库系统工程师笔记总结(三)操作系统
12 0
|
15天前
|
存储 算法 C语言
软考中级之数据库系统工程师笔记总结(二)数据结构与算法
软考中级之数据库系统工程师笔记总结(二)数据结构与算法
10 0
|
15天前
|
存储 安全 算法
数据库系统工程师笔记(一)计算机系统
数据库系统工程师笔记(一)计算机系统
37 0
|
1月前
|
SQL 安全 API
Python基础教程(第3版)中文版 第13章 数据库支持(笔记)
Python基础教程(第3版)中文版 第13章 数据库支持(笔记)
|
23天前
|
存储 关系型数据库 MySQL
技术笔记:MySQL数据库优化详解(收藏)
技术笔记:MySQL数据库优化详解(收藏)
20 0