什么是数据库
DB数据库(Database):用于存储和管理的数据仓库;
DBMS数据库管理系统(Database Management System):用于科学的组织和存储数据,高效便捷的管理和维护数据;
DBAS 数据库应用系统(Database Application System)面向最终用户的应用程序;
DBA 数据库管理员(Database Administrator): DBMS的使用者;
DBS数据库系统:DB+DBMS+DBAS+DBA+最终用户构成DBS
数据的类型分类
关系型数据库
Oracle、Mysql、PostgreSQL、DB2、Microsoft SQL Server、Microsoft Access
特点与优、缺:
特: 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织,支持事务一致特性(多人共享,资源同步)
优:表结构易于维护,使用方便(SQL语言)且支持复杂操作
缺:读写性能差,存储方式不灵活,固定的表结构
非关系型数据库、常见:
Redis、Mongodb、Big Table
特点与优、缺:
特:非关系型数据库严格说不是一种数据库,而是一种数据结构化存储方法的集合,可以是文档或键值对等,不支持事务一致性(系统程序,资源异步)
优:存储格式灵活,高扩展性,读写性能高(无需SQL层解析)
缺:不支持SQL,无事务处理能力,不支持复杂查询
Oracle入门
Oracle数据的版本变更及其特点:
Oracle 8i、Oracle 9i、Oracle 10g、Oracle 11g、Oracle 12c
I:i代表Internet,8i版本开启对Internet的支持,所以,在版本号之后,添加了标识i
G:g代表Grid网络,10g加入了网格计算的功能,因此版本号之后的标识使用了字母g
C:c代表云(cloud)计算设计,12c版本表示对云计算的支持
在所有的关系型数据库中,存储数据的集合就是磁盘中的文件。Oracle数据库其实就是一组文件的集合。Oracle数据库分别由三部分组成
1.数据文件(.DBF):数据文件是一个二进制文件,用来保存数据(程序与数据库)Oralce创建表空间的同时会自动创建数据文件
2.控制文件(.CTL):控制文件也是二进制文件,记录数据库的参数(名称、数据文件存放位置等)一个控制文件只能属于一个数据库
3. 日志文件(.LOG):日志文件在 Oracle 数据库中分为重做日志(Redo Log File)文件和归档日志文件两种。重 做日志文件是 Oracle 数据库正常运行不可缺少的文件。重做日志文件主要记录了数据库操 作过程。用于备份和还原数据库,以达到数据库的最新状态。
Oracle结构及常用操作
Oracle目录结构和系统用户:
Oracle 系统用户
sys 用户
sys:sys 是 Oracle 中的超级账户,拥有的权限最大。可以完成数据库的所有管理任务。
system 用户
system:没有 sys 权限大,通常用来创建一些用户查看管理信息的表或视图。不建议使
用 system 用户来创建一些与管理无关的表或者视图。
二者在登录时的区别
sys 和 system 在登录 Oracle 时,sys 只能以系统管理员(sysdba)或系统操作员(sysoper)
的权限登录,而 system 可以直接登录(normal)。
scott 用户
scott:是 oracle 提供的示例用户,提供了一些学习 oracle 操作的数据表。如:emp、dept、
salgrade、bonus 表
Oracle常见的目录:
1.ORACLE_BASE:oracle的根目录/类似java/src
2.ORACLE_HOME:oracle安装目录/类似Java-home
3.admin目录:主要存储oracle后台进程产生的相关文件及数据库管理文件
4.oradata目录:该目录可用于存储与恢复有关的文件,如控制文件、联机重做日志副本、归档日志、闪回日志以及Oracle数据库恢复管理器(RMAN)备份等
Oracle 的启动与关闭
Oracle 启动
Oracle 是通过系统的服务来启动的。
OracleServiceORCL(必须启动)
OracleServiceORCL:数据库服务(数据库实例),是 Oracle 核心服务该服务是数据库启动的基础,只有该服务启动,Oracle 数据库才能正常启动。
OracleOraDb11g_home1TNSListener(必须启动)
OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候或者使用 PL/SQL Developer 等第三方工具时才需要。
Oracle ORCL VSS Writer Service(非必须启动)
Oracle ORCL VSS Writer Service:Oracle 卷映射拷贝写入服务,VSS(Volume Shadow CopyService)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。
OracleDBConsoleorcl(非必须启动)
OracleDBConsoleorcl:Oracle 数据库控制台服务,orcl 是 Oracle 的实例标识,默认的实例为 orcl。在运行 Enterprise Manager(企业管理器 OEM)的时候,需要启动这个服务。
OracleJobSchedulerORCL(非必须启动)
OracleJobSchedulerORCL:Oracle 作业调度(定时器)服务,ORCL 是 Oracle 实例标识。
OracleMTSRecoveryService(非必须启动)
OracleMTSRecoveryService:服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。
Oracle 关闭
关闭 Oracle 只需要将服务停止即可。
Oracle 的常用客户端:
1.自带的SQL Plus(小黑框)
使用SQL Plus连接Oracle:
Win+R,打开运行,输入sqlplus进入小黑框,
输入system回车,然后输入密码回车,OK

2.PLSQL Developer(可视化窗口)

常用的命令:
进入SQL:输入用户名(自己创建的用户或系统默认)回车输入密码(自己设置或默认)
创建用户:create user bjsxt(用户名) identified bybjsxt(密码);
删除用户:drop user (要删除的用户名) cascade;
给用户授权:
grant connect(角色名称/权限),resource(角色名称/权限) to bjsxt(用户名称);
撤销用户权限:
revoke resource(角色或权限) from bjsxt(用户名称);
开启数据库:startup
关闭数据库:shutdown immediate;
查看用户列表:
1.首先进入SQL
2.查看所有用户:select username from dba_users;或者select * from all_users;

数据库中的表关系
表关系的概念:
设计关系数据库的一个重要部分是将数据元素划分为相关的表,我们可以根据数据本身的关联性,将不同表之间的数据聚合在一起.
但,无论在表与表之间建立了什么样的关系,决定数据指点是否有关系的不是表,而是数据本身
表与表之间一般存在三种关系:
1.一对多关系,即一个表中的一条数据可以对应另一个表中的多条数据
注意:一对多是为了处理数据的冗余,外键永远在多方,再引用关联到一方的主键。

2.一对一关系:特殊的一对多关系,外键可以在任意一方,只需要把外键加上唯一约束

3.多对多关系:可以看成两个一对多关系的组合,所以就需要一个中间表,来建立两个列作为这两个多方的联合主键,然后每个列再作为外键参照各多方的主键
