基本理论知识
数据模型
数据库是长期存储在计算机内有组织的大量的共享的数据集合,数据库系统的核心和基础是数据模型。
第一类数据模型:概念模型,信息模型,按照用户的观点来对数据和信息建模,主要用于数据库设计
第二类数据模型:逻辑模型和物理模型。
---逻辑模型包括:层次模型、网状模型、关系模型、面向对象模型、对象关系模型等
---物理模型:对数据最底层的抽象,描述数据在系统内部的表示方法和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
数据模型一般由数据结构、数据操作和完整性约束三部分组成。
数据结构
存储在数据库中对象类型的集合,作用是描述数据库组成对象以及对象之间的联系。
数据操作
对数据库中各种对象实例允许执行的操作的集合,包括操作及相关的操作规则。
数据完整性约束条件
在给定的数据模型中,数据及其联系所遵守的一组通用的完整性规则,它能保证数据的正确性和一致性。
关系模型
关系模型是目前最重要的一种数据模型,关系数据库系统用关系模型作为数据的组织方式,关系模型中数据的逻辑结构是一张二维表
(1)关系的数据结构:一张表
(2)关系数据模型的数据操作包括:查询、插入、删除和更新数据
(3)关系模型的数据完整性约束条件包括:实体完整性、参照完整性、用户自定义的完整性
主键与外键
候选码:若关系中的某一属性组的值能唯一标识一个元组,则该属性组为候选码
主键(主关键字):若一个表中有多个候选码,则可选定其中一个为主键
主属性:候选码的诸属性称为主属性,不包含在任何候选码中的属性称为非主属性或非码属性
外键(外关键字):如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键,则该属性集是关系模式R的外键。以另一个关系的外键作主键的表被称为主表,具有此外键的表被称为主表的从表。
关系模型的实体完整性规则
若属性A(一个或一组属性)是基本关系R的主属性,则A不能取空值,即主键不能为空
关系模型的参照完整性规则
若属性F(一个或一组属性)是某基本关系R的外键,且它与基本关系R1 的主键相对应,则对于R中,每个F上的值或为空值或等于R1中的主键值
事务
用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位
事务的四个特性(ACID特性):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)。
索引
对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
索引的作用
(1)通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性
(2)可以大大加快数据的检索速度,这是创建索引的最主要原因
(3)可以加速表与表之间的连接,特别是在实现数据的参照完整性方面特别有意义
(4)在使用分组(group by)和排序(order by)字句进行数据检索时,同样可以显著减少查询中分组和排序的时间
(5)通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能
为表设置索引的代价
(1)增加了数据库的存储空间
(2)在插入和修改数据时要花费较多的时间(因为索引也要随之变动)
索引建立和删除语句
//在表Student(学生信息表)上按Sno(学号)降序建唯一索引
CREATE UNIQUE INDEX Stusno ON Student(Sno desc);
//删除Student表的Stusno索引
ALTER TABLE Student DROP INDEX Stusno;
视图
从一个或几个基本表(或视图)导出的表,与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然存放在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也就随之改变了,从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。
视图建立和删除语句
//建立一个计算机系学生的视图(在学生表Student的基础上)
CREATE VIEW CS_Student
AS
SELECT sno, sname
FROM Student
WHERE Sdept='CS';
注:视图一经建立,就可以像基本表一样被查询、删除
//删除视图
DROP view CS_Student;
SQL语句
SQL语句包含:数据定义(create、drop、alter)、数据查询(select)、数据操纵(insert、update、delete)、数据控制(grant、revoke)
数据定义
待续----------------------------------