搜索
首页数据库mysql教程数据库基础知识
数据库基础知识Jun 07, 2016 pm 03:59 PM
基础知识开发数据库

不管你在开发中是否用得到,作为一名程序员,不懂数据库是没法混的,但是会用数据库并不能证明你懂数据库的知识所以小雨建议大家还是抽时间系统的学习一下,今天我给大家简单的介绍一些数据库的基础知识。 一、数据库系统的组成 数据库系统是采用数据库技术

不管你在开发中是否用得到,作为一名程序员,不懂数据库是没法混的,但是会用数据库并不能证明你懂数据库的知识所以小雨建议大家还是抽时间系统的学习一下,今天我给大家简单的介绍一些数据库的基础知识。

一、数据库系统的组成

数据库系统是采用数据库技术的计算机系统,是由数据库(数据)、数据库管理系统(软件)、数据库管理员等组成。

二、数据模型

常见的数据模型有层次模型、网状模型、关系模型,下面分别介绍。

1.层次模型

用树形结构表示实体类型及实体间关系的数据模型称为层次模型,它具有如下特点:

·每棵树有且仅有一个无双亲结点,称为根。

·树中除根外的所有结点有且仅有一个双亲结点。

2.网状模型

用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。用网状模型编写程序极其复杂,数据的独立性差。 

3.关系模型

关系模型以二维表来描述数据的数据模型。 关系模型中,每个表有多个字段和记录行,每个字段有固定的属性。关系模型数据结构简单、清晰、具有很高的数据独立性,因此是目前主流的数据库数据模型。

关系模型基本术语:

·关系:一个二维表就是一个关系。

·元组:二维表中的一行,即表中的记录。

·属性:二维表中的一列,用类型和值表示。

·域:每个属性取值变化的范围。

关系中的数据约束:

·实体完整性约束:约束关系的主键中属性值不能为空。

·参照完整性约束:关系之间的基本约束。

·用户定义的完整性约束:反映了具体应用中数据的语义要求。 

三、关系数据库的规范化

关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件的不同,可分为5个等级:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)。其中,NF是Normal Form的缩写。一般情况下,只要把数据规范到第三范式标准即可满足需要。 

1.第一范式(1NF)

在一个关系中,消除重复字段,且各自段都是最小的逻辑单位。(无重复属性)

2.第二范式(2NF)

若关系模型属于第一范式,则关系中每一个非主关键字段都完全依赖于主关键字段,不能只依赖于主关键字的一部分。(例如有两个主键时,不能有某个属性只依赖于其中一个)

3.第三范式(3NF)

若关系属于第一范式,且关系中所有非主关键字段都只依赖于主关键字段,第三范式要求消除传递依赖。(例如学生所在系依赖于学号,系地址又依赖于所在系,则学号对系地址的依赖是通过系来实现的)

四、实体与关系

实体是指客观存在并可以互相区别的事物。实体既可以是实际的事物,也可以使抽象的概念。实体之间有如下三种关系。

1.一对一关系:是指表A中的一条记录在表B中有且只有一条相匹配的记录。在一对一关系中,大部分相关信息都在一个表中。

2.一对多关系:是指表A中的行可以在表B中有许多匹配行,但表B中的行只能在表A中有一个匹配行。

3.多对多关系:是指关系中每个表的行在相关表中具有多个匹配行。在数据库中,多对多关系的建立是依靠第3个表即连接表实现的。连接表包含两个表的主键列,然后从两个相关表的主键部分分别创建与连接表中的匹配列的关系。

五、数据库的体系结构

1.数据库三级模式结构

数据库的三级模式结构是指模式、外模式和内模式

(1)模式

模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,处于三级结构的中间层。

(2)外模式

也称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。外模式是保证数据库安全的一个有力措施。

(3)内模式

内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部表示方式。

2.三级模式之间的映射

为了能够在内部实现数据库的三级模式的联系和转换,数据库管理系统在三级模式之间提供了两层映射,分别是外模式/模式映射和模式/内模式映射。

(1)外模式/模式映射

一个模式可以有多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式改变时,由数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。这样,使数据库外模式编写的应用程序就不用修改,保证了数据与程序的逻辑独立性。

(2)模式/内模式映射

数据库中只有一个模式和内模式,因此模式/内模式映射是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当时数据库的存储结构改变时,由数据库管理员对模式/内模式映射做相应的改变,可以使模式不变,相应的应用程序也不做变动。保证了数据与存储结构的物理独立性。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
深入理解MySQL索引优化器工作原理深入理解MySQL索引优化器工作原理Nov 09, 2022 pm 02:05 PM

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

sybase是什么数据库sybase是什么数据库Sep 22, 2021 am 11:39 AM

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

visual foxpro数据库文件是什么visual foxpro数据库文件是什么Jul 23, 2021 pm 04:53 PM

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

数据库系统的构成包括哪些数据库系统的构成包括哪些Jul 15, 2022 am 11:58 AM

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

microsoft sql server是什么软件microsoft sql server是什么软件Feb 28, 2023 pm 03:00 PM

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

数据库的什么是指数据的正确性和相容性数据库的什么是指数据的正确性和相容性Jul 04, 2022 pm 04:59 PM

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

go语言可以写数据库么go语言可以写数据库么Jan 06, 2023 am 10:35 AM

go语言可以写数据库。Go语言和其他语言不同的地方是,Go官方没有提供数据库驱动,而是编写了开发数据库驱动的标准接口,开发者可以根据定义的接口来开发相应的数据库驱动;这样做的好处在于,只要是按照标准接口开发的代码,以后迁移数据库时,不需要做任何修改,极大方便了后期的架构调整。

mysql查询慢的因素除了索引,还有什么?mysql查询慢的因素除了索引,还有什么?Jul 19, 2022 pm 08:22 PM

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

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境