我学数据库(2)--数据库系统的那点小九九 其实呢小九九是小盘算小心思的意思,这里呢就另当别用了哈,我是用来指代数据库的特点的。在上一次的随笔当中也提到了数据管理技术发展到了数据库系统阶段是必然,是因为人工管理和文件系统管理已经不能适应时代发展
我学数据库(2)--数据库系统的那点小九九
其实呢小九九是小盘算小心思的意思,这里呢就另当别用了哈,我是用来指代数据库的特点的。在上一次的随笔当中也提到了数据管理技术发展到了数据库系统阶段是必然,是因为人工管理和文件系统管理已经不能适应时代发展提出的新要求。至于它的特点在随笔(1)中也略有提及,此次随笔的就详细的了解一下,与人工管理和文件系统相比数据库系统突出的几个特点。
第一个呢就是它实现整体数据的结构化,这是数据库的主要特点之一,也是数据库系统与文件系统的本质区别。哎呀,又是一个难以理解的概念,还是先来了解一下什么是结构化吧。结构化在网上我没有找到专门解释什么是结构化。咱也不是学习了曲线解决问题的方法嘛,咱也试一试,不再专门找结构化的解释,但可以找其他的啊,比如结构化信息、结构化面试、结构化方法等等,那就试一试从这些概念当中找到结构化的解释。
结构化信息是指信息经过分析后可分解成多个互相关联的组成部分,各组成部分间有明确的层次结构,其使用和维护通过数据库进行管理,并有一定的操作规范。
结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。
标准化面试又称结构化面试,它通过设计面试所涉及的内容、试题评分标准、评分 方法、分数等对面试者进行系统的结构化的面试。(注明:这里面还有结构化这个词呢,唉,头疼)
从以上概念可以看出结构化就是关系清晰化,组成层次化,内容全面化的意思,我也来几个“化”,我是这样理解的,不强求任何人也这样理解,求同存异嘛。言归正传,查了查资料知道,文件系统中一个(组)文件基本上是对应一个应用程序,文件是面向应用的。不同的程序用到相同的数据时也必须建立各自的文件,也就是文件不是面向全局的。另外,文件系统中每个文件内部是结构的,是由记录构成,每个记录有属性组成,即记录也是结构的。但文件之间记录之间没有联系,是独立的。好了,到了给出整体数据结构化的概念的时候了。所谓整体数据结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向全局;不仅数据内部是结构化的,而且整体也是结构化的,数据之间有联系。这时候是不是很清晰很容易理解了呢?不管你理解没理解,反正我理解了。
之前说过由于人工管理和文件系统管理文件的缺陷,才出现了数据库系统。自然而然,香港服务器租用,数据库系统所弥补两者的缺陷的地方也就成了它的特点,就是数据共享性高,冗余度低,容易扩充。因为数据库系统的整体结构化的特点,数据可以被多个用户和应用程序使用,实现了共享,而共享又大大减少了数据冗余,节约了资源,而且还避免了数据之间的不兼容性和不一致性,试想,本是同根生,怎能不兼容?不一致性,就是同一数据却有着不同的值。采用人工管理和文件系统管理时,由于数据被重复存储,因为不同的应用而被修改,而一个程序只能修改自己的文件,那这样不就乱套了?在文件甲中叫张三,到了文件丙中就又叫了李四了,但却是同一个人!由于数据面向整个全局,数据都是结构化的,在多个应用共享使用的同时,可以增加新的应用,弹性岂不是很大?因为数据结构化,只需要重新选取不同子集的数据就可以满足新的需求,香港服务器,岂不是灵活性很大?
数据独立性高也是一个特点,包括数据的物理独立性和逻辑独立性。这是由DBMS的二级映像功能保证的,这里先不讨论哈。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,就是这个意思,用户程序不用管数据怎样存储,只需要处理数据的逻辑结构就行了,从存储上来说,如果物理存储改变时,用户程序也不用改变。逻辑独立性是指用户应用程序与数据库的逻辑结构是相互独立的。就是说数据的逻辑结构变了,用户程序也不用改变。逻辑结构就是数据之间的关系。
数据由DBMS统一管理和控制,上边说了数据共享,共享会带来一个问题,我用的数据是否是正确的?我修改数据之后会不会丢失修改?这当然需要解决,但不用担心,DBMS全权处理。DBMS提供安全保护、完整性检查、并发控制以及数据库恢复。安全保护是保护数据,以防止不合法的使用造成数据泄漏和破坏。完整性检查是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。恢复机制就不用说了,计算机系统总有出故障的时候,软件啊操作员啊或者其它的故意破坏都会影响数据的正确性,甚至会造成数据库部分或全部数据的丢失。所以呢恢复是必不可少的。
在学习的过程中看到一个名词,叫粒度。对这个词不是很熟悉,所以从网上找了好多资料来理解这个词,但只是了解了一下计算机领域的解释。计算机领域中粒度指系统内存扩展增量的最小值。粒度问题是设计数据仓库的一个最重要方面。粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,网站空间,粒度级就越大。数据的粒度一直是一个设计问题。在早期建立的操作型系统中,粒度是用于访问授权的。当详细的数据被更新时,几乎总是把它存放在最低粒度级上。但在数据仓库环境中,对粒度不作假设。在数据仓库环境中粒度之所以是主要的设计问题,是因为它深深地影响存放在数据仓库中的数据量的大小,同时影响数据仓库所能回答的查询类型。在数据仓库中的数据量大小与查询的详细程度之间要作出权衡。粒度在关系数据库中提到的不多,大都在数据仓库啊数据挖掘领域中出现。
了解了数据库系统的特点,也该去纠结一下它的核心了,就是数据模型哦,下一次的随笔再写吧。这次就写到这了。
posted on
Powered by:
博客园
Copyright © 满天海晨星

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

sybase是基于客户/服务器体系结构的数据库,是一个开放的、高性能的、可编程的数据库,可使用事件驱动的触发器、多线索化等来提高性能。

visual foxpro数据库文件是管理数据库对象的系统文件。在VFP中,用户数据是存放在“.DBF”表文件中;VFP的数据库文件(“.DBC”)中不存放用户数据,它只起将属于某一数据库的 数据库表与视图、连接、存储过程等关联起来的作用。

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

microsoft sql server是Microsoft公司推出的关系型数据库管理系统,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理,具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

数据库的“完整性”是指数据的正确性和相容性。完整性是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。完整性对于数据库系统的重要性:1、数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据;2、合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能;3、完善的数据库完整性有助于尽早发现应用软件的错误。

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。

mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境