关系型数据库基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)是数据库中存储的基本对象
数据的定义
描述事物的符号记录
数据的种类
文字、图形、图像、声音
什么是数据库
数据库是依照某种数据模型组织起来并存放二级存储 器中数据的集合。 这种数据集合具有如下特点: