基本概念
1.E-R图/实体关系图(Entity relationship Diagram):提供了表示实体,属性,关系的图形化表示方式,用来描述现实世界的概念模型。
*实体:具有相同特征和属性的现实世界事物的抽象。(矩形)
*属性:实体具有的特性。(椭圆)
*关系:实体之间的相互联系的方式,一般具有一对一,一对多,多对多关系。(菱形)
E-R绘图软件:Visio,PowerDesigner,ERWin Data Modeler等
2.数据库管理系统(Relational Database Management System 简称 RDBMS):是位于操作系统和用户(或者基于数据库的应用程序)之间的一组数据库管理程序。
用户 操作系统文件
数据库应用程序 ---> 数据库管理系统 ---> 操作系统文件
3.数据库管理系统的功能:
1)定义数据库结构:DBMS提供数据定义语言(DDL)来定义数据库结构,用来搭建数据库框架,并被保存在数据字典中。
2)存取数据库内容:DBMS提供数据操作语言(DML),实现对数据库数据的基本存取操作--检索,插入,修改,删除。
3)数据库的运行管理
4)数据库的建立和维护
5)数据的传输
*目前比较常见的DBMS有 Oracle, SQL Server, MySQL, DB2等
4.SQL语言是一种高级的非过程化编程语言。
分类:1)数据查询语言(DQL):也称为“数据检索语句”,用于从表中获得数据,确定数据怎样在应用程序给出。关键字SELECT,WHERE,ORDER BY,HAVING等
2)数据操作语言(DML):分别用于添加,修改,删除表中的行。也被称为动作查询语言。
3)事务处理语言(TPL):能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTTON,COMMIT,ROLLBACK。
4)数据控制语言(DCL):通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些GRANT或REVOKE控制对表单各列的访问。
5)数据定义语言(DDL):在数据库中创新表或删除表(CREAT TABLE 或 DROPTABLE);为表加入索引等。DDL包括许多与数据库目录中获得数据有关的保留字。 它也是动作查询的一部分。
6)指针控制语言(CCL):用于对一个或多个表的单独行进行操作,比如DECLARECURSOR,FETCH INTO ,UPDATE WHERE CURRENT等语句。
5.数据库范式:
1)第一范式(1NF):字段必须具有单一属性特征,不可再拆分。 --- 消除重复
2)第二范式(2NF):表要具有唯一性的主键列。 --- 确定表行
3)第三范式(3NF):表中的字段不能包含在其他表中已出现的非主键字段。 --- 避免数据冗余
* 例: 违反第三范式
员工表 部门表
PK 工号 PK 部门编号
FK1 中文名字 部门名称
英文名字 部门经理
年龄 部门描述
入职日期 工号
部门编号
部门名称
部门经理
这个两个字段在部门表中是非主键字段,造成了数据的重复。如果只更新一个表的信息可能造成另一个表没有更新,导致数据不整合。
6.Oracle数据库的特征:
1)跨平台的数据库管理系统 :可运行在Windows,Linux,UNIX等操作平台。 SQL Server 只能运行在Windows平台上,IBM DB2 只能运行在IBM的平台上。
2)多层应用体系结构:C/S结构,Oracle客户端-Oracle应用服务器-Oracle服务器端 结构
3)灵活的,可配置的架构:数据库服务器包括两方面 存储Oracle数据的物理数据库(即一些物理文件)和 Oracle实例(分配的内存区,后台进程)
* 网格计算 是一个比较新兴的IT体系结构,它是指将相似的IT资源整体看作一个资源池,也就是说有多个计算机硬件来参与数据计算,网格实现了整体资源管理和独立资源控制 德平衡,对于具有较大服务器设施来说,这非常有用,但是对于普通企业及数据库存储来说,网络框架不必要成为学习重点。
7.Oracle 数据库服务器包括两个方面:存储Oracle数据的物理数据库:保存Oracle数据库数据的一系列物理文件,包含控制文件,数据文件,日志文件和其他文件。
Oracle实例:这是物理数据库和用户之间的一个中间层,用来分配内存,运行各种后台进程,这些分配的内存和后台统称Oracle实例。
8.Oracle数据库系统的组成:
数据库:是指一组位于操作系统磁盘上的文件,用于储存数据,这些文件可以独立于数据库实例而存在。
数据库实例:是管理数据库文件的一组进程和内存结构,它包含一个叫作系统全局区(SGA)的内存组件和一系列的后台进程(在Window中以线程的方式表示),实例可以 独立于数据库而存在。
内存结构 系统全局区(SGA)
进程结构 后台进程/线程
▽
存储结构 数据库文件 A 数据库文件 B 数据库文件C
等数据库服务器启动时,先会在内存中分配SGA系统全局区,并启动一系列的后台进程或线程,这称为实例启动,实例启动后,Oracle会将实例与特定的数据库进行关联,这个过程为数据库装载(MOUNT),接下来就是打开数据库,使其保持OPEN状态。
9.Oracle的进程的组成:
客户端进程:运行应用程序代码或Oracle的工具。(SQL Plus)
后台进程:数据库写进程(DBWn),进程监视器(PMON),系统监视器(SMON),检查点进程(CKPT),日志写进程(LGWR),归档日至进程(ARCn)
服务器进程:在用户建立到服务器的连接时启动,这些服务器端的进程与客户端进行通信,并与Oracle数据库实例进行交互已完成用户的请求。
系统全局区(SGA),程序全局区(PGA)每一个进程使用一个PGA来存储控制信息。
10.Oracle数据库与SQL Server数据库的比较:
1)Oracle是跨平台的 SQL Server是Windows平台运行
2)实例与数据库关系 Oracle是N:1 SQL Server 1:N
11.全局唯一标示符。全局数据库名:有数据库名和数据库域名组成。主要用于在分布式数据库系统中区分不同的数据库。基本格式为数据库名.数据库域
而对于同一台计算机上的不同数据库实例,是通过SID(System Identifier)来区分的。
。。。。
つづく