`
lokepaqi
  • 浏览: 46402 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

数据库管理系统(DBMS)

阅读更多

1 数据库管理系统(DBMS)

  数据库管理系统(DBMS)是指DBS中对数据进行管理的软件系统,它是DBS的核心成分。DBS中所有与数据库打交道的操作,包括建库、查询、更新及数据控制,都是通过DBMS进行的。数据库管理系统总是基于某种数据库模型,可分为网状型、层次型、关系型和面向对象型DBMS。

  数据库管理系统的主要目标:把数据作为可管理的资源处理。

  数据库管理系统的5个重要功能:

  ◆数据库的定义功能:DBMS提供数据定义语言(DDL)定义数据库的3级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性约束、保密限制等条件。因此在DBMS中包括DDL的编译程序。

  ◆数据库的操纵功能:提供数据操纵语言(DML)实现对数据的操作。有4种基本操作:检索(查询)、插入、删除、修改。在DBMS中包括DML的编译程序或解释程序。

  ◆数据库的保护功能:DBMS对数据库的保护主要通过4个子系统:

  A.数据库恢复(在数据库被破坏或数据不正确时,系统有能力把数据库恢复到最近某个正确的状态

  B.数据完整性控制(保证数据库中数据及语义的正确性和有效性,防止任何对数据错误的操作)

  C.多用户环境下的并发控制。

  D.数据安全性控制(防止未被授权的用户蓄谋或无意地存取数据库中的数据,以免数据的泄露或破坏)。

  ◆数据库的维护功能:这部分包括数据库的初始数据载入、转换功能、存储功能、数据库的改组、性能监视功能。

  ◆数据字典(DD):DD管理数据库3级结构的定义。对于数据库的操作都要通过查阅DD才能进行。现在有的大型系统中,把DD单独抽出来自成一个系统,成为一个系统工具,使得DD成为一个比DBMS更高级的用户与数据库之间的接口。

  要注意的是:应用程序并不属于DBMS的范围。应用程序是用主语言和DML编写的,程序中的DML语句由DBMS执行,而其余部分仍由主语言编译程序完成。

  数据库系统(DBS)

  数据库系统是一个复杂的系统,它是采用了数据库技术的计算机系统。因此,它不仅仅是一组对数据进行管理的软件(即DBMS),也不仅仅是一个数据库。它是一个实际可运行的、按照数据库方法存储、维护和向应用系统提供数据支持的系统。它是存储介质、处理对象和管理系统的集合体,由数据库DB、硬件支持系统、软件支持系统和数据库管理员DBA这四部分组成。

 

 

 

 

2 SQL语句

  ◆基本表的定义可用“CREATE TABLE”语句实现,增加属性可以用ALTER...ADD...”语句,删除属性可以用“ALTER...DROP...”语句;删除已存在的表可用“DROP TABLE...”语句。

  ◆视图的定义和撤消

  ◆索引的定义和撤销

  ◆SELECT 查询语句

  ◆DELETE删除语句

  ◆INSERT插入语句

  ◆uPDATE语句

  3 关系运算

  专门的关系运算包括选择、投影、连接、除等。

  ⒈选择(Selection)

  选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组,记作:

  σF(R) = {t|t∈R ∧ F(t)='真'}

  其中F表示选择条件,它是一个逻辑表达式,取逻辑值‘真’或‘假’。

  逻辑表达式F的基本形式为:

  X1 θ Y1 [ φ X2 θ Y2 ]

  θ表示比较运算符,它可以是>、≥、<、≤、=或≠。X1、Y1等是属性名或常量或简单函数。属性名也可以用它的序号来代替。φ表示逻辑运算符,它可以是僼、∧或∨。[ ]表示任选项,即[ ]中的部分可以要也可以不要,...表示上述格式可以重复下去。

  因此选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。

  举例

  设有一个学生-课程关系数据库,包括学生关系Student、课程关系Course和选修关系SC。下面的许多例子将对这三个关系进行运算。

  例1 查询信息系(IS系)全体学生

  σSdept='IS'(Student) 或 σ5='IS'(Student)

  例2 查询年龄小于20岁的元组

  σSage<20(Student)

  或σ4<20(Student) 。

  ⒉ 投影(Projection)

  关系R上的投影是从R中选择出若干属性列组成新的关系。记作:

  ΠA(R) = { t[A] | t∈R }

  其中A为R中的属性列。

  举例

  例3 查询学生关系Student在学生姓名和所在系两个属性上的投影:

  ΠSname,Sdept(Student)

  或

  Π2,5(Student)

  结果如图2-7(a)。

  投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。

  例4 查询学生关系Student中都有哪些系,即查询学生关系Student在所在系属性上的投影

  ΠSdept(Student)

  投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。

 

 

 

⒊ 连接(Join)

  连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:

 

  其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算从R和S的笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。

  连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。

  θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。即等值连接为:

 

  自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作:

 

  一般的连接操作是从行的角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列的角度进行运算。

  4. 除(Division)

  给定关系R(X,Y)和S(Y,Z),其中X、Y、Z为属性组。R中的Y与S中的Y&127;可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:

 

  其中Yx为x在R中的象集,x=tr[X]。

 

 

举例

  例6 设关系R、S分别为图2-9中的(a)和(b),R÷S的结果为图2-9(c)。

  在关系R中,A可以取四个值{a1, a2, a3, a4}。其中:

  a1的象集为{(b1,c2), (b2,c3), (b2,c1)}

  a2的象集为{(b3,c7), (b2,c3)}

  a3的象集为{(b4,c6)}

  a4的象集为{(b6,c6)}

  S在(B,C)上的投影为{(b1,c2), (b2,c3), (b2,c1)}

  显然只有a1的象集(B,C)a1包含S在(B,C)属性组上的投影,所以R÷S={a1}。

 

R

S

R÷S

A B C B C D A
a1 b1 c2 b1 c2 d1 a1
a2 b3 c7 b2 c1 d1
a3 b4 c6 b2 c1 d1
a1 b2 c3 b2 c3 d2
a4 b6 c6
a2 b2 c3
a1 b2 c1

(a)

(b)

(c)

分享到:
评论

相关推荐

    数据库管理系统 DBMS

    数据库管理系统(DBMS)是计算机科学中的一个关键领域,它为组织、存储和管理数据提供了高效、安全且灵活的方法。在本案例中,我们关注的是一个具体的实践项目,即南开大学“数据库系统原理”课程的期末大作业,该...

    java 数据库管理系统 DBMS

    Java数据库管理系统(DBMS)是用于存储、管理和检索数据的软件系统,它是基于Java编程语言构建的,可以与各种类型的数据库进行交互。在Java中,我们通常使用Java Database Connectivity(JDBC)API来连接和操作...

    数据库管理系统DBMS英文翻译

    数据库管理系统是编程系统中的重要的一种,现今可以用在最大以及最小的电脑上。其他重要 形式的系统软件,比如汇编以及操作系统,近些年来开发出一系列容易理解的数据库管理系统原则 ,并且这些概念既有助于理解如何...

    数据库管理系统DBMS.xmind

    数据库管理系统DBMS.xmind

    实验1 认识数据库管理系统DBMS.docx

    认识数据库管理系统 DBMS 数据库管理系统(DBMS)是指能够创建、设计、实现和管理数据库的系统。DBMS 提供了一个可以访问和管理数据库的环境,可以帮助用户高效地存储、检索和管理数据。在本实验中,我们将学习如何...

    数据库管理系统DBMS在企业管理中的应用.doc

    【数据库管理系统DBMS在企业管理中的应用】 数据库管理系统(Database Management System,简称DBMS)是企业信息化建设中的核心组件,它负责管理和控制数据的存储、访问和处理,确保数据的安全性和完整性。DBMS允许...

    数据库课程设计说明书---设计简易的数据库管理系统DBMS.doc

    数据库课程设计说明书---设计简易的数据库管理系统DBMS

    使用数据库管理系统(DBMS)处理数据集:SQL与NoSQL的应用.md

    使用数据库管理系统(DBMS)处理数据集使用数据库管理系统(DBMS)处理数据集使用数据库管理系统(DBMS)处理数据集使用数据库管理系统(DBMS)处理数据集使用数据库管理系统(DBMS)处理数据集使用数据库管理系统...

    BenSQL数据库管理系统DBMS源码及说明报告

    用C ++ 实现数据库完整性限制。完整性限制语法可以类似SQL DDL中的要求。完整性功能可以选择(如主键完整,外键完整,空值,引用完整,自定义完整等等)。 实现的语句: 建表及Load表记录的语句 显示已建表数据...

    数据库管理系统 1.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。

    数据库管理系统(DBMS)是一种软件系统,用于定义、创建、维护和操纵数据库,数据库管理系统是 Database(DB)和 Database System(DBS)的集合体。Database 是存储数据的仓库,Database System 是指数据库管理系统...

    数据库管理系统(DBMS)

    数据库管理系统(DBMS)是计算机科学中的核心组成部分,它是一个用于存储、管理和检索数据的软件系统。这个系统不仅包括数据库本身,还包含一系列用于保证数据安全性、完整性和有效性的工具和算法。DBMS的设计目标是...

    C语言编的数据库管理系统(DBMS)

    《C语言实现的数据库管理系统(DBMS)解析》 数据库管理系统(DBMS)是计算机科学中的核心组件,它负责管理和存储数据,使得数据的访问、更新和管理变得高效且可靠。在本文中,我们将深入探讨一个由C语言编写的DBMS...

    认识数据库管理系统(DBMS)

    认识数据库管理系统(DBMS) 数据库管理系统(DBMS)是一种软件系统,旨在管理和组织大量的数据,以便更好地存储、检索和维护数据。DBMS 是一个复杂的系统,提供了多种功能,例如数据定义、数据管理、数据控制等。...

    数据库管理系统设计与实现

    数据库管理系统DBMS的底层设计与实现,理解数据库底层原理很有帮助。

    dbms.rar_c语言 数据库_c语言DBMS_dbms_数据库管理

    用c语言编写的数据库管理系统,dbms1和dbms2是两个不同的数据库管理系统,dbms1可以实现创建新数据库,dbms2可以实现修改数据库的内容。程序比较简单,可以在vc++下运行,可以帮助学习开发数据库管理系统

    数据库管理系统英文版教程.ppt

    数据库管理系统DBMS能够处理非常庞大且集成的数据集合,这些数据集合模拟了现实世界中的实体(如学生、课程)及其关系(例如,刘伟正在修读70420403课程)。DBMS的主要优势包括数据独立性,它允许应用程序与数据结构...

    DBMS.rar_dbms_visual c_数据库管理_数据库管理系统_管理系统

    数据库管理系统(DBMS)是计算机科学中的一个关键领域,它为组织、存储和检索数据提供了高效、可靠且灵活的方法。在“DBMS.rar_dbms_visual c_数据库管理_数据库管理系统_管理系统”这个压缩包中,我们可以看到两个...

    数据库管理系统(dbms)(java)

    数据库管理系统(DBMS)是计算机科学中的核心组成部分,主要用于存储、管理和检索数据。在Java编程环境中,我们可以利用Java Database Connectivity (JDBC) API与各种类型的DBMS进行交互,完成数据库的相关操作。本...

    实验一 数据库管理系统(DBMS)使用初步.pdf

    实验一 数据库管理系统(DBMS)使用初步.pdf实验一 数据库管理系统(DBMS)使用初步.pdf实验一 数据库管理系统(DBMS)使用初步.pdf实验一 数据库管理系统(DBMS)使用初步.pdf实验一 数据库管理系统(DBMS)使用初步.pdf实验...

    第十一章-数据库管理系统.ppt

    【第十一章 数据库管理系统】 ...综上所述,数据库管理系统DBMS是构建在操作系统之上,用于高效、安全地管理数据的核心工具。通过其丰富的功能和灵活的设计,DBMS能够满足不同用户的需求,提供稳定、高效的数据服务。

Global site tag (gtag.js) - Google Analytics