当前位置:文档之家› 关系型数据库基础

关系型数据库基础


主键

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


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

约束(check)是数据库服务器强制用户必须遵从的 业务逻辑。它们限制用户可能输入指定列的值,从而 强制引用完整性。 常见约束:
mysql字符客户端 mysql –uuser -ppasswd -hhost
MYSQL使用

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

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

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

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

提交

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

提交不能过于频繁
每次提交要执行一次磁盘I/O,对于批量数据处理将出现I/O瓶颈。 建议每隔几百行提交一次


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

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

为什么要使用视图

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


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

Mysql的备份恢复:

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

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

Oracle特点

注意调整大小,如果日志太小,会造成日志组频繁切 换。
归档日志:
离线的日志,主要用于备份恢复。
ORACLE基础原理
Oracle在linux/unix中的环境变量

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

重要参数
ORACLE_BASE:ORACLE_BASE是ORACLE软件和管理文件 的最上层目录
自动提交
编程时往往有”自动提交”的设置 优点:省去每次写commit的麻烦,避免漏写commit 缺点:commit可能过于频繁,每个sql单独成一个事务
索引

在数据库表中,可以使用索引加快访问数据的速度。 通过在要执行搜索的表中选择一列或多列来创建索引。 索引可以看成是一个表按指定索引列的排序后的影射 表。 索引是对某个字段或者某几个字段进行创建的。

事务

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

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


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

事务的原子性、一致性要靠日志系统保持

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

培训王武
选课人数 67 57 60


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

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

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

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

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

Oracle的数据导出导入

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

Manipulation Language
数据查询语言DQL-Data 数据操纵语言DQL-Data
INSERT, UPDATE, DELETE
数据定义语言DQL-Data
CREATE, ALTER, DROP
Definition Language
数据控制语言DQL-Data
Control Language COMMIT WORK, ROLLBACK WORK
关系型数据库基础
培训内容:

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


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

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

数据库是依照某种数据模型组织起来并存放二级存储 器中数据的集合。 这种数据集合具有如下特点:
MYSQL基础

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


MYSQL使用

ORACLE基础原理
Oracle的启动与关闭

侦听 lsnrctl start/stop

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

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

mysql的表属于数据库


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

Mysql特点

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

Linux/Unix下的安装

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

ORACLE 基础原理 Oracle的文件结构

spfile/pfile文件:
启动参数文件 控制文件:

记录各个数据文件的状态

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

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

如Oracle的PL/SQL,
Sybase,SqlServer的TSQL
SQL
Structured
Query Language包含4个部分:
Query Language SELECT


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

日志文件
侦听文件日志: $ORACLE_HOME/network/log/listener.log
数据库运行日志
$ORACLE_BASE/admin/tim/ adump bdump cdump dpdump hdump pfile udump

启动参数文件(spfile) $ORACLE_HOME/dbs/spfilesid.ora $ORACLE_HOME/dbs/initsid.ora
侦听配置文件 $ORCLE_HOME/network/admin/listener.ora 客户端链接配置文件 $ORACLE_HOME/network/admin/tnsnames.ora
ORACLE_HOME:ORACLE_HOME是安装某个产品某个版本 的目录
ORACLE_SID:数据库客户端的实例名
NLS_LANG:客户端字符集
PATH:可执行文件的查询路径
ORACLE基础原理
常用Oracle文件的路径 安装路径习惯 /opt/oracle/product/10.2.0/db_1/
ORACLE基础原理

Oracle空间的规划
系统表空间
默认安装即可
数据表空间
根据业务(注意考虑索引空间)
临时表空间
排序等操作
归档日志(归档模式下)
根据事务量多少
备份空间
数据容量的2倍?
ORACLE基础原理
相关主题