(一)数据库原理基础

数据(Data)

数据库中存储的基本对象。(信息=数据+语义)

数据库(DataBase)

  • 存放和提供数据的库房

是指长期储存在计算机内的、有组织的、可共享的大量数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享

数据库管理系统(DataBase Management System)

  • 位于用户与操作系统之间的一层数据管理软件。

一个对数据库进行统一管理、统一控制的系统软件,
用户对数据库的任何操作都是通过它来完成的,因此也被称为数据平台,是用户和数据库之间的桥梁

数据库系统(DataBase System)

计算机系统中引入数据库后的一个人机系统。

一般由数据库、数据库管理系统(DBMS)、计算机硬件系统、软件系统(含操作系统、开发工具、应用系统)、数据库管理员和用户构成

数据库系统的内部体系结构

从DBMS的角度来看,数据库系统通常采用三级模式结构。三级模式即物理模式(整个数据库的数据存储方式和存储结构),概念模式(整个数据库的逻辑)和用户模式(某一个用户能看到的局部的逻辑);

 

数据库系统的外部体系结构

从最终用户角度来看,数据库系统分为:单用户结构、主从式结构、分布式结构(物理上是分布的,但所有节点的数据在逻辑上是一个整体,节点数据相对独立)、C/S结构、B/S结构。

三个世界及其有关概念

  • 现实世界
  • 信息世界:
    • 实体:客观存在并且可以相互区别的“事物”
    • 属性:实体所具有的某一特性称为属性。型——>属性名 值——>具体值
    • 实体型:具有相同属性的实体必然具有共同的特征;用实体名及其属性名集合来抽象和描述同类实体,称为实体型。如实体型 学生(学号,姓名,专业)
    • 实体集:同型实体的集合称为实体集
    • 码:能唯一标识一个实体的属性或属性集,称为实体的码
    • 域:某一属性的取值范围
    • 两个实体型间的联系:指两个不同的实体集间的联系,包括一对一、一对多、多对多。
  • 计算机世界:信息世界到数据世界,使用数据模型来描述,数据库中存放数据的结构是由数据模型决定的
    • 字段(Field):标记实体属性的命名单位,字段名往往和属性名相同。如学生的学号、姓名、年龄、性别等
    • 记录(Record):一个记录描述一个实体,字段的有序集合。如一个学生(99001,张立,20,男,计算机)
    • 文件(File):用来描述实体集的,同一类记录的集合
    • 关键字(Key):能唯一标识文件中每个记录的字段或字段集
现实世界信息世界计算机世界
事物总体 实体集 文件
事物个体 实体 记录
特征 属性 字段
事物间联系 实体模型 数据模型

数据模型

数据模型是描述数据、数据联系、数据的语义和完整性约束的概念集合,由数据结构、数据操作和完整性约束三要素组成

 

 

 

数据的完整性约束:一组完整性规则的集合

  • 完整性规则是数据模型中数据及其联系所具有的制约和依存规则
  • 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容

数据库的类型是根据数据模型来划分的,而任何一个DBMS也是根据数据模型有针对性地设计出来的,这就意味着必须把数据库组织成符合DBMS规定的数据模型。

层次模型(Hierchical)

  • 以“树结构”表示数据之间的联系,只能直接处理一对多的实体联系,查询效率高,性能优于关系模型,不低于网状模型。插入和删除操作的限制多,查询子女结点必须通过双亲结点。

  


网状模型

  • 用网状有向图表示实体和实体之间的联系。可以表示多个从属关系的联系,也可以表示数据间的交叉关系,是层次模型的扩展。具有良好的性能和存储效率,修改数据时,只需要更新指定记录即可,但数据结构复杂,记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节

 

 

关系模型(主流)

  • 以二维表结构来表示实体与实体之间的联系,由表名、表头和表体三部分构成。一个二维表就是一个关系。
  • 关系(Relation):一个关系对应通常说的一张表
    元组(Tuple):表中的一行即为一个元组
    属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名    
    主码(Key):也称码键。表中的某个属性组,它可以唯一确定一个元组,从候选码中选取。
    域(Domain):是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
    分量:元组中的一个属性值。
    关系模式:对关系的描述,是关系模型的“型”。表示为:关系名(属性1,属性2,…,属性n),如:学生(学号,姓名,年龄,性别,系名,年级)
  • 数据结构简单、清晰、用关系描述实体及其联系,但查询效率不如非关系模型(层次、网状)

   

 

 

主流关系型数据库简介

MySQL: 08年被sun公司收购09年sun被oracle收购,开源免费,到oracle发布了5.0版本(使用了oracle核心技术 性能提高30%),因为Oracle数据库地位受到威胁,计划把mysql闭源,原mysql作者们不干了,原程序员出去单干,发布了MariaDB数据库、名字是因为作者女儿叫Maria ,市场排名第一;

Oracle:闭源、最贵、性能最高,市场排名第二;

SQLServer:微软公司的产品,市场排名第三,主要应用在.net(C#)开发的网站中;

DB2:IBM公司有做网站的完整解决方案(操作系统,we服务器(如tomcat),数据库等)主要应用在银行等国有大型企业中;

sqlite:轻量级数据库,只有几十k,一般应用在嵌入式和移动设备中;

 

posted @ 2020-08-01 15:45  来一杯大大大可  阅读(535)  评论(0编辑  收藏  举报