前言
数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术。它已成为各行各业存储数据、管理信息、共享资源和决策支持的最先进,最常用的技术。
当前互联网+与大数据,一切都建立在数据库之上,以数据说话,首先需要聚集数据、分析数据和管理数据,数据库技术已成为各种计算机系统的核心技术。数据库相关知识也已成为每个人必须掌握的知识。
数据(Data)是信息的具体变现形式。在现实中的数据与其语义是不可分的。如93是一个数据,在不同语义下代表不同的意义:
语义1: 学生某门课的成绩
语义2: 某人的体重
语义3: 公司员工的人数
数据是大量存在的,在特定的语义(背景)下,就成为信息。
例如:
记录(张三,女,1996,苏州)就是数据。文字、图形、图像、声音等都是数据,各类数据必须数字化后才能加工处理。
数据库(DataBase,简称DB)是一个存储数据的仓库。是数据和数据对象的集合。这种集合可以长期储存,具有确定的数据存储结构,同时能以安全可靠的方法进行数据的存储和检索。
当今世界,数据库非常广泛的应用在生活的方方面面。
例如:
12306保存了车次,售票等数据等等
数据库中数据量庞大,如何定义,操纵和管理 ?我们就需要用到数据库管理系统(DataBase Management System,简称DBMS),它是位于用户应用程序与操作系统之间的一层系统软件,用来操纵和管理数据库的软件,用于建立、使用和维护数据库。
在数据库管理系统中,他有如下功能:
常用的DBMS有Oracle、MySQL、Microsoft SQL Server等
数据库系统(DataBase System,简称DBS)是指引入数据库技术后的整个计算机系统。能够实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的核心系统。
数据库系统主要包括3个部分:
计算机系统(软件、硬件和人)、数据库、数据库管理系统。
即DBS = 计算机系统 + DB + DBMS
人工管理阶段
文件系统阶段
数据库管理系统
数据库管理技术各阶段比较分析:
数据库最早的起源是因为美国政府要管理庞大的火箭构件数据,要求IBM进行数据库的开发。
1968年诞生了层次数据库
1969年诞生了网状数据库
1970年诞生了关系数据库
新型数据库由普通数据库到与各种先进技术结合所形成的新型数据库:
现实生活中一张地图、一组建筑沙盘、一架航模飞机都是的模型。
而我们在数据库中,要把现实世界中存在的数据进行建模。比如我们把一个学校转化成数学模型,然后存储在计算机中。就需要经过一些数据抽象的步骤:
层次模型的数据结构是树型结构。满足下面两个条件的基本层次的集合为层次模型
根节点:最顶上的唯一的一个,所以A就是根结点
双亲节点:子节点的父节点就叫做双亲节点,如A是B、C的双亲节点
以下是教员学生层次数据模型
以下是教员学生层次数据的值
通过层次数据模型的数据结构可以清晰的了解到逻辑上对数据是怎么储存的(1对N)
层次模型的数据结构的优点 :
层次模型的数据结构的缺点
网状模型的数据结构是是图型结构,任一结点都可以无双亲或有一个以上的双亲(N对N)。
例如:
学生进行选修课程的时候可以选择多门课程,一门课程也可以被多名学生选择
网状模型的优点:
网状模型的缺点:
层次、网状模型基本上是面向专业人员的,与物理层关系密切。我们需要一种面向用户的数据模型,因此我们用二维表(关系)来描述实体及实体间联系的模型。
例如,在现实生活中,有两张表,一个是班级信息表,一个是学生信息表。一名学生只能对应一个班级,班级中可以包含多名学生,这在现实生活中是一对多的联系,我们通过设置两个相同的属性列,就可以把这两个关系联接在一起,我们通过学生的ClaID就可以查询到班级相关的信息。
CREATE TABLE Student
(StuID char(13),
StuName varchar(8),
StuBir smalldatetime,
StuSex char(2),
StuAddr varchar(30),
Cla_ID char(10) ,
CONSTRAINT class_Cla_ID FOREIGN key(Cla_ID) REFERENCES class(Cla_ID)
);
关系模型的优点:
关系模型的缺点 :
数据模型是对现实世界存在的客观对象进行抽象认识。
按照抽象的层次可分为:概念模型->数据模型(逻辑模型)->物理模型。
数据模型(逻辑模型):层次模型,网状模型,关系模型,面向对象模型等,关系模型是我们最常用的一种数据模型
在上面我们了解了数据库的工作坏境,应用程序是通过DBMS来访问数据库里的数据。
例如,图书借阅系统。图书采买管理系统中有图书采买管理程序、图书借阅程序管理程序等很多程序,他们是怎么DBMS进行数据库的访问的?
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构
从数据库最终用户角度看,数据库系统的结构分为:
模式(Schema)是数据库逻辑结构和特征的描述,是型的描述,不涉及具体值, 反映的是数据的结构及其联系。
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,一个数据库只有一个模式 。简单点理解就是所有用户的公共视图(全局视图),可以用数据定义语言DDL来定义。
模式是数据库系统模式结构的中间层 ,与数据的物理存储细节和硬件环境、应用程序、开发工具及高级程序设计无关。
模式的定义 :
数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述。
数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,
用户能看到的数据库和视图跟具体的程序或项目有关,可用DML来操作。
外模式的作用: 保证数据库的安全性
模式与外模式的关系: 一对多
内模式是数据物理结构和存储方式的描述
是数据在数据库内部的表示方式
简单而言内模式对应物理级,数据在物理介质的存储方式和存储结构。
三级模式是对数据的三个抽象级别
二级映象在数据库管理系统内部实现这三个抽象层次的联系和转换
主要保证数据的逻辑独立性
当模式改变时,数据库管理员对外模式/模式映象作相应改变,使外模式保持不变
应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
保证数据的物理独立性
当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。
应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性