志在指尖
用双手敲打未来

数据库的概念(sql三级模式是什么)

数据库的概念

数据办理,是指对数据进行分类、安排、编码、存储、检索和保护。
数据库,存储数据的容器。
数据办理体系,DBMS(DatabaseManagementSystem),是办理数据库的软件。数据库办理体系是数据库体系的中心,实现把用户含义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。
联系数据库办理体系
联系数据库办理体系,RDBMS(RelationalDatabaseManagementSystem),RDBMS的特点:
数据以表格的形式出现
每行为各种记载称号
每列为记载称号所对应的数据域
许多的行和列组成一张表单
若干的表单组成database
数据库办理体系的几个阶段
人工办理
不能长时间保存
程序自身办理数据
不支撑同享
缺少独立性
文件办理
能够长时间保存
文件体系办理数据
数据冗余大,同享性差
独立性差
数据库办理
能够长时间保存
支撑同享
独立性强
数据粒度变小数据库
什么是数据库?
数据库(Database)是按照数据结构来安排、存储和办理数据的仓库。
每个数据库都有一个或多个不同的API用于创立,拜访,办理,搜索和仿制所保存的数据。
咱们也能够将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在咱们运用联系型数据库办理体系(RDBMS)来存储和办理的大数据量。所谓的联系型数据库,是建立在联系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS数据库程序
常用的数据库办理程序有MSAccess、SQLServer、MySQL等,其中MySQL最为典型。
RDBMS的一些术语如下:
数据库:数据库是一些相关表的集合。
数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列:一列(数据元素)包括了相同的数据,例如邮政编码的数据。
行:一行(=元组,或记载)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余降低了功能,但提高了数据的安全性。
主键:主键是仅有的。一个数据表中只能包括一个主键。你能够运用主键来查询数据。
外键:外键用于相关两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:运用索引可快速拜访数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书本的目录。
参照完好性:参照的完好性要求联系中不允许引证不存在的实体。与实体完好性是联系模型有必要满意的完好性约束条件,目的是保证数据的一致性。
数据库的锁
数据库有两种锁,同享锁【S】和排他锁【X】。
同享锁:又称读锁,若业务T对数据对象A加上S锁,则业务T能够读A但不能修正A。其他业务只能再对A加S锁,而不能加X锁,直到T开释A上的S锁。这保证了其他业务能够读A,但在T开释A上的S锁之前不能对A做任何修正。
排他锁:又称写锁。若业务T对数据对象A加上X锁,业务T能够读A也能够修正A。但其他业务不能再对A加任何锁,直到T开释A上的锁。这保证了其他业务在T开释A上的锁之前不能再读取和修正A。
同享锁允许多个线程一起获取一个锁,一个锁能够一起被多个线程具有。排它锁,也称作独占锁,一个锁在某一时间只能被一个线程占有,其它线程有必要等待锁被开释之后才可能获取到锁。
ReentrantLock就是一种排它锁。CountDownLatch是一种同享锁。这两类都是单纯的一类,即,要么是排它锁,要么是同享锁。
ReentrantReadWriteLock是一起包括排它锁和同享锁特性的一种锁。运用ReentrantReadWriteLock的写锁时,运用的就是排它锁的特性;运用ReentrantReadWriteLock的读锁时,运用的就是同享锁的特性。
MySQL
MySQL是一个联系型数据库办理体系,由瑞典MySQLAB公司开发,现在属于Oracle公司。MySQL是一种相关数据库办理体系,相关数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL是开源的,所以你不需要付出额定的费用。
MySQL支撑大型的数据库。能够处理具有上千万条记载的大型数据库。
MySQL运用规范的SQL数据言语形式。
MySQL能够运行于多个体系上,而且支撑多种言语。这些编程言语包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
MySQL对PHP有很好的支撑,PHP是现在最流行的Web开发言语。
MySQL支撑大型数据库,支撑5000万条记载的数据仓库,32位体系表文件最大可支撑4GB,64位体系支撑最大的表文件为8TB。
MySQL是能够定制的,采用了GPL协议,你能够修正源码来开发自己的MySQL体系。

sql三级模式是什么

ANSI-SPARC终究没有成为正式规范,但它仍然是了解数据库办理体系的基础。三级形式是指数据库办理体系从三个层次来办理数据,别离是外部层(ExternalLevel)、概念层(ConceptualLevel)和内部层(InternalLevel)。这三个层次别离对应三种不同类型的形式,别离是外形式(ExternalSchema)、概念形式(ConceptualSchema)和内形式(InternalSchema)。在外形式与概念形式之间,以及概念形式与内形式之间,还存在映像,即二级映像,详细如图所示。
三级形式和二级映像
在图1-2中,外形式面向使用程序,描绘用户的数据视图(View);内形式(又称为物理形式、存储形式)面向物理上的数据库,描绘数据在磁盘中如何存储;概念形式(又称为形式、逻辑形式)面向数据库规划人员,描绘数据的整体逻辑结构。
由于三级形式比较抽象,为了更好地了解,下面将计算机中常用的Excel电子表格类比成数据库,并假设有一个商城运用电子表格来保存产品信息。
(1)概念形式。概念形式类似于表格的列标题,它描绘了产品表中包含哪些信息,如图所示。
产品信息表格
上图中,表的横向称为行,纵向称为列,第一行便是列标题,用来描绘该列的数据表示什么意义。实践上,概念形式在数据库中描绘的信息还有许多,如多张表之间的联络、表中每一列的数据类型和长度等,读者在后面的学习中就会接触到这些内容。
(2)内形式。在将Excel表格另存为文件时,能够挑选保存的文件路径、保存类型(如XLS、XLSX、CSV等格局)等,这些与存储相关的描绘信息相当于内形式。在数据库中,内形式描绘数据的物理结构和存储方法,如堆文件、索引文件、散列(Hash)文件等。
(3)外形式。在翻开一个电子表格后,默认会显现表格中所有的数据,这个表格称为根本表。在将数据供给给其他用户时,出于权限、安全控制等因素的考虑,只允许用户看到一部分数据,或不同用户看到不同的数据,这样的需求就能够用视图来实现。下图是视图和根本表的联系。数据库
视图与根本表
在上图中,根本表中的数据是实践存储在数据库中的,而视图中的数据是查询或计算出来的。由此可见,外形式能够为不同用户的需求创建不同的视图,且由于不同用户的需求不同,数据的显现方法也会多种多样。因此,一个数据库中会有多个外形式,而概念形式和内形式则只有一个。
经过前面的分析可知,三级形式是数据的三个抽象等级,每个等级关怀的要点不同。为了使三级形式之间产生关联,数据库办理体系在三级形式之间供给了二级映像功用。二级映像是一种规则,它规定了映像双方如何进行转换。经过二级映像,表现了逻辑和物理两个层面的数据独立性。详细解说如下。
(1)逻辑独立性。外形式/概念形式映像表现了逻辑独立性。逻辑独立性是指当修改了概念形式,不影响其上一层的外形式。例如,将图1-4中根本表的“库存”和“销量”拆分到另一张表中,此刻概念形式产生了更改,但能够经过改动外形式/概念形式的映像,持续为用户供给原有的视图,如图所示。
视图与根本表
由此可见,逻辑独立性能够让运用视图的用户感觉不到根本表的改动。其实,逻辑独立性带来的优点还有许多,随着后面的学习,读者会有更深入的领会。
(2)物理独立性。概念形式/内形式映像表现了物理独立性。物理独立性是指修改了内形式,不影响其上层的概念形式和外形式。例如,在Excel中将.xls文件另存为.xlsx文件,尽管替换了文件格局,可是翻开文件后显现的表格内容一般不会产生改动。在数据库中,替换更先进的存储结构,或许创建索引以加速查询速度,内形式会产生改动。此刻,只需改动概念形式/内形式映像,就不会影响到原有的概念形式。
另外,物理独立性使得用户不用了解数据库内部的存储原理,即可正常运用数据库来保存数据。数据库办理体系会自动将用户的操作转换成物理级数据库的操作。
多学一招:数据库相关的人员
数据库体系涉及一些人员,主要包括数据库办理员(DatabaseAdministrator,DBA)、应MySQL数据库原理、规划与使用用程序员(ApplicationProgrammer)和终究用户(EndUser)。关于这些人员的详细解说如下。
(1)数据库办理员。担任办理和维护数据库,参与数据库的规划、测试和布置。数据库办理员需求对数据库体系十分精通,且应具有较高的技术水平和较深的资历。
(2)使用程序员。担任为终究用户规划和编写程序,并进行调试和装置,以便终究用户利用使用程序来对数据库进行存取操作。
(3)终究用户。一般为非计算机专业人员,经过使用程序访问数据库。例如,在12306网站订票的用户、在一些购物网站购买产品的用户,他们可能对数据库完全不了解,在运用浏览器、客户端等使用程序时,间接地访问了数据库。

未经允许不得转载:IT技术网站 » 数据库的概念(sql三级模式是什么)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载