精华内容
下载资源
问答
  •     数据库技术是应数据管理任务...    应用需求的推动下,计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段数据管理三个阶段比较 人工...

        数据库技术是应数据管理任务的需要而产生的。数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。而数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
        在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。

    数据管理三个阶段比较
        人工管理阶段 文件系统阶段 数据库系统阶段
    背景 应用背景 科学计算 科学计算、数据管理 大规模数据管理
    硬件背景 无直接存取存储设备 磁盘、磁鼓 大容量磁盘、磁盘阵列
    软件背景 无操作系统 有文件系统 有数据管理系统
    处理方式 批处理 联机实时处理、批处理 联机实时处理、分布处理、批处理
    特点 数据的管理者 用户(程序员) 文件系统 数据库管理系统
    数据面向的对象 某一应用程序 某一应用程序 现实世界(部门、企业、组织等)
    数据的共享程度 无共享,冗余度极大 共享性差,冗余度大 共享性高,冗余度低
    数据的独立性 不独立,完全依赖程序 独立性差 具有高度的物理独立性和一定的逻辑独立性
    数据的结构化 无结构 记录内有结构,整体无结构 整体结构化,用数据模型描述
    数据控制能力 应用程序控制 应用程序控制 由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力

        1. 人工管理阶段
        20世纪50年代中期之前,计算机只用于科学计算,没有直接存取的存储设备,也没有操作系统和数据管理软件,处理方式还是批处理。
        人们把计算机当成一种计算工具,主要用于科学计算。这一时期就是我们说的数据的人工管理阶段。通常的办法是:用户针对某个特定的求解问题,首先确定求解的算法;然后利用计算机系统所提供的编程语言,直接编写相关的计算机程序;最后将程序和相关的数据通过输入设备送入计算机,计算机处理完之后输出用户所需的结果。不同的用户针对不同的求解问题,均要编写各自的求解程序,整理各自程序的所需的数据,数据的管理完全由用户负责。
        因此这个阶段的数据管理具有数据不保存、应用程序管理数据、数据不共享、数据不具有独立性等特点:
        1.数据不保存
        当时计算机主要用于科学计算,一般不需要将数据长期保存,只是计算某一课题时输入数据,用完就撤走。
        2.应用程序管理数据
        数据需要由应用程序自己设计、说明(定义)和管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构(包括存储结构、存取方法、输入方式等),所以程序员负担很重。
        3.数据不共享
        数据是面向应用程序的,一组数据只能对应一个程序。多个应用程序涉及一些相同的数据时,只能各自定义,无法相互利用、参照,因此程序与程序间有大量冗余数据。
        4.数据不具有独立性
        数据的逻辑结构或物理结构发生变化后,必须相应地修改应用程序,因此加重了程序员的负担。
    人工管理阶段

        2.文件系统阶段
        20世纪50-60年代,这个时候已经出现了磁鼓、磁盘等直接存取存储设备,操作系统中出现了专门的数据管理软件,称为文件系统,在处理方式上,不仅有批处理,还出现了联机实时处理。
        计算机用于大量处理数据工作,大量的数据存储、检索和维护成为紧迫的需求。为了方便用户使用计算机,提高计算机系统的使用效率,产生了以操作系统为核心的系统软件,以有效的管理计算机资源。文件是操作系统管理的重要资源之一,而操作系统提供了文件系统的管理功能。在文件系统中,数据以文件形式组织与保存。文件是一组具有相同结构的记录的集合。记录是由某些相关数据项组成的。数据组织成文件以后,就可以处理与它的程序相分离而单独存在。数据按其内容、结构和用途的不同,可以组织成若干不同命名的文件。文件一般为某一用户(或用户组)所有,但也可供指定的其他用户共享。文件系统还为用户程序提供一组对文件管理与维护的操作或功能,包括对文件的建立、打开、读/写和关闭等。应用程序可以调用文件系统提供的操作命令来建立和访问文件,应用系统就成了用户程序与文件之间接口
        该阶段的文件系统数据管理具有数据可以长期保持、文件系统管理数据、数据共享性差,冗余度大、数据独立性差等特点:
        1.数据可以长期保存
        由于计算机大量用于数据处理,数据需要长时间保留在外存上反复进行查询、修改、插入和删除等操作。
        2.由文件系统管理数据
        由专门的软件即文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“按文件名访问,按记录进行存取”的管理技术,可以对文件进行修改、插入和删除的操作。文件系统实现了记录内的结构性,但整体无结构(文件由记录构成,记录内部有某些结构(记录由若干属性组成),但记录之间没有联系)。程序和数据之间由文件系统提供存取方法进行转换,使应用程序和数据之间有了一定的独立性,程序员可以不必过多地考虑物理细节,将精力集中于算法。而且数据在存储上的改变不一定反映在程序上,大大节省了维护程序的工作量。
        3.数据共享性差,冗余度大
        在文件系统中,一个(或一组)文件基本上对应一个应用程序,即文件仍然是面向应用的。不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据,因此数据的冗余度(redundancy)大,浪费存储空间,而且由于重复存储、各自管理,容易造成数据不一致,增加了数据修改和维护的难度。
        4.数据独立性差
        文件系统中的文件为某一特定应用服务,文件的逻辑结构对该应用程序来说是优化的,所以要想对现有的数据再增加新的应用是很困难的,系统不易扩充。
        一旦数据的逻辑结构改变,必须修改相应程序,修改文件结构的定义。因此数据与程序之间仍然缺乏独立性。
        可见,文件系统仍然是一个不具有弹性的无结构的数据集合,即文件之间是孤立的,不能反映现实世界事物之间的内在联系。
    文件系统阶段

        3.数据库系统阶段
        从20世纪60年代后期开始,计算机应用于管理的规模更加庞大,需要计算机管理的数据急剧增长,对数据共享的要求也与日俱增。
        随着大容量磁盘系统的使用,计算机联机存取大量数据成为可能;软件价格相对上升,硬件价格相对下降,使独立开发系统和维护软件的成本增加,文件系统的管理方法已无法满足要求。为了解决独立性问题,实现数据统一管理,最大限度地实现数据共享,必须发展数据库技术。于是为了解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术应运而生,出现了统一管理数据的专门软件系统——数据库管理系统。
        数据库技术为数据管理提供了一种较完善的高级管理模式,它克服了文件系统方式下分散管理的缺点,对所有数据实行统一、集中管理,使数据的存储独立于它的程序,从而实现数据共享。
        相比于人工管理和文件系统,数据库系统具有明显的优点,其主要特点如下:
        1.数据结构化
        数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。“整体”结构化指在数据库中的数据不再仅仅针对某一应用,而是面向全组织;不仅数据内部是结构化的,而且整体也是结构化的,数据之间是有联系的,而文件系统只是内部有结构,但整体无结构,记录之间没有联系。
        在数据库系统中,不仅数据是整体结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录,而在文件系统中,数据的存取单位是记录,粒度不能细到数据项。
        2.数据的共享性高,冗余度低,易扩充
        数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间,还能避免数据间的不相容性和不一致性。数据的不一致性指同一数据不同拷贝的值不一样。
        由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使数据库系统弹性大、易于扩充。可以选取整体数据的各种子集用于不同的应用程序,当应用需求改变或增加时,只要重新选取不同的子集加上一部分数据,便可满足新需求。
        3.数据独立性高
        数据独立性包括数据的物理独立性和数据的逻辑独立性。
        物理独立性指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。数据在磁盘上的数据库中怎样存储是有DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时,应用程序不用改变。
        逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。当数据的逻辑结构发生改变,用户程序也可以不变。
        数据独立性是由DBMS的二级映像功能来保证的。
        数据与程序的独立,把数据的定义从程序中分离出去,加上存取数据的方法又由DBMS负责提供,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
        4.数据由DBMS统一管理和控制
        数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中同一个数据。
    为此DBMS还必须提供以下几方面的数据控制功能:
        (1)数据的安全性(Security)保护
        数据的安全性是指保护数据,以防止不合法的使用造成数据的泄密和破坏。使每个用户只能按规定对某些数据以某些方式进行使用和处理。
        (2)数据的完整性(Integrity)检查
        数据的完整性指数据的正确性、有效性、相容性。完整性检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。
        (3)并发(Concurrency)控制
        当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
        (4)数据恢复(Recovery)
        计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(也称为完整状态或一致状态)的功能,这就是数据库的恢复功能。
    数据库系统阶段

        综上所述,数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据库的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
        数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。

    展开全文
  • 在数据库系统中,对于数据,不仅要描述数据本身,而且要描述数据之间的联系。从整体看,不仅要考虑一个应用的数据结构,更要考虑整个应用的数据结构。数据库系统实现整体数据结构化,是数据库的一个特征。深圳蓝快...

    这个阶段数据库系统有以下特点。

    (1)从全局观点组织数据。在数据库系统中,对于数据,不仅要描述数据本身,而且要描述数据之间的联系。从整体看,不仅要考虑一个应用的数据结构,更要考虑整个应用的数据结构。数据库系统实现整体数据结构化,是数据库的一个特征。

    深圳蓝快IDC

    (2)实现数据共享,减少数据冗余。数据库从整体描述数据,数据是面向整个系统的,因此数据可以被多个用户、多个应用程序共享使用。数据共享可以大大减少数据冗余,节约存储空间,减少存取时间,避免数据之间的不相容性和不一致性,更好地实现数据规范化和标准化。

    (3)采用特定数据模型,具有较高数据独立性。在数据库系统阶段,由DBMS对数据进行统一管理,用户可以在更高的抽象级别上观察和访问数据,而不必考虑有关文件的创建、打开、读/写、关闭等一些低级操作,也不必关心数据存储和其他实现的具体细节。同时,DBMS屏蔽了对文件结构所做的一些修改,从而减轻了应用程序维护和修改工作量,提高了数据的独立性。

    (4)有统一的数据控制功能。数据库是系统中各用户的共享资源,因此系统必须提供数据的安全性、完整性和并发性等控制机制。这些在文件系统中难以实现的功能在DBMS中都一一实现了。数据安全性访问控制能保护数据不被非法使用,且能防止数据库被非法使用而造成数据泄密和破坏。完整性控制能保证数据正确性、有效性和相容性,在发生故障情况下能实现数据一致性的恢复功能。并发控制能使用与不同类型用户交互的多用户界面,保证并发访问时的数据一致性。

    展开全文
  • 所谓分布式数据库系统就是由一组组成的,这些数据物理上分布计算机网络的不同节点(也称为场地)上,逻辑上则同属于一个系统。分布式数据库实质上是指一个数据在多个不同地理位置存储的数据库。数据库的某一部分...

    20世纪70年代后期,随着计算机硬件系统与通信系统的发展,分布式数据库应运而生。它是数据库技术和计算机网络技术结合的产物。所谓分布式数据库系统就是由一组组成的,这些数据物理上分布在计算机网络的不同节点(也称为场地)上,逻辑上则同属于一个系统。分布式数据库实质上是指一个数据在多个不同地理位置存储的数据库。数据库的某一部分在一个位置存储和处理,数据库的其他部分在另外一个或多个位置存储和处理。


    分布式数据库本身是分布的,能很好地适应一个单位的具体需求,用户可以根据自己的实际需要与能力来构建自己的分布式挽留过系统。如果经济比较紧张,开始时可以少建一些节点,以后需要扩大时再增加节点,因此灵活性好,可扩充性强。

    深圳IT外包

    由于数据是分布的,所以通常处理也是分布的,也就是说,位于本地计算机上的数据通常由本地计算机处理,降低了对网络服务器的处理要求,提高了整个系统的处理能力。


    虽然数据相关,要为各个用户所共享,但是异地访问的数据往往比本地访问的数据要多得多,因而减少了通讯的开销,提高了系统的性能。

    深圳蓝快IDC

    由于数据分布在不同位置的计算机上,若某些计算机出了故障,但其他节点计算机仍可以工作,因此不会导致整个数据的破坏。如果进一步采取数据冗余技术(例如,将某些重要数据定期补充到其他节点计算机上),则整个系统还可以具有一定的容错能力。

    作为一个良好的分布式数据库系统,需要很好地解决分布式数据库维护和数据一致性的问题,解决分布式环境下的数据安全保密问题。

    展开全文
  • 数据库系统第一章绪论本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点在于ER模型的设计和关系模型的掌握。一、数据管理技术的发展...2、文件系统阶段的特点与缺陷:(1)数据可长期保存磁...

    数据库系统

    第一章绪论

    本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点在于ER模型的设计和关系模型的掌握。

    一、数据管理技术的发展阶段(识记)

    数据管理技术共经历了三个阶段:人工管理阶段、文件系统阶段、数据库阶段:

    1、人工管理阶段的特点:

    (1)数据不保存在机器中

    (2)没有专用软件对数据进行管理

    (3)只有程序的概念,没有文件的概念。

    2、文件系统阶段的特点与缺陷:

    (1)数据可长期保存在磁盘上。

    (2)数据的逻辑结构与物理结构有了区别

    (3)文件组织呈现多样化

    (4)数据不再属于某个特定程序,可以重复使用。

    其缺陷是:

    数据冗余性

    数据不一致性

    数据联系弱

    3、数据库阶段的特点

    采用复杂的数据模型表示数据结构

    有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)

    数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据库。

    系统提供了四个方面的数据控制功能:数据库的恢复、并发控制、数据完整性和数据安全性。

    对数据的操作不一定以记录为单位,还可以数据项为单位。

    数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的,要分清。

    DB:数据库(Database),DB是统一管理的相关数据的集合。

    DBMS:数据库管理系统(Database Management

    System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

    DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

    数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。

    二、数据描述的术语(领会)

    1、数据描述的三个领域:现实世界、信息世界和机器世界。

    信息世界中的几个概念:实体(即客观存在可以相互区别的事物)、实体集(同类实体的集合)、属性(实体的特性)、实体标识符(唯一标识实体的属性(集))。

    机器世界中的四个概念:字段、记录、文件、键(关键码)。

    2、数据描述的两种形式:物理描述和逻辑描述。前者是指数据在存储设备上的存取方式,后者是指程序员或用户以用以操作的数据形式。

    3、数据联系的描述:

    1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为"一对一联系",记为"1:1"。

    1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是"一对多联系",记为"1:N"。

    M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是"多对多联系",记为"M:N"。

    三、数据模型

    1、数据模型的概念(领会):

    表示实体类型及实体类型间联系的模型称为"数据模型"。它可分为两种类型:概念数据模型和结构数据模型。

    2、 概念数据模型(领会):

    它是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。(掌握ER模型)

    3、 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为"结构数据模型"。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。

    层次模型(识记):用树型结构表示实体间联系的数据模型

    关系模型(领会):是由若干个关系模式组成的集合,其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。

    四、数据库的体系结构(领会)

    1、三级结构模式:数据库的体系结构分为三级:内部级、概念级和外部级:

    外部级:单个用户所能看到的数据特性,称外模式。

    概念级:涉及到所有用户的数据定义,是全局的数据视图,称"概念模式"。

    内部级:最接近于物理存储,涉及到实际数据存储的结构,称"内模式"。

    2、两级映象:

    模式/内模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。

    外模式/模式映象:用于定义外模式和概念模式间的对应性。一般在外模式中描述。

    3.两级数据独立性:

    物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。

    逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。

    五、数据库管理系统(DBMS 领会)

    1、DBMS的主要功能:

    (1)数据库的定义功能

    (2)数据库的操纵功能

    (3)数据库的保护功能

    (4)数据库的存储管理

    (5)数据库的维护功能

    (6)数据字典

    2、DBMS的组成:

    由两大部分组成:查询处理器和存储管理器,前者包括DDL编译器、DML编译器、嵌入型DML预编译器、查询运行核心程序。后者包括授权和完整性管理器,事务管理器、文件管理器,缓冲区管理器。

    六、数据库系统(DBS 领会)

    DBS由四部分组成:数据库、硬件、软件、数据库管理员。

    DBS的全局结构及DBS的效益,了解一下。

    第二章 关系数据库

    本章为次重点章,我们经常使用的数据库均采用关系模型,本章主要介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解,为后面章节的SQL作准备。

    一、关系模型的基本概念(识记)

    1、关系模型的基本术语:

    用二维表格结构表示实体集、外键表示实体间联系的数据模型称为关系模型。

    基本术语有:字段(属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或实例)。在这里,括号中的表述为关系模型中的术语。它与表格中术语可以一一对应。还有,关系中属性个数称为元数,元组个数为基数。

    键:由一个或几个属性组成。(注意键不一定是唯一的一个属性)。

    超键:在关系中能唯一标识元组的属性集称为关系模式的超键。(注意,超键也是一个属性集,不一定只是一个属性)

    候选键:不含有多余属性的超键称为候选键。

    主键:用户选作元组标识的一个候选键为主键。

    外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

    2、关系模式、关系子模式

    关系模式:关系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主键。关系模式仅是对数据特性的描述。 (这通常在数据库中表现为一个数据表的结构)

    关系子模式:就是用户所用到那部分数据的描述。

    3、关系模型的三类完整性规则

    实体完整性规则:要求关系中组成主键的属性上不能有空值。

    参照完整性规则:要求不引用不存在的实体。

    用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。

    4、关系模型的形式定义:数据结构、数据操作和完整性规则。

    二、关系代数运算(简单应用)

    1、关系代数的五个基本操作:并、差、笛卡尔积、投影和选择。

    并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。

    差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。

    投影(σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。

    选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。

    2、关系代数的四个组合操作:交、联接、自然联接和除法

    交(∩):R和S的交是由既属于R又属于S的元组构成的集合。

    联接包括θ联接和F联接,是选择R×S中满足iθ(r+j)或F条件的元组构成的集合,特别注意等值联接(θ为等号"=")。

    自然联接(R|X|S):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。

    除法(÷):首先除法的结果中元数为两个元数的差,以例2.6为例,我们可以直接用观察法来得到结果,把S看作一个块,拿到R中去和相同属性集中的元组作比较,如果有相同的块,且除去此块后留下的相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是除法的结果。

    对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。注意课本上的例子和给的练习题。

    3、关系代数表达式及应用

    在关系代数表达式中,复合了上述五个基本操作,在给出相应的表格(关系)中,应该能够根据给出的关系代数表达式计算关系值,也要能根据相应查询要求列出关系表达式。

    在列关系表达式时,通常有以下形式:

    π...(σ...(R×S))或者π...(σ...(R|X|S))

    首先把查询涉及到的关系取来,执行笛卡尔积或自然联接操作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影)操作。但是注意当查询涉及到否定或全部值时,就不能用上述形式,而要用到差或除法操作。

    第三章关系数据库SQL语言

    本章为重点章,应熟悉和掌握SQL的数据定义、数据查询、数据更新的句法及其应用,特别是数据查询的应用。结合上机操作进行理解和掌握。

    一、SQL概述。

    1、SQL发展历程(识记)

    SQL从1970年美国IBM研究中心的E.F.Codd发表论文到1974年Boyce和Chamberlin把SQUARE语言改为SEQUEL语言,到现在还在不断完善和发展之中,SQL(结构式查询语言)虽然名为查询,但实际上具有定义、查询、更新和控制等多种功能。

    2、SQL数据库的体系结构(领会)

    SQL数据库的体系结构也是三级结构,但术语与传统关系模型术语不同,在SQL中,关系模式称为"基本表",存储模式称为"存储文件",子模式称为"视图",元组称"行",属性称"列"。

    SQL数据库体系的结构要点如下:

    (1)一个SQL数据库是表的汇集。

    (2)一个SQL表由行集构成,行是列的序列,每列对应一个数据项。

    (3)表或者是基本表,或者是视图。基本表是实际存储在数据库中的表,视图由是由若干基本表或其他视图构成的表的定义。

    (4)一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。存储文件与物理文件对应。

    (5)用户可以用SQL语句对表进行操作,包括视图和基本表。

    (6)SQL的用户可以是应用程序,也可以是终端用户。

    3、SQL的组成(识记)

    SQL由三部分组成:

    (1)数据定义:SQL DDL。定义SQL模式,基本表、视图和索引。

    (2)数据操纵:SQL DML。包括数据查询和数据更新(增、删、改)。

    (3)数据控制:包括对基本表和视图的授权、完整性规则的描述,事务控制等。

    二、SQL的数据定义(简单应用)

    1、SQL模式的创建和撤消:

    SQL模式的创建可简单理解为建立一个数据库,定义一个存储空间,其句法是:

    CREAT SCHEMA

    AUTHORIZATION

    撤消SQL模式的句法为:

    DROP SCHEMA

    [CASCADE|RESTRICT]

    方括号中的选项参数CASCADE表示连锁方式,执行时将模式下所有基本表、视图、索引等元素全部撤消。RESTRICT表示约束式,执行时必须在SQL模式中没有任何下属元素时方可撤消模式。

    2、SQL提供的基本数据类型

    数值型:包括 integer、smallint、real、double precision 、float(n),numeric(p,d)

    字符串型:char(n)、varchar(n),前者是定长,后者为变长串

    位串型:bit(n),bit varying(n),同上。

    时间型:date、time。

    3、基本表的创建、修改和撤消

    基本表的创建:(可理解为建立表结构)

    CREAT TABLE SQL 模式名.基本表名

    (列名,类型,

    ……

    完整性约束...)

    完整性约束包括主键子句(PRIMARY KEY)、检查子句(CHECK)和外键子句(Foreign KEY).

    基本表结构的修改

    ALTER TABLE 基本表名 ADD/DROP(增加/删除) 列名 类型名(增加时写出)

    删除时有子句 [CASCADE|RESTRICT],前者为连锁删除,后者为约束删除,即没有对本列的任何引用时才能删除。

    基本表的撤消

    DROP TABLE 基本表名 [CASCADE|RESTRICT]

    4、视图的创建和撤消

    创建:CREAT VIEW 视图名(列名表) AS SELECT 查询语句

    撤消:DROP VIEW 视图名

    5、索引的创建和撤消

    创建:CREAT [UNIQUE] INDEX 索引名 ON 基本表名(列名表 [ASC|DESC])

    撤消:DROP INDEX 索引名

    总结:凡创建都用CREAT ,删除都用DROP,改变用alter,再跟类型和名字,附加子句很容易了。

    三、SQL的数据查询(综合应用)

    这一段是本章的重点内容,应该熟练掌握。首先了解基本句法:

    1、SELECT-FROM-WHERE句型

    SELECT 列名表(逗号隔开) FROM 基本表或视图序列 WHERE 条件表达式

    在这里,重点要掌握条件表达式中各种运算符的应用,如=,>,等算术比较运算符、逻辑运算符AND、OR、NOT、集合成员资格运算符:IN,NOT

    IN,以及嵌套的SELECT语句的用法要特别注意理解。针对课本的例题和课后习题进行掌握。

    在查询时,SELECT语句可以有多种写法,如联接查询、嵌套查询和使用存在量词的嵌套查询等。最好都掌握,但是起码应能写出一种正确的查询语句。

    2.SELECT 语句完整的句法:

    SELECT 列名表(逗号隔开)

    FROM 基本表或视图序列

    [WHERE 条件表达式] (此为和条件子句)

    [GROUP BY 列名序列] (分组子句)

    [HAVING 组条件表达式] (组条件子句)

    [ORDER BY列名[ASC|DESC]..] (排序子句)

    这段关于完整句法的内容能够理解也就问题不大了。

    3、SELECT语句中的限定

    这一段内容主要是对SELECT语句进一步使用进行的深入学习,领会下列各种限定的使用目的和方法。

    要求输出表格中不出现重复元组,则在SELECT后加一DISTINCT

    SELECT 子句中允许出现加减乘除及列名,常数的算术表达式

    WHERE 子句中可以用BETWEEN...AND...来限定一个值的范围

    同一个基本表在 SELECT语句中多次引用时可用AS来增加别名

    WHERE子句中字符串匹配用LIKE和两个通配符,%和下划线_.

    查询结果的结构完全一致时可将两个查询进行并(UNION)交(INTERSECT)差(EXCPT)操作

    查询空值操作不是用='null',而是用 IS NULL来测试。

    集合成员资格比较用 IN/NOT IN ,集合成员算术比较用元组θSOME/ALL

    可以用子查询结果取名(表名(列名序列))来作为导出表使用

    基本表的自然联接操作是用 NATURAL INNER JOIN来实现的。

    四、SQL的数据更新(简单应用)

    简单应用就是掌握基本的句型并能套用在一些简单的查询要求上。

    1、数据插入:

    INSERT INTO 基本表名(列名表)

    VALUES (元组值)

    INSERT INTO 基本表名(列名表)

    SELECT 查询语句

    其中元组值可以连续插入。用查询语句可以按要求插入所需数据。

    2、数据删除:

    DELETE FROM 基本表名 [WHERE条件表达式]

    3、数据修改:

    UPDATE 基本表名

    SET 列名=值表达式,[列名=值表达式...]

    [WHERE 条件表达式]

    这一节的关于增删改的操作要和前面关于数据库模式、表的增删改操作进行对比学习,以加深理解。不要忘记上机实践。

    第五章关系数据理论

    本章的理论性较强,学习时有无从下手的感觉,在学习时应多加思考,从概念出发去理解理论,前后的理论有较强的联系,因此要逐个理解,但对于理论的证明等内容则不必深究,本章重点是函数依赖和范式的概念。

    一、关系模式的设计问题(识记)

    关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。关系实质上就是一张二维表,表的行称为元组,列称为属性。

    关系模式是用来定义关系的,这里的关系模式我们可以简单地理解为一个表的结构,一个关系数据库包含一组关系,也就是包含一组二维表,这些二维表结构体的集合就构成数据库的模式(也可以理解为数据库的结构)。

    关系数据库设计理论包括三个方面内容:数据依赖、范式、模式设计方法。核心内容是数据依赖。

    关系模式的存储异常:数据冗余、更新异常、插入异常和删除异常

    二、函数依赖(FD)

    1、函数依赖的定义(领会):设有关系模式R(A1,A2,...An)或简记为R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。

    这个定义可以这样理解:有一张设计好的二维表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函数依赖于X。如下图所示:

    教师

    课程

    张老师

    物理

    杨老师

    化学

    李老师

    物理

    在表中,凡教师名相同的,对应的课程名也必是相同的,则此时说

    教师名函数决定课程名,或"课程名"函数依赖于"教师名"。但是反过来不一定,课程名相同时并不一定教师名相同,所以这里的Y→X是不成立的。

    要特别注意的是,在这张表中,任何一行的关系均应符合上述条件,如果有一行不符合函数依赖的条件,则函数依赖对于这个关系就不成立。

    还有应该了解的是,函数依赖是否成立是不可证明的,只能通过属性的含义来判断,上述表是一个关系实例,可以一条条进行验证,但是对于模式设计来说,开始时并没有数据插入,我们只能从属性的含义出发,如这个关系模式保存了全校所有教师和课程对应关系,则有可能出现相同的教师名而课程名不是一样的情况(有同名教师),那么"课程名→教师名"这个函数依赖就不成立了。

    上述例子可对照课本理论进行领会。

    2、键和FD的关系(领会)

    键是唯一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子集,

    (1)X→A1A2...An∈F+ (它的意思是X能够决定唯一的一个元组)

    (2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。(它的意思是X能决定唯一的一个元组但又没有多余的属性集)

    包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性(非键属性),注意主属性应当包含在候选键中。

    3、函数依赖(FD)的推理规则(了解)

    前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定F或F+的所有函数依赖。

    设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则如下:

    自反律:如果Y X U,则X→Y在R上成立。

    增广律:如果X→Y为F所蕴涵,Z U,则XZ→YZ在R上成立。(XZ表示X∪Z,下同)

    传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。

    合并律:如果X→Y和X→Z成立,那么X→YZ成立。

    伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。

    分解律:如果X→Y和Z Y成立,那么X→Z成立。

    三、关系模式的范式(领会)

    1、1NF、2NF、3NF、BCNF的定义:

    1NF:第一范式。

    即关系模式中的属性的值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。

    比如有一个关系 顾客={顾客,送货地址},若有这样几行记录:

    顾客 送货地址

    张三   北京、上海

    李四 北京

    这时的第一条记录就表示本关系模式不是1NF的,因为课程中的值域还是可以分解的,它包括了两个地址,如分为:

    顾客 送货地址

    张三   北京

    张三 上海

    李四 北京

    就成为第一范式的关系模式。

    2NF:第二范式。

    如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。

    在这里要先了解"非主属性"、"完全函数依赖"、"候选键"这三个名词的含义。

    候选键就是指可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。

    非主属性也就是非键属性,指关系模式R中不包含在任何建中的属性。

    设有函数依赖W→A,若存在X W,有X→A成立,那么称W→A是局部依赖,否则就称W→A是完全函数依赖。

    在分析是否为第2范式时,应首先确定候选键,然后把关系模式中的非主属性与键的依赖关系进行考察,是否都为完全函数依赖,如是,则此关系模式为2NF。如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于2NF的数据库模式。

    3NF:第三范式。

    如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式的模式。

    这里首先要了解传递依赖的含义: 在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。

    注意的是,这里要求非主属性都不传递依赖于候选键。

    BCNF:这个范式和第三范式有联系,它是3NF的改进形式。若关系模式R是第一范式,且每个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。

    纵观四种范式,可以发现它们之间存在如下关系:

    BCNF 3NF 2NF 1NF

    1NF

    ↓ 消去非主属性对键的部分函数依赖

    2NF

    ↓ 消去非主属性对键的传递函数依赖

    3NF

    ↓ 消去主属性对键的传递函数依赖

    BCNF

    2、多值依赖。简单了解一下。

    第六章数据库设计

    与上一章不同,本章的实用性较强,详细讲述了数据库应用系统设计的全过程。重点是概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型的转换方法。

    一、数据库设计概述(识记)

    1、软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件所取代而停止使用的整个期间。它包括六个阶段:(规需设编试运维)

    (1)规划阶段

    (2)需求分析阶段

    (3)设计阶段

    (4)程序编制阶段

    (5)调试阶段

    (6)运行维护阶段

    2、数据库系统生存期

    数据库应用系统的开发也是一项软件工程,称为数据库工程,数据库应用系统也有生存期的概念,通常包括七个阶段:

    (1)规划阶段

    (2)需求分析阶段

    (3)概念设计阶段

    (4)逻辑设计阶段

    (5)物理设计阶段

    (6)实现阶段

    (7)运行维护阶段

    3、数据库设计方法学

    一个好的数据库设计方法应该能在合理的期限内,以合理的工作量产生一个有实用价值的数据库结构。

    数据库及其应用系统的设计分为以下几个阶段:规划、需求分析、概念设计、逻辑设计、物理设计。

    二、需求分析(识记)

    需求分析阶段应对系统的整个应用情况作全面的、详细的调查、确定用户的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户需求,并把这些要求写成用户和数据库设计者都能够接受的文档。

    确定用户需求可以通过对不同层次的企业管理人员进行个人访问得到。还应了解系统将来要发生的变化,充分考虑系统的可能的扩充和变动,使系统设计更符合未来发展方向。

    需求分析的步骤大致分为三步:即需求信息的收集、分析整理和评审。

    数据字典:是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。它包含以下几个部分:数据项、数据结构、数据流、数据存储和加工过程。

    三、概念设计(识记)

    1、概念模型:可以看成是现实世界到机器世界的一个过渡的中间层次。在设计数据库系统时,要把现实世界的事物通过认识和抽象转换为信息世界的概念模型,再把概念模型转换为机器世界的数据模型。

    2、概念设计的主要步骤:分三步完成:(1)进行数据抽象,设计局部概念模式;(2)将局部概念模式综合成全局概念模式;(3)评审。

    3、数据抽象:数据抽象的两种形式:聚集和概括:

    聚集:其数学意义就是笛卡尔积的概念,通过聚集,形成对象之间的一个联系对象。如有一些对象:"老师,课程,班级,上课时间",通过聚集可以得到一个联系对象"课程表"。聚集表示的是"is_part_of"的关系。

    概括:是从一类其他对象形成一个对象。如有桃树、李树、杏树等对象,我们通过概括或以得到一个对象"树"。概括表示的是"is_a"的关系,如"李树"是一种"树"。

    4、基本ER模型的扩展(领会)

    ER(实体联系)模型是对现实世界的一种抽象,它的主要成份是实体、联系和属性。但是在现实世界中还有一些特殊的语义。需要扩展ER模型的概念才能更好地模拟现实世界。

    依赖联系:在现实世界中,有些实体对一另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提。前者就称为"弱实体",如在人事管理系统中,职工子女的信息就是以职工的存在为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系。在ER图中用双线框表示弱实体。用箭头表示依赖联系。

    子类:在现实中,存在某个实体类型中所有实体同时也是另一实体类型中的实体,此时,我们称前一实体类型为者的子类,后一实体类型称为超类。子类有一个很重要的性质继承性。在ER图中,超类用两端双线框表示,并用加圈的线与子类相连。

    5、采用ER方法的数据库概念设计(领会)

    采用ER方法进行数据库概念设计分成三步进行:

    首先设计局部ER模式

    然后把各局部ER模式综合成全局ER模式

    最后对全局ER模式进行优化

    四、逻辑设计

    1、 概念设计的结果是得到一个与DBMS无关的概念模式。而逻辑设计的目的是把概念设计阶段设计好的基本ER图转换为与选用的具体机器上的DBMS所支持的数据模式相符合的逻辑结构(包括数据库模式和外模式)。

    2、 转换的规则

    其它内容数据库保护

    主要内容包括数据库保护的四种措施:数据库事务管理与备份恢复、并发控制、完整性和安全性。了解这些内容及其在SQL语言中的实现方式。

    一、数据库的事务与备份(领会)

    1、事务的概念:事务是一个操作序列。这些操作要么什么都做,要么都不做,是一个不可分割的工作单位。事务以BEGIN

    TRANSACTION语句开始,以COMMIT(提交)语句或ROLLBACK(回退或撤消)语句结束。

    一个程序的执行可通过若干事务的执行序列来完成。

    2、事务的性质:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。称为事务的ACID性质。

    通过教材的例子来理解事务的性质。

    3、数据备份与恢复

    了解SQLServer的备份与恢复机制

    二、数据库的并发控制(领会)

    1、并发控制带来的三类问题:

    (1)丢失更新的问题

    (2)不一致分析问题

    (3)"脏数据"的读出。(在数据库技术中,未提交的随后又被撤消的数据为"脏数据"。)

    2、为解决并发控制带来的问题,通常要采用封锁(locking)技术,常用的封锁有:排它型封锁(X封锁)和共享型封锁(S封锁)两种。

    3. 死锁:有两个或以上的事务处于等待状态,每个事务都在等待另一个事务解除封锁,它才能继续执行下去,结果任何一个事务都无法执行,这种现象就是死锁。

    解除死锁的方法是由DBMS中的"死锁测试程序"来检查,如发现死锁则牺牲一个事务,并做回退操作,解除它的所有封锁。

    三、数据库的完整性(领会)

    1、数据库的完整性是指数据的正确性和相容性。数据库中数据发生错误,往往是由非法更新引起的。

    数据库完整性是通过DBMS的完整性子系统实现的,它有两个功能:

    (1)监督事务的执行,并测试是否违反完整性规则。

    (2)如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。

    2. 完整性分类

    两种分类方法:1。域完整性、实体完整性、参照完整性和用户自定义完整性

    2.六种完整性约束

    3. 六种完整性约束的实现方法(领会)

    例如:可在SQL中实现的完整性约束

    在SQL中,表达完整性约束的规则有主键约束、外键约束、属性值约束和全局约束等多种形式。

    主键约束:可用主键子句或主键短语 PRIMARY KEY 来定义。

    外键约束:可用外键子句来定义如 FOREIGN KEY (S#) REFERNCE S(S#)

    属性值约束:包括非空值约束(NOT NULL)和基于属性的检查子句(CHECK) 及域约束子句 如CREAT DOMAIN AGE SMALLINT CHECK (VALUE>10)

    全局约束:包括基于元组的检查子句(CHECK)和触发器。

    注意:事务机制也是一种完整性约束实现手段,它可以实现动态关系约束。

    四、数据库的安全性(识记)

    数据库的安全性是指保护数据库防止不合法的使用,以免数据的泄漏、非法更改和破坏。

    1、用户或应用程序使用数据库的方式称为权限,权限的种类:

    访问数据权限:读、插入、修改、删除四种

    修改数据库模式权限:索引(创建或删除索引)、资源(创建新关系)、修改(增删关系结构属性)和撤消权限(撤消关系)

    2、权限的转授与回收:画一个权限图,只要根结点到用户结点之间存在一条路径,那么它就有权限,回收时就是删去某些路径。

    3. SQL中的安全性控制

    SQL中有两个安全机制:一是视图机制、二是授权子系统。

    视图是从一个或几个基本表导出的表,是虚表,视图定义后可以像基本表一样用于查询和删除,但其更新操作(增、删、改)会受到限制。

    视图机制把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义外的其他数据,从而保证了数据库的安全性。视图机制使系统具有三个优点:数据安全性、数据独立性和操作简便性。

    授权机制(grant/revoke/deny等语句)可以保证用户只能进行其权限范围内的操作。

    数据挖掘

    第一章绪论

    本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点在于ER模型的设计和关系模型的掌握。

    一、数据管理技术的发展阶段(识记)

    数据管理技术共经历了三个阶段:人工管理阶段、文件系统阶段、数据库阶段:

    1、人工管理阶段的特点:

    (1)数据不保存在机器中

    (2)没有专用软件对数据进行管理

    (3)只有程序的概念,没有文件的概念。

    2、文件系统阶段的特点与缺陷:

    (1)数据可长期保存在磁盘上。

    (2)数据的逻辑结构与物理结构有了区别

    (3)文件组织呈现多样化

    (4)数据不再属于某个特定程序,可以重复使用。

    其缺陷是:

    数据冗余性

    数据不一致性

    数据联系弱

    3、数据库阶段的特点

    采用复杂的数据模型表示数据结构

    有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)

    数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据库。

    系统提供了四个方面的数据控制功能:数据库的恢复、并发控制、数据完整性和数据安全性。

    对数据的操作不一定以记录为单位,还可以数据项为单位。

    数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的,要分清。

    DB:数据库(Database),DB是统一管理的相关数据的集合。

    DBMS:数据库管理系统(Database Management

    System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

    DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

    数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。

    二、数据描述的术语(领会)

    1、数据描述的三个领域:现实世界、信息世界和机器世界。

    信息世界中的几个概念:实体(即客观存在可以相互区别的事物)、实体集(同类实体的集合)、属性(实体的特性)、实体标识符(唯一标识实体的属性(集))。

    机器世界中的四个概念:字段、记录、文件、键(关键码)。

    2、数据描述的两种形式:物理描述和逻辑描述。前者是指数据在存储设备上的存取方式,后者是指程序员或用户以用以操作的数据形式。

    3、数据联系的描述:

    1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为"一对一联系",记为"1:1"。

    1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是"一对多联系",记为"1:N"。

    M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是"多对多联系",记为"M:N"。

    三、数据模型

    1、数据模型的概念(领会):

    表示实体类型及实体类型间联系的模型称为"数据模型"。它可分为两种类型:概念数据模型和结构数据模型。

    2、 概念数据模型(领会):

    它是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。(掌握ER模型)

    3、 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为"结构数据模型"。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。

    层次模型(识记):用树型结构表示实体间联系的数据模型

    关系模型(领会):是由若干个关系模式组成的集合,其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。

    四、数据库的体系结构(领会)

    1、三级结构模式:数据库的体系结构分为三级:内部级、概念级和外部级:

    外部级:单个用户所能看到的数据特性,称外模式。

    概念级:涉及到所有用户的数据定义,是全局的数据视图,称"概念模式"。

    内部级:最接近于物理存储,涉及到实际数据存储的结构,称"内模式"。

    2、两级映象:

    模式/内模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。

    外模式/模式映象:用于定义外模式和概念模式间的对应性。一般在外模式中描述。

    3.两级数据独立性:

    物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。

    逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。

    五、数据库管理系统(DBMS 领会)

    1、DBMS的主要功能:

    (1)数据库的定义功能

    (2)数据库的操纵功能

    (3)数据库的保护功能

    (4)数据库的存储管理

    (5)数据库的维护功能

    (6)数据字典

    2、DBMS的组成:

    由两大部分组成:查询处理器和存储管理器,前者包括DDL编译器、DML编译器、嵌入型DML预编译器、查询运行核心程序。后者包括授权和完整性管理器,事务管理器、文件管理器,缓冲区管理器。

    六、数据库系统(DBS 领会)

    DBS由四部分组成:数据库、硬件、软件、数据库管理员。

    DBS的全局结构及DBS的效益,了解一下。

    第二章 关系数据库

    本章为次重点章,我们经常使用的数据库均采用关系模型,本章主要介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解,为后面章节的SQL作准备。

    一、关系模型的基本概念(识记)

    1、关系模型的基本术语:

    用二维表格结构表示实体集、外键表示实体间联系的数据模型称为关系模型。

    基本术语有:字段(属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或实例)。在这里,括号中的表述为关系模型中的术语。它与表格中术语可以一一对应。还有,关系中属性个数称为元数,元组个数为基数。

    键:由一个或几个属性组成。(注意键不一定是唯一的一个属性)。

    超键:在关系中能唯一标识元组的属性集称为关系模式的超键。(注意,超键也是一个属性集,不一定只是一个属性)

    候选键:不含有多余属性的超键称为候选键。

    主键:用户选作元组标识的一个候选键为主键。

    外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

    2、关系模式、关系子模式

    关系模式:关系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主键。关系模式仅是对数据特性的描述。 (这通常在数据库中表现为一个数据表的结构)

    关系子模式:就是用户所用到那部分数据的描述。

    3、关系模型的三类完整性规则

    实体完整性规则:要求关系中组成主键的属性上不能有空值。

    参照完整性规则:要求不引用不存在的实体。

    用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。

    4、关系模型的形式定义:数据结构、数据操作和完整性规则。

    二、关系代数运算(简单应用)

    1、关系代数的五个基本操作:并、差、笛卡尔积、投影和选择。

    并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。

    差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。

    投影(σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。

    选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。

    2、关系代数的四个组合操作:交、联接、自然联接和除法

    交(∩):R和S的交是由既属于R又属于S的元组构成的集合。

    联接包括θ联接和F联接,是选择R×S中满足iθ(r+j)或F条件的元组构成的集合,特别注意等值联接(θ为等号"=")。

    自然联接(R|X|S):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。

    除法(÷):首先除法的结果中元数为两个元数的差,以例2.6为例,我们可以直接用观察法来得到结果,把S看作一个块,拿到R中去和相同属性集中的元组作比较,如果有相同的块,且除去此块后留下的相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是除法的结果。

    对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。注意课本上的例子和给的练习题。

    3、关系代数表达式及应用

    在关系代数表达式中,复合了上述五个基本操作,在给出相应的表格(关系)中,应该能够根据给出的关系代数表达式计算关系值,也要能根据相应查询要求列出关系表达式。

    在列关系表达式时,通常有以下形式:

    π...(σ...(R×S))或者π...(σ...(R|X|S))

    首先把查询涉及到的关系取来,执行笛卡尔积或自然联接操作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影)操作。但是注意当查询涉及到否定或全部值时,就不能用上述形式,而要用到差或除法操作。

    第三章关系数据库SQL语言

    本章为重点章,应熟悉和掌握SQL的数据定义、数据查询、数据更新的句法及其应用,特别是数据查询的应用。结合上机操作进行理解和掌握。

    一、SQL概述。

    1、SQL发展历程(识记)

    SQL从1970年美国IBM研究中心的E.F.Codd发表论文到1974年Boyce和Chamberlin把SQUARE语言改为SEQUEL语言,到现在还在不断完善和发展之中,SQL(结构式查询语言)虽然名为查询,但实际上具有定义、查询、更新和控制等多种功能。

    2、SQL数据库的体系结构(领会)

    SQL数据库的体系结构也是三级结构,但术语与传统关系模型术语不同,在SQL中,关系模式称为"基本表",存储模式称为"存储文件",子模式称为"视图",元组称"行",属性称"列"。

    SQL数据库体系的结构要点如下:

    (1)一个SQL数据库是表的汇集。

    (2)一个SQL表由行集构成,行是列的序列,每列对应一个数据项。

    (3)表或者是基本表,或者是视图。基本表是实际存储在数据库中的表,视图由是由若干基本表或其他视图构成的表的定义。

    (4)一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。存储文件与物理文件对应。

    (5)用户可以用SQL语句对表进行操作,包括视图和基本表。

    (6)SQL的用户可以是应用程序,也可以是终端用户。

    3、SQL的组成(识记)

    SQL由三部分组成:

    (1)数据定义:SQL DDL。定义SQL模式,基本表、视图和索引。

    (2)数据操纵:SQL DML。包括数据查询和数据更新(增、删、改)。

    (3)数据控制:包括对基本表和视图的授权、完整性规则的描述,事务控制等。

    二、SQL的数据定义(简单应用)

    1、SQL模式的创建和撤消:

    SQL模式的创建可简单理解为建立一个数据库,定义一个存储空间,其句法是:

    CREAT SCHEMA

    AUTHORIZATION

    撤消SQL模式的句法为:

    DROP SCHEMA

    [CASCADE|RESTRICT]

    方括号中的选项参数CASCADE表示连锁方式,执行时将模式下所有基本表、视图、索引等元素全部撤消。RESTRICT表示约束式,执行时必须在SQL模式中没有任何下属元素时方可撤消模式。

    2、SQL提供的基本数据类型

    数值型:包括 integer、smallint、real、double precision 、float(n),numeric(p,d)

    字符串型:char(n)、varchar(n),前者是定长,后者为变长串

    位串型:bit(n),bit varying(n),同上。

    时间型:date、time。

    3、基本表的创建、修改和撤消

    基本表的创建:(可理解为建立表结构)

    CREAT TABLE SQL 模式名.基本表名

    (列名,类型,

    ……

    完整性约束...)

    完整性约束包括主键子句(PRIMARY KEY)、检查子句(CHECK)和外键子句(Foreign KEY).

    基本表结构的修改

    ALTER TABLE 基本表名 ADD/DROP(增加/删除) 列名 类型名(增加时写出)

    删除时有子句 [CASCADE|RESTRICT],前者为连锁删除,后者为约束删除,即没有对本列的任何引用时才能删除。

    基本表的撤消

    DROP TABLE 基本表名 [CASCADE|RESTRICT]

    4、视图的创建和撤消

    创建:CREAT VIEW 视图名(列名表) AS SELECT 查询语句

    撤消:DROP VIEW 视图名

    5、索引的创建和撤消

    创建:CREAT [UNIQUE] INDEX 索引名 ON 基本表名(列名表 [ASC|DESC])

    撤消:DROP INDEX 索引名

    总结:凡创建都用CREAT ,删除都用DROP,改变用alter,再跟类型和名字,附加子句很容易了。

    三、SQL的数据查询(综合应用)

    这一段是本章的重点内容,应该熟练掌握。首先了解基本句法:

    1、SELECT-FROM-WHERE句型

    SELECT 列名表(逗号隔开) FROM 基本表或视图序列 WHERE 条件表达式

    在这里,重点要掌握条件表达式中各种运算符的应用,如=,>,等算术比较运算符、逻辑运算符AND、OR、NOT、集合成员资格运算符:IN,NOT

    IN,以及嵌套的SELECT语句的用法要特别注意理解。针对课本的例题和课后习题进行掌握。

    在查询时,SELECT语句可以有多种写法,如联接查询、嵌套查询和使用存在量词的嵌套查询等。最好都掌握,但是起码应能写出一种正确的查询语句。

    2.SELECT 语句完整的句法:

    SELECT 列名表(逗号隔开)

    FROM 基本表或视图序列

    [WHERE 条件表达式] (此为和条件子句)

    [GROUP BY 列名序列] (分组子句)

    [HAVING 组条件表达式] (组条件子句)

    [ORDER BY列名[ASC|DESC]..] (排序子句)

    这段关于完整句法的内容能够理解也就问题不大了。

    3、SELECT语句中的限定

    这一段内容主要是对SELECT语句进一步使用进行的深入学习,领会下列各种限定的使用目的和方法。

    要求输出表格中不出现重复元组,则在SELECT后加一DISTINCT

    SELECT 子句中允许出现加减乘除及列名,常数的算术表达式

    WHERE 子句中可以用BETWEEN...AND...来限定一个值的范围

    同一个基本表在 SELECT语句中多次引用时可用AS来增加别名

    WHERE子句中字符串匹配用LIKE和两个通配符,%和下划线_.

    查询结果的结构完全一致时可将两个查询进行并(UNION)交(INTERSECT)差(EXCPT)操作

    查询空值操作不是用='null',而是用 IS NULL来测试。

    集合成员资格比较用 IN/NOT IN ,集合成员算术比较用元组θSOME/ALL

    可以用子查询结果取名(表名(列名序列))来作为导出表使用

    基本表的自然联接操作是用 NATURAL INNER JOIN来实现的。

    四、SQL的数据更新(简单应用)

    简单应用就是掌握基本的句型并能套用在一些简单的查询要求上。

    1、数据插入:

    INSERT INTO 基本表名(列名表)

    VALUES (元组值)

    INSERT INTO 基本表名(列名表)

    SELECT 查询语句

    其中元组值可以连续插入。用查询语句可以按要求插入所需数据。

    2、数据删除:

    DELETE FROM 基本表名 [WHERE条件表达式]

    3、数据修改:

    UPDATE 基本表名

    SET 列名=值表达式,[列名=值表达式...]

    [WHERE 条件表达式]

    这一节的关于增删改的操作要和前面关于数据库模式、表的增删改操作进行对比学习,以加深理解。不要忘记上机实践。

    第五章关系数据理论

    本章的理论性较强,学习时有无从下手的感觉,在学习时应多加思考,从概念出发去理解理论,前后的理论有较强的联系,因此要逐个理解,但对于理论的证明等内容则不必深究,本章重点是函数依赖和范式的概念。

    一、关系模式的设计问题(识记)

    关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。关系实质上就是一张二维表,表的行称为元组,列称为属性。

    关系模式是用来定义关系的,这里的关系模式我们可以简单地理解为一个表的结构,一个关系数据库包含一组关系,也就是包含一组二维表,这些二维表结构体的集合就构成数据库的模式(也可以理解为数据库的结构)。

    关系数据库设计理论包括三个方面内容:数据依赖、范式、模式设计方法。核心内容是数据依赖。

    关系模式的存储异常:数据冗余、更新异常、插入异常和删除异常

    二、函数依赖(FD)

    1、函数依赖的定义(领会):设有关系模式R(A1,A2,...An)或简记为R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。

    这个定义可以这样理解:有一张设计好的二维表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函数依赖于X。如下图所示:

    教师

    课程

    张老师

    物理

    杨老师

    化学

    李老师

    物理

    在表中,凡教师名相同的,对应的课程名也必是相同的,则此时说

    教师名函数决定课程名,或"课程名"函数依赖于"教师名"。但是反过来不一定,课程名相同时并不一定教师名相同,所以这里的Y→X是不成立的。

    要特别注意的是,在这张表中,任何一行的关系均应符合上述条件,如果有一行不符合函数依赖的条件,则函数依赖对于这个关系就不成立。

    还有应该了解的是,函数依赖是否成立是不可证明的,只能通过属性的含义来判断,上述表是一个关系实例,可以一条条进行验证,但是对于模式设计来说,开始时并没有数据插入,我们只能从属性的含义出发,如这个关系模式保存了全校所有教师和课程对应关系,则有可能出现相同的教师名而课程名不是一样的情况(有同名教师),那么"课程名→教师名"这个函数依赖就不成立了。

    上述例子可对照课本理论进行领会。

    2、键和FD的关系(领会)

    键是唯一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子集,

    (1)X→A1A2...An∈F+ (它的意思是X能够决定唯一的一个元组)

    (2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。(它的意思是X能决定唯一的一个元组但又没有多余的属性集)

    包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性(非键属性),注意主属性应当包含在候选键中。

    3、函数依赖(FD)的推理规则(了解)

    前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定F或F+的所有函数依赖。

    设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则如下:

    自反律:如果Y X U,则X→Y在R上成立。

    增广律:如果X→Y为F所蕴涵,Z U,则XZ→YZ在R上成立。(XZ表示X∪Z,下同)

    传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。

    合并律:如果X→Y和X→Z成立,那么X→YZ成立。

    伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。

    分解律:如果X→Y和Z Y成立,那么X→Z成立。

    三、关系模式的范式(领会)

    1、1NF、2NF、3NF、BCNF的定义:

    1NF:第一范式。

    即关系模式中的属性的值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。

    比如有一个关系 顾客={顾客,送货地址},若有这样几行记录:

    顾客 送货地址

    张三   北京、上海

    李四 北京

    这时的第一条记录就表示本关系模式不是1NF的,因为课程中的值域还是可以分解的,它包括了两个地址,如分为:

    顾客 送货地址

    张三   北京

    张三 上海

    李四 北京

    就成为第一范式的关系模式。

    2NF:第二范式。

    如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。

    在这里要先了解"非主属性"、"完全函数依赖"、"候选键"这三个名词的含义。

    候选键就是指可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。

    非主属性也就是非键属性,指关系模式R中不包含在任何建中的属性。

    设有函数依赖W→A,若存在X W,有X→A成立,那么称W→A是局部依赖,否则就称W→A是完全函数依赖。

    在分析是否为第2范式时,应首先确定候选键,然后把关系模式中的非主属性与键的依赖关系进行考察,是否都为完全函数依赖,如是,则此关系模式为2NF。如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于2NF的数据库模式。

    3NF:第三范式。

    如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式的模式。

    这里首先要了解传递依赖的含义: 在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。

    注意的是,这里要求非主属性都不传递依赖于候选键。

    BCNF:这个范式和第三范式有联系,它是3NF的改进形式。若关系模式R是第一范式,且每个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。

    纵观四种范式,可以发现它们之间存在如下关系:

    BCNF 3NF 2NF 1NF

    1NF

    ↓ 消去非主属性对键的部分函数依赖

    2NF

    ↓ 消去非主属性对键的传递函数依赖

    3NF

    ↓ 消去主属性对键的传递函数依赖

    BCNF

    2、多值依赖。简单了解一下。

    第六章数据库设计

    与上一章不同,本章的实用性较强,详细讲述了数据库应用系统设计的全过程。重点是概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型的转换方法。

    一、数据库设计概述(识记)

    1、软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件所取代而停止使用的整个期间。它包括六个阶段:(规需设编试运维)

    (1)规划阶段

    (2)需求分析阶段

    (3)设计阶段

    (4)程序编制阶段

    (5)调试阶段

    (6)运行维护阶段

    2、数据库系统生存期

    数据库应用系统的开发也是一项软件工程,称为数据库工程,数据库应用系统也有生存期的概念,通常包括七个阶段:

    (1)规划阶段

    (2)需求分析阶段

    (3)概念设计阶段

    (4)逻辑设计阶段

    (5)物理设计阶段

    (6)实现阶段

    (7)运行维护阶段

    3、数据库设计方法学

    一个好的数据库设计方法应该能在合理的期限内,以合理的工作量产生一个有实用价值的数据库结构。

    数据库及其应用系统的设计分为以下几个阶段:规划、需求分析、概念设计、逻辑设计、物理设计。

    二、需求分析(识记)

    需求分析阶段应对系统的整个应用情况作全面的、详细的调查、确定用户的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户需求,并把这些要求写成用户和数据库设计者都能够接受的文档。

    确定用户需求可以通过对不同层次的企业管理人员进行个人访问得到。还应了解系统将来要发生的变化,充分考虑系统的可能的扩充和变动,使系统设计更符合未来发展方向。

    需求分析的步骤大致分为三步:即需求信息的收集、分析整理和评审。

    数据字典:是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。它包含以下几个部分:数据项、数据结构、数据流、数据存储和加工过程。

    三、概念设计(识记)

    1、概念模型:可以看成是现实世界到机器世界的一个过渡的中间层次。在设计数据库系统时,要把现实世界的事物通过认识和抽象转换为信息世界的概念模型,再把概念模型转换为机器世界的数据模型。

    2、概念设计的主要步骤:分三步完成:(1)进行数据抽象,设计局部概念模式;(2)将局部概念模式综合成全局概念模式;(3)评审。

    3、数据抽象:数据抽象的两种形式:聚集和概括:

    聚集:其数学意义就是笛卡尔积的概念,通过聚集,形成对象之间的一个联系对象。如有一些对象:"老师,课程,班级,上课时间",通过聚集可以得到一个联系对象"课程表"。聚集表示的是"is_part_of"的关系。

    概括:是从一类其他对象形成一个对象。如有桃树、李树、杏树等对象,我们通过概括或以得到一个对象"树"。概括表示的是"is_a"的关系,如"李树"是一种"树"。

    4、基本ER模型的扩展(领会)

    ER(实体联系)模型是对现实世界的一种抽象,它的主要成份是实体、联系和属性。但是在现实世界中还有一些特殊的语义。需要扩展ER模型的概念才能更好地模拟现实世界。

    依赖联系:在现实世界中,有些实体对一另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提。前者就称为"弱实体",如在人事管理系统中,职工子女的信息就是以职工的存在为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系。在ER图中用双线框表示弱实体。用箭头表示依赖联系。

    子类:在现实中,存在某个实体类型中所有实体同时也是另一实体类型中的实体,此时,我们称前一实体类型为者的子类,后一实体类型称为超类。子类有一个很重要的性质继承性。在ER图中,超类用两端双线框表示,并用加圈的线与子类相连。

    5、采用ER方法的数据库概念设计(领会)

    采用ER方法进行数据库概念设计分成三步进行:

    首先设计局部ER模式

    然后把各局部ER模式综合成全局ER模式

    最后对全局ER模式进行优化

    四、逻辑设计

    1、 概念设计的结果是得到一个与DBMS无关的概念模式。而逻辑设计的目的是把概念设计阶段设计好的基本ER图转换为与选用的具体机器上的DBMS所支持的数据模式相符合的逻辑结构(包括数据库模式和外模式)。

    2、 转换的规则

    其它内容数据库保护

    主要内容包括数据库保护的四种措施:数据库事务管理与备份恢复、并发控制、完整性和安全性。了解这些内容及其在SQL语言中的实现方式。

    一、数据库的事务与备份(领会)

    1、事务的概念:事务是一个操作序列。这些操作要么什么都做,要么都不做,是一个不可分割的工作单位。事务以BEGIN

    TRANSACTION语句开始,以COMMIT(提交)语句或ROLLBACK(回退或撤消)语句结束。

    一个程序的执行可通过若干事务的执行序列来完成。

    2、事务的性质:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。称为事务的ACID性质。

    通过教材的例子来理解事务的性质。

    3、数据备份与恢复

    了解SQLServer的备份与恢复机制

    二、数据库的并发控制(领会)

    1、并发控制带来的三类问题:

    (1)丢失更新的问题

    (2)不一致分析问题

    (3)"脏数据"的读出。(在数据库技术中,未提交的随后又被撤消的数据为"脏数据"。)

    2、为解决并发控制带来的问题,通常要采用封锁(locking)技术,常用的封锁有:排它型封锁(X封锁)和共享型封锁(S封锁)两种。

    3. 死锁:有两个或以上的事务处于等待状态,每个事务都在等待另一个事务解除封锁,它才能继续执行下去,结果任何一个事务都无法执行,这种现象就是死锁。

    解除死锁的方法是由DBMS中的"死锁测试程序"来检查,如发现死锁则牺牲一个事务,并做回退操作,解除它的所有封锁。

    三、数据库的完整性(领会)

    1、数据库的完整性是指数据的正确性和相容性。数据库中数据发生错误,往往是由非法更新引起的。

    数据库完整性是通过DBMS的完整性子系统实现的,它有两个功能:

    (1)监督事务的执行,并测试是否违反完整性规则。

    (2)如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。

    2. 完整性分类

    两种分类方法:1。域完整性、实体完整性、参照完整性和用户自定义完整性

    2.六种完整性约束

    3. 六种完整性约束的实现方法(领会)

    例如:可在SQL中实现的完整性约束

    在SQL中,表达完整性约束的规则有主键约束、外键约束、属性值约束和全局约束等多种形式。

    主键约束:可用主键子句或主键短语 PRIMARY KEY 来定义。

    外键约束:可用外键子句来定义如 FOREIGN KEY (S#) REFERNCE S(S#)

    属性值约束:包括非空值约束(NOT NULL)和基于属性的检查子句(CHECK) 及域约束子句 如CREAT DOMAIN AGE SMALLINT CHECK (VALUE>10)

    全局约束:包括基于元组的检查子句(CHECK)和触发器。

    注意:事务机制也是一种完整性约束实现手段,它可以实现动态关系约束。

    四、数据库的安全性(识记)

    数据库的安全性是指保护数据库防止不合法的使用,以免数据的泄漏、非法更改和破坏。

    1、用户或应用程序使用数据库的方式称为权限,权限的种类:

    访问数据权限:读、插入、修改、删除四种

    修改数据库模式权限:索引(创建或删除索引)、资源(创建新关系)、修改(增删关系结构属性)和撤消权限(撤消关系)

    2、权限的转授与回收:画一个权限图,只要根结点到用户结点之间存在一条路径,那么它就有权限,回收时就是删去某些路径。

    3. SQL中的安全性控制

    SQL中有两个安全机制:一是视图机制、二是授权子系统。

    视图是从一个或几个基本表导出的表,是虚表,视图定义后可以像基本表一样用于查询和删除,但其更新操作(增、删、改)会受到限制。

    视图机制把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义外的其他数据,从而保证了数据库的安全性。视图机制使系统具有三个优点:数据安全性、数据独立性和操作简便性。

    授权机制(grant/revoke/deny等语句)可以保证用户只能进行其权限范围内的操作。

    展开全文
  •   数据库技术是应数据管理任务的需求而产生的,应用需求的驱动下,计算机硬件,软件发展的基础上,数据管理技术经历了人工管理,文件系统,数据库系统三个阶段。  接下来我们一起来看看这三个阶段     一....
  • 确定数据库系统在企业和信息系统中的地位 各个数据库之间的关系 需求分析 分析数据库中所涉及的数据数据特征、使用频率、数据量等 通常采用数据字典管理数据库设计,避免字段的重复 概念设计 需求...
  • 数据管理技术经历了3个阶段:人工管理、文件系统管理以及数据库管理。 20世纪50年代中期以前,计算机主要用于科学计算,没有磁盘等直接存取的设备,也没有操作系统以及专门管理数据的软件,数据处理的方式采用的...
  • 数据库管理系统是一种统一管理数据的专门软件系统数据库是有组织的大量的共享的、长期存储计算机中的数据集合。数据的管理经历了三个阶段,最早的是人工管理阶段。人工管理数据有四个特点:(1)数据不保存。因为...
  • 文件系统阶段--->数据库阶段--->高级数据库阶段。1.人工管理阶段特点:(20世纪50年代中期以前,主要是用于科学计算) 1) 数据不保存计算机内; 2)没有专用的软件对数据进行管理; 3)只有程序...
  • 数据管理就是对各种数据进行分类、组织、编码、查询和维护,主要经历了 3 个阶段,即人工管理阶段、文件系统阶段和数据库系统阶段。每一个阶段都是以减小数据冗余、增强数据独立性和方便操作数据为目的进行发展。...
  • 数据库系统概论

    2021-02-03 16:22:10
    这里写自定义目录标题数据库...数据库系统阶段; 掌握三级模式和二级映像 三级模式 内模式 内模式对应于物理级,它是数据库中全部数据的内部表示或者底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上
  • 数据库系统引论

    2020-07-24 15:45:06
    数据库系统引论数据管理技术的发展人工管理阶段 (20世纪50年代中期前)文件系统阶段 (20世纪50年代后期)数据库系统阶段 ( 数据库是20世纪60年代末发展起来的数据处理新技术,它的出现使数据处理进入了一个崭新...
  • 数据管理技术经历了人工管理、文件系统、数据库系统 3 个阶段。2、在数据库技术当中,数据库系统的核心是数据库管理系统,数据库管理系统的核心是数据库。三者的逻辑关系为:数据库系统>数据库管理系统>...
  • 1.1数据库系统概述

    2021-03-17 08:19:09
    文章目录数据库的四个基本概念数据(Data)数据库(DB)数据库特点数据库管理系统(DBMS)数据库管理系统主要功能数据库系统(DBS)层次数据管理技术的产生和发展人工管理阶段文件系统阶段数据库系统阶段数据库系统...
  • 对数据库模式进行规范化处理,是在数据库设计的“逻辑设计阶段”。数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本实体-关系图转换为与选用的数据库管理系统产品所支持的数据模型相符合的逻辑结构。数据库...
  • 鸟瞰数据库系统原理

    2021-01-19 22:05:44
    数据库系统是一种管理数据的系统,首先设计到数据,谈到数据要从数据管理的历史来看数据库系统的发展。其中,达到数据库阶段后,我们开始来讨论我们这门课程。  先来看应用部分:  1、分析数据  设计使用...
  • 数据库系统设计开发阶段是Oracle应用优化的最佳阶段,也是主动优化阶段,能达到以最小成本获得最大性能增益的目的。通过对其逻辑存储结构和物理存储结构设计进行优化,使之满足需求条件下,时空开销性能最佳,可以...
  • 1550、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段这几个阶段中, 数据管理效率最高的是_____阶段。[单项选择题] A. 数据库系统B. 文件系统 C. 人工管理 D. 不确定 1551、...
  • 数据库原理(一)- 数据库系统概述四个基本概念数据数据库数据库管理系统数据库系统四个概念的关系数据管理技术的产生和发展人工管理阶段文件管理阶段数据库系统阶段,三个阶段的比较借鉴 四个基本概念 数据、数据库...
  • 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的( )阶段 概念设计 需求分析 逻辑设计 物理设计 [参考答案] 概念设计 试题2 数据库物理设计完成后,进入数据库实施阶段...
  • 此文是本人学习Oracle的时候,摘录和总结的一些Oracle基本理论知识,作为读书笔记,方便自己复习,查阅。当然希望能够帮到跟我一样处于初学阶段的朋友,同时也希望大家能够及时的纠正...最著名最典型的层次数据库系统
  • 1、在数据管理技术的发展过程中,经历了人工管理阶段、文件管理阶段数据库管理阶段这几个阶段中,数据数据冗余度最小、共享性最高的是( )阶段。 A.数据库管理 B.文件管理 C.人工管理 D.数据项管理 参考...
  • 拓扑关系数据存储模式将空间数据存在文件中,而将属性数据存在数据库系统中,二者以一个关键字相连。这样分离存储的方式存在数据的管理和维护困难、数据访问速度慢、多用户数据并发共享冲突等问题。而Oracle Spatial ...
  • 数据库系统设计

    千次阅读 2017-10-01 22:39:48
    规划阶段的主要任务是进行建立数据库的必要性和可行性分析,确定数据库系统在企业和信息系统中的地位,一级各个数据库之间的联系 2、需求分析 需求分析的目标是通过调查研究,了解用户的数据和处理要求,并按一定...
  • 目录数据库设计分为以下六阶段1.需求分析数据字典2.概念结构设计3.逻辑结构设计E-R图向关系模型的转换4...信息要求:用户需要从数据库中获得信息的内容和性质,有信息要求可以导出数据要求,即在数据库需要存储哪些数据
  • 数据库系统期中考试

    千次阅读 2020-05-11 12:14:04
    一、单选题 (题数:15,共 30.0 ...数据库系统阶段数据( )。 (2.0分) A、 具有物理独立性,没有逻辑独立性 B、 有物理独立性和逻辑独立性 C、 独立性差 D、 具有高度的物理独立性和一定的逻辑独立性 我的答案:D
  • 什么数据库系统数据库系统(DataBase System,DBS)从广义上看,是指由***数据库、硬件、软件和人员***组成的一个系统。 ◎数据库指的是长期储存***计算机内***的,***有组织***的,***可共享***的数据集合。 ...
  • 数据:是对事物描述的符号记录,它描述事物中人们所感兴趣的特征,它能被计算机识别、存储和处理数据管理:是对数据的分类、组织、编码、存储、查询和维护等...数据库系统的规划2.数据库设计3.数据库的建立4.数据库的运
  • 数据库管理系统

    2010-06-01 14:41:55
    数据库管理系统 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段这几个阶段中,数据独立性最高的是__ __阶段。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,230
精华内容 892
关键字:

在数据库系统阶段数据是