1.数据(Data)
数据是数据库中存储的基本对象。
传统和狭义的理解数据:就是数字
广义的理解:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况。这些都是数据。
数据与其语义是不可分的
例如:(黎明,男,1995,辽宁,计算机系,)
假如在不给出一个语境的情况,当在眼前的内容就是这一条记录,会让人产生一种错觉。前两个:黎明、男 辽宁、计算机系还可以大概知道其含义,但是1995和这两个数字在没有给出具体的含义的时候会认为是两个没有用的数字
但是当将每一个属性值上面添加一个语义就会方便他人理解了。例如上面的例子添加一个语义:姓名、性别、出生年月、籍贯、所在系别、入学时间。上面的记录可以这样翻译:黎明是一个男学生,1995年出生,辽宁人,入计算机系。
2.数据库(Database)
数据库是一个(1)长期存储在计算机内的、有(2)组织的、(3)可共享的、(4)大量的数据集合
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享
概括的讲数据库具有永久存储,有组织和可共享三个基本特点
3.数据库管理系统(DBMS)(简单的理解:高效的获取数据和维护数据:相当一个管家)
数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件
数据的安全性保护、数据的完整性检查、并发控制、数据库的恢复
1.数据的定义
2.数据的操纵功能
3.数据库的运行管理
4.数据库的建立和维护功能(实用程序)
(个人的理解:数据库就是一个庄园,数据库管理系统就相当一个管家。管家负责管管理庄园的运营(相当与数据库的运行管理),对各类事物进行分类(相当于数据的定义),管理庄园的盈利与消费(可看成是数据的操作),通过经验来进行营销和维护庄园(相当于数据库的建立和维护功能))
4.数据库系统(DBS)
数据系统(DBS)是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS(数据库管理系统远远不够,还需要由专门的人员来完成,这些人被称为数据库管理员(DataBase Administrator,DBA))
数据的抽象过程:现实世界中的客观对象抽象为概念模型
把概念模型转换为某一DBMS支持的数据模型
概念模型是现实世界到机械世界的第一个中间层次,它是按用户的观点来对数据和信息建模。
数学模型是按计算机系统的观点对数据建模,是数据库的基础和核心。
数据模型
数据模型是严格定义的一组概念的集合。这些概念精确的描述了系统的静态特征、动态特征和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
(1)数据结构(存取一个数据的数据结构)描述数据库的组成对象以及对象之间的联系。
(2)数据操作是指各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
(3)数据的完整性(使用一个属性可以唯一的标志一个事物)约束条件是一组完整性规则。完整性规则是给定的数据模型中数据及器联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
概念模型
(个人的理解就是将一个物体的各各属性通过相应的数据类型进行记录并设计相应的数据结构进行保存。)
信息世界中的基本概念:
(1)实体:客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念
(2)属性
(3)码:唯一标识实体的属性称为码(例如:学生的学号唯一标识一个学生,学号就是一个码)
(4)域:是一组具有相同数据类型的值的集合。(例如:学生年龄的域为整数,性别的域为(男,女))
(5)实体型:用实体名及其属性名集合来抽象和刻画同类实体称为实体型
(个人理解:实体型就是仅仅有属性结构而没有具体值。(例子:学生(学号,姓名,性别,出生日期,所在系)))
(6)实体集:(个人理解:实体型+具体的值)
超码:是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,那么所有包含K的集合也是超码。因为超码有一些无关属性,很多是我们不感兴趣的。从中筛选出无关的。从而得到最小的超码:候选码
联系
现实世界中事物内部以及事物与事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。
一对一联系:实例:一个班级只有一个班长,一个班长只在一个班中任职
一对多联系:实例:班级中有若干名学生,每个学生只在一个班级中学习
多对多:一门课程同时有若干个学生选修,一个学生可以同时选修多门课程
E-R图
E-R图的标识方法
实体型:用矩形表示,矩形框内写明实体
属性:用椭圆表示,并用无向无边将其与相应的实体连接起来。学生的键号,用下划线表示
单值属性表示方法:就是属性就只有一个值。例如:学生的学号值唯一,每一个学生的所在的系都唯一。
某个特定的实体在该属性上的取值唯一,用带有属性名的椭圆形框表示。
多值属性表示方法:某个特定的实体在该属性上的有多于一个的取值,用爽椭圆型框表示。
例如:学生的手机号有的学生的手机号有一个或多个,学生的爱好也有一个或多个也不唯一
联系
联系本身:用菱形表示,菱形框写明联系名,并用无向边分别与实体连接起来,同时在无向边表明联系的类型。(1:1、1:n或m:n)
联系的属性:联系本身也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来(例如:学生与课程之间的联系是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性。学生的某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于成绩既依赖于某名特定的学生又依赖与某门特定的课程,所以它是学生与课程之间的联系的属性)
E-R图中,当有的数据的属性也与实体有关系的时候,则该属性应该单独的看成一个实体
机械模型(逻辑模型和物理模型)
逻辑模型就是将数据用某种数据结构保存起来(按人的想法将一类事物存放起来)
物理模型就是将保存的数据在物理介质中存放。
非关系模型:
层次模型(树)
网状模型(图)
关系模型(集合):数据结构是 表
关系模式的基本概念
(1)关系:一个关系通常说的一张表
(2)元组:表中的一行即一个元组
(3)属性:表中的一列即为一个属性,给每个属性起一个名称即属性名
(4)码:表中的某个属性组,它可以唯一确定一个元组。
(5)域:属性的取值范围
(6)分量:元组中的一个属性值
(7)关系模式:对关系的描述
关系名(属性1,属性2,属性3....属性n)
例:学生(学号,姓名,年龄,性别,系,年级)
关系模型中,实体及实体间的联系都用关系来表示,表示方法为:
一对一联系:两个表之间的联系隐含在实体对应的关系中(合并到任何一端都行)
一对多联系:两个表之间的联系隐含在实体对应的关系中(合并到n端)一班级与学生的关系为例,其中学生与班级是一对多的关系,假如将学生的学号写在了班级记录的后边,会使本来简洁的班级表变得数据冗余
多对多联系:两个表之间的联系单独建立一个表
数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级结构。
一、模式
模式也成逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据系统模式结构的中间层,即不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关
模式实际上是数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机的结合成一个逻辑整体(将一个数据库中所有的关系都结合在一起,形成一个大的关系)
外模式也称为子模式或用户模式,它是数据库用户(包括应用程序员和最中用户)能够看见和使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,与某一应用有关的数据的逻辑表示
外模式通常是模式的子集,一个数据库可以有多个外模式。由于它是不同用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求方面存在差异,则外模式描述就是不同的。