前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Access数据库表设计步骤

Access数据库表设计步骤

作者头像
无言之月
发布于 2019-10-13 07:35:11
发布于 2019-10-13 07:35:11
4.2K0
举报

大家好,上节介绍了Access数据库表中常见的概念,Access数据库中表的部分主要难点就在于表的设计,本节主要是串联一下Access数据库中表设计时的大概步骤,只先了解即可,具体的内容部分后面根据分解的知识点展开讲解。

一、分析建立数据库的目的

在创建数据库时,首先要简单分析明确建立数据库的目,即分析数据库中需要管理的内容。可以罗列一些需要用到的字段。

比如为图书馆建立数据库,数据库管理的内容是书籍和读者,有借书日期,还书日期,出版商,作者、库存数量、被借次数、读者编号等内容。

这些都是初步的分析表和字段的需求,但具体建立什么表和字段还不是很明确。

二、、确定数据库中的表和字段

首先说明下在设计Access数据库的表时,追求的目标是设计性能优良的数据库表,减少数据的冗余和错误。

因而在设计数据库表时可以遵循一些规范的规则,这些规则就是范式。(关系型数据库目前通常有6层范式,从最低要求的第一范式1NF,以此类推,一直到最高要求的6NF。)

那么如何设计数据库中的表格和字段?首先结合上一步的分析来套用概念模型,最常用的概念模型是实体-联系(Entity-Relationship)方法,即E-R模型。可以根据它画出E-R图,明确要设计的数据库中的实体、属性和联系等。然后来初步确定建立那几张表,然后再结合数据库范式,将数据库逐步优化,看是否需要再建立新的表。

1、概念模型

概念模型方法是用来模拟设计数据库,最常用的概念模型是实体-联系(Entity-Relationship)方法,即E-R模型。可以据此画出E-R图。

在E-R模型中主要包括三个内容:1、实体,即现实中客观存在并相互区别的事物, 2、属性,即实体具体的某一特征。3、联系,即实体与实体间的联系。

在图书馆数据库管理表设计时,书籍和借阅人就是两个不同的实体。书籍的属性包括图书编号、名称、作者、单价、库存数量、被借次数等。而读者的属性包括年龄、读者编号、联系方式等等。而书籍和读者之间的联系是借阅、而借阅就涉及借阅日期、还书日期等等。

据此可以确定就是书籍和读者两张表格,各自的属性可以作为各自的字段。但图书馆中一个名称的书通常有好几本库存,相同的书籍编号,它们可能被不同的人借阅,那么书籍的借阅日期和还书日期可能就是不同的。是应该放在书籍或者读者的哪张表呢?这其实涉及表与表关系,以及结合数据库范式优化表的问题。

2、数据库范式

上面在确定数据库中的大概的表和字段时,需要结合数据库范式来优化表。范式有6层范式,但通常达到第三层范式就可以作为性能优良的数据库。下面简单说下1NF、2NF、3NF的要求。

第一范式INF是要求没有重复的列。

第二范式2NF是在1NF的基础上,要求属性必须完全依赖于主键。

第三范式3NF是要求在2NF的基础上,要求属性不依赖于其他非主属性。

上面确定了基础的表后就需要结合数据库范式进行优化,减少数据的冗余和错误。看是否需要再将分解出其他表格。数据库范式初学者不容易理解,后续介绍数据库规范时会详细介绍,

三、确定字段数据类型和字段属性

确定了数据库中的表和对应的字段后,新建字段时候需要选择字段的数据类型。上节有演示过,然后具体的每个字段需要设置字段的属性。

四、确定主键

选择合适的字段作为主键,上节介绍过主键要求是唯一不能为空,可以是一个也可以是多个字段。可以选择单个主键,也可以选择复合主键。也可以使用替代主键。区别后续会做介绍说明。

五、确定表与表之间的关系

前面在介绍数据库优化时介绍了数据库范式的概念,对于优秀的数据库设计通常为了减少数据冗余,为此会将很多数据拆分成基于不同主键的表。需要在Access数据库中将不同的表通过主键和外键关联起来。

对应不同实体的表之间有三种类型的关系,一对一的关系,有一对多的关系,和多对多的关系。

其中如果是多对多的表关系,主要是通过中间表,将多对多的关系拆成一对一或者一对多的关系。

简单图书馆数据库中,书籍和出版商之间的关系是多对一的关系。因为出版商会出版很多书籍,但书籍通常是一个出版商出版的。书籍和借阅者之间,因为一个人可能借好几本不同的书。图书馆通常一种书有好几本会由不同的人借阅,它们的关系是多对多的关系

在设计数据库时,这种多对多的关系就表格就需要借助中间表格,比如书籍和读者之间是借阅的关系。可以新建借阅表,借阅表中有借阅单号,借阅日期,还书日期等。这样书籍和借阅表之间可以是一对一的关系,读者表和借阅表之间也可以是一对一的关系。(后续会再介绍)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel和Access学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
6万字解决算法面试中的深度学习基础问题
真的是千呼万唤始出来emmmm,去年春招结束写了篇面试的经验分享。在文中提到和小伙伴整理了算法岗面试时遇到的常见知识点及回答,本想着授人以渔,但没想到大家都看上了我家的 !但因本人执行力不足,被大家催到现在才终于想着行动起来分享给大家,笔者在这里给各位读者一个大大的抱歉,求原谅呜呜~~相信今年参加秋招的小伙伴们一定都拿到理想的offer啦,明年准备找工作的小盆友如果觉得本文还有些用可以收藏哈。
对白
2022/04/01
6400
6万字解决算法面试中的深度学习基础问题
实例解析神经网络的工作原理
在机器学习和相关领域,人工神经网络的计算模型灵感正是来自生物神经网络:每个神经元与其他神经元相连,当它兴奋时,就会像相邻的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个阈值,那么它就会被激活(兴奋),向其他神经元发送化学物质。
算法进阶
2023/11/27
3540
实例解析神经网络的工作原理
深度学习基础入门篇[三]:优化策略梯度下降算法:SGD、MBGD、Momentum、Adam、AdamW
如果我们定义了一个机器学习模型,比如一个三层的神经网络,那么就需要使得这个模型能够尽可能拟合所提供的训练数据。但是我们如何评价模型对于数据的拟合是否足够呢?那就需要使用相应的指标来评价它的拟合程度,所使用到的函数就称为损失函数(Loss Function),当损失函数值下降,我们就认为模型在拟合的路上又前进了一步。最终模型对训练数据集拟合的最好的情况是在损失函数值最小的时候,在指定数据集上时,为损失函数的平均值最小的时候。
汀丶人工智能
2023/04/06
2.5K0
深度学习基础入门篇[三]:优化策略梯度下降算法:SGD、MBGD、Momentum、Adam、AdamW
一文概览神经网络优化算法
机器学习的优化(目标),简单来说是:搜索模型的一组参数 w,它能显著地降低代价函数 J(w),该代价函数通常包括整个训练集上的性能评估(经验风险)和额外的正则化(结构风险)。与传统优化不同,它不是简单地根据数据的求解最优解,在大多数机器学习问题中,我们关注的是测试集(未知数据)上性能度量P的优化。
算法进阶
2022/06/02
1.2K0
一文概览神经网络优化算法
深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)
作者灯会为21届中部985研究生,凭借自己整理的面经,去年在腾讯优图暑期实习,七月份将入职百度cv算法工程师。在去年灰飞烟灭的算法求职季中,经过30+场不同公司以及不同部门的面试中积累出了CV总复习系列,此为深度学习上篇。
昱良
2021/07/01
9210
深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)
深度学习教程 | 神经网络基础
本系列为吴恩达老师《深度学习专项课程(Deep Learning Specialization)》学习与总结整理所得,对应的课程视频可以在这里查看。
ShowMeAI
2022/04/14
1.2K0
深度学习教程 | 神经网络基础
【AI前沿】深度学习:神经网络基础
神经元是神经网络的基本计算单元,其灵感来源于生物神经元。生物神经元通过接收输入信号(来自其他神经元或感受器),经过处理后传递输出信号。人工神经元模拟了这一过程,主要由以下部分组成:
屿小夏
2025/05/24
1750
【AI前沿】深度学习:神经网络基础
深度学习中的优化算法总结
    深度学习中的优化问题通常指的是:寻找神经网络上的一组参数θ,它能显著地降低代价函数J(θ)。针对此类问题,研究人员提出了多种优化算法,Sebastian Ruder 在《An overview of gradient descent optimizationalgorithms》(链接:https://arxiv.org/pdf/1609.04747.pdf )这篇论文中列出了常用优化算法的比较。主要优化算法有:GD、SGD、Momentum、Adagrad、Adadelta、RMSProp、Adam。
用户1432189
2019/08/20
1.1K0
深度学习中的优化算法总结
一文看懂各种神经网络优化算法:从梯度下降到Adam方法
王小新 编译自 Medium 量子位 出品 | 公众号 QbitAI 在调整模型更新权重和偏差参数的方式时,你是否考虑过哪种优化算法能使模型产生更好且更快的效果?应该用梯度下降,随机梯度下降,还是Adam方法? 这篇文章介绍了不同优化算法之间的主要区别,以及如何选择最佳的优化方法。 什么是优化算法? 优化算法的功能,是通过改善训练方式,来最小化(或最大化)损失函数E(x)。 模型内部有些参数,是用来计算测试集中目标值Y的真实值和预测值的偏差程度的,基于这些参数,就形成了损失函数E(x)。 比如说,权重(W)
量子位
2018/03/29
5.6K0
一文看懂各种神经网络优化算法:从梯度下降到Adam方法
从零开始深度学习:全连接层、损失函数与梯度下降的详尽指南
在深度学习的领域,全连接层、损失函数与梯度下降是三块重要的基石。如果你正在踏上深度学习的旅程,理解它们是迈向成功的第一步。这篇文章将从概念到代码、从基础到进阶,详细剖析这三个主题,帮助你从小白成长为能够解决实际问题的开发者。
平凡之路.
2024/11/21
7530
深度学习基础知识点归纳总结
1. 最小化代价函数优化方法:BGD、SGD、MBGD、动量、NAG、Adagrad、AdaDelta、Adam、AMSGrad、牛顿法;
小锋学长生活大爆炸
2020/08/13
6790
深度学习基础知识点归纳总结
深度学习教程 | 神经网络优化算法
本系列为吴恩达老师《深度学习专项课程(Deep Learning Specialization)》学习与总结整理所得,对应的课程视频可以在这里查看。
ShowMeAI
2022/04/14
7140
深度学习教程 | 神经网络优化算法
深度神经网络(DNN)与反向传播算法
深度神经网络(DNN)是人工智能和机器学习领域的核心技术之一,尤其在图像识别、语音识别、自然语言处理等多个应用中取得了突破性的成果。DNN的成功得益于其强大的学习能力和优化算法,而反向传播(Backpropagation,简称BP)算法则是训练神经网络的关键技术之一。本文将深入剖析反向传播算法的工作原理,并结合具体的例子,详细分析其在深度神经网络中的应用过程。
LucianaiB
2025/02/10
3060
深度神经网络总结
深度神经网络(Deep Neural Networks,DNN)可以理解为有很多隐藏层的神经网络,又被称为深度前馈网络(DFN),多层感知机(Multi-Layer perceptron,MLP)。
全栈程序员站长
2022/07/02
2.3K0
深度神经网络总结
深度学习与CV教程(7) | 神经网络训练技巧 (下)
本系列为 斯坦福CS231n 《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频可以在 这里 查看。更多资料获取方式见文末。
ShowMeAI
2022/06/01
5520
深度学习与CV教程(7) | 神经网络训练技巧 (下)
神经网络的训练过程、常见的训练算法、如何避免过拟合
神经网络的训练是深度学习中的核心问题之一。神经网络的训练过程是指通过输入训练数据,不断调整神经网络的参数,使其输出结果更加接近于实际值的过程。本文将介绍神经网络的训练过程、常见的训练算法以及如何避免过拟合等问题。
网络技术联盟站
2023/05/12
1.3K0
神经网络的训练过程、常见的训练算法、如何避免过拟合
优化器的理解与选择
深度卷积神经网络通常采用随机梯度下降类型的优化算法进行模型训练和参数求解。经过近几年深度学习的发展,也出现了一系列有效的网络训练优化新算法。在实际工程中,Pytorch 和 Keras 等框架几乎都已经封装好了最新的优化器算法,我们只需根据自身需要选择合适的优化器即可。但是理解一些典型的一阶优化算法还是很有必要的,本文将简单介绍这些算法的定义。
嵌入式视觉
2022/09/05
1.1K0
图深度学习入门教程(五)——模型的优化器
深度学习还没学完,怎么图深度学习又来了?别怕,这里有份系统教程,可以将0基础的你直接送到图深度学习。还会定期更新哦。
代码医生工作室
2020/03/27
2.6K0
神经网络基础:反向传播算法
反向传播(Backpropagation,简称 BP)是目前用来训练人工神经网络(Artificial Neural Network,简称 ANN)算法最常用、最有效的方法。
HyperAI超神经
2019/11/29
1.5K0
算法金 | 再见!!!梯度下降(多图)
今天把达叔 6 脉神剑给佩奇了,上 吴恩达:机器学习的六个核心算法! ——梯度下降
算法金
2024/06/19
1380
算法金 | 再见!!!梯度下降(多图)
推荐阅读
相关推荐
6万字解决算法面试中的深度学习基础问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档