1.数据库概述
数据库(database、db)指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。
关系型数据库:它是将数据以关联关系或者二维表的形式存储的数据库。如 oracle、mysql、db2、sql server等;
- 关系:一张二维表,每个关系都具有一个关系明,也就是表名。
- 属性:二维表内 列,也称为字段,是有一定范围(数据类型)
- 元祖:二维表内 行,也成为数据或记录
- 关联关系:表和表之间的引用,比如订单表,用户表,商品表之间的关系
- 遇到高并发情况,硬盘I/O成为最大瓶颈
- 进行横向扩展的时候,遇到大数据时,需要进行数据迁移或者停机维护等。
- ACID,是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。
非关系型数据库:一般是以键值对(Key-Value)方式存储数据的数据库。如 redis、hadoop(hbase)、MongoDB 等
例:{key1:value1,key2:value2....}
{id:1,username:”张三”}
非关系数据库,非关系型,分布式的,并且不保证遵循ACID原则,且结构不固定。
优点:空间利用率较好,用户可以根据需求任意添加字段,适用于SNS(social networking service)比如,fb,微博
缺点:处理简单数据结构,文字,图片,视频。
非关系数据库的分类:
面向高性能并发的key-value数据库
面向海量数据访问文档的数据库
面向搜索内容的搜索引擎
关系型与非关系型数据库的比较
1.成本:Nosql数据库简单易部署,基本都是开源软件,不需要像使用Oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。
2.查询速度:Nosql数据库将数据存储于缓存之中,而且不需要经过SQL层的解析,关系型数据库将数据存储在硬盘中,自然查询速度远不及Nosql数据库。
3.存储数据的格式:Nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。
4.扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。Nosql基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
5.持久存储:Nosql不使用于持久存储,海量数据的持久存储,还是需要关系型数据库
6.数据一致性:非关系型数据库一般强调的是数据最终一致性,不像关系型数据库一样强调数据的强一致性,从非关系型数据库中读到的有可能还是处于一个中间态的数据,
7.Nosql不提供对事务的处理。
2.Oracle数据库概述
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
注:
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS
关系数据库管理系统(Relational Database Management System:RDBMS)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。
3.Oracle 11g的安装
1.解压安装包文件
解压的时候解压完整
碰到两个文件名字很长且相似,说明原文件过大为了方便将安装包分开压缩为多个文件,可以选择多个一起解压 个人推荐 7z 解压缩软件.
2.安装数据库软件
不要小瞧这接收,千万不要勾选不信可以试试
安装后出现以下目录
3.oracle 11g监听程序配置
监听程序是服务器中接收和响应客户机对数据库的连接请求的进程;监听程序运行在Oracle数据库服务器端。
如果监听配置不成功 就没办法使用ide工具编写sql
如果后续显示监听错误就电脑重启重新安装监听
电脑关机再开机 和直接重启效果是不同的 尽量重启(具体不同请自行百度)
4.数据库配置
正确安装后,可以从“服务”中,看到Oracle名下的各种服务。
Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。
OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。
OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。
OracleMTSRecoveryService:服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。
OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。
OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候才需要。
OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。
以后如果运行Oracle,需要至少启动TNSListener、OracleServiceOrcl这两个服务。
4.oracle数据库管理工具
常用的访问oracle的工具有SQL*Plus,EM,SQL Developer,PL Sql/developer,TOAD等
1.SQL Plus的使用
安装完Oracle 11g,在开始菜单中会产生Oracle自带的管理工具,其中就包括SQL Plus
1.sqlplus的登陆
1.打开oracle自带的sqlplus插件
输入用户名 例:scott
输入密码 例:scott
你会发现账户被锁定 所以需要进行解锁下方步骤。--如果显示权限不足下方有解决方案
2.以管理员身份登陆sqlplus
用户名 sqlplus
密码 as sysdba --有空格
解锁用
alter user scott account unlock;
修改用户密码
alter user scott identified by 密码; --密码自己写一个 不要写 “密码” 俩字
sqlplus
system或者sys
密码 as sysdba
如果你想查数据库中所有的表的话,可以查询
SELECT * FROM dba_tables
如果你想查询数据库中某个用户下的表的话,也可以登录这个用户,再查询:
SELECT * FROM USER_TABLES
在黑窗口内显示全面
col plan_table_output for a200
set pagesize 900
set linesize 800
、
2.l命令
L(IST):查看sqlplus缓存的上一条语句
3./命令
/:执行缓存中的sql语句
4.n命令
n:它是一个自然数,表示把光标放到缓存中sql语句的第n行
5.a命令
a :给当前行添加内容
6.c命令
c:修改sql语句的内容
c /源字符串/新字符串
7.del命令
del:删除当前行的内容
8.show all
show all 显示sqlplus中的所有参数配置
9.col命令
col 列名|别名 for 显示格式
字符串格式:a长度 col hiredate for a11
数字格式:9点位符
col sal for 9999.99
col sal for L9999.99 --L 本地货币符号
col sal for $9999.99
10.set linesize 数字
set linesize 数字:设置一行显示的长度
11.set pagesize 数字
set pagesize 数字:设置每页显示的数据条数
set pagesize 100
12.set heading off|on
set heading off|on:关闭/开启,表头显示
13.save命令
save 文件路径:将执行的sql语句保存到文件中
14.spool命令
spool批处理命令
spool 文件路径
sql语句
spool off
将spool 和spool off之间所执行过的语句及结果保存到文件中
15.desc命令
desc 表名
查看表结构