鸟瞰数据库系统原理

  数据库系统是一种管理数据的系统,首先设计到数据,谈到数据就要从数据管理的历史来看数据库系统的发展。其中,达到数据库阶段后,我们开始来讨论我们这门课程。

  先来看应用部分:

  1、分析数据

  设计使用数据库,首先要对问题进行分析。那么数据库世界中的问题不就围绕数据开展的嘛!所以先从数据开始分析。

  数据分析时,由于人们往往不能对问题的解决一步到位。所以人们对数据库的分析也是一般从宏观到微观,采用抽象的办法来对数据进行逐步细化的分析。人们在对数据抽象过程中对数据抽象不同阶段得到四种模型。

  由于人们在得到四种模型过程中是通过不断细化得到的,所以这些模型也自然形成了一种层次关系。这种层次关系各自解决不同层次的问题,层次之间通过映射来联系。这种数据库结构分析好之后就该动手设计了。

  2、设计数据库

  要设计数据库,先整体规划好,然后弄清楚需求。有了一个比较清晰的需求,下面针对各个模型进行具体的设计。

  在概念模型设计中,一个比较重要的工具是E-R图,通过E-R图可以比较直观地了解将要开发的系统。如果一个好的系统设计出来,那么自然要上手尝试一下它的魅力。

  3、使用

  数据库的使用最基本的是SQL语言,单独来说SQL语言其实就是对表的增删改查。而对SQL语言扩充之后的T-SQL也就是增加了一些流程控制。数据库语言的使用学会之后,就要学会对数据库的管理了。

  4、管理

  使用数据库系统的前提是该系统能保证数据的正确性和安全性,要能保证这些离不开对数据库系统的管理。数据正确性最直接的是使用约束,限制数据范围。其次是通过事务机制来保证随着系统运行,数据不会发生意外损失。系统中多个事务并行进行,就要对系统进行并行控制。最后最糟糕的情况,就一定能保证恢复原来的状态。

  保证了数据的正确性仍然不能满足人们的需要,因为对数据的操作是有权限的,正如我们在程序设计中使用访问控制符来限定对数据操作一样。我们要对数据的安全进行管理,防止非法的操作及意外故障对系统的破坏。

  再看理论部分:

  应用总是要有相应的理论来支持和指导的,这里我们按照顺序从建表的理论开始学习,在表设计中总要有个好坏的标准吧,盲目地建表会产生许多麻烦的问题,这就提出了范式。建表有了统一的标准后,接下来就是用表了即操作表,对表有许多的操作,你讲不出为什么能这么做总不行吧。所以下面就针对表的操作来研究这些操作的理论。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-04 20:58:14

鸟瞰数据库系统原理的相关文章

数据库系统原理——绪论

数据|数据库 一.引言 1.对数据.数据库.数据库管理系统.数据库系统的概念理解 A.Data:是描述客观事物的一组文字.数据和符号,是客观事物的反映和记录.而信息是潜在于数据中的意义,它反映客观世界中各种事物的状态特征,它能增长知识,影响接受者的行为.B.Database:是长期储存在计算机或介质内.有组织的.可共享的数据集合.具有冗余度低.共享性高.独立性高和易扩展等特性.C.DBMS:这是一个位于用户和操作系统之间的数据管理软件(系统软件),数据库的建立.运用和维护都要有DBMS进行统一管

数据库系统原理之关系运算

关系的基本运算只要分为两类,第一类是传统的集合操作:并.交.差.笛卡尔积(乘法).笛卡尔积的逆运算(除法).第二类是扩充的关系操作:投影(对关系的垂直分割).选择(对关系的水平分割).连接和自然连接(关系的结合). 五个基本操作: 举例说明: 两个关系如下: 并: 差: 笛卡尔积: 选择: 投影: 四个组合操作: 举例说明: 交: 引用上述的两个关系R和S,则RnS为:     最新内容请见作者的GitHub页:http://qaseven.github.io/   

淘宝数据库OceanBase SQL编译器部分 源码阅读--生成物理查询计划

SQL编译解析三部曲分为:构建语法树,制定逻辑计划,生成物理执行计划.前两个步骤请参见我的博客<<淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树>>和<<淘宝数据库OceanBase SQL编译器部分 源码阅读--生成逻辑计划>>.这篇博客主要研究第三步,生成物理查询计划. 一. 什么是物理查询计划 与之前的阅读方法一致,这篇博客的两个主要问题是what 和how.那么什么是物理查询计划?物理查询计划能够直接执行并返回数据结果数

自考——The First Step

        自考,不知不觉就走进了我们的身旁.这个夏天,有了它,我们的学习生活也更加丰富. 三门科目:<信息系统开发与管理>.<网络经济与企业管理>和<数据库系统原理>.在第一遍快速阅读之后,对每个科目都明朗了许多. 先说在大家心目中的重量级角色,<数据库系统原理>.这本书,看名字,就觉得陌生而又熟悉.陌生是因为我们平时接触得少,不过在提高班的我们还是熟悉的,从VB作品展之后,我们就开始了数据库的学习,现在也好几个月了.现在,也是天天和它打交道的.一张图

应用 XML 管理层次结构的数据

xml|数据 引言 现实世界中大量的数据都具有层次结构,常见的例子包括组织机构序列(如公司机构.部队编制.作战编成).分类体系(如中图分类法.装备体系).家族谱系等等.因此,层次结构数据的管理,在软件开发过程当中经常会遇到,是个具有共性的问题. 数据管理是指如何对数据进行分类.组织.编码.存储.检索.控制和维护,是数据处理的中心问题.关系数据库管理系统通过索引.查询优化.事务处理.并发访问控制.触发器.错误恢复等强大的机制,有效地确保了海量数据存取的高效性,保证了数据的完整性和一致性,并提供了数

.net中XML的简单应用

xml .net XML 1.XML是一种提供数据格式描述的标记语言.其自描述性使其非常适应于不同应用间的数据交换,而且这种交换不以预先定义的以组数据结构为前提! eg:   <?xml version="1.0" encoding="utf-8"?><root>  <course_information>    <courseName>操作系统</courseName>    <courseTeac

SQL表连接

  背景 在上次的自考科目<数据库系统原理>中,已经接触到了关于数据库表连接的一些知识,最近的学习过程中又用到了关于数据库表的连接问题,趁此再跟大家一起回顾一下. 导图总结 首先用一张思维导图概括一下SQL表连接的内容: 对SQL表连接有个大概的了解之后,我们通过一个小例子进一步来学习一下.首先,我建立和两张表:如下 外连接 外连接包括左外连接.右外连接和完整外连接. 左外连接 SQL语句:select * from table1 left join table2 on table1.id=t

数原--小结篇

前言:        自考期间,一直按照自己的复习安排做着这次自考的真题和设计好的复习思路,一路走下来,只能说:且行且珍惜.在这条路上使我们更加有自己的责任,也更加明白自己的责任:终身学习,才是我们要一直培养的能力.在路上,缤纷多彩,却不能直视,只得乖乖复习手中的资料. 一.贯穿始终        数据库系统原理,一门又爱又恨的课程,说起来,我们也算是有过一段时间的接触了,之所以再次提出来,是因为打算给这门自考来个小结,算是一种慰藉.复习期间,按照画好的思维导图,复习着自己整理好的思路,一路走来

SQL JOIN

    在机房收费系统个人重构的时候,很多的功能都需要根据数据库中的一个表中的信息,去查询另一个表中相匹配的信息,我们用到了视图,但是你有没有注意到下面的SQL语句呢?(SELECT...FROM...JOIN...ON...),接下来我们就一起来了解SQL中的JOIN.        1.什么是JOIN?    Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接.外联接和交叉联接等,Join用于根据两个或者多个表中的列之间的关系,从这些表中查询数据.