美文网首页
Oracle复习

Oracle复习

作者: 梅干菜你个小酥饼哦 | 来源:发表于2019-06-03 18:32 被阅读0次

山交Oracle复习资料

10个填写,8个大题

第1章 数据库的基本概念与Oracle环境

1.1.2 数据模型

oracle是关系型数据库

数据模型分为:层次模型网状模型关系模型

  • 层次模型:以树形层次结构组织数据
  • 网状模型:每一个数据用一个节点表示,每个节点与其他节点都有联系,这样,数据库中的所有数据节点就构成了一个复杂的网络。
  • 关系模型:以二维表格(关系表)的形式组织数据库中的数据。从用户观点看,关系模型由一组关系组成,每个关系的数据结构是一个规范化的二维表。

1.1.3 关系型数据库语言 (分类)

  1. 数据定义语言(DDL)
  2. 数据操作语言(DML)
  3. 数据控制语言(DCL)
  4. 数据查询语言(DQL)

1.1.4 数据库设计

数据库设计从哪些方面设计:

  1. 概念结构设计
  2. 逻辑结构设计
  3. 物理结构设计

E-R模型:将实体集及实体集之间联系的图称为E-R模型

E-R模型的表示方法为:

  • 实体集用矩形框表示,矩形框内标注实体名
  • 实体集的属性用椭圆框表示,框内标注属性名,并用无向边与其实体集相连
  • 实体集间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向边将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—n或m—n
  • 如果一个联系有属性,则这些属性也要用无向边与该联系连接起来

两个实体集之间的联系可能是以下三种情况之一:

  1. 一对一的联系(1∶1)
  2. 一对多的联系(1∶n)
  3. 多对多的联系(m∶n)

1.3.4 SQL*Plus工具

用于数据库交互的命令会命令工具为SQLPlus

create table xsb();

Describe xsb;

INSERT INTO KCB VALUES('101', '计算机基础', 1, 80, 5);

SELECT * FROM KCB;

第2章 数据库创建

第2章-1 数据库体系结构

2.1 Oracle体系结构

  1. Oracle是一个基于B/S模式关系型数据库管理系统
  2. Oracle系统体系结构由三部分组成:逻辑结构、物理结构和实例

2.1.2 外部结构

  1. 数据文件(DATAFILE)
  2. 重做日志文件(REDO LOG FILES)
  3. 控制文件(CONTROL FILES)
  4. 参数文件(CONTROL FILES)

第2章-2 oracle数据库管理工具

Oracle的服务启动

  • net start oracleserviceoracle ----启动oracleserviceoracle服务
  • net start oraclevsswriteroracle ----启动oraclevsswriteroracle服务
  • lsnrctl start ----启动OracleOraDB12Home1TNSListener监听程序。

Oracle的服务关闭

  • net stop oracleserviceoracle ----启动oracleserviceoracle服务
  • net stop oraclevsswriteroracle ----启动oraclevsswriteroracle服务
  • lsnrctl stop ----启动OracleOraDB12Home1TNSListener监听程序

Web OEM控制台

默认端口:5500

网址:https://localhost:5500/em

OracleSQL Plus-启动

SQLPLUS <用户名>/<口令>@<数据库实例名> AS <身份类型>
例如:
C:>SQLPLUS SYS/lj0414@eBuy AS SYSDBA

第2章-3 oracle数据库的创建和管理

创建数据库的方式

通过界面创建、通过命令行创建

2.3.1 创建数据库

  1. 设定实例标识符 SET ORACLE_SID=mydb
  2. 设定数据库管理员的验证方法 orapwd file=D:\oracle\oradata\DATABASE\PWDmydb.ora Password=123456 entries=5
  3. 创建初始化参数
  4. 启动SQL*Plus并以SYSDBA连接到Oracle实例 sqlplus /nolog connect system/123456 as sysdba
  5. 启动实例 STARTUP NOMOUNT pfile="D:\app\tao\mydb\pfile\initmydb.ora"
  6. 启动实例

使用CREATE DATABASE语句创建数据库mydb

CREATE DATABASE mydb
    MAXINSTANCES 1
    MAXDATAFILES 100
    DATAFILE 'D:\app\tao\oradata\mydb\system01.dbf'
        SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
    UNDO TABLESPACE UNDOTBS DATAFILE 
        'D:\app\tao\oradata\mydb\undotbs01.dbf'
        SIZE 150M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
    CHARACTER SET ZHS16GBK
    NATIONAL CHARACTER SET AL16UTF16
    LOGFILE 'D:\ app\tao\oradata\mydb\redo01.log' SIZE 100M,
            'D:\ app\tao\oradata\mydb\redo02.log' SIZE 100M,
            'D:\ app\tao\oradata\mydb\redo03.log' SIZE 100M
    MAXLOGHISTORY 1
    MAXLOGFILES 5
    MAXLOGMEMBERS 5

2.3.2 修改数据库

使用ALTER DATABASE语句来修改数据库的某些设置

创建新的数据文件以代替原来的数据文件

ALTER DATABASE mydb
    CREATE DATAFILE 'users' AS 'D:\app\tao\oradata\mydb\users01.dbf'
        SIZE 50M REUSE AUTOEXTEND ON NEXT 20M  MAXSIZE 500M;

2.3.3 删除数据库

删除数据库mydb

DROP DATABASE mydb;

第3章 表与表数据操作

3.2 创建和管理表空间

查看表空间:

SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;

Spool:

该命令将sql*plus屏幕上的内容输出到指定文件中去

spool d:\b.sql;
select * from emp;
spool off;

创建大小为50MB的表空间TEST,禁止自动扩展数据文件:

CREATE TABLESPACE TEST
        LOGGING 
        DATAFILE 'D:\app\tao\oradata\XSCJ\TEST01.DBF' SIZE 50M 
        REUSE AUTOEXTEND OFF;

创建表空间DATA,允许自动扩展数据文件:

CREATE TABLESPACE DATA
        LOGGING
        DATAFILE 'D:\app\tao\oradata\XSCJ\DATA01.DBF' SIZE 50M 
        REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 200M

通过ALTER TABLESPACE命令把一个新的数据文件添加到DATA表空间,并指定了AUTOEXTEND ON和 MAXSIZE 300M:

ALTER TABLESPACE DATA
    ADD DATAFILE 'D:\app\tao\oradata\XSCJ\DATA02.DBF' SIZE 50M 
    REUSE AUTOEXTEND ON NEXT 50M MAXSIZE 300M;

3.4.1 创建表

利用CREATE TABLE命令为XSCJ数据库建立表KCB,指定表的存储参数:

CREATE TABLE KCB
(   
    KCH     char(3)         NOT NULL PRIMARY KEY,
    KCM     char(16)        NOT NULL,
    KKXQ    number(1)       NULL,
    XS      number(2)       NULL, 
    XF      number(1)       NOT NULL
)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE (INITIAL 64K MINEXTENTS 1 PCTINCREASE 40 
                FREELISTS 1 FREELIST GROUPS 1);

创建XSB表中计算机专业学生的记录备份:

CREATE TABLE XS_JSJ
    AS SELECT * 
        FROM XSB
        WHERE ZY= '计算机' ;

3.4.2 修改表

使用ALTER TABLE语句修改XSCJ数据库中的表。
(1)在表XSB中增加两列:JXJ(奖学金等级)、DJSM(奖学金等级说明)

ALTER TABLE XSB
    ADD ( JXJ number(1),
    DJSM varchar2(40) DEFAULT '奖金1000元');

(2)在表XSB中修改名为DJSM的列的默认值

ALTER TABLE XSB
    MODIFY ( DJSM DEFAULT '奖金800元' );

(3)在表XSB中删除名为JXJ和DJSM的列

ALTER TABLE XSB
    DROP COLUMN JXJ;
ALTER TABLE XSB
    DROP COLUMN DJSM;

3.4.3 删除表

DROP TABLE XSB

3.6 命令方式操作表数据

  1. INSERT语句INSERT INTO table_name[(column_list)] VALUES(constant1,constant2,…) COMMIT;

  2. MERGE语句

     USING table_name ON (join_condition)
     WHEN MATCHED THEN { UPDATE SET…| DELETE…}
     WHEN NOT MATCHED THEN INSERT(…) VALUES(…)```
    

3.6.2 删除记录

  1. DELETE语句

    DELETE FROM table_name∣view_name [WHERE condition]

3.6.3 修改记录

UPDATE table_name∣view_name
    SET column_name=expression,[…n]
    [WHERE condition]

第4章 数据库的查询和视图

4.2.1 选择列

  1. 消除结果集中的重复行 SELECT DISTINCT column_name [ , column_name…]
  2. 范围比较 expression [ NOT ] BETWEEN expression1 AND expression2
  3. IN expression IN ( expression [,…n])

查询CP表中库存量为“200”“300”和“500”的情况

SELECT *
    FROM CP
    WHERE KCL IN (200,300,500);

在XSCJ数据库中查找选修了课程号为101的课程的学生的情况

SELECT * 
    FROM XSB
    WHERE XH IN
        ( SELECT XH FROM CJB WHERE KCH = '101' );

查找比所有计算机系学生年龄都大的学生

SELECT * 
    FROM XSB
    WHERE  CSSJ <ALL
            ( SELECT CSSJ
                    FROM XSB
                    WHERE ZY= '计算机'
            );

查找选修206号课程的学生姓名

SELECT XM
    FROM XSB
    WHERE EXISTS
        ( SELECT *
            FROM CJB
            WHERE XH=XSB.XH AND KCH= '206' 
        );

4.2.4 连接

  1. 内连接 内连接按照ON所指定的连接条件合并两个表,返回满足条件的行

查找不同课程成绩相同的学生的学号、课程号和成绩

SELECT a.XH,a.KCH,b.KCH,a.CJ
        FROM CJB a JOIN CJB b 
        ON a.CJ=b.CJ AND a.XH=b.XH AND a.KCH!=b.KCH;
  1. 外连接 外连接的结果表不但包含满足连接条件的行,还包括相应表中的所有行
  • 左外连接(LEFT OUTER JOIN):结果表中除了包括满足连接条件的行外,还包括左表的所有行;
  • 右外连接(RIGHT OUTER JOIN):结果表中除了包括满足连接条件的行外,还包括右表的所有行;
  • 完全外连接(FULL OUTER JOIN):结果表中除了包括满足连接条件的行外,还包括两个表的所有行。

查找被选修了的课程的选修情况和所有开设的课程名

SELECT CJB.* , KCM
    FROM CJB RIGHT JOIN KCB ON CJB.KCH= KCB.KCH;

4.2.5 汇总

相关文章

  • Oracle 复习

    1、建表:create table 2、修改表结构:alter table, alter column 3、插入...

  • Oracle复习

    山交Oracle复习资料 10个填写,8个大题 第1章 数据库的基本概念与Oracle环境 1.1.2 数据模...

  • oracle 基础复习

    1. SQL 基础 https://mubu.com/doc/3ANPHhveeK 2. PL/SQL 基础 ht...

  • oracle复习整理

    1.数据库操作语言 SQL(struct query language)select 语句DDL(数据定义语句)c...

  • Oracle笔记(二)

    Oracle笔记系列这几篇是来自一位老师的笔记,分享给大家放在简书上,主要方便自己时常复习,还有学习Oracle的...

  • Oracle笔记(三)

    Oracle笔记系列这几篇是来自一位老师的笔记,分享给大家放在简书上,主要方便自己时常复习,还有学习Oracle的...

  • Oracle笔记(四)

    Oracle笔记系列这几篇是来自一位老师的笔记,分享给大家放在简书上,主要方便自己时常复习,还有学习Oracle的...

  • Oracle笔记(一)

    Oracle笔记系列这几篇是来自一位老师的笔记,分享给大家放在简书上,主要方便自己时常复习,还有学习Oracle的...

  • GreenDao

    前言:数据库:MySQL、Oracle、Sqlite 一. 复习SQL语句(结构化查询语言) 1.SQL语句分类 ...

  • GreenDao

    数据库:MySQL、Oracle、Sqlite 一. 复习SQL语句(结构化查询语言) 1.SQL语句分类 DDL...

网友评论

      本文标题:Oracle复习

      本文链接:https://www.haomeiwen.com/subject/zqdhxctx.html