数据库一些基础知识 / 关系 / 数据库系统三级模式 / 数据与程序独立性

此篇文章中总结了一些关于数据库术语的一些概念,也加上自己初步的一些浅显的理解,希望可以帮到大家,有错误的地方非常欢迎大家指出,感谢支持。
PS:♡ ̑̑ฅ(ٛ˃̶˙ω˙˂̶ٛฅ)本可爱登场!

·
一、概念:

  1. 数据:数据是数据库中存储的基本对象,也可称之为描述事物的符号记录
    PS: 比如 数字 —— 最简单的一种数据。
  2. 数据库:长期存储在计算机内、有组织的可共享的大量数据的集合
    PS: 可理解为按一定格式,将数据存放到计算机上的仓库。
  3. 数据库管理系统:位于用户与操作系统之间的一层数据管理软件,是计算机的基本软件。
    PS: 主要有以下功能:
    (1) 数据定义功能(见名知义)
    (2) 数据组织、存储和管理
    (3)数据操控功能
    (4)数据库的事务管理和运行管理
    (5) 数据库的建立和维护
    (6)其他 ≥﹏≤
  4. 数据库系统:由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
  5. 实体:客观存在并可相互区别的十五称为实体。
    PS: 实体不一定真存在,它可以是人,也可以是抽象的概念,比如:学生的课,学生的一次选课都是实体(前者确实存在,后者是抽象的动作行为)。
  6. 实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
    PS: 这里定义复杂,不过不慌,比如:
    我认为它就 像结构体 一样,将实体的共同属性放到一起来组成一个结构,比如一个人,他有身高、体重、年龄等属性。则:人(身高、体重、年龄) 就是一个实体型(很简单吧 ≥ω≤)。
  7. 实体集:很简单,就是同一类型实体的集合。
  8. 实体之间的联系:通常指不同实体之间的联系。
    PS: 就像一个人与另一个人之间联系一样,实体之间的联系通常指不同实体之间的联系。因此:实体之间的联系有以下几种类型:
            一对一、一对多、多对多;

二、定义并解释以下术语:

     1.关系:
           定义: 关系模型中的单一的数据结构,关系可以有三种类型:
                   基本表(实际存在的表,是实际存储数据的逻辑表示)
                   查询表(查询结果对应的表)
                   视图表(由基本表或其他视图表导出的表,不对应实际存储的数据);
           解释: 比如:现实世界中的实体以及实体之间的联系我们用一种结构类型来描述,我们称之为关系
     2.属性:
           定义: 在现实世界中,一个事物常常取若干特性来描述,这些特性称为属性。
           解释:我们平时玩的游戏怪物的攻防属性 ,哈哈(另外,打游戏可以找我一起! O_o )。
     3.域:
           定义: 每个属性的取值范围对应一个值的集合,称为该属性的域(domain)。
           解释: 例如{1,2} 、大于0且小于一百的整数………可以称之为域。
     4.元组:
           定义: 给定一组可相同的域(n个),他们的笛卡尔积的每一个元素,称为n元组,简称元组。
           解释: 通俗来说元组就是二维表中的行
     5.码:
           定义: 也称码键,能唯一标识实体的属性(可唯一确定一个元组),是整个实体的性质,而不是单个实体的性质,包括超码、候选码、主码。
           解释: 比如一个学生实体,我们知道学号不能重复,所以 学号 可以作为本关系中的码。
               5.1. 候选码: 关系中的某一属性组的值能够唯一标识一个元组,而其子集不能,则该属性组为候选码
               5.2. 主码 :若一个关系中有多个候选码,则选定其中的一个作为主码
     6.分量:
           定义: 元组中的一个属性值。
           解释: 通俗来说元组就是二维表中的行中的某一个值
     7.关系模式:
           定义: 对关系的描述方式。
           解释: 一般表示为:关系名(属性1、属性2、……、属性n)
               例如:学生(学号,姓名,年龄)。
               要求:关系的每一个分量必须是不可分的数据项,并且关系必须是规范化的。
     8.数据定义语言:
           定义: 用来创建、更改和删除数据库对象、改变数据库结构的语言。
           解释: 我们可以用此语言来对数据库中数据进行操作:
               例如: CREATE DATABASE (建立数据库)
                           CREATE TABLE (建立数据表)
                           CREATE INDEX:建立数据表索引。
     9.数据操纵语言:
           定义: 用来检索、插入和修改数据的语言。

           解释: 我们可以用此语言来对数据库中数据进行操作:
               例如:SELECT(查询)
                          INSERT(添加)
                          UPDATE(修改)

三、数据库系统的三级模式结构,并说明其优点:

     1.简介:
            数据库系统的三级模式结构是指:数据库系统是由外模式、模式、内模式,三级构成。(这里截取书本上的图来加以说明)


在这里插入图片描述

     2.优点:
            2.1.   模  式:模式也称概念模式或者逻辑模式。

                       优点:所有用户的公共数据视图。是数据库在逻辑级上的视图,不涉及数据的存储细节,与具体的应用程序、开发工具、设计语言相互独立。

            2.2. 外模式:外模式也称 子模式 或 用户模式。

                       优点:一个数据库可以有多个外模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。用户只能访问看见所对应的数据,不能看到其他数据。(保证数据库安全性的一个有力措施)

            2.3. 内模式:内模式也称存储模式。

                       优点:唯一性(一个数据库只有一个内模式),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。比如:升降序存储、数据是否加密等等。

四、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有程序与数据的独立性?

     1.物理独立性:
                我们已经知道数据库中模式内模式唯一的,所以模式/内模式 映像唯一的。当数据库的存储结构改变时,由数据管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序保持不变。保证了程序物理独立性。
     2.逻辑独立性:
                我们已知:一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式 映像。当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以实外模式保持不变。应用程序从而保持不变,因此保证了数据的逻辑独立性。
     3.为什么数据库具有以上独立性:
                在介绍两种独立性的时候,我们已经粗略的解释过此问题。因为数据库管理系统在上面提到的数据库的三级模式中提供了两层映像外模式/模式、模式/内模式 映像。其中:
                外模式/模式映像赋予数据库管理系统数据的逻辑独立性
                模式/内模式映像赋予数据库管理系统数据的物理独立性

以上便是对于数据库一小部分基础知识的整理)。其中加上的一小部分的自己的理解, 如果有不对的地方请大家一定指出来,在此万分感谢! (❁´◡`❁)*✲゚    *♡ ̑̑ฅ(ٛ˃̶˙ω˙˂̶ٛฅ)
发布了6 篇原创文章 · 获赞 10 · 访问量 3204

猜你喜欢

转载自blog.csdn.net/qq_31747473/article/details/104515040