前往小程序,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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL设置远程访问
在MySQL Server端,执行mysql 命令进入mysql 命令模式。使用grant命令用来建立新用户,指定用户口令并增加用户权限。命令格式如下:
恋喵大鲤鱼
2018/08/03
6.4K0
MySQL设置远程访问
MySQL DCL 数据控制
连接到 MySQL 服务器后,管理员或特权用户可以使用 CREATE USER 语句创建新用户。
恋喵大鲤鱼
2023/10/12
2800
mysql中grant权限_mysql外网访问权限
开启远程连接: 2, 修改 Mysql-Server 用户配置 mysql> USE mysql; — 切换到 mysql DB Database changed mysql> SELECT User, Password, Host FROM user; — 查看现有用户,密码及允许连接的主机 +——+———-+———–+ | User | Password | Host | +——+———-+———–+ | root | | localhost | +——+———-+———–+ 1 row in set (0.00 sec) mysql> — 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接 12 mysql> — 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接 mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.100’ IDENTIFIED BY ” WITH GRANT OPTION; mysql> — @’192.168.1.100’可以替换为@‘%’就可任意ip访问,当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下: mysql> — UPDATE user SET Host=’192.168.1.100′ WHERE User=’root’ AND Host=’localhost’ LIMIT 1; mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
全栈程序员站长
2022/08/04
6.2K0
MySQL用户管理、用户授权与权限及设置远程访问
insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
菲宇
2022/12/02
5K0
Mysql用户与权限操作
用户是数据库的使用者和管理者。 MySQL通过用户的设置来控制数据库操作人员的访问与操作范围。 服务器中名为mysqI的数据库,用于维护数据库的用户以及权限的控制和管理。 MySQL中的所有用户信息都保存在mysql.user数据表中。
海盗船长
2021/12/07
3.7K0
Mysql用户与权限操作
MySQL用户管理:添加用户、授权、删除用户
添加用户 以root用户登录数据库,运行以下命令: create user zhangsan identified by 'zhangsan'; 上面的命令创建了用户zhangsan,密码是zhang
陈树义
2018/04/13
5.9K0
MySQL用户管理:添加用户、授权、删除用户
MariaDB 权限概述
MariaDB 是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定允许的权限.MariaDB用户可以分为普通用户和ROOT用户.ROOT用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限,普通用户只拥有被授予的各种权限.
王 瑞
2022/12/28
2.5K0
MySQL远程连接、用户授权
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
HammerZe
2022/05/09
5.7K0
MySQL 用户管理和权限管理
在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。当然,具体怎么管理权限根据实际情况来确定。
Python碎片公众号
2021/02/26
5.2K0
MySQL 用户管理和权限管理
MySQL 权限操作
  MySQL 权限系统保证所有的用户只执行允许做的事情。当连接 MySQL 服务器时,用户的身份由用户从那儿连接的主机和用户指定的用户名来决定。连接后发出请求后,系统根据用户的身份和用户想做什么来授予权限。MySQL 中采用用户名 + 主机名来识别用户的身份。例如,从 abc.com 连接的用户 root 不一定和从 bcd.com 连接的 root 是同一个人。MySQL 通过允许你区分在不同的主机上碰巧有同样名字的用户来处理它,可以对 root 从 abc.com 进行的连接授与一个权限集,而为 root 从 bcd.com 的连接授予一个不同的权限集。MySQL存取控制包含2个阶段:  ♞ 阶段1:服务器检查是否允许你连接。  ♞ 阶段2:假定能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。
Demo_Null
2020/09/28
3.1K0
MySQL 权限操作
MySQL用户管理
说明:用户的信息保存在mysql数据库中的user表中,验证用户是否创建成功如下:
星哥玩云
2022/08/18
2.1K0
Mysql系列 - 第3天:管理员必备技能(必须掌握)
在玩mysql的过程中,经常遇到有很多朋友在云上面玩mysql的时候,说我创建了一个用户为什么不能登录?为什么没有权限?等等各种问题,本文看完之后,这些都不是问题了。
路人甲Java
2019/09/16
6680
MySQL(十六)之MySQL用户管理
一、MySQL用户管理概述   MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类:     超级管理员用户(root),拥有全部权限     普通用户,由root创建,普通用户只拥有root所分配的权限 二、MySQL的权限数据库    权限数据库:在MySQL中的mysql数据库。   与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等。 2.1、user表   1)user表存储的信息   用户的信息:hots(用户所在的
用户1195962
2018/01/18
1.3K0
MySQL(十六)之MySQL用户管理
Mysql相关命令
sc config MySQL binpath= "C:\Program Files\mysql\bin\mysqld MySQL"
阿木木
2023/08/08
2820
MySQL安全----用户创建与权限控制
创建用户以及给用户合理的分配权限是提高安全的最有效措施之一。不仅仅是MySQL数据库、对于其他数据库、操作系统、应用系统等等,用户权限分配都是有效的安全措施之一。即使被黑客攻破,但是由于其拿到的用户权限较低,可以有效降低危害。所以对外开放的系统,应尽量使用较低权限的用户。
cultureSun
2023/05/18
1.4K0
《MySQL 入门教程》第 05 篇 账户和权限
当客户端连接 MySQL 服务器时,必须提供有效的身份认证,例如用户名和密码。当用户执行任何数据库操作时,服务器将会验证用户是否具有相应的权限,例如查询表需要 SELECT 权限,删除对象需要 DROP 权限。
玖柒的小窝
2021/10/25
1.3K0
《MySQL 入门教程》第 05 篇 账户和权限
mysql---用户和权限管理复习
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%,主要有以下几种写法
大忽悠爱学习
2021/11/15
1.8K0
第03章 用户与权限管理
🧑个人简介:大家好,我是 shark-Gao,一个想要与大家共同进步的男人😉😉
程序员Leo
2023/08/02
2800
2024Mysql And Redis基础与进阶操作系列(3)作者——LJS[含MySQL用户,权限,角色管理;举例说明详解步骤及常见报错问题对应的解决方法]
不建议通过 DELETE FROM USER u WHERE USER='li4' 进行删除,系统会有残留信息保
盛透侧视攻城狮
2024/10/22
1940
2024Mysql And Redis基础与进阶操作系列(3)作者——LJS[含MySQL用户,权限,角色管理;举例说明详解步骤及常见报错问题对应的解决方法]
mysql基础语句1
create user ben identified by ‘P@$$w0rd’;
py3study
2020/01/10
3720
推荐阅读
相关推荐
MySQL设置远程访问
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档