关系型数据库基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

培训时间 2007-05-11 2007-05-13 2007-05-14
关系数学模型中以二维表的形式来描述数据


表中的一列称为一个字段。
表中的一行成为一条数据。
字段

字段,是为了保存数据中某一类型的属性,我们要为字段定义相应的 类型。

常见类型:

number,char(),varchar(),time等

srv使用netca配置,一般包括为:

host:name/ip Port:1521 Sid:orcl
ORACLE 基础原理 Oracle的备份恢复

Oracle的数据导出导入

数据导出:exp user/passwd@srv 数据导入: imp user/passwd@srv



思考:索引是不是越多越好?
索引

索引和约束 索引是为了加速查询 约束仅仅是保证逻辑上的数据一致性 数据库会在某些约束上会自动创建索引(如主键)
索引
索引设计
表扫描/索引
对于以下sql,如何创建索引?
select ename from emp where empno=7369;
标准SQL

SQL全称是“结构化查询语言(Structured Query Language)”

事务

数据库事务是指作为单个逻辑工作单元执行的一系列 操作

原子性对于其数据修改,要么全都执行,要么全都不执 行


事务在完成时,必须使所有的数据都保持一致状态。
隔离性。由并发事务所作的修改必须与任何其它并发事 务所作的修改隔离。 持久性。事务完成之后,它对于系统的影响是永久性的。
日志

事务的原子性、一致性要靠日志系统保持
思考:oracle是否可以象Oracle那样直接备份恢复数 据文件?
。。。。。。。。。。。。。。。。。。。 。。。。
完毕 谢谢大家
ORACLE基础原理

Oracle空间的规划
系统表空间
默认安装即可
数据表空间
根据业务(注意考虑索引空间)
临时表空间
排序等操作
归档日志(归档模式下)
根据事务量多少
备份空间
数据容量的2倍?
ORACLE基础原理
使用pstree可以看到oracle和tnslsnr进程

Oracle用户下使用tnsping charge显示ok!

尽可能不重复, 以最优方式为某个特定组织的多种应用服务, 其数据结构独立于使用它的应用程序, 对数据的增、删、改和检索由统一软件进行管理和控制。
什么是关系型数据库
关系型数据是以关系数学模型来表示的数据。

培训课程 C语言 操作系统
数据库
培训教师 张珊
李斯 王武
选课人数 67 57 60

启动参数文件(spfile) $ORACLE_HOME/dbs/spfilesid.ora $ORACLE_HOME/dbs/initsid.ora
侦听配置文件 $ORCLE_HOME/network/admin/listener.ora 客户端链接配置文件 $ORACLE_HOME/network/admin/tnsnames.ora
MYSQL基础

mysql的表属于数据库


mysql数据服务中有多个数据库,每个数据库有多个表。
Mysql的数据字典(系统表)在mysql数据库中
MYSQL基础

Mysql特点

速度快。 小型,轻便。 维护使用简单
MYSQL基础

Linux/Unix下的安装

操作系统自带 下载rpm(或操作系统盘上的rpm)安装 下载源码自己编译

SQL语言结构简洁,功能强大,简单易学,几乎所有的 关系型数据库都支持标准的SQL
SQL
很多数据库都在标准的SQL上进行了扩充。

如Oracle的PL/SQL,
Sybase,SqlServer的TSQL
SQL
Structured
Query Language包含4个部分:
Query Language SELECT
稳定性可靠性高 功能复杂 占用空间大
ORACLE基础

Linux/Unix下的安装。

使用Oracle公司发行的安装盘进行安装。此光盘可以在 Oracle官方网站上下载。 安装步骤较为复杂,具体参见安装手册。

ORACLE基础

Oracle的表属于用户。 Oracle一个数据服务就是一个数据库,数据库中有多 个用户,每个用户有多个表。 Oracle的数据字典在system用户和sys用户中。

日志系统记录每一步操作。 日志系统先于数据更改做更改。

思考:日志系统除了保证事务的正确执行还可以有那 些应用。
事务日志

提交

要及时提交
事务不提交,会造成数据被锁定,其他进程无法访问此数据

提交不能过于频繁
每次提交要执行一次磁盘I/O,对于批量数据处理将出现I/O瓶颈。 建议每隔几百行提交一次
自动提交
编程时往往有”自动提交”的设置 优点:省去每次写commit的麻烦,避免漏写commit 缺点:commit可能过于频繁,每个sql单独成一个事务
索引

在数据库表中,可以使用索引加快访问数据的速度。 通过在要执行搜索的表中选择一列或多列来创建索引。 索引可以看成是一个表按指定索引列的排序后的影射 表。 索引是对某个字段或者某几个字段进行创建的。
Manipulation Language
数据查询语言DQL-Data 数据操纵语言DQL-Data
INSERT, UPDATE, DELETE
数据定义语言DQL-Data
CREATE, ALTER, DROP
Definition Language
数据控制语言DQL-Data
Control Language COMMIT WORK, ROLLBACK WORK


唯一性约束、外键、范围约束
视图

视图是一个虚拟表,其内容由查询定义。同真实的表 一样,视图包含一系列带有名称的列和行数据。但是, 视图并不在数据库中以存储的数据值集形式存在。行 和列数据来自由定义视图的查询所引用的表,并且在 引用视图时动态生成。
视图

为什么要使用视图

简单性。看到的就是需要的。 安全性。通过视图用户只能查询和修改他们所能见到的 数据。 逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化 带来的影响。
ORACLE基础原理
Oracle的启动与关闭

侦听 lsnrctl start/stop

数据库
sqlplus / as sysdba startup;
shutdown immediate;
ORACLE基础原理

Oracle字符客户端的使用: sqlplus user/passwd@srv
ORACLE基础原理
MYSQL基础

配置文件my.cnf一般在/etc下,或者在安装目录下的 var,data目录中 数据文件在一个目录中,一般是/var/lib/mysql或安装 目录下的data 每个数据库是一个子目录,每一张表对应3个文件。 日志在/var/log中或数据文件目录中


MYSQL使用



(以上两个文件可以使用netca工具进行配置)
ORACLE基础原理

日志文件
侦听文件日志: $ORACLE_HOME/network/log/listener.log
数据库运行日志
$ORACLE_BASE/admin/tim/ adump bdump cdump dpdump hdump pfile udump
mysql字符客户端 mysql –uuser -ppasswd -hhost
MYSQL使用

Mysql状态查看 使用pstree查看mysql进程 -safe_mysqld---mysqld---mysqld---2*[mysqld]
MYSQL使用

mysql的启动与关闭(操作系统自带或使用rpm安装)

ORACLE 基础原理 Oracle的文件结构

spfile/pfile文件:
启动参数文件 控制文件:
wk.baidu.com

记录各个数据文件的状态

数据文件: 存放数据 temp表空间:临时空间,由于排序、联合等操作 undo表空间:回滚空间
ORACLE 基础原理 在线日志:
提供先写日志,确保数据事务的一致性。 日志至少要两组(每组内部互为镜像),一组日志写 满后会切换至另一组。


启动:service mysqld start
关闭:service mysqld stop
MYSQL使用

Mysql的备份恢复:

直接找到数据文件目录,直接备份或者恢复此数据文件 目录。

思考:mysql在没有关闭情况下,是否可以进行备份和 恢复?
ORACLE基础

Oracle特点

ORACLE_HOME:ORACLE_HOME是安装某个产品某个版本 的目录
ORACLE_SID:数据库客户端的实例名
NLS_LANG:客户端字符集
PATH:可执行文件的查询路径
ORACLE基础原理
常用Oracle文件的路径 安装路径习惯 /opt/oracle/product/10.2.0/db_1/
注意调整大小,如果日志太小,会造成日志组频繁切 换。
归档日志:
离线的日志,主要用于备份恢复。
ORACLE基础原理
Oracle在linux/unix中的环境变量

环境变量文件
/home/oracle/.bash_profile

重要参数
ORACLE_BASE:ORACLE_BASE是ORACLE软件和管理文件 的最上层目录
主键

能够唯一表示数据表中的每个记录的字段,或者字段 的组合就称为主键(Primary Key )。 一张表中只能有一个主键。


思考,为什么需要主键?可不可以没有主键?主键可 否为空值?
约束

约束(check)是数据库服务器强制用户必须遵从的 业务逻辑。它们限制用户可能输入指定列的值,从而 强制引用完整性。 常见约束:
关系型数据库基础
培训内容:

关系型数据库基本原理 标准SQL
Oracle的使用
Mysql的使用
什么是数据?


数据(Data)是数据库中存储的基本对象
数据的定义
描述事物的符号记录

数据的种类
文字、图形、图像、声音
什么是数据库

数据库是依照某种数据模型组织起来并存放二级存储 器中数据的集合。 这种数据集合具有如下特点:
相关文档
最新文档