数据库

一,基础概念

基础学科:数据库的基础学科是数学。
数据库的产生动机:为了解决商业管理中的数据而应然而生的,以图书大厦的图书管理为例,如果在没有数据库以前,则所有的图书商品清单需要进行手工的管理,传统的手工做法一定会存在延迟。

  • 在这里插入图片描述

实现数据共享

几种数据库:DB2、Oracle、SQL Server、MySQL。

  • 其中IBMDB2和Oracle是大型数据库。
  • 其中Oracle收费,MySQL免费

数据(Data)描述事物的符号记录成为数据。

  • 数据是数据库中存储的基本对象。除了基本的数字之外、像图书的名称、
    价格、作者等都可以称为数据。

数据库(Database,简称DB):是存放数据的仓库,所有的数据在计算机存储设备上保存,而且所有保
存的数据会按照一定的格式进行保存。
数据库管理系统( DataBase Management System, DBMS ):数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统

  • 主要功能包括以下几个方面:数据操作功能,数据库的事务管理和运行管理,数据定义功能,数据组织、存储和管理,数据库的建立和维护功能,
  • 数据库管理系统一定建立在操作系统上,需要有磁盘控制。

数据库系统(DataBase System, DBS ):是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(负责数据库的建立、使用、维护)构成。

  • 在这里插入图片描述

数据模型

  • 物理模型 ---->用于开发
  • 概念模型

SQL (Structured Query Language)结构化查询语句:是关系数据库的标准语言,SQL是一个通用的、功能极强达观系数据库语言。当前,几乎所有的关系型数据库管理系统软件都支持SQL,许多软件厂商还对SQL基本命令进行了不同程度的扩充。

  • SQL语言有以下几个部分:
  • ①数据操作语言(Data Manipulation Language):用于检索或者修改数据:
  • ②数据定义语言(Data Definition Language):用于定义数据的结构,创建、修改或删除数据库对象:
  • ③数据控制语言 (DCL (Data ControlLanguage):用于定义数据库用户的权限:
  • ④完整性(Integrity):SQL DDL包括定义完整性约束的命令,保存在数据库中的数更新时必须满足所定义的完整性要求,否则无法更新:
  • ⑤视图定义(View Definition) :SQL DDL包括定义视图的命令:
  • ⑥嵌入式SQL和动态SQL (Embedded SQL AND DynamicSQL) :主要定义如何将SQL嵌入到通用边城语言,如:C,C++、Java中:
  • ⑦事务控制(TransactionControl) :定义了包含事务开始和结束的相关命令。
  • 在世界上最早支持SQL标准的公司是Oracle, 而且SQL也是由IBM提出的概念。随着发展,几乎所有的数据库都支持了SQL标准,那么不同的数据库也针对于SQL做了扩充。
  • SQL肯定是一个标准,可是必须要说明的是,在数据库的发展之中,一直存在了一种称为NOSQL的技术,主要是为抵制SQL规范。而且随着大数据的发展。对于NOSQL技术又重新得到了审视,所以对于NOSQL不再翻译为不使用sQL,已经变为了Not Only sQL,其中最为代表的MongoDB数据库(Node.JS开发)。
  • SQL 命令分为三类:DML、DDL、DCL。

二,oracle数据库

2.1 oracle安装

在Oracle数据库的发展历史中,数据库一直处于不断的升级状态,有以下几个版本:

  • Oracle 8、Oracle 8i:Oracle 8i表示的是Oracle正式向Internet.上开始发展,其中i表示的就是internet;
  • Oracle 9i:Oracle 8i是一个过渡版本的数据库,而Oracle 9i是一个更加完善的数据库版本:
  • Oracle 10g:是业界第一个完整的、 智能化的新一代Internet基础架构,为用户带来了更好的性能,其中的g表示的是网格,即:这种数据库采用了网格计算的方式进行操作,性能更高
  • Oracle 11g:是Oracle 10g的稳定版本,也是现在使用比较广泛的新版本
  • Oracle 12c:是Oracle 2013年最新版本的数据库版本,其中c代表的是云计算,同时在Oracle 12c之中也支持了大数据的处理能力
    i:网络 / g:网络计算 / c: 云计算

官网下载 https://www.oracle.com/cn/downloads/
需要注册
在这里插入图片描述
①下载完解压到一个文件夹中
在这里插入图片描述
②点击setup.exe开始安装
③安装设置

  • 在这里插入图片描述
    在这里插入图片描述

  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 使服务通过用户启动

  • 在这里插入图片描述
    在这里插入图片描述

  • 在这里插入图片描述


  • 在这里插入图片描述

  • 在这里插入图片描述
    在这里插入图片描述
    不用注册

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 安装前的检测在这里插入图片描述

开始安装
在这里插入图片描述


安装时会出现下图的对话框,若选择为时,某些用户无法修改为公共密码。点击口令管理
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

2.3 oracle安装后的服务 | 用户及其作用

2.3.1 用户
在这里插入图片描述2.3.2 相关服务
在这里插入图片描述

所有的服务建议全部修改为手工启动,这样的启动速度可以更快一些。
在所有给出的服务里面有两个服务是最重要的:

数据库的监听服务(OracleOraDB12 Home ITNSListener):要通过远程客户端连接数据库,或者直接利用程序进行数据库的连接,那么此服务必须打开;数据库的实例服务
OracleService[SID]:Oracle本身是一个平台,平台里面可以有多个数据库,那么每一个数据库都会存在这样的一种服务名称 Oracle Services[SID]

2.4 如何使用oracle

在 Oracle12C之中由于存在了CDB和PDB概念,所以所谓的测式数据,默认是找不到的。所以下面必须首先针对于数据做一个恢复。

在这里插入图片描述

oracle提供了很多的前台工具,eg:sqlplus
sqlplus:SQLPlus是 Oracle数据库提供的一个专门用于数据库管理的交互式工具,使用 SQLPlus可以管理 Oracle数据库的所有仕务, SQLPlus通过命令的方式对数据库进行管理,也可以通过 SQLPlus执行SQL语句的操作。

  • 在这里插入图片描述

三,SQLPlus常用命令

◆设置每行显示的记录长度(单位:字符): SET LINESIZE每行显示的字符
◆设置每页显示的记录长度: SET PAGESZE每页显示的行数
◆使用ed命令调用本机记事本程序
◆用户连接数据库:CONN 用户名/密码 [AS SYSDBA]
◆取得当前用户的全部数据对象: SELECT * FROM 表明
◆查看表结构:DESC表名称
◆使用本机的操作系统命令:HOST命令

演示显示全部数据
在这里插入图片描述

  • 演示格式化输出调整在这里插入图片描述

格式化输出内容的命令调整

  • 在这里插入图片描述

3.1 SQLplus的数据库连接操作 coon

在oracle之中有许多的用户,这些用户彼此之间是可以进行互相切换

CONN 用户名/密码 [AS SYSDBA]

如果是切换到sys用户,加上AS SYSDBA
在这里插入图片描述

3.2 在sys用户查看其他用户拥有的表值 ?用户名.表名

在这里插入图片描述
在数据库原理之中,用户名有时候可以被简单的称为模式名称,所以所有的表都是具备模式名称的即:模式名表名称.

3.3 原始用户问题

在 Oracle12 C中,虽然选择了要进行样本数据的创建,不过遗憾的是,发现根本就没有出现scott、sh用户。scott和sh用户真实存在,现在也在数据库里面,可是默认情况下用户所有操作的数据都保存在CDB(公共数据库)中。而且在这里面的用户名称必须C##开头,例如:c##scott。

如何在Oracle 12c 中找到scott和sh用

①先登录sys用户
②查看当前容器SHOW con_name

  • 在这里插入图片描述

③改变容器为PDB(为安装时建立的PDB名 )
ALTER SESSION SET CONTAINER=pdb名

查看当前pdb状态
show pdbs

  • 在这里插入图片描述

④打开pdb数据库,查看用户

  • 在这里插入图片描述

  • 在这里插入图片描述

⑤查看scott用户的数据

  • 在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值