数据库之绪论
数据库的四个基本概念
①数据:描述事物的符号记录。
②数据库:通俗的讲,数据库具有永久存储,有组织和可共享的三个基本特点
严格地讲,数据是长期存储在计算机内、有组织的、可共享的大量数据的集合,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。
③数据库管理系统:是位于用户和操作系统之间的一层数据管理软件,和操作系统一样是计算机的基础软件。
主要功能:1.数据定义功能;2.数据组织,存储和管理;3.数据操纵功能;4.数据库的事务管理和运行管理;5.数据库的建立和维护功能;6.其他功能(通信功能,数据转换功能,互访和互操作功能等)
④数据库系统:由数据库、数据库管理系统(及应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
数据库的发展阶段
①人工阶段:数据不保存、不共享,不具有独立性
②文件系统阶段:可保存,但共享性差,冗余度大,独立性差
③数据库管理系统:数据库系统的出现使得信息系统以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段,实现整体数据的结构化。
数据的共享性高,冗余度低且易扩充,数据共享可以大大减少数据冗余,节约存储空间。
数据的独立性高:
- 物理独立性:是指用户的应用程序与数据库中数据的物理存储是相互独立的。
- 逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的。
数据库由数据库管理员(DBA)统一管理和控制。
数据模型(这个应该蛮重要的)
(1)两类数据模型:
概念模型+逻辑模型和物理模型(人们首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界)
1.概念模型:也称信息模型,它是按用户观点来对数据和信息建模,主要用于数据库设计。
基本概念:
- 实体:客观存在可相互区别的事物,人
- 属性:实体所具有的某一特性。如人的鼻子,嘴巴。
- 码:唯一标识实体的属性。如学号
- 实体型:用实体名及其属性集合来抽象和刻画同类实体。如含有鼻子和嘴巴的人。
- 实体集:同一类型实体的集合。如学校。
- 联系:实体之间的联系通常是指不同实体之间的联系,实体之间的联系有一对一,一对多和多对多等多种联系。
概念模型的一种表示方法:实体——联系方法,用E-R图来描述现实世界的概念模型。E-R图方法也称为E-R模型。
2.逻辑模型:它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。
包括:**①层次模型 ②网状模型 ③关系模型 **
物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方法和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
联系:实体之间的联系通常是指不同实体之间的联系,实体之间的联系有一对一,一对多和多对多等多种联系。实体内部的联系通常是指实体各属性之间的联系。
E-R图
E-R图分为实体,属性和关系三个基本部分。实体用长方形,属性用椭圆形,关系用菱形。
(2)常用的数据模型
常用的数据模型:层次模型,网状模型,关系模型,面向对象数据模型,对象关系数据模型,半结构化数据模型
层次模型:
1.有且只有一个节点没有双亲节点,这个节点被称为根节点。
2.根以外的其他节点有且只有一个双亲结点。
网状模型:
1.允许一个以上的节点无双亲。
2.一个节点可以有多于一个双亲。
关系模型:
关系:一个关系对应通常说的一张表。
元组:表中的一行。
属性:表中的一列。
码:也称为码键,表中的某个属性组。(主键)
域:是一组具有相同数据类型的值的集合。
分量:元祖中的一个属性。
(3)数据库系统的结构
1.模式数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。其中一个具体值称为模式的一个实例。模式是相对稳定的,实例是相对变动的。
三级模式结构:外模式+模式+内模式。
外模式:也称子模式或用户模式,它是数据库用户(包括应用程序猿和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式:也称逻辑模式。是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
内模式:也称存储模式,一个数据库只有一个内模式,他是数据物理结构和存取方式的描述,是数据在数据库内部的组织方式。
2.二级映像:
外模式/模式映像:当模式改变时,由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式不变,应用程序不必修改。保证了数据与程序的逻辑独立性。
模式/内模式映像:当数据库的存取结构改变时,由数据库管理员对模式/内模式作相应改变,可以使模式保持不变,从而应用程序也不用改变,保证了数据与程序的物理独立性。
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去,另外,由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
(4)数据库系统的组成
1.硬件平台及数据库:足够大内存、磁盘或磁盘阵列等设备,较高的通道能力以提高数据的传送率。
2.软件:数据库管理系统,支持的数据库管理系统运行的操作系统,具有与数据库接口的高级语言及其编译系统,以数据库管理系统为核心的应用开发工具,为特定应用环境开发的数据库应用系统。
3.人员:开发,管理和使用数据库的人员主要包括数据库管理员、系统分析员和数据库设计人员、应用程序猿和最终用户。
数据库管理员职责:决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件。