数据库设计(一)

article/2025/10/13 16:26:53

目录

数据库设计的基本概念:

                数据库设计包括以下几个部分:

需求设计:

                1、数据:

                2、处理:

概念结构设计:

实体:

例如:

联系类型:

                1、一对一:

                2、一对多:

                3、多对多:

E-R模型

1、E-R图

2、E-R图中的主要构件

3、E-R图演示示例

逻辑结构设计


数据库设计的基本概念:


        我们要做好一个数据库,是不是要先规划好要做什么,如何做,需要存储哪些数据,这些数据之间的关系是什么。需要满足用户的哪些用户等。

                我们把这个数据库规划的过程规范化,就称为数据库设计

                数据库设计包括以下几个部分:

                                                                                                需求设计 

                                                                                                概念结构设计

                                                                                                逻辑结构设计

                                                                                                物理结构设计

                                                                                                数据库的实施

                                                                                                数据库的运行与维护

需求设计:

                需求设计又称为需求分析,主要是根据用户的要求,分析其功能的可行性与实现方法等

                一般是由项目经理负责的,采用从上到下,从简单到复杂,从整体到部分的方式进行分析,把整个系统分为几个模块,又把这几个模块又分为多个功能,分析这多个功能那个实现的可行性

                探明需求是整个数据库设计中比较重要的一部分。数据库设计人员采用一定的辅助工具对应用对象的功能,性能和限制等要求所进行科学分析,主要包括数据和处理两方面

                1、数据:

                                        数据字典、系统的数据项、数据流和数据存储的描述

                2、处理:

                                        数据流图和判定表、数据字典中处理过程的描述

概念结构设计:

                概念结构设计是对信息分析和定义,如视图模型化,视图分析化和汇总,对应用对象精确的抽象、概括而形成的独立计算机系统的企业信息模型

                描述概念模型常用的工具就是E-R图

                概念结构设计就是从需求分析中找到实体和联系,画出E-R图

实体:

                实体是现实世界中可以区别于其他对象的“事件”或“物体”。

例如:

        学校中的每一个老师和学生都是一个实体。每个实体都有一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如学生实体中的学号。实体集是具有相同属性实体的集合,如:学校的所有老师具有相同的属性,所有老师的集合可以定义为一个实体集;学生具有相同的属性,因此学生的集合可以定义为另一个实体集

联系类型:

                实体的联系方式分为实体内部的联系和实体与实体之间的联系。实体内部的联系反映数据在同一记录内部各字段间的联系,这里主要讨论实体集之间的联系

                两个不同实体之间存在一对一、一对多和多对多的联系类型

                1、一对一:

                                指实体集1中的一个实体最多只能与实体集2中的一个实体相联系,记为1:1

                        (    如:老师和学生一对一辅导

                2、一对多:

                                表示实体集1中的一个实体能与实体集2中的多个实体相联系,记为1:n

                                (如:班级中一位老师给一群孩子们讲课

                3、多对多:

                                表示实体集1中的多个实体能与实体集2中的多个实体相联系,记为m:n

                                (如:多位学生对应不同科目的老师

E-R模型

                在数据库设计中,常用实体联系模型(E-R模型)来描述现实世界到信息世界的问题,它是软件设计中的一个重要工具。E-R模型易于用户理解,使用户和数据库设计人员交流的语言

1、E-R图

        概念模型中常用的方法为E-R方法。此方法直接从现实世界中抽象出实体和实体之间的联系,然后用直观的E-R图表示数据模型

        E-R图强调的是语义,与现实世界的问题密切相关。例如:不同的学校教学管理的方法可能也有所不同,所以根据具有不同的语义,会得到不同的E-R模型。E-R模型的主要概念有实体,联系和属性

2、E-R图中的主要构件

矩形:表示实体集

双边矩形:表示弱实体集

菱形:表示联系集

双边菱形:表示弱实体集对应的标识性联系

椭圆:表示属性

双椭圆:表示多值属性

虚椭圆:表示派生属性

线段:将属性与相关的实体集连接,或将实体集与联系集相连

双线:表示一个实体全部参与到联系集中

3、E-R图演示示例

 

 

 

 

逻辑结构设计

                逻辑结构的目的是把概念设计阶段的概念模型(如基本的E-R图)转换成与选用的具体机器上的DMS所支持的逻辑模型,它是物理设计的基础,包括模型初始设计,子模型设计、应用程序设计、模型评价以及模式求精。

                逻辑设计可分为以下3个步骤

                        1、将概念模型(E-R图)转换成一般的关系、网状、层次模型

                        2、将关系、网状、层次模型向特定的DMS支持下的数据模型转换。

                        3、对数据模型进行优化

在将概念结构转换成逻辑结构时需要遵循一定的规范,这就有涉及到规范化理论了。


http://chatgpt.dhexx.cn/article/dPkoy5Nr.shtml

相关文章

数据库:数据库设计(需求,设计,运行,维护)

1,数据库设计概述 1.1,数据库设计的基本概念 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据&…

数据库系统-数据库设计

数据库系统-数据库设计 数据库设计概述及六步骤简介 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。 数据库设计的特点 数据库设计是一…

学生成绩管理系统数据库设计--MySQLSQL Server

MySQL 数据库设计-学生成绩管理系统 设计大纲友情链接 1、医疗信息管理系统数据库–MySQL2、邮件管理数据库设计–MySQL3、点餐系统数据库设计–SQL Server4、商品管理系统数据库设计–SQL Server5、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Ma…

数据库设计-网上书店系统

一、需求分析 1.1 用户分析 网上书店系统的使用者主要有三种:普通用户、会员和管理员。 普通用户:浏览图书、查询图书、注册成为会员等; 会员:浏览图书、查询图书、加入购物车、修改购物车、订购图书、生成及查看订单、查看修改…

数据库设计

数据库设计 一.数据库设计概述1.数据库设计的特点2.数据库设计方法3.数据库设计的基本步骤4.数据库设计过程中的各级模式 二.需求分析1.需求分析的任务2.需求分析的方法3.数据字典 三.概念结构设计1.概念模型2.E-R模型3.概念结构设计 一.数据库设计概述 ①数据库设计是指对于一…

机器学习之PCA

一、PCA基本介绍 PCA(Principal Components Analysis)-主成分分析算法 用于数据降维、可视化、去噪非监督学习算法 二、PCA工作原理 目标:每次将空间中多维的样本点映射到一条直线上(要保证样本点之间的间距最大,用方差衡量,即保…

PCA9536——填坑

0. 问题 使用PCA9536输出模式控制4个小灯,开始时候按几次就不显示了,以为是接线不稳定原因。 后来一按开机电源就不显示了,以为是其他器件电源不稳定导致。 1. 问题1排除 接线问题,重新接线,重新做端子,…

sklearn PCA

sklearn.decomposition.PCA class sklearn.decomposition.PCA(n_componentsNone, *, copyTrue, whitenFalse, svd_solverauto, tol0.0, iterated_powerauto, random_stateNone)官方:link PCA是特征降维中一种 线性降维 的方法。 与特征选择不同(直接筛…

使用PCA对彩色图片降维

PCA对图片降维 1.原图片2.PCA降维思路3.代码4.k5效果图5.结论 1.原图片 2.PCA降维思路 1、小灰灰图片(407,367)2、求图片407行每行的均值mean,再将407行每行元素各自减去对应行的均值mean,即去中心化。得矩阵X&#xf…

使用PCA拟合平面

PCA原理&使用PCA拟合平面 背景三点确定一平面多点拟合平面基础数学知识PCA基本思想PCA拟合平面计算过程 PCA理解中心化协方差对角化 背景 本文参考以下两篇平面解析的论文。 《Fast Plane Extraction in Organized Point Clouds Using Agglomerative Hierarchical Cluster…

Dynamic inner PCA 和 Dynamic PCA

动态PCA方法的核心思想: 将数据X变成增广矩阵,即: l为潜在变量数,然后对X进行传统的PCA方法进行求解,即是动态PCA的结果。 动态内模PCA与之不同,上述动态PCA的一大缺陷是增加了数据的维度,而动…

python实现PCA

★ PCA个人理解: PCA降维是通过变换坐标系,来尽可能的减少信息损失。 ★ PCA思路: 我们的初始矩阵为X,它是mn维的矩阵,其中:m是该数据集有m条记录,n是每条记录中有n个特征,X的基本格…

PCA降维算法

目录 1.维度1.1数据维度1.2特征维度 2.sklearn中的降维算法2.1PCA与SVD2.2降维的实现2.3重要参数n_components2.3.1最大似然估计自选超参数2.3.2 按信息量占比选超参数 3.PCA中的SVD3.1重要参数svd_solver 与 random_state3.2重要属性components_3.3重要接口inverse_transform …

PCA降维

一、主成分分析 1、动机:多个变量之间往往存在一定的相关性,可以通过线性组合的方式从中提取信息。 2、主成分分析:将原始的n维数据投影到低维空间,并尽可能的保留更多的信息。 ---投影后方差最大 ---最小化重构误差 从而达到…

pca绘图

pca 1 PCAtools 1.1 加载R包 library(PCAtools) library(tidyverse)1.2 加载数据&#xff0c;构建表达矩阵和分组信息&#xff08;以iris为例&#xff09; iris <- as.data.frame(iris) iris <- iris %>% mutate(class str_c("a",1:dim(iris)[1],sep …

PCA算法详解

文章出处&#xff1a;http://blog.csdn.net/zhongkelee/article/details/44064401 一、PCA简介 1. 相关背景 上完陈恩红老师的《机器学习与知识发现》和季海波老师的《矩阵代数》两门课之后&#xff0c;颇有体会。最近在做主成分分析和奇异值分解方面的项目&#xff0c;所以记…

PCA 算法详解

PCA算法步骤&#xff1a; 设有m条n维数据。 1&#xff09;将原始数据按列组成n行m列矩阵X 2&#xff09;将X的每一行&#xff08;代表一个属性字段&#xff09;进行零均值化&#xff0c;即减去这一行的均值 3&#xff09;求出协方差矩阵 4&#xff09;求出协方差矩阵的特征值及…

PCA原理

PCA 各位&#xff0c;久违了&#xff5e; 什么是PCA&#xff1f; 什么是PCA呢&#xff1f;这是一个问题&#xff0c;什么样的问题&#xff1f;简单而又复杂的问题&#xff0c;简单是因为百度一下就会出现一大堆的解释&#xff0c;复杂是因为它里面蕴含的内容还是很多的&…

python实现PCA降维

本文包括两部分&#xff0c;使用python实现PCA代码及使用sklearn库实现PCA降维&#xff0c;不涉及原理。 总的来说&#xff0c;对n维的数据进行PCA降维达到k维就是&#xff1a; 对原始数据减均值进行归一化处理&#xff1b;求协方差矩阵&#xff1b;求协方差矩阵的特征值和对…

PCA算法

主成分分析&#xff08;Principal components analysis&#xff0c;以下简称PCA&#xff09;是最重要的降维方法之一。 参考&#xff1a;http://www.cnblogs.com/pinard/p/6239403.html PCA的思想 PCA顾名思义&#xff0c;就是找出数据里最主要的方面&#xff0c;用数据里最…