糟糕的数据库设计,让我只能吐槽! (吐槽数据库)

随着科技的快速发展,数据已经成为现代社会最为重要的资源之一。数据以各种形式存在于我们的日常活动中,例如:撰写邮件、分享照片、发布帖子、在线购物等等。因此,当数据库的设计不好时,它将影响整个业务过程,从而影响数据质量和数据安全。在此,我想要分享一些关于糟糕的数据库设计的经验,让我们看看究竟是什么让我只能吐槽。

糟糕的表设计

在关系型数据库中,表是由行和列组成的。表设计包括定义表、定义列和定义每个列的数据类型等。通常,糟糕的表设计是由以下情况引起的:

1.重复定义:表中可能存在多个具有相同数据类型和含义的列。这不仅会占用数据库空间,而且还会降低数据检索的效率。

2.过于简单:表中可能没有足够的列去描述实体之间的关系。这会导致需要另外的查询去获取额外信息并进行关联,增加了额外的查询时间。

3.过于复杂:表中可能含有过多的列,难以管理和查询,并且较难理解实体之间的关系。这会尤其在数据量非常大,在查询时极为缓慢。

糟糕的列设计

列(字段)是表中最基本的元素,用于存储数据。列设计包括列名、数据类型、长度、约束条件等。通常,糟糕的列设计是由以下情况引起的:

1.命名无规则:列名应遵循一定的规则,方便管理和查询,并且要具有说明独立性。

2.数据类型不匹配:列的数据类型应该正确,否则可能会导致错误或数据类型强制转换,使性能大大降低。

3.数据长度过长或过短:列的长度应该匹配数据类型,保证数据的完整性。

4.约束设置不当:约束应该正确设置,否则可能会导致数据不一致,报错等问题。例如主键、外键、唯一索引、检查条件等。

糟糕的索引设计

索引是用于提高数据库检索速度的一种方法。索引设计应始终遵循以下原则:

1.正确的索引选择:决定使用哪种类型的索引,如B树,B+树或哈希表索引。

2.正确使用索引:索引应用于最常用的查询条件和最复杂的查询操作。只有在需要时才使用索引。因为索引越多,在插入、修改、删除时,需要更新的索引越多,执行时间就会变得更慢。

3.避免在大型表中使用索引:在大型表中无论如何使用都会增加查询时间,并且可能消耗大量的硬盘空间。

4.优化SELECT语句:只返回所需的列。这样可以减少I/O读操作,加快速度。`SELECT *`应尽可能避免使用。

糟糕的性能问题设计

性能问题设计主要包括以下问题:

1.表关联问题:为了减少数据库查询次数,通常会将相关表进行关联。在此过程中,如果关联的表所涉及的数据量过大,则查询性能将受到影响。

2.存储过程问题:存储过程可以有效地减少数据库的数据传输,提高查询效率。然而,一个糟糕的存储过程设计可能会导致查询时间变长。

数据库管理员的责任

数据库管理员负责监控数据库,确保数据库顺畅运行。因此,数据库管理员应该注意以下几点:

1.规范数据库设计:数据库管理员应确保合理的表、列、索引和存储过程的设计,并且能够根据业务规则优化一些常见的sql语句。

2.性能监视:数据库管理员应尽可能减少查询时间,以获得更佳的查询性能。此外,管理员应监视SQL语句并对其进行适当的优化。

3.数据安全:数据库管理员应确保数据库安全,包括备份、恢复、访问控制和数据加密。

糟糕的数据库设计可能会导致性能缓慢、服务中断、数据不一致等问题。因此,设计数据库时需要遵循应该遵循一些原则,例如:表的设计应该规范,列的设计需要匹配正确的数据类型和长度,同时还要界定正确的约束规则;索引的使用应考虑方便查找性能和查询性能,以及要遵循适当的存储过程设计。

在数据库设计和管理方面,所有相关工作人员都应始终关注数据安全和数据完整性,以确保系统稳定和性能维护。

相关问题拓展阅读:

《光荣时代》上演后网友褒贬不一,它都有哪些吐槽点?

这就是一现代人用现代思维拍的70年前的故事。只是偶尔看了几集。先说杨医师借相机出去采风,大家知道,北京周围都是平地,山区得到房山、门头沟等地,得有几十里路,杨医师是怎么在大雪飘飞的时候到达郑朝山他们行刑的地方,他一普通医师,是不可能有汽车的,只有一种交通工具,自行车,那么大的雪,一路山路,自行车能行?还有拍到郑朝山的照片,那时的相机是没有变焦功能的,从他的位置到郑的位置得有几十米,郑在他的相机里真实就是一绿豆大的小点,怎么可能有那样的大面孔的照片呢?显然是把以前的相机当成当今带光学电子变焦功能的相机了。还有郝平川半枚指纹找到凶手,怎么可能呢?那时没有指纹数据库,没有电脑。想从指纹找人,要老长时间滴。

提起《光荣时代》,我想这应该是一部近期很多人都在追的剧了吧,它也可以说是一部为国庆献礼的电视剧,非常的让人期待,

但是在《光荣时代》上演之后网友对其却褒贬不一,那么它都有哪些吐槽点呢?

之一个吐槽点,

这部剧在官宣的时候男二这个角色是由赵立新饰演的,可在播出之后却变成黄志忠,电视剧是不可能在这么短的时间内进行重拍的,其实并不是换演员,只是换了个头而已,这用到的就是非常强大的抠图技术了,

但是被换头之后的男二看起来特别的不协调,感觉就是怪怪的,好像一个假人。

第二个吐槽点那就是齐拉拉了,齐拉拉这个角色也是在被很多网友吐槽,很多网友表示齐拉拉的演技太过于浮夸了,和这个时代显得有点格格不入,

也有很多人觉得齐拉拉这个角色的存在是很没有必要的,因此很多人质疑齐拉拉一定是带资进剧组的,但是我觉得每个角色肯定都有它存在的必要,这就要看大家是怎么来理解的了。

第三个吐槽点那就是冼怡,冼怡在这部剧中可以说也是遭到了很多的吐槽,因为很多人都觉得冼怡这个角色太过于软萌了,因为在这个动荡不安的年代,冼怡脑子想的却只有恋爱,

显得与这部剧也有点格格不入。

以上这些就是《光荣时代》的吐槽点,但是我个人觉得这部剧整体来说还是很不错的,剧情也是很好的,至于这些吐槽点也只是一些个人的看法而已。

光荣时代槽点太多了,女主表演用力过度。男配形象还有举止都特别夸张。

《光荣时代》最让人厌恶的是为了盲目追求戏剧的冲突,整个剧情是逻辑错误百出,招娣的真姨妈最终去哪了?明知宗向芳、郑朝山等人是特务却无人监控,任由其到处杀人,搞破坏等等这类混乱的剧情几乎每集都有。试想如果建国初期我们的公安都这样弱智,哪会有后来的新中国。可惜了,张译的精湛演技被无情的践踏了!对编剧导演的无知,真是无语了!!!

编剧耍宝,导演耍酷,女主耍靓,整体耍赖。封号:神剧!

学习C、JAVA、数据库要看哪些书

朋友,你好!

看到你无比诚恳的提问,就知道你是一位非常有上进心的人,从你的文笔,能感觉到你的逻辑思维很不错,很有潜力。虽然本人不才,不过很想尽力回答你的问题,在这里发表一下我的看法,也麻烦你读完它们。

首先我先吐槽一下楼上的回答,有答非所问的,有两个说了N本书的人(那些书说实话,世界上找不到几个人是全部看完了的,说白了,不适用,理论知识,你又不是考博士去的)。

进入正题:

你学了2个月左右,如果比较充实的话,你应该已经能自学各种编程语言和思维了,你现在不断的思索未来是个好习惯,不过在这里先提醒你一下,不要误入歧途:有远见可以,不过请不要好高骛远,不要浮躁,国人的一大缺陷就是浮躁,连复兴国家这种大事都想在几十年内搞定。。。扯远了哈。

问题一,C语言学习程度:根据你的描述,现在正在学习C语言,我推荐你认真的学完这门语言。理由:所有的语言的文法(语法)几乎都抄自这门语言,可以说一通百通,而这门语言又很容易学习,涉及面也是最广的,从你手上带的电子表(单片机)到你现在用的操作系统,还有你玩的电脑游戏,无一不涉及到C语言,因为早期的所有软件系统骨架全是C语言写的,人们舍不得丢弃这些比较“完美”的骨架,所以一直在这骨架上搭建其他的系统和软件,最后无法舍弃这些骨架了,所以C语言可以火到现在。再次唠叨,请认真学习这门语言,哪怕你工作以后永远不使用它。

推荐书籍,“谭浩强的那本C语言书”,或者目录相近的你觉得能看明白的就行了,书不用太挑剔,都是模仿过来模仿过去,而且这些书也都只是讲讲文法,并不涉及到实际应用,总之,一本足矣。

问题二,JAVA方向以及书籍:你自己说过,你肯定是走JAVA方向,我也这样认为,现在JAVA方向和C#方向是国内主流,它们门槛都比较低,我也是JAVA方向的,所以这里能多给你点建议。学完C语言以后,你学习JAVA的文法(语法)就会很轻松了,除了面向对象思想要理解外,其他的都能很快吸收,你应该在学习文法的同时领会面向对象思想,你看完(自己提前看吧)你们的JAVA教材后,注意多看面向对象那几章,熟悉以后,请马上去买本(或者网上下电子版本)《Thinking in Java》(中文名JAVA编程思想),它能彻底让你掌握面向对象思想。之后,你不要考虑用JAVA开发桌面应用程序(在国内工作几乎用不到),你应该开始重新捡起HTML、javascript这些WEB相关的东西了,同时自己熟悉P以及配置TOMCAT服务端(自己没有WEB包或者不会建立的话先去网上下载点P程序,TOMCAT主要是学习如何配置那些xml配置文档),P的话一定要苦学,要找几本书看(未来的工作啊),P书不好推荐,随便找几本看看吧,都一个模子造的,都挺好的,不存在经典不经典,就是学起来有点苦涩,而且实话有点难,都是学习的别人用JAVA建立好的规则上的(说白了你不是在学JAVA,也不是在学文法,是在学应用了哦,应用前人开发的容器、规则、接口、对象,以后会理解的)。WEB编程学习,前期没有美工支持,自己页面设计能力不行的话,你发现你做出来的例子都很没用很丑陋,没什么成就感,请注意不要放弃。当你能独立开发P程序部署P程序到TOMCAT上以后,你可以开始学习SSH框架了(找工作的敲门砖,你最应该学的东西),SSH即struts,spring,hibernate这三个家伙,不知道请百度查一下,相关的书籍多如牛毛,找几本自己喜欢的吧,比如封面好看,目录排布好点的就可以(都是一个模子),然后再买本实例书籍,专门讲实例的,比如开发图书管理系统,购物系统的SSH书籍。学完了(自己能独立开发WEB应用了)以后JAVA方向你已经可以出山了,完全可以找工作去了,前面提到JAVA方向门槛低,是事实,熟悉SSH的都能找到工作。

问题三,数据库:不多说哦,上面说的那些东西学的时候自然要涉及到数据库,你会参照书上的下载并使用的,简单的说几个流行的,sqlserver、oracle、access、mysql这四个很流行,mysql是免费的,停止升级了已经,其他的也有免费版本,不过不好使,必须学sqlserver,其他的看公司情况,进了公司,有一段磨合期足够你学会一种新的数据库了,也是一通百通的东西,书籍嘛,就是百度,不会的查询语句,都能百度到,然后就是查看数据库自带的联机帮助文档。

问题四,入行以后干什么:按要求办事,前面有磨合期供你适应公司以及项目,多注意沟通同时充电就好了,同时写博客记录你在工作时学到的技巧和碰到的问题的解决方案,积少成多,10年成精。

问题五,升职:多去考点证书,学历要有,自考也行,职称证书要考,充电的时候多学习管理层次的书籍,软件工程必学~~~其他的你自然会知道的,时间有限,而且多说无益,不要依赖,相信自己,感觉你是个潜力股,加油吧朋友!

希望我的回答符合你的需要(说不定我说多了偏题了,呵呵,不好意思了)

我是学c++的,我说说我的看法吧,建议你在c和java中选一个专研,就像c++如果是要精通c++的话,那么就要花大量时间在数据结构、算法学习上,如果是拿c++过路,然后学vc++ 当widows平台程序员(我们日常大量windows程序都是用它编的,据说现在有新技术了),那么研究的就是windows核心编程,和vc++的大量的包。

java好像也分J2SE J2ME J2EE所以啊分心了不好,学不精通

至于书呢。只要自己看懂,什么书都行,我建议是代码多的书,最重要的是练习,一定要练习,像你才入门,写的代码就几十行,一天至少写2个,写多了你就知道了什么是所谓的文档,就像我现在虽然也只写了一点点,但是很多时候用到类似的算法的时候,我就直接用了

真正想做java开发的话,一定要看的就是《Java编程思想》

其实有这个以后,再稍微看些jsp方面的,jsp方面的书基本都一样,

一些标签也没必要先学,先从原始的开始学起

还有就是要懂数据库连接和服务器搭建,学习的时候拿Tomcat和MySql就可以了

这方面的书没必要专门去看,只要在网上搜搜,他们再一个项目中是怎么使用的就可以

数据库是基础中的基础,java编程在很大程度上是数据库编程!!!大部分公司都是考验数据库技能!

有本书想推荐下《代码简洁之道》 新出的,最近稍微看了下,觉得挺好,可以帮助你从java开发的之一步就纠正一些初期编程常见的问题!

可见:

java 我帮你推荐几本书吧!

1、《Java编程思想》

2、《Agile Java》中文版

3、《重构 改善既有代码的设计》

4、《测试驱动开发 by Example》

5、《Expert One-on-One J2EE Design and Development》

6、《Expert One-on-One J2EE Development without EJB

7、《企业应用架构模式》

8、《敏捷软件开发原则、模式与实践

9、《UML精粹》

10、《解析极限编程 拥抱变化》XP

11、《统一软件开发过程》UP

12、《敏捷建模》AM

13、《快速软件开发》

这些书基本都是经典

下面是我电脑上的几本自己觉得不错的C书,希望对你有帮助

===================================================

C程序设计_第三版_谭浩强\

C程序设计语言(第2版·新版)_K&R\

C语言程序设计_现代方法_K.N.KING\

Tip\

.(美国)Andrew.W.Appel.清晰版.pdf

C和指针.pdf

C陷阱与缺陷.pdf

C语言-标准与实现 Volume1 .pdf

C语言参考手册第五版.pdf

C语言深度解剖_陈正冲.pdf

C专家编程.pdf

ISO.C.Standard.(ISO.9899).1999.Second.edition.pdf

吐槽数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于吐槽数据库,糟糕的数据库设计,让我只能吐槽!,《光荣时代》上演后网友褒贬不一,它都有哪些吐槽点?,学习C、JAVA、数据库要看哪些书的信息别忘了在本站进行查找喔。


数据运维技术 » 糟糕的数据库设计,让我只能吐槽! (吐槽数据库)