数据库部分知识点整理(理论)

本文深入探讨了数据库系统的基础概念,包括数据、数据库、数据库管理系统和数据库系统的定义及其特征。详细介绍了层次模型、网状模型、关系模型和面向对象模型的数据模型分类及特点。此外,还阐述了E-R图在描述实体间联系的方式,以及数据库系统中的实体完整性、参照完整性和用户定义的完整性约束。最后,讨论了关系代数的基本操作,如选择、投影、并、差和笛卡尔积。
摘要由CSDN通过智能技术生成

第一章 绪论

1、数据、数据库、数据库管理系统、数据库系统等术语的含义。

(1)数据(Data)
• 数据(Data)是数据库中存储的基本对象
• 数据的定义
– 记录、描述事物的所有符号称为数据
• 数据的种类
数字、文字、图形、图象、声音
• 数据的特点
– 数据与其语义、语法是不可分的

数据举例
• 学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)
• 数据的形式有时不能完全表达其内容
• 数据的解释
语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间
解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系
语法:数据中字段的属性称为语法,例如姓名是4个汉字字符,性别是1个汉字字符等。

(2)数据库(Database,简称DB)
• 数据库的定义
– 数据库(Database,简称DB)是长期储存在计算机内、有结构的、可共享的数据集合。
• 数据库的特征
– 数据按一定的数据模型组织、描述和储存
– 可为各种用户共享
– 冗余度较小
– 数据独立性较高
– 易扩展

字典、文件柜、图书馆、充满数据的硬盘均不是数据库。

(3)数据库管理系统(DBMS)
• 什么是DBMS
– 数据库管理系统(DataBase Management System,简称DBMS)是位于用户操作系统之间的一层数据管理软件。
• DBMS的用途
– 科学地组织和存储数据、高效地获取和维护数据
◼ 数据定义功能:提供数据定义语言(DDL:Data Definition Language)定义数据库中的数据对象
◼ 数据操纵功能:提供数据操纵语言(DML:Data Manipulation Language)操纵数据实现对数据库的基本操作(查询、插入、删除和修改)
◼ 数据控制功能:DCL(Data Control Language 数据控制语句)的操作是数据库对象的权限,这些操作的确定使数据更加的安全。
◼ 数据库的运行管理:保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复。具体包括:数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织,性能监视等。

在DBMS下使用SQL语句 

(4) 数据库系统(DBS):
• 数据库系统(Database System,简称DBS)
  - 在计算机系统中引入数据库后的系统构成 。
数据库系统的构成:
  - 数据库(DB)
  - 数据库管理系统(及其开发工具)(DBMS)
  - 应用系统
  - 数据库管理员
有管理数据库功能的计算机系统

关系:DBS包括DB和DBMS

2、常用的数据模型的分类及特点?

根本区别在于数据之间联系的表示方式不同(即记录型之间的联系方式不同)。

  • 层次模型(Hierarchical Model)

      — 层次模型是用“树结构”来表示数据之间的联系。

    特点:
◼ 结点的双亲是唯一
◼ 只能直接处理一对多的实体联系(多对多关系分解)
◼ 每个记录类型定义一个排序字段,也称为码字段
◼ 任何记录值只有按其路径查看时,才能显出它的全部意义
◼ 没有一个子女记录值能够脱离双亲记录值而独立存在
 

  • 网状模型(Network Model)

       — 网状模型是用“图结构”来表示数据之间的联系。

    特点:
◼ 网状模型允许多个结点没有双亲结点
◼ 网状模型允许结点有多个双亲结点
◼ 网状模型允许两个结点之间有多种联系(复合联系)
◼ 网状模型可以更直接地去描述现实世界
◼ 层次模型实际上是网状模型的一个特例

  • 关系模型(Relational Model)

       — 关系模型是用“二维表”(或称为关系)来表示数据之间的联系。"二维表"由行和列组成。

    特点:
◼ 最重要的一种数据模型。也是目前主要采用的数据模型。
◼ 关系模型中常用的关系操作是查询操作和更新操作
◼ 关系操作的特点:操作的对象和结果都是集合

三种模型比较:

  • 面向对象模型(Object-oriented Model)

 

3、实体联系方法(即E-R图方法)怎样来描述现实世界的?实体集之间和实体内部的联系有哪几种形式?

• 实体型
   – 用矩形表示,矩形框内写明实体名。

• 属性
   – 用椭圆形表示,并用无向边将其与相应的实体连接起来

• 联系
   – 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)
   – 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。


4、数据库系统三级模式结构及特点?如何实现数据独立性的?

三级模式:
◼ 外模式(子模式--- 多个)
➢ 局部数据逻辑结构和特征的描述。
◼ 概念模式(模式--- 一个)
➢ 全局数据逻辑结构和特征的描述。
➢ 定义模式时不仅要定义数据的逻辑结构,还要定义与数据有关的安全性、完整性要求。
◼ 内模式(存储模式、物理模式---一个)
➢ 数据库中的各种存储记录、存储记录的物理表示、存储结构与物理存取方法,如数据存储的文件结构、索引、集簇等存取方式和存取路径等。

数据独立性:
    程序与数据间的互不依赖性。
➢ 数据的逻辑独立性
    数据库逻辑结构的改变不影响应用程序。
➢ 数据的物理独立性
     数据库存储结构的改变不影响逻辑结构及应用程序。

数据库的二级映象功能
➢ 外模式/模式映像
     定义了该外模式与模式之间的对应关系,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
➢ 模式/内模式映像
     定义了数据库全局逻辑结构与存储结构之间的对应关系,程序是按照数据库的逻辑结构编写的,当数据库的存储设备和存储方法发生变化时,数据库管理员对模式/内模式映像要做相应的改变,使模式保持不变,从而应用程序也不变,实现数据物理独立性。

 

第二章 关系数据库

1、基本术语的解释:元组、关系、属性、候选码,主码、外码、主属性、关系模式等

  • 元组(Tuple):笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
  • 关系: 笛卡 尔 积 D1×D2×…×Dn 的子 集 叫做 在 域 D1 ,D2 ,…, Dn上的关系,用R(D1 , D2 ,…, Dn )表示。
    ◼ R是关系的名字,n是关系的度或目( Degree )
    ◼ 关系是笛卡尔积中有一定意义的、有限的子集
    ◼ 关系也可以表示为二维表
  • 属性
    ◼ 关系中不同列可以对应相同的域
    ◼ 为 了 加 以 区 分 , 必 须 对 每 列 起 一 个 名 字 , 称 为 属 性(Attribute)
    ◼ n目关系必有n个属性
  • 候选码(Candidate Key)
    ◼ 关系中的一个属性组,其值能唯一标识一个元组。若从属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码
  • 主码(Primary Key)
    ◼ 进行数据库设计时,从一个关系的多个候选码中选定一个作为主码
  • 外码(Foreign Key)
    ◼ 关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码
  • 主属性
    ◼ 任何一个候选码中的属性称作主属性,不包含在任何侯选码中的属性称为非主属性,或非码属性
  • 关系模式
    ◼ 关系的描述称作关系模式,包含:
    (1)元组集合的结构
             ◼ 属性构成
             ◼ 属性来自的域
             ◼ 属性与域之间的映象关系
    (2)元组语义以及完整性约束条件
    (3)属性间的数据依赖关系集合

举例说明:

学生成绩信息表中有(学号、姓名、性别、年龄、系别、专业等)

超键/码:

  由于学号能确定一个学生,因此学生表中含有学号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(学号,性别)等

 若我们假设学生的姓名唯一,没有重名的现象。

      学号唯一,所以是一个超键
      姓名唯一,所以是一个超键
     (姓名,性别)唯一,所以是一个超键
     (姓名,年龄)唯一,所以是一个超键
     (姓名,性别,年龄)唯一,所以是一个超键

候选键:

   学号唯一,而且没有多余属性,所以是一个候选键

   姓名唯一,而且没有多余属性,所以是一个候选键

  (姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
  (姓名,年龄),(姓名,性别,年龄)同上,也不是候选键

主键:

  主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,学号能唯一标识这一个元组。

外键:

  假如我们还有一个教师表,每个教师都有自己的编号,假设老师编号在教师表中是主键,在学生表中它就是外键。

2、基本关系操作 (选择、投影、并、差、笛卡儿积)

(1)选择运算:在关系R中选择满足给定条件的元组(从行的角度)

F的形式:由逻辑运算符连接算术表达式而成

(2)投影:从关系R中取若干列组成新的关系(从列的角度)

投影的结果中要去掉相同的行

(3)并运算:所有至少出现在两个关系中之一的元组集合

◼两个关系R和S若进行并运算,则它们必须是相容的:
  ◼关系R和S必须是同元的,即它们的属性数目必须相同
  ◼对任意i,R的第i个属性的域必须和S的第i个属性的域相同
两个关系R和S若进行并运算,去掉重复的元组。

(4)差运算:所有出现在一个关系而不在另一关系中的元组集合

◼ R和S必须是相容的

(5)交运算:所有同时出现在两个关系中的元组集合

◼ 交运算可以通过差运算来重写:

(6)笛卡尔积:两个关系R,S,其度分别为n,m,则它们的笛卡尔积是所有这样的元组集合:元组的前n个分量是R中的一个元组,后m个分量是S中的一个元组。

◼ RXS的为R与S的度之, RXS的元组个数为R和S的元组个数的乘积


3、关系的三类完整性约束

◼ 关系模型的完整性
   是对关系的某种约束条件。分为三类:

  • 实体完整性:若属性A(可以是一个属性也可以是多个属性)是基本关系R的主属性,则属性A不能取空值。主码中的属性即主属性不能取空值。
  • 参照完整性:在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。

◼ 关系R和S不一定是不同的关系;
◼ 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上;
◼ 外码并不一定要与相应的主码同名;一般是当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别。

若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
◼ 或者取空值(F的每个属性值均为空值)
◼ 或者等于S中某个元组的主码值

  •  用户定义的完整性: 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求;关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。

其中:
(1)实体完整性参照完整性是关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持;
(2)用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束

 

4、关系代数的各种运算理解应用

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值