数据库技术中的一些基本概念

1. 数据库概述

       

        数据库

        数据库(Database, DB)是存放数据的仓库,它可以按照某种数据结构对数据进行存储和管理。只不过这些数据存在一定的关联,并按照一定的格式存放在计算机上。从广义上讲,数据不仅包含数字,还包括文本、图像、音频和视频等。数据库是事务处理、信息管理等应用系统的基础。

       数据库系统

        数据库系统(Database System, DBS)是一个复杂的系统,是采用了数据库技术的计算机系统。数据库系统不仅是对一组数据进行管理的软件,还是存储介质、处理对象和管理系统的集合体,由数据库、硬件、软件和数据库管理员组成。

       数据库管理系统

        数据库管理系统是位于操作系统和用户之间的一个数据管理软件,它按照一定的数据模型科学地组织和存储数据,并能够对数据进行获取及维护。提到数据库管理系统,不禁会想到另一个与之相似的概念---数据库系统(DBS),数据库系统是实现有组织地、动态地存出大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,是采用数据库技术的计算机系统。数据库管理系统是指数据库系统中对数据进行管理的软件系统,是数据库系统的核心组成部分,包括对数据库的定义、查询、更新及各种控制,都是通过DBMS进行的。DBMS总是基于各种数据模型而建立的,有层次型、网状型、关系型和面向对象型等多种模型。

      数据模型

       数据模型是数据库系统的核心和基础,是关于描述数据与数据之间的联系、数据的语义、数据一致性约束的概念性工具的集合。

  • 数据结构:是对系统静态特征的描述,描述对象包括数据的类型、内容、性质和数据之间的相互作用关系。
  • 数据操作:是对系统动态特征的描述,是对数据库各种对象实例的操作。
  • 完整性约束:是完整性规则的集合,它定义了给定数据模型中数据及其联系所具有的制约和依存规则。
       结构化查询语言SQL

       结构化查询语言(Structured Query Language),即SQL语言,是一种应用于关系数据库查询的结构化语言,最早是由 Boyce 和 Chamberlin 在1974年提出的,成为 SEQUEL 语言。SQL是一种介于关系代数和关系演算之间的语言,具有丰富的查询功能,同时具有数据定义和数据控制功能,是集数据定义、数据查询和数据控制于一体的关系数据语言。SQL语言的功能包括数据查询、数据操纵、数据定义和数据控制4个部分。SQL语言简洁、方便、实用,为完成其核心功能只用了6个动词-----SELECT、CREATE、INSERT、UPDATE、DELETE和GRANT(REVOKE)。SQL语言还是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这是他具有极大的灵活性和强大的功能。


2. 数据库的体系结构

     

      数据库三级模式结构

       数据库系统的三级模式结构是指模式、外模式和内模式。下面分别进行介绍:

  • 模式
       模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据只有一个模式。模式处于三级结构的中间层。定义模式时不仅姚定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。
  • 外模式
       外模式也称用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。外模式是保证数据安全性的一个有力措施。
  • 内模式
       内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是在数据库内部的表示方式。    

    三级模式之间的映射

  • 外模式/模式映射
       对于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式被改变时,数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。这样,依据数据外模式编写的应用程序就不用修改,保证了数据和程序的逻辑独立性。
  • 模式/内模式映射

     数据库中只有一个模式和一个内模式,所以模式/内模式的映射是 唯一的,它定义了数据库的全局逻辑结构和存储结构之间的对应关系。当数据库的存储结构被改变时,数据库管理员对模式/内模式映射做相应的改变,可以使模式保持不变,应用程序相应德也不做变动。这样,保证了数据与程序的物理独立性。


3. E--R图

    

      E--R图(Entity-Relationship Diagram)也称“实体--关系图”,用于描述显示世界的事物,以及事物与事物之间的关系。其中E表示实体,R表示关系。它提供了表示实体类型、属性和关系的方法。

      实体和属性

      在数据库领域中,客观世界中的万物都被称为实体。实体既可以是指客观存在并可相互区别的事物,例如高山、流水、学生、老师等,又可以是一些抽象的概念或地理名词,例如精神生活、物质基础、吉林省、北京市等。实体的特征(外在表现)称为属性,通过属性可以区分同类实体。例如,一本书可以具备下列属性:书名、大小、封面颜色、页数、出版社等,并且根据这些属性可以在一堆图书中找到所要的图书。

          关系

      在客观世界中,实体并不是孤立存在的,通常还存在一些联系。在E-R图中,可以使用关系表示实体间的联系。通常使用菱形表示实体间的联系,在菱形框内写明联系名,并且使用无向边将其与有关的实体连接起来。同时,还需要在无向边旁标上关系的类型。

       在通常情况下,实体间存在以下3种联系:

  • 一对一关系。一对一关系是指两个实体A和B,如果A中的每一个值在B中至多有一个实体值与其对应,反之亦然,那么称A和B为一对一关系。在E-R图中,使用(1:1)表示。
  • 一对多关系。一对多关系是指两个实体A和B,如果A中的每一个值在B中有多个实体值与其对应,反之在B中每一个实体值在A中至多有一个实体值与其对应,那么称A和B为一对多关系。在E-R图中,使用(1:n)表示。
  • 多对多关系。多对多关系是指两个实体A和B,如果A中的每一个值在B中有多个实体值与其对应,反之在B中每一个实体值在A中有多个实体值与其对应,那么称A和B为多对多关系。在E-R图中,使用(m:n)表示。
      E-R图的设计规则

  • 先设计局部的E-R图,再把每一个局部的E-R图综合起来,生成总体的E-R图。
  • 属性应该存在于且只存在与某一个实体或者关系中。这样可以避免数据冗余。
  • 实体是一个单独的个体,不能存在于另一个实体中。
  • 同一个实体在同一个E-R图中智能出现一次。

4. 数据库设计步骤

      

     在设计出E-R图后,就可以根据该E-R图生成对应的数据表,具体步骤如下:

  • 为E-R图中的每一个实体创建一张对应的数据表;
  • 为每张数据表定义主键(一般情况下,会将作为唯一标识的编号作为主键)或者外键;
  • 创建新数据表表示多对多关系;
  • 为字段选择合适的数据类型;
  • 定义约束条件(可选)。

    定义约束条件

      在设计数据库时,还需要为数据表设置一些约束条件,从而保证数据的完整性。常用的约束条件有以下6种:

  • 主键约束:用于约束唯一性和非空性,通过为表设置主键实现。一张数据表中只能有一个主键。在数据录入过程中主键字段必须唯一,并且不能为空。
  • 外键约束:需要建立两张数据表间的关系,并且引用主表的字段。外键字段的数据要么是主键字段的某个值,要么为空。在建立关系时,主表和子表通过外键关联。
  • 唯一性约束:用于约束唯一性,可以通过为表设置唯一性约束实现。满足唯一性约束的字段可以为空。
  • 非空约束:用于约束表中的某个字段不能为空。
  • 检查约束:用于检查字段的输入值是否满足指定的条件。如果输入的数据和指定的字段类型不匹配,那么该数据将不能被写入到数据库中。对于这个约束,一般的数据库管理系统都会自动检查。
  • 默认值约束:用于为字段设置默认值。当输入数据时,如果该字段没有输入任何内容,那么会自动填入指定的默认值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

年轮陌羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值