博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库设计感悟
阅读量:5161 次
发布时间:2019-06-13

本文共 636 字,大约阅读时间需要 2 分钟。

 关于数据库设计,首先需要明确的就是整个项目的设计是围绕数据库结构来实现的,也就是说数据库一旦设计好就不能随意改动,因为一旦改动对数据库的访问代码就很容易出现问题,相当于对整个项目需要改动,这也就意味着设计数据库需要从拓展的角度来实现, 比如说一个用户表,一个最简单的用户登陆只需要用户与密码,倘若当前阶段我只考虑用户的账号与密码两个字段,那么我只需要子啊用户表中设定两个字段即可,但如果有一条我需要增加功能,比如加一个个人设置功能,用户能添加图像,有个性签名等,那么该表就不能实现该拓展,也就意味着原来的数据库不能用了,需要重新定义数据库并且改动整个项目中用到该表的代码,其过程是十分复杂且不必要的。

  另外需要注意的就是在建多少表的问题。我可以设置一个字段很长的表,或者很多字段很少的表,两者的首先考虑基于面向对象的思想,把一个类的属性设为一个表,按照层次来建表,这样表与表之间的联系关系比较清晰,比如我们项目中的门店,类别,商品三个类,三者之间是商品->类别->门店,我们可以建一个表按照门店属性-类别属性-商品属性的格式,也可以建三个表设置主外键连接。但是前者存在两个问题:当我修改门店属性时要修改很多行,操作繁琐,另外当我只想得到门店属性时会得到类别与商品的属性,安全隐患很大。但也不是表越多越好,还是要从综合角度去考虑,最为合理。

  另外就是建表时记得加注释

转载于:https://www.cnblogs.com/GongZhiMao/p/9981391.html

你可能感兴趣的文章
【spoj1182/usaco-Cow Queueing, 2003 Dec-二进制编号】数位dp
查看>>
二:photoshop的基础学习
查看>>
[NOIp提高组2016]组合数问题
查看>>
[转]反向迭代器(rbegin,rend)
查看>>
perl的正则表达式
查看>>
[BOT]自己动手实现android 饼状图,PieGraphView,附源码解析
查看>>
java程序设计基础篇 复习笔记 第一单元
查看>>
ANDROID笔记:ListView和CheckBox的简单使用
查看>>
Oracle截取字符串和查找字符串
查看>>
Heaps(Contest2080 - 湖南多校对抗赛(2015.05.10)(国防科大学校赛决赛-Semilive)+scu1616)...
查看>>
PIL
查看>>
IOS之weak
查看>>
打开局域网共享文件(映射)
查看>>
spark2.1:读取hive中存储的多元组(string,double)失败
查看>>
轮胎在地面上滚动压出轮胎的痕迹的动画
查看>>
HttpSession与Hibernate中Session的区别
查看>>
平面二维DP
查看>>
移动端适配
查看>>
csharp: datatable get Column datatype or Column Name
查看>>
ci框架基础知识点
查看>>