Oracle第一课课后作业

一、数据库模型

  • 关系型数据模型:Oracle,MySQL,SQLServer

  • 非关系型数据模型:H2,Redis,MongoDB

二、关系模型

  • 关系模式:静态的稳定的

  • 关系:关系是关系模式在某一时刻的状态或内容,关系是动态的

  • 关系模型:关系模型是指用二维表的形式表示实体和实体间联系的数据模型。

三、数据库设计步骤

  • doc->从doc文档中找出实体->将实体和属性转换为表格

  • 中间表:不是具体的一个独立的表,更多的是保存一个关系的表

四、三范式

-- 节省空间,主要是在三范式节省空间,表中只有别的表的一个外键,没有多余的字段

  • 1NF:字段不可拆分

  • 2NF:表中要有主键

  • 3NF:表中不能有别的表的非主键列

  • 还有巴斯科德范式,第四范式,第五范式

  • 反三范式:

    -- 专门给表中增加其他表中的非关键字段,来提高查询效率,但是维护效率不高,因为要同时维护多张有关的相关数据,占用空间也多

五、数据库的有效性和安全性如何实现

  • 通过约束实现

    1. 约束的类型

      • 主键约束:唯一确定一条记录,记录不重复,不能为空

      • 唯一约束:唯一确定一条记录,记录不重复,可以为空

      • 默认约束:有些列不能为空,必须有值,但客户可能忘记赋值,此时用默认约束强制给空的记录赋值一个默认值,保证数据的有效性,完整性。

      • 检查约束:让数据有效,不能出现意外的数据

      • 外键约束:如果依赖的表中没有相应的主键记录,则当前表就无法添加记录,这就是外键依赖,当然要删除依赖表中的记录时,如果记录有被依赖的情况,则要么报错不能删除,要么级联删除当前表中的记录,保证了数据的安全,避免了依赖不存在的问题。

六、创建用户user_test并分配建表权限

    1. 创建用户

      create user user_test identified by user_test;
    2. 授予权限

      grant connect to user_test;
      grant resource to user_test;
    3. 连接

      conn user_test/user_test;
    4. 建表,删表

      create table t1(id number);
      drop table t1;
    5. 收回权限

      revoke connect from user_test;
      revoke resource from user_test;
    6. 删除用户

      drop user user_test;
    7. 管理员登录

      sqlplus / as sysdba


    8. 数据库关闭和启动:shutdown immediate,startup
软件下载提取码:qwer
原文地址:https://www.cnblogs.com/ty0910/p/14271455.html