首页 > 编程知识 正文

数据定义语言的概念,数据结构基本语句

时间:2023-05-04 21:35:03 阅读:115009 作者:753

引言数据库管理系统(DBMS )由一组相互关联的数据集合和一组可以访问这些数据的程序组成。 这个数据集合通常称为数据库。

1.1数据库系统的应用1.2数据库系统目标文件系统中存储数据的弊端:

数据的冗余和不一致,不同文件的存储格式不同,数据存储在多个文件中可能会产生冗馀,多个副本可能难以进行数据不一致**数据访问。”传统的文件方法使数据简单高效完整性问题、传统的文件方法和约束都是通过程序实现的,不能动态添加约束。 此外,如果约束包含多个数据项,实现也将变得复杂。原子性问题实现多个操作同时成功、同时失败或痛苦的文件方式很复杂。并发访问异常必须控制对APP应用程序的并发访问。 3358www.Sina.com/是指定用户访问指定数据1.3数据视图数据库系统的主要目的之一是为用户提供数据的抽象视图,并隐藏数据存储和维护的详细信息

1.3.1为了实现数据抽象、高效的搜索,设计者敦促用户使用复杂的数据结构来表示数据,并通过以下几个层来屏蔽数据库用户的复杂性,简化用户与系统的交互:

3358www.Sina.com/,底层抽象,描述数据实际上是如何存储的,底层复杂的数据结构安全性问题,数据库中存储了什么数据,以及这些数据之间的数据逻辑层用户不需要知道物理层的实际存储复杂性。 称为http://www.Sina.com/http://www.Sina.com /,抽象得更高级,仅描述部分数据库。 数据库用户不需要知道所有逻辑层的内容,而只关心某些信息。 1.3.2在实例和模式的特定时间点存储在数据库中的信息集合称为数据库的物理层。 数据库的总体设计来自数据库逻辑层

模式和实例类似于面向对象编程语言中的类和对象。

如果APP应用程序与物理层模式无关,则它们称为物理数据隔离

1.3.3数据模型数据模型是描述数据、数据联系、数据语义和一致性约束的概念工具的集合。 数据模型提供了描述物理层、逻辑层和视图层数据库设计的方法。

物理数据独立性用表的集合表示数据与数据之间的联系视图层据说物理世界由一组称为实体的基本对象和这些对象之间的联系组成面向对象编程可以看作是扩展实例(instance),它在E-R模型中添加了封装、方法(函数)、对象标识符等概念,在同一类型的数据项中包含不同属性集的数据定义例如,XML 3358 www.Sina.com/http://www.Sina.com/1.4数据库语言数据库系统是用于定义数据库架构的数据定义语言(data-definition lanance ) 表示数据库查询和更新的数据操作语言(data-manipulation language DML )。 他们简单地构成了单一数据库语言(SQL )的不同部分

1.4.1数据操作语言(数据管理语言)具有以下访问类型:

搜索存储在数据库中的信息,将新信息插入数据库中,然后从数据库中删除信息以修改存储在数据库中的信息

通常有两种基本的数据操作语言。模式(schema)必须为用户提供所需的数据,并指定如何获取关系模型(relational model)。 用户只需要指定所需的数据,而数据库系统的查询处理器部件没有显示将DML查询语句翻译到数据系统物理层的行为序列

1.4.2数据定义语言(数据定义语言) DDL )用于定义数据库架构和其他特征

DDL包含一个特殊的语句:数据存储和定义语言。 定义数据库系统使用的存储结构和访问方法

数据库中的数据必须满足一致性约束。 这些约束可以是任何谓词,但由于测试所有谓词的成本太高,因此数据库系统定义了最小成本测试的完整性约束

域约束(域约束)约束每个属性的所有可能值组成的域(类型)引用完整性),一组相关属性的可能值出现在另一组相关属性的可能值中。 数据库通常拒绝引用的完整性

性被破坏的操作。断言(assertion),数据库需要时刻满足的某一条件。创建断言时系统会检查有效性,断言创建后,不破坏断言的更新才会被允许。授权(authorization),不同的用户在数据库的不同值上允许不同的访问类型。
DDL的输出放在数据字典中(data dictionary),数据字典包含元数据,元数据是指数据的数据,数据字典是一种特殊的表,这个表只能由数据库系统本身(非一般用户)来访问和修改。在读取和修改实际数据前,数据库系统先要参考数据字典 1.5 关系数据库

基于关系模型,使用一系列表来表示数据及数据与数据之间的关系。

1.5.1 表

每个表有多个列,每个列有唯一的名字

1.5.2 数据库操作语言

SQL数据库查询语言是非过程化的,他以几个表作为输入,总是返回一个表

1.5.3 数据库定义语言

SQL提供了一个丰富的DDL语言,通过他我们可以定义表,完整性约束、断言等等

1.5.4 来自应用程序的数据库访问

一些应用程序可以通过通用程序设计语言表达,但是无法用SQL表达。
应用程序访问数据库两种方式:

数据库提供应用程序访问接口,如JDBC和ODBC宿主程序进行扩展,并通过预编译器(DML precompiler)将DML语言转换为宿主语言的过程调用 1.6 数据库设计 1.6.1 设计过程 初始阶段,全面刻画数据库用户的数据需求,输出需求规格文档概念设计阶段逻辑设计阶段物理设计阶段 1.6.2 一个例子 1.6.3 实体-联系模型(E-R)

实体是现实事件中可区别其他对象的一件“事情”或一个“物体”
联系是几个实体之间的关联

1.6.4 规范化

规范化过程是设计数据库的另外一种方法,这种方法是一种设计符合适当的范式(normal form)的模式。为了确定一个关系模式是否是想要的范式就,需要额外的关于用数据库建模的现实世界中的结构信息。最常用的方法是函数依赖(functional dependency)

1.7 数据存储和查询

数据库系统的功能部件大致可分为存储管理器和查询处理部件

1.7.1 存储管理器

负责数据库中数据的存储、检索和更新
存储管理部件包括:

权限及完整性管理器(authorization and integrity manager)监测是否满足用户完整性约束,并检查试图访问数据库的用户权限事务管理器(transaction manager),保证数据库一致性并保证事务不冲突文件管理器(file manager),管理磁盘空间分配,管理磁盘存储信息的数据结构缓冲区管理器(buffer mananger),负责将数据从磁盘取到内存,并决定哪些数据应该被加载到内存

存储管理器实现了几种数据结构作为系统物理实现的一部分

数据文件(data files),存储数据库自身数据字典(data dictionary),存储数据库的元数据,尤其是数据库模式索引(index),提供对数据项的快速访问 1.7.2查询处理器

包括

DDL解释器(DDL interpreter),解释DDL语句,并将定义记录在数据字典中DML编译器(DML compiler),将DML解释为一个可执行的方案,包括一系列查询执行引擎能理解的低级指令查询执行引擎(query evaluation),执行由DML编译器生成的低级指令 1.8 事务管理

多个操作要么完成要么不完成的要求称为原子性(atomicity),此外还有一致性(consistency)要求和持久性(durability)**
事务(transaction)是数据库应用中完成单一逻辑功能的操作集合。每个事务是具有原子性又有一致性的单元。执行过程中,必要时允许暂时不一致。
适当定义各个事务是程序员的职责,事务的定义应使之能保持数据库的一致性。
原子性和持久性是数据库系统的
恢复管理器(recovery manager)的职责
失败的事务必须不对数据库产生任何影响,恢复到事务执行前的状态,这种情况下数据库系统必须进行
故障恢复(failure recovery)
,即检测故障并将数据库恢复到故障发生前的状态
**并发控制管理器(concurrency-control manager)**控制并发事务间的相互影响
**事务管理器(transaction manager)**包括并发控制管理器和故障恢复器

1.9 数据库体系结构

数据库体系结构很大程度上决定于运行数据库系统的计算机系统

1.10 数据挖掘与信息检索

数据挖掘(data mining),是指半自动的分析大型数据库并从中找出有用的模式的过程。数据挖掘与机器学习和统计分析不一样的地方是数据挖掘是在数据库中发现知识。
从数据库中发现的某一类的知识可以用规则(rule)表示
数据挖掘半自动体现在:数据预处理使数据变为适合算法的格式,需要人工挑选有用的模式
大型企业有各种不同的用于决策的数据来源,要在这些各种各样的数据上高效的执行查询,企业建立了
数据仓库(data warahouse)

查询非结构化的文本数据成为信息检索(information retrieval)

1.11 特种数据库 1.11.1 基于对象的数据模型

可以看做是E-R模型的扩展,增加了封装、方法(函数)和对象标识。
现在主要数据库厂商都支持对象-关系数据模型(object-relational data model),这是一个面向对象模型和关系数据模型结合在一起的数据模型

1.11.2 半结构化数据模型

允许相同类型的数据项有不同的属性集的数据说明

1.12 数据库用户和数据库管理员 1.12.1 数据用户和界面 无经验用户应用程序员老练的用户专门的用户 1.12.2 数据库管理员

数据库管理员(Database Administrator,DBA),DBA的作用包括:

模式定义(schema definition),DBA通过DDL语言创建最初的数据库模式存储结构及存取方法定义(storage structure and access-method definition)模式及物理组织结构的修改(schema and physical-organization modification),DBA修改为了反映需求的变化以及优化性能数据访问授权(granting of authorization for data access),授权系统保存在一个特殊的系统结构中,一旦有访问数据库的请求,就会访问该结构日常维护(routine maintenance) 定期备份确保运转时剩余空间足够监视数据库运行,确保数据库的性能不因一些耗时任务而整体下降很多 1.13 数据库发展历史

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。