• oracle数据库学习笔记(一)


    1.什么是Oracle数据库?

    数据库:存放、操作、管理数据的仓库。
    数据最终保存计算机的磁盘上。
    项目开发:淘宝网 -->.txt
    Oracle:甲骨文公司
    全球第二大软件厂商
    第一:微软
    第三:IBM
    第四:爱斯普
    第五:赛门铁克
    Oracle数据库:Oracle甲骨文公司所研发
    和推出的一款关系型数据库软件。

    2.为什么要学习、使用数据库?
    数据库的好处、优点
    1)file文件
    学生管理系统
    保存数据的格式不规范。
    解析数据的方式不统一。
    2)xml格式
    可扩展标记语言
    xml主要用于轻量级的数据存储和传输
    SAX解析 Dom解析 Dom4j解析
    <students>
    <student>
    <id>1001</id>
    <name>Jack</name>
    <age>22</age>
    <gender>男</gender>
    </student>
    </students>
    3)数据库软件
    非轻量级的数据管理软件。
    下载、安装、配置环境.....
    当上述步骤一旦执行完毕,
    用来处理数据和操作数据相当的高效和方便。

    常见关系型数据库的分类:
    1)大型数据库
    Oracle db2(IBM) ....
    特点:存储量大、安全性高 收费
    银行 大型企业
    花旗银行 一台40000 40台一组
    2)中型数据库
    Mysql SqlServer
    特点:存储量较大、安全性较高 免费
    3)小型数据库
    Access(微软) Sqlite
    特点:存储量较小、安全性较低
    就是一个文件。
    移动端开发、嵌入式设备开发

    3.如何学习使用数据库?
    学习对数据进行CRUD(增删改查)的操作。
    CURD
    Create Read Update Delete
    在关系型数据库中,CRUD是通过SQL指令实现的。
    SQL:结构化的查询语句。
    查询student表中的全部内容:
    select * from student;
    查询teacher表
    select * from teacher;
    PL/SQL:在原有的sql命令基础之上,
    加了一些逻辑判断。例如if else for
    SQL*PLUS:Oracle自带的一个客户端工具,
    用来向Oracle服务器发送、执行sql命令。


    4.表(table)
    最基本的存储单元。
    有行有列
    表格中有哪些种类的数据取决于有哪些列(字段)
    每插入一条数据,就是插入一行数据。
    列决定了表格结构,
    行决定了表格具体数据内容。

    学生管理系统:
    1)学生表(学号、姓名、性别、年龄、班级)
    1 张三 男 22 1001
    2)课程表(课程编号、课程名、课程描述)
    1 java基础 面向对象编程技术
    2 Oracle数据库基础 。。。。
    3)学生选课表(学生学号、课程编号)
    1,1
    1,2
    4)教师表(教工号、姓名、性别、年龄...)
    5)教师授课表(课程编号,教工号)

    1 张三 男 40 java基础 公共选修课 面向对象编程
    2 李四 女 50 java基础 公共选修课 面向对象编程
    数据冗余

    1号学生 张三 40岁 男
    2号学生 张三 40岁 男

    关系型数据库:
    数据库中数据和数据之间是存在一定关联的。
    1)表自己存在二元关系 二维关系
    行和列交错
    2)表与表之间存在关联关系
    非关系型数据库:
    Redis:一种运行在内存中的非关系型数据库。
    保存的数据全部都是键值对。
    key = value
    name=zhangsan
    address=suzhoushi
    age=22
    company=briup
    关系型数据库中实体的关系有三种:
    1)一对一
    一个A只能对应一个B
    一个B只能对应一个A
    丈夫和妻子的关系属于一对一关系。
    丈夫表(id,姓名,年龄,妻子id)
    1 张三 23岁 10
    妻子表(id,姓名,年龄)
    1 王翠花 22岁
    处理方式:通过主键和外键
    可以把外键放在任意一方。
    2)一对多
    一个A可以对应很多个B
    但是每个B只能对应一个A
    小组和成员的关系
    一个小组中可以容纳很多个成员
    但是每个成员只能加入一个小组。
    小组表(小组编号,小组名,小组描述)
    成员表(成员编号,姓名,性别,小组编号)
    1 张三 男 S1
    处理方式:通过外键。
    外键应该放在多的一方。
    3)多对多
    一个A可以对应很多个B
    一个B也可以对应很多个A
    学生和课程的关系
    学生表(学号、姓名、性别、年龄、班级)
    课程表(课程编号、课程名、课程描述)
    处理方式:建立一张桥表。
    学生选课表(学生ID、课程ID、选课时间)
    处理思想:把一个多对多变成了
    两个一对多。

    5.SQL的分类
    分为五种:
    1)DDL Database Design Language
    数据库定义语言
    用来定义数据库对象(表)的结构。
    创建表:create table
    修改表:alter table
    删除表:drop table
    截断表:truncate table
    单纯地对表的表名、字段做操作
    不涉及到表中具体的数据。
    2)DCL Database Control Language
    数据库控制语言
    用来控制数据库中用户的权限
    向用户赋予权限:grant 权限/角色 to 用户名;
    撤销用户的权限:revoke 权限/角色 from 用户名;
    3)DML Database Manipulation Language
    数据库操纵语言
    操纵的是具体到表中的数据。
    包含:增加 删除 修改
    插入数据:insert
    删除数据:delete
    修改数据:update
    特点:具有事务性。
    事务性:每次执行一条/一批sql语句的过程
    都看做是一次事务。
    事务需要提交。如果不提交事务,
    则DML语言所做的修改,不会真实生效。
    在提交事务之前,
    事务可以回滚到上一个节点。
    4)DQL Database Query Langauge
    数据库查询语言
    select
    查询语句是数据库中最简单的sql
    也是最复杂的sql
    select * from 表名;
    5)DTL Database Transiction Language
    数据库事务语言
    用来控制事务的提交、回滚
    提交:commit;
    回滚:rollback;

    6.Oracle数据库中的六大对象
    1)*表 table
    是关系型数据库中最基本的存储单位。

    2)视图 view
    不是一张真正的表。是一张虚表。
    视图中显示的内容需要依赖于其它表的内容。
    本质就是一条select查询语句。

    3)*序列 sequence
    Oracle中特有的对象。
    用来产生唯一值。
    通过指定规则,序列可以产生一组特定数值。
    常用于生成主键ID的值。

    4)索引 index
    索引加在数据库表中的某些字段上,
    可以提高该字段的检索效率。
    一些经常查询的字段,就可以加上索引。
    加了索引之后,查询时会优先查询这些字段。
    不要在不经常使用的字段上加索引。

    5)*同义词 synonym
    给数据库中的对象起一个别名。
    HOSPITAL_MANAGE_SYSTEM_SYS_USER
    起个别称:user

    6)存储单元/程序单元 program unit
    PL/SQL所操作的对象。

    一个认知
    什么是Oracle?
    两个概念
    1.什么是数据库
    2.什么是关系型数据库
    三个名词
    SQL
    SQL*PLUS
    PL/SQL
    四个约束
    主键约束--实体性完整性约束
    外键约束--参照性完整性约束
    列级约束
    表级约束
    五个分类
    SQL语句的五种分类
    1)DDL
    2)DCL
    3)DML
    4)DQL
    5)DTL
    六个对象

    视图
    序列
    索引
    同义词
    程序单元


    在SQLPLUS中访问和操作数据库:

    1.打开SQLPLUS工具
    1)打开CMD,在命令行输入指令:SQLPLUS
    win+r 弹出运行窗口 输入CMD
    前提是环境变量配置正确

    检查环境变量中的PATH的值:
    有没有正确添加Oracle数据库的BIN目录
    2)直接打开oracle自带的终端SQLPLUS

    区别:如果在cmd中运行sqlplus命令的话,直接需要输入账号和密码
    如果运行的是oracle自带的终端的话
    可以不输入账号密码

    2.使用账号和密码进行登录
    oracle已经给我们预设好了两个管理员账号
    可以直接用来登录
    1)sys 权限最大 董事长
    2)system 权限其次 总经理
    密码是安装的过程中设定的密码。oracle
    不推荐直接使用管理员账号对数据库进行操作。
    使用管理员账号创建一个普通账号用来操作数据。

    登录过程:
    1)CMD 直接提示输入账号--> system -->回车 -->提示输入密码
    -->输入密码 回车
    2)直接打开SQLPLUS终端
    使用指令conn 账号/密码
    conn不是登录的意思
    是连接账号的意思
    在登陆了某个账号的状态下,
    也可以使用conn命令切换账号。

    查看当前登录的用户: show user


    创建一个用户:
    create user 用户名 identified by 密码;
    例如:创建一个名为briup 密码为oracle的用户:
    create user briup identified by oracle;

    向创建好的用户赋权:
    grant 权限/角色 to 用户名;

    一般要赋予两个最基本的角色:
    connect 包含创建连接、发起会话的权限
    resource 包含操作数据中的表以及表中数据的权限。
    增删改查
    SQL:grant connect,resource to briup;

    切换到briup用户:
    conn briup/oracle

    3.修改会话语言环境
    为什么要修改会话语言环境?
    在插入的数据当中包含日期类型的数据。
    日期类型数据在中英文环境下表现是不同的。

    alter session set nls_language='english';
    alter session set nls_language='simplified chinese';

    nls:native language support 地区化语言支持

    4.导入数据(执行.sql脚本)
    .sql:一批sql命令,集合在一个文件中。
    可以批量执行sql命令。
    把一批sql命令放到.sql脚本中,
    在终端直接执行这个文件,就相当于逐条执行sql命令。

    执行方式:
    1)start 目录+文件名
    2)@目录+文件名
    注意书写方式区别:start后面有空格,@后面没有空格。

    查看数据是否导入成功:
    查询s_emp表中有多少数据?
    select count(*) from s_emp;

     

    三张表
    员工表 s_emp
    部门表 s_dept
    区域表


    查看表中的字段

     

     

     

     

  • 相关阅读:
    80386寄存器
    删除 Windows 旧 OS 加载器
    [C#] Socket 通讯,一个简单的聊天窗口小程序
    [erl] erlang 进程注册和注销
    VB中 '&' 和 '+' 号的区别
    如何成为一个牛逼的程序员
    [VB] if 判断语句 和 If、IIf函数的比较
    C#中通过反射方法获取控件类型和名称
    薪资至少10K的一道题,你能拿下吗
    Jass 技能模型定义(—):半人马酋长的反击光环
  • 原文地址:https://www.cnblogs.com/DennySmith/p/12153525.html
Copyright © 2020-2023  润新知