疫情期间手机直线:18622734798
当前位置:首页网络优化经验分享 → 全部信息
数据库重点知识普及
更新时间:2013/4/25 点击:1591次
一、数据库基本原理                          
  数据库技术是应数据管理任务的需要而产生的。数据管理经历了三个阶段:人工管理阶段、文件管理阶段、数据库系统阶段。数据库系统与其他两个系统比,有许多优点:1)数据结构化 ;2)数据的共享性高,冗余度低,易扩充;3) 数据独立性高;4)数据DBMS统一管理和控制。目前,数据库已经成为现在信息系统的重要组成部分。据有数百G、数百T、甚至数百P子节的数据库已经普遍存在于科学技术、工业、农业、商业服务业和政府部门的信息系统中。
  数据库技术是计算机领域中发展最快的技术之一。数据库技术的发展是沿着数据模型的中线展开的。现有的数据库系统均是基于某种数据模型的。数据模型是数据库系统的核心和基础。数据模型,通俗的讲,即为现实世界的模拟。数据模型的组成要素为:数据结构、数据操作、数据的完整性约束条件。常用的数据模型有层次模型、网状模型、关系模型、面向对象模型、对象关系模型。其中关系模型是目前最重要的一种数据模型。关系数据库系统采用的就是关系数据模型作为数据的组织方式。关系数据库是我们掌握的重点。
  关系数据库系统是支持关系模型的数据库系统。要想深入了解关系数据库系统首先要了解关系模型。关系模型由关系结构、关系操作集合和关系完整性约束3部分组成。关系模型的数据结构非常简单,只包含单一的数据结构——关系。在用户看来,关系模型的中的数据的逻辑结构是一张扁平的二维表。关系模型的数据结构虽然简单但却能表达丰富的语义,描述出现实世界的实体以及实体之间的联系。
    关系模型是建立在集合代数的基础上的。关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述。关系数据库也有型与值之分。关系数据库的型也成关系数据库模式,是对关系数据库的描述。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
     关系模型给出了关系操作的能力的说明,但不对RDBMS语言给出具体的语法要求。关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。关系的查询表达能力很强,是关系操作中最主要的部分。查询又分为:选择、投影、连接、除、并、差、交、笛卡尔积等。其中选择、投影、并、差、笛卡尔积是基本的操作。关系操作的特点实际和操作方式,即操作的对象和结果都是集合。这种操作方式也成为一次以集合的方式。
  关系的完整性约束有三个:实体完整性、参照完整性和用户自定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变形,应该由关系系统自动支持。用户完整性适应用户需要遵循的约束条件,体现了具体领域的语义约束。
二、SQL标准语言
  SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言。1986年10美国国家标准局的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准。1987年国际标准化组织也通过了这一标准。SQL标准从1986年公布以来随着数据库技术的发展不断发展,不断丰富。
 SQL 功  能  动    词
 数 据 定 义 CREATE,DROP,ALTER
 数 据 查 询 SELECT
 数 据 操 纵 INSERT,UPDATE ,DELETE
 数 据 控 制 GRANT,REVOKE
  SQL之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简洁易学的语言。SQL集数据查询、数据操纵、数据定义和数据控制功能于一体。有如下特点:1)综合统一;2)高度过程化;3)面向集合的操作方式;4)以同一种语法结构提供多种使用方式;5)语言简洁,易学易用。SQL接近英语口语,因此容易学习,容易使用。
SQL的数据定义语句
 操 作 对 象                 操  作  方  式
   创  建 删  除 修  改
 表   CREATE TABLE  DROP TABLE ALTER TABLE
 视  图   CREATE VIEW   DROP VIEW
 索  引   CREATE INDEX  DROP INDEX
  数据库查询是数据库的核心操作。也是数据库学习的重点和难点。SQL提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。其一般格式为:
 SELECT [ALL|DISTINCT] <目标列表达式>
                                                 [,<目标列表达式>] …
 FROM <表名或视图名>[, <表名或视图名> ] …
 [ WHERE <条件表达式> ]
 [ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
 [ ORDER BY <列名2> [ ASC|DESC ] ];
     SELECT语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。
(一)、单表查询
 1、选择表中的若干列:
 2、选择表中的若干元组;
 2)查询满足条件的元组。WHERE子句常用的查询条件有
 3、ORDER BY子句。
 4、聚集函数。
 5、ORDER BY子句
(二)、连接查询
 1、等值与非等值连接查询;2、自然连接;3、外连接;4、复合条件连接。
(三)、嵌套查询
 1、带有IN谓语的子查询;2、带有比较运算符的子查询;3、带有ANY(SOME)或ALL谓语的子查询;4、带有EXISTS谓词的子查询。
(四)、集合查询。
 数据的更新操作由三种:向表中添加若干行数据、修改表中的数据和删除表中的若干行数据。
三、数据库设计
    数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求
    在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。数据库是信息系统的核心和基础把信息系统中大量的数据按一定的模型组织起来。提供存储、维护、检索数据的功能使信息系统可以方便、及时、准确地从数据库中获得所需的信息数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。数据库设计是信息系统开发和建设的重要组成部分。
数据库设计的特点:
1. 数据库设计应该与应用系统设计相结合数据库建设是硬件、软件和干件的结合:
 1)三分技术,七分管理,十二分基础数据;2)技术与管理的界面称之为“干件”.
2. 数据库设计应该与应用系统设计相结合:
 1)结构(数据)设计:设计数据库框架或数据库结构
 2)行为(处理)设计:设计应用程序、事务处理等
3.结构和行为分离的设计
1)传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策
 2)早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计
数据库设计方法简述:
1. 手工试凑法
2. 规范设计法
基本思想 :过程迭代和逐步求精规范设计法
典型方法有:新奥尔良(New Orleans)方法( 将数据库设计分为四个阶段);S.B.Yao方法(将数据库设计分为五个步骤);I.R.Palmer方法(把数据库设计当成一步接一步的过程)。
3.计算机辅助设计:
  ORACLE  Designer 2000和SYBASE  PowerDesigner.
数据库设计的基本步骤:
 1、数据库设计的准备工作;2、数据库设计的过程(六个阶段): 1)需求分析阶段;2)概念结构设计阶段;3)逻辑结构设计阶段;4)数据库物理设计阶段;5)数据库实施阶段;6)数据库运行和维护阶段.
  设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
四、数据库安全和完整性控制
  数据库的一大特点是数据可以共享,但数据共享必然带来数据库的安全性问题.数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一.
  数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。课本中讲述了三类计算机系统安全性问题:技术安全类、管理安全类和政策法律类。如何控制数据库的安全性?其常用的方法有:1)用户标识和鉴定2)存取控制;3)视图;4)审计;5)密码存储.
数据库的完整性:即数据的正确性和相容性防止不合语义的数据进入数据库。
例:  学生的年龄必须是整数,取值范围为14--29;学生的性别只能是男或女;学生的学号一定是唯一的; 学生所在的系必须是学校开设的系;
    一个完善的完整性控制机制应该允许用户定义各类完整性约束条件。DBMS的完整性控制机制有:1. 定义功能2. 检查功能3. 违约反应。
    完整性规则用五元组表示:(D,O,A,C,P):D(Data) 约束作用的数据对象;O(Operation)触发完整性检查的数据库操作:一是当用户发出什么操作请求时需要检查该完整性规则;二是立即检查还是延迟检查;A(Assertion) 数据对象必须满足的断言或语义约束这是规则的主体; C(Condition) 选择A作用的数据对象值的谓词; P(Procedure) 违反完整性规则时触发的过程。
  通过本课学习令我感受深的是,在我自己看书的时候关于数据库规范化理论(1NF、2NF等)那一块自己怎么看也记不住,主要原因是自己理解不了,只能靠死记,故有些困难。减小关系模式因规范化程度过低带来的数据冗余,克服修改、删除的异常,“模式分解”是规范化的实现途径,但数据库设计实践中不能过分追求规范化程度。还有就是数据库设计过程,对于模型的转化理论也很难理解,通过您的讲解很容易就理解了,而且明白如何去做了。
  以上是我对数据库重点知识的理解,通过学习本课程和做实验.我学会了如何来设计数据库,如何利用SQL语言来定义或进行相关查询.我感觉学到的不仅是知识本身,而且学到了一种技能和方法。
  • 疫情期间手机直线:18622734798    服务邮箱:service@nfree.cn     QQ:1448132697
  • 地址:天津市河西区围堤道146号华盛广场B座22楼    备案/许可证编号: 津ICP备11006814号-1

    津公网安备 12010302001042号

  • CopyRight 2006~2024 All Rights Reserved 天津市华易动力信息科技有限公司