一、基本概念
1、数据(Data):数据是数据库中存储的基本对象,是描述事物的符号记录。
比如:数值、文字、图形、图像、声音等;
注意:数据与语义是分不可开的,例如:
数值:100
语义:如成绩是100分;价格是100元;时间是100秒;
2、数据库(Database,DB):存储数据的仓库;是长期存储在计算机内的,有组织的,可共享的,大量的数据的集合。
数据库的好处:1.持久化数据到本地 2.可以实现结构化查询,方便管理
3、数据库管理系统(Database Management System,DBMS):用于用户和OS(操作系统)之间的一层管理数据的软件。
常用的DBMS有:SQL Server,Oracle,MySQL,DB2等;
4.SQL:结构化查询语言,用于和DBMS通信的语言。
DBMS的功能:
(1)数据定义语言(DDL):创建(create )、 修改(alter )、 删除(drop)数据库对象,是对数据库进行的操作;
(2)数据操纵语言(DML):向数据库中插入数据(insert)、修改数据(update)、删除数据(delete),是对数据进行的操作;
(3)数据查询语言(DQL):查询(select)数据库中的数据;
(4)数据控制语言(DCL):管理用户的权限。如:授权(grant)、撤销权限(revoke);
(5)事务控制语言(TCL):管理事务、提交事务( commit )、回滚事务(rollback);
(6)数据库的维护、运行管理:并发控制,备份与恢复,性能监视;
4、数据库系统(Database System,DBS): 在计算机系统中引入了数据库后的系统。
由DB、DBMS、应用程序开发工具、应用系统、数据库管理员(DBA)、用户构成。
5、数据库管理员(DBA):专门管理数据库相关事宜的人员;
6、数据库存储数据的特点:
1)将数据放到表中,表再放到库中;
2)一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性;
3)表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计;
4)表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”;
5)表中的数据是按行存储的,每一行类似于java中的“对象”。
二、数据管理技术的发展
1、人工管理阶段
主要用于科学计算;没有直接存储设备,没有OS,数据不共享;
2、文件系统阶段
有存储设备,有OS,数据共享性差、冗余度大(导致数据不一致),数据独立性差;
数据的独立性:当数据的结构(逻辑结构/物理结构)发生改变,应用程序如果不需要修改,称数据的独立性高。
逻辑独立性:应用程序与数据的逻辑结构
物理独立性:应用程序与数据的物理结构
3、数据库系统阶段:数据结构化,数据共享,数据独立性高,数据同一由DBMS管理和控制;
数据库既存储数据、还存储数据之间的联系。
三、三级模式、两级映像
为什么通过数据库管理数据,数据的独立性高?
1、三级模式:模式、外模式、内模式;
模式(External Schema):(相当于表的列标题) 描述全体数据的集合(基本表),只有1个。
学生:学号,姓名,性别,所在系,年龄,家长电话 课程:课程号,课程名,学分 教师:教师号,教师姓名,职称,年龄,研究方向 选课:学号,课程号,成绩 |
外模式:是模式的子集(视图),可以有多个。
查询成绩:学号,姓名,教师姓名,课程名,成绩 查询导师:教师姓名,职称,研究方向 |
内模式:物理存储结构(顺序存储、B树结构存储、HASH方法存储)(索引),只有1个;
2、两级映像:外模式/模式映像;模式/内模式映像
外模式/模式映像:保证数据的逻辑独立性
模式/内模式映像:保证数据的物理独立性