本章结构:
第—节 数据库基本概念
1、 数据的概念:
数据(Data)是描述事物的符号记录,是指用物理符号记录下来的、可以鉴别的信息。
包括数字、字母、文字、特殊字符组成的文本数据,也可以是图形、图像、动画、影像、声音、语言等多媒体数据。例如,日常生活和工作中使用的客户档案记录、电话记录、商品销售记录等都是数据。
数据是信息的载体,信息是数据的表现。
数据是信息存在的一种形式,只有通过解释或处理的数据才能成为有用的信息。
2、 数据库的概念
数据库(Database,简称DB)是长期储存在计算机内有组织的、可共享的数据集合。
数据要按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性,系统易于扩展,并可以被多个用户分享。
3、 数据库管理系统的概念和功能。
数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。
主要功能(重点掌握前3个):
1)数据定义功能
提供数据定义语言(DDL)定义数据库中的数据对象,例如:表、视图、存储过程、触发器等。
2)数据操纵功能
提供数据操纵语言(DML)操纵数据实现对数据库基本操作。例如:查询、插入、删除和修改。
3)数据库的运行管理功能
保证数据的安全性、完整性、多用户对数据的并发访问以及发生故障后的系统恢复。
安全性: 只有被授权了的用户才可以访问
完整性: 保证数据是正确的没有错误,如银行存取钱。
并发访问: 参考12306
故障恢复: 出现问题了,怎么能够及时恢复。
4)数据库的建立和维护功能
创建数据库及对数据库空间的维护、数据库的备份与恢复功能、数据库的重组织功能和性能监视、分析等
5)数据组织、存储和管理功能
例如:索引查找,顺序查找。
6)其他功能
主要包括与其他软件的网络通信功能、不同数据库管理系统之间的数据传输以及相互访问功能。
4、 数据库系统概念和组成
数据库系统(Database System, DBS)是指在计算机中引入数据库技术之后的系统。通常,一个完整的数据库系统包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户,如图所示。其中,数据库管理员(Database Administrator, DBA)不同于普通数据库用户,他们是专门负责对数据库进行”维护,并保证数据库正常、高效运行的人员;用户则是 数据库系统的服务对象,其通常包括程序员和数据库终端用户两类用户。 此外,一般在不引起混淆的情况下,常常将数据库系统简称为数据库。
第二节 数据里技术的发展
1、 人工管理阶段
背景:
当时无直接存取的存储设备,外存只有纸带、磁带。
当时还未形成软件的整体概念,这一时期,没有操作系统,没有管理数据的软件 。
特点:
数据不保存
应用程序管理数据
数据面向应用程序
Tips:记录内无结构,整体无结构。
2、 文件系统阶段
背景:
出现直接存取存储设备-磁盘
出现操作系统并且系统中有了专门的数据管理软件-文件系统
特点:
数据的管理者:文件系统,数据可长期保存。
数据面向的对象:某一应用程序,只能给某个程序来使用。↓
数据的共享程度:共享性差、冗余度大。
数据的结构化:记录内有结构,整体无结构。
数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序。
数据控制能力:应用程序自己控制。
优势:
将数据的逻辑结构和物理结构分离,当物理结构发生改变时,不会导致应用程序的修改,这称为数据的物理独立性。
应用程序脱离数据的物理结构,适用性提高;
编程人员不必关系数据的物理存储细节,其生产效率提高。
3、 数据库系统阶段
背景:
特点:
数据集成(主要目的):这个时候数据不孤立了,我们把他们放在一起。
数据共享性高:为什么可以用QQ登陆微信?QQ把自己的数据库共享出来了。你通过QQ的认证就可以登陆微信。
数据冗余小:我们通信技术1班有50个人,辅导员都是郑老师。可以使用1行来保存数据,但是你每行,学号,姓名,辅导员,存了50行。这就是冗余。
数据一致性:各种的机制保证不会出现副本,保证唯一性,保证数据不会出错。
数据独立性高:你有感觉到QQ/微信升级了很多版本了吗?数据和应用是分开的。保证了物理(存储)结构和逻辑结构的一致性。
实施统一管理与控制;用软件
减少应用程序开发与维护的工作量:开发应用程序的只需要关心程序就行了,数据有专门的人去做。
第三节 数据库系统的结构
1、 数据库系统的三级模式结构
1-1 模式
模式也称为概念模式或逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
这个模式仅在我们脑子里,而非实际存在于**计算机**中。如家族的族谱和学校。
1-2 外模式
外模式也称为子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。
DBMS提供子模式描述语言(Subschema DDL)来严格地定义子模式,这是数据库设计的关键。
你向电信公司查询你的话费单:你看到只是这张“表”,它就是外模式。你无法知道这个‘表’是这么存在计算机里面的,‘表’和‘表’之间是什么关系,通话记录和套餐之间是什么关系。这些都是模式。
1-3 内模式
内模式也称为存储模式(Storage Schema),它是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。
举例:三张表,课程表,学生表,教师表。
表为外模式,学生可以查询自己的课程。
表之间的关系为模式。
这些表怎么存储到计算机中为内模式。
1-4 三级模式结构的两层映像与数据独立性
外模式/模式映像(逻辑独立性):对数据库进行操作不影响数据的存储方式,逻辑独立。
模式/内模式映像(物理独立性):存储数据并改变数据存储方式不影响数据库的逻辑,物理独立。
数据库系统的数据独立性是指不会因为系统数据库存储结构与数据逻辑结构的变化而影响应用程序。
2、 数据库系统的运行与应用结构
两种,记一下:
客户/服务器(Client/Server,C/S)模式 如:QQ、桌面客户端游戏等。
浏览器/服务器(Browser/Server,B/S)模式 如:网站、在线web游戏等。
第四节 数据模型
1、 数据特征与数据模型组成要素
1-1 数据结构
数据结构描述的是系统的静态特性,即数据对象的数据类型、内容、属性以及数据对象之间的联系。
如:家族的树状结构,排队取票时的队列结构,地图的网状结构。
1-2 数据操作
数据操作描述的是系统的动态特性,是对各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。
1-3 数据的约束条件
数据约束描述数据结构中数据间的语法和语义关联,包括相互制约与依存关系以及数据动态变化规则,确保数据的正确性、有效性与相容性。
比如:月份的有效区间为1-12,超过这个范围的都是错的。
2. 数据模型的分类
2-1 概念层数据模型(外模式)
1)信息世界中的基本概念
①实体(Entity):
客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。
如:你是生产厂商为多家公司提供不同的零件,这里的生产厂商,公司,零件都是实体。
②属性(Attribute)
实体所具有的某一特性称为属性。一个实体可由多个属性来刻画。
如:范冰冰具有的属性,姓名(范冰冰),性别(女),职业(演员),居住地(北京)这些都她的属性。
③码/关键字(Key):
唯一标识实体的属性集称为码。
如:全国查找名叫”范冰冰”的人,可能有同名同姓的人。通过一系列的属性(年龄,性别,居住地等)确定一个唯一范冰冰。这些属性加起来称之为码。
④域(Domain):
属性的取值范围称为该属性的域。
如:月份只可以在1-12中取,天只可以
⑤实体型(Entity Type):
用实体名及其属性名集合来抽象和刻画。同类实体称之实体型。
⑥实体集(Entity Set):
同型实体的集合称为实体集。
//⑤⑥没懂,没关系,不考,知道就行。
⑦联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。
实体型间联系:一对一 1:1;一对多 1:N;多对多N:M。
2)概念模型的表示方法
概念模型:用来描述现实世界的事物,与具体的计算机系统无关。
最典型的概念模型是实体联系(E-R)图。
E-R 模型可以用图的形式来描述现实世界的概念模型,称为 E-R 图。
E-R 图用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型,即 1:1, 1:n 或 m:n。
画ER图的工具:推荐语雀流程图和Navicat
2-2 逻辑层数据模型(模式)
层次模型;网状模型;关系模型;面向对象模型。
面向对象模型是在关系模型基础上面发展起来的,我们学习的是关系模型。
2-3 物理层数据模型(内模式)
物理层数据模型,也称为数据的物理模型(Physical Model),其描述数据在存储介质上的组织结构,是逻辑模型的物理实现,即每一种逻辑模型在实现时都有与其相对应的物理模型。
本章小结
1、 本章的内容:
本章概述了数据库相关的基本概念,并通过对数据管理技术发展历程的介绍,阐述了数据库技术产生和发展的背景,以及数据库系统的特点,同时详细介绍了数据库的三级模式结构和运行与应用结构,最后重点介绍了数据模型的概念、组成要素与分类。
2、本章的学习重点:
数据库系统的三级模式结构
数据模型中概念层模型(E-R模型)与逻辑层模型(关系模型)。