一、数据库的四个基本概念
1.数据
数据(Data)是数据库中存储的基本对象。
数据的定义:描述事物的符号记录。
数据的种类:描述事物的符号可以是数字、文字‘图形、图象、图形、声音等。
数据的特点:数据与其语义是不可分的。
数据的表现形式:还不能完全表达其内容,需要经过解释。
例如:100是一个数据
语义1:学生的成绩
语义2:学生人数
2.数据库
定义:数据库(DataBase)是长期存储在计算机内、有组织的可共享的大量数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
3.数据库管理系统(DBMS)
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。可以科学地组织和存储数据、高效地获取和维护数据。
主要功能
1.数据定义功能
提供数据定义语言(DDL)
定义数据库中数据对象
2.数据组织、存储和管理
分类组织、存储和管理各种数据
确定数据在存储级别上的结构和存储方式
实现数据之间的联系
提供多种存取方法提高存取效率
3.数据操作功能
提供数据操作语言(DML)
实现对数据库的基本操作(查询、插入、删除和修改)
4.数据库的事物管理和运营
数据的安全性、完整性、多用户对数据的并发使用
发生故障后的系统恢复数据库有数据库管理系统统一管理和控制,保证事物正确运行。
5.数据库的建立和维护功能
提供实用程序/工具
完成数据库数据批量装载
数据库转储
介质故障恢复
数据库的重组织和性能监视等
4.数据库系统
定义:是指在计算机系统中引入数据库后的系统构成
在不引起混淆的情况下常常把数据库系统简称为数据库。
构成:由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成
二、数据模型
模型是对现实世界的模拟和抽象
数据模型是现实世界中数据特征的抽象
定义:数据库中数据是按一定的方式存储在一起的,其组织结构又称为数据模型,它决定了数据库中数据之间联系的表达方式。
分类:
概念数据模型:独立于计算机系统,是现实世界的抽象
基本数据模型:计算机系统和数据库管理系统的数据模型
1.概念模型
ER图:
实体:客观存在并可相互区别的事物称为实体。
属性:实体所具有的某一特征称为属性。
码:唯一标识实体的属性集称为码(主键)
实体型:用实体名及其属性名来集合来抽象和刻画,同类实体称为实体型
实体集:同类型实体的集合称为实体集。
联系:事物内部以及事物之间的联系
实体内部的联系:是指组成实体的各属性之间的联系
实体之间的联系:通常是指不同实体集之间的联系,实体之间的联系有一对一,一对多和多对多等多种类型。
2.数据模型
数据模型是严格定义的一组概念的集合。
组成:
数据结构:描述系统的静态特性
数据操作:描述系统的动态特性
完整性约束
数据库领域主要逻辑数据模型:
层次模型
基于数的形式组织数据
网状模型
基于图的形式组织数据
关系模型(主要模型)
基于表的形式组织数据
优点:可解释性、概念单一、用户透明
缺点:效率较低、优化较难
面向对象数据模型
对象关系数据模型
半结构化数据模型
三、数据库系统结构模式
型(Type):是对某一类型数据的结构和属性的说明(如:学号、性别、姓名...)
值(value):值是型的一个具体赋值(如·:201826705054、男、xxx)
模式(schema):是对数据库逻辑结构和特征的描述
实例(Instance):数据库某一时刻的状态-模式的一个·具体值
1.三级模式结构
模式: 一个数据库只有一个模式,与数据的物理存储细节和硬件环境无关,是所有用户的公共数据视图。
定义模式:DDK以某种数据模型为基础定义数据的逻辑结构,例如数据项的名字、类型、取值范围。
外模式:外模式是数据库用户使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。通常为模式的子集,一个数据库模式可以有多个外模式。
内模式:是数据物理结构和存储方式的描述,也是数据在数据库内部的表示方式。一个数据库只有一个内模式
2.二级映像与数据独立性
三级模式是数据的三个抽象级别
实现三个抽象层次的联系和转换
数据库管理系统内部提供二级映像
外模式/模式映像
模式/内模式映像
对每一个外模式,有一个外模式/模式映像定义该外模式与模式之间的对于关系。映像定义通常包含在各外模式的描述中
保证数据的逻辑独立性
当模式改变时,数据库管理员对外模式/模式映像作相应改变,使外模式保持不变
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
数据库中模式/内模式映像是唯一的
模式/内模式映像
定义了数据全局逻辑结构与存储结构之间的对应关系。如:说明某个逻辑记录对应何种存储结构。
保证数据的物理独立性
当数据库的存储结构改变时,数据库管理员修改模式/内模式映像,使模式保存不变
模式不变,则应用程序不变,保证了数据与程序的物理独立性,简称数据的物理独立性
先把这些概念性的知识了解清楚之后,在大脑形成一个思维导图,之后实际操作数据库时候就更清晰,不容易记错知识。下一章直接就是数据库实例操作了。