zoukankan      html  css  js  c++  java
  • oracle 10g学习6

    一、数据库设计

      需求分析-->建模-->建立数据字典-->建表-->根据需求构建测试数据-->测试数据库<----->数据库的重构

      建模过程中用到的元素:

      1、实体(Entity)

      实体:用圆角矩形来表示,实体的名字一般用大写,而且一般会和数据库中的表的名字保持一致

      对象实体:现实生活中真实存在的事物

      业务实体:由项目中业务逻辑产生出来的实体

      2、属性

      属性:一般用小写字母表示,并且一个属性在一张表中只能出现一次

      ER图中符号的表示

        1)#:唯一,以后可能表示为主键

        2)*:非空

        3)o:代表随意,可有可无

        4)虚线:may be

          5)实线:must be

        6) 竖杠(|): 代表要强制在(|)一方建立一个联合主键,将对方ID拿过来做联合主键   

      3、关系

      实体间的关系:

        one-to-one   

        one-to-many

        many-to-one

        many-to-many

        1) 一对一关系如果要建立主外键关系,如果都是实线或都是虚线可以随便建。
                    如果一边实线,一边虚线,实线一边建外键。    
            2) 一对多关系外键建立在多的一方
            3) 多对多可以拆成两个一对多或者建一张桥表

    二、范式

      范式一      表中的值必须是单值(也就是不可再拆分)

      范式二  表中要有主键列

      范式三  表中的列与列之间不能产生依赖关系

      
            语法:
                create table table_name(
                   列名 类型 行级约束,
                   列名 类型 行级约束,
                   列名 类型 行级约束,
                   列名 类型 行级约束
                );

                create table table_name(
                   列名 类型,
                   列名 类型,
                   列名 类型,
                   列名 类型,
                   表级约束,
                   表级约束,
                   表级约束,
                   表级约束
                );
            1) 约束级别
                    a) 行级别: 约束类型紧跟在列后,约束和列间没有逗号分隔
                    b) 表级别: 约束和列间通过逗号分隔
                2) not null只能用于列级别,不能用于表级别
                3) 为两个或者两个以上的列定义联合约束
                   (包括联合主键,联合外键,联合唯一键)时必须在表级别上定义
               4)做联合外键的俩个列,一定要在所引用的表中做联合主键或者有联合唯一的约束

      

      三、数据字典

      数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。
    比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等

      四、truncate和delete

        truncate和delete作用一样,也是删除表中数据

        delete是DML语句,删除数据后需要自己手动的提交事务或者回滚事务

        truncate是DDL语句,删除数据后会自动的帮我们提交事务

  • 相关阅读:
    尚硅谷前端2020Web前端学习记录
    阿里网盘阿里云网盘内测资格获取,阿里网盘开通
    冰眼冷链物流监控平台-2020微服务项目实战
    探花交友智能推荐社交项目-2020Java大数据实战
    互联网Java工程师面试突击三季
    恋上数据结构与算法(一、二、三季)
    布客&#183;ApacheCN 编程/后端/大数据/人工智能学习资源 2020.9
    NumPy 基础知识·翻译完成
    NumPy 初学者指南中文第三版·翻译完成
    NumPy 秘籍中文第二版·翻译完成
  • 原文地址:https://www.cnblogs.com/sq-software/p/5121269.html
Copyright © 2011-2022 走看看