`
冯瑞芳
  • 浏览: 28776 次
  • 性别: Icon_minigender_2
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

oracle总结之八———DDL

阅读更多
创建与管理表
数据库中对象:有表、视图、索引、序列、同义词等。
表:基本的数据存储的集合,由行与列组成
视图:从表中抽出的逻辑上相关的数据集合。
序列: 提供有规律的数值
索引:提高查询效率
同义词:给对象起的别名。
Oracle数据库中的表
用户自定义表
      表名和列名的命名规范:
必须以字母开头
必须在 1–30 个字符之间
必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
必须不能和用户定义的其他对象重名
必须不能是Oracle 的保留字
  创建表必须具备:
必须具备:CREATE TABLE权限和 存储空间
  必须指定:
     表名,列名, 数据类型, 尺寸
  创建表的语法
    CREATE TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);
  数据类型如下:
数据类型 描述
VARCHAR2(size) 可变长字符数据
CHAR(size)  定长字符数据
NUMBER(p,s)  可变长数值数据
DATE 日期型数据
LONG 可变长字符数据,最大可达到2G
CLOB 字符数据,最大可达到4G
RAW (LONG RAW) 原始的二进制数据
BLOB 二进制数据,最大可达到4G
BFILE 存储外部文件的二进制数据,最大可达到4G
ROWID 行地址
创建表的分析:
       在数据库中必须遵循一定的规范 这些规范称为范式.目前关系数据库有6种方式,数据库只需要满足3NF即可,需要使用范式对数据库中表进行处理.
下面我以学生信息为例分析:
学号,学生姓名,出生日期,学生性别,所属班级,所属院系,系主任姓名,课程编号,成绩
分析:
   学号:sid             数据类型 varchar2
   学生姓名:sname
   出生日期:sbirth    date
   学生性别:ssex      
   所属班级:sclass
   所属院系:sdep
   系主任姓名:dname
   课程编号:cid
   成绩 grade         number(5,2)
创建学生信息表
根据如上信息可以创建存储的表 学生信息表  包含以上的全部信息,但非规范。
分析设计过程:
       必须满足3NF范式 但前提必须满足1,2NF
属性不可再分(1NF) ==一对多关系
学生信息表:sid,sname,sbirth,ssex,sclass,sdep,dname
成绩表: sid cid grade
(前提必须满足1NF )表中的所有非主属性都完全依赖于任一候选键。
Sid->Sname
sid->sbirth
sid->ssex
sid->sclass
sdep->dname
--其他普通属性不应当存在部分依赖于主要属性->此普通属性应当被分离到新的表中去
s(sid,sname,sbirth,ssex,sclass,sdep)
d(sdep,dname)
g(sid,cid,grade)
(前提满足2NF)表中的每一个非主属性都不传递依赖于任何候选键。
s(sid,sname,sbirth,ssex,sclass,sdep)
d(sdep,dname)
g(sid,cid,grade)
在满足2NF后 分析:
Sid->sclass
Sclass->sdep
Sid->sdep
s(sid,sname,sbirth,ssex,sclass)
cd(sclass,sdep)
d(sdep,dname)
g(sid,cid,grade)
Oracle数据字典
2.1查询用户自定义表
//查询用户定义的表的名称
SQL> select table_name from user_tables;
//查询用户自定表的详细特征
SQL> select * from user_tables
//等效于
SQL> select * from tabs;
2.2查询用户定义的各种数据库对象
     SQL> select distinct object_type from user_objects;
2.3 查看用户定义的表、视图、序列和同义词
     SQL> select * from user_catalog;
用户自定表
    使用 ALTER TABLE 语句可以:
追加新的列
修改现有的列
为新追加的列定义默认值
删除一个列
使用 ALTER TABLE 语句追加, 修改, 或删除列的语法.
追加
ALTER TABLE table
ADD  (column datatype [DEFAULT expr]  [, column datatype]...);
修改
ALTER TABLE table
MODIFY  (column datatype [DEFAULT expr]  [, column datatype]...);
删除
ALTER TABLE table
DROP column   (column_name);
修改列的名称
ALTER TABLE table_name rename column old_column_name
to new_column_name
案例:
//采用子查询创建customer表 表的结构域users表完全一致
          SQL> create table customer as select * from users;
//为customer表添加新的列 email 类型varchar2(20)
         SQL> alter table customer add email varchar2(20);
    //修改某个字段的类型
         SQL> alter table customer modify email number(4);
        //删除某个字段
        SQL> alter table customer drop column email;
    //修改表的某个字段的名称
       SQL> alter table customer rename column address to addr;
删除表
数据和结构都被删除
所有正在运行的相关事物被提交
所有相关索引被删除
DROP TABLE 语句不能回滚
修改对象的名称
执行RENAME语句改变表, 视图, 序列, 或同义词的名称
必须是对象的拥有者
//修改对象的名称操作
       SQL> rename customer to customers;
清空表
TRUNCATE TABLE 语句:
删除表中所有的数据
释放表的存储空间
TRUNCATE语句不能回滚
可以使用 DELETE 语句删除数据
//清空表的操作
   SQL> truncate table customers;
总结:您已经学会如何使用DDL语句创建, 修改, 删除, 和重命名表.
语句           描述
CREATE TABLE 创建表
ALTER TABLE 修改表结构
DROP TABLE 删除表
RENAME      重命名表
TRUNCATE   删除表中的所有数据,并释放存储空间
分享到:
评论

相关推荐

    Oracle经典教程2——SQL数据库操作和查询

    ### Oracle经典教程2——SQL数据库操作和查询 #### 1. SQL简介 SQL,即结构化查询语言(Structured Query Language),是一种专为管理和操作关系型数据库设计的标准编程语言。通过SQL,用户能够有效地进行数据存取...

    Oracle学习笔记——day01

    Oracle数据库是世界上最流行的数据库管理系统之一,广泛用于企业级的数据存储和管理。在Oracle学习的第一天,我们主要关注了SQL语句,这是与Oracle交互的基础。SQL主要包括三种类型的语言:DML(数据操作语言)、DDL...

    Oracle数据库技术——动态SQL

    ### Oracle数据库技术——动态SQL详解 #### 一、动态SQL概述与应用场景 在Oracle数据库管理技术中,SQL语句按照其是否能在编译时确定,分为静态SQL与动态SQL两大类。静态SQL指的是那些在编写时就已经确定下来的SQL...

    Oracle学习笔记——day04

    在Oracle学习笔记的第四天,我们探讨了数据库管理和操作的一些核心概念,主要集中在DDL(数据定义语言)、DML(数据操作语言)、DCL(数据控制语言)以及事务管理。以下是对这些内容的详细阐述: 首先,我们看到了...

    Oracle数据库备份和恢复利器——RMAN.pdf

    "Oracle数据库备份和恢复利器——RMAN" Oracle数据库备份和恢复利器——RMAN.pdf文档详细介绍了RMAN(Recovery Manager)在Oracle数据库中的应用,作为物理备份和恢复工具,RMAN具有占用资源少、备份效率高、恢复...

    CDC工具比较——IBM与Oracle

    ### CDC工具比较——IBM与Oracle #### 一、概述 在数据复制领域,持续数据捕捉(CDC, Continuous Data Capture)技术被广泛应用于多种场景,如数据仓库更新、实时数据分析、跨数据中心的数据同步等。其中,Oracle ...

    李兴华——Oracle数据库笔记(全)

    根据提供的信息,我们可以总结出李兴华老师的Oracle数据库课堂笔记中的关键知识点,这些知识点主要围绕Oracle数据库的基础概念、SQL语言的使用以及基本的数据操作等方面展开。 ### Oracle数据库概述 Oracle数据库...

    oracle基础教程4 数据利器——SQL

    ### Oracle基础教程4 数据利器——SQL #### 4.1 SQL概述 ##### 4.1.1 SQL是什么 SQL(Structured Query Language,结构化查询语言)是关系型数据库中的核心语言,其地位相当于英语在全球的地位。它作为一种通用的...

    Direct Oracle Access v4.1.3 bcb6

    SQL脚本 ——如果需要执行多条数据定义语言(DDL)语句,例如运行您程序的数据库安装部分,就可以使用TOracleScript组件。该组件含有一个专有编辑器,可以开发脚本和单个命令。可扩展的脚本语言遵循基本的SQL*Plus...

    MasterExam模拟考试引擎——Oracle DataBase 10g OCP认证考试指南全册

    《Oracle Database 10g OCP认证考试指南全册》是专为准备Oracle Certified Professional (OCP)认证考试的学习者设计的一套全面的学习资源。Oracle 10g是Oracle数据库的一个重要版本,提供了诸多功能和优化,使得...

    oracle教程--深入浅出oracle学习资料

    Oracle教程——深入浅出Oracle学习资料 Oracle数据库系统是全球广泛应用的关系型数据库管理系统,由甲骨文公司(Oracle Corporation)开发。本教程旨在为初学者和有经验的IT专业人士提供全面、深入的Oracle知识,...

    Java基础学习总结(183)—— Flyway 在项目中迁移数据实践.pdf

    Java基础学习总结(183)—— Flyway 在项目中迁移数据实践 在软件开发中,尤其是企业级应用,数据库的管理和更新是一个至关重要的环节。随着项目的迭代,数据库的表结构经常需要变更以适应业务需求。传统的做法是...

    开源项目-go-goracle-goracle.zip

    总结起来,go-goracle是Go语言连接Oracle数据库的重要工具,它使得Go开发者无需掌握复杂的Oracle C接口,就能轻松实现与Oracle数据库的交互。通过深入理解这个开源项目,开发者可以更好地利用Go语言的特性来构建高...

    Oracle9i取得建表和索引的DDL语句

    Oracle数据库管理系统是世界上最广泛使用的数据库系统之一,尤其在企业级应用中占据主导地位。在Oracle 9i版本之前,获取数据库对象(如表和索引)的创建(DDL)语句是一项复杂的工作,通常需要通过exp导出或者手动...

    Oracle——错误一览表 任务用.docx

    这个文档"Oracle——错误一览表 任务用.docx"列出了许多常见的Oracle数据库错误及其含义,帮助我们理解和解决这些问题。 1. **违反唯一约束条件 (ORA-00001)**: 这个错误表示尝试插入或更新的数据违反了表的唯一性...

    oracle 基础oracle 基础oracle 基础oracle

    根据提供的文件信息,我们可以推断出本材料主要围绕Oracle Database 11g SQL进行介绍。以下将基于这些信息,详细阐述Oracle数据库...希望以上内容能帮助读者更好地了解Oracle数据库及其核心组件——SQL语言的基础知识。

    java.oracle数据库开发指南 国外经典教材

    《Java与Oracle数据库开发指南——国外经典教材》是一本深入探讨如何使用Java语言与Oracle数据库进行交互的权威著作。本书全面覆盖了Java编程与Oracle数据库管理的基础知识,旨在帮助开发者熟练掌握两者之间的协同...

    MasterExam模拟考试引擎——Oracle DataBase 10g OCP认证考试指南全册(含OCA)

    本资源包,"MasterExam模拟考试引擎——Oracle DataBase 10g OCP认证考试指南全册",为备考者提供了全面的学习和实践材料,帮助他们有效地准备OCA(Oracle Certified Associate)和OCP(Oracle Certified ...

    《数据库系统原理与应用——Oracle版》-电子教案.rar

    《数据库系统原理与应用——Oracle版》是一本深入讲解数据库理论和Oracle数据库实践的教材,电子教案rar文件包含了丰富的教学资源,旨在帮助学生和教师更好地理解和掌握数据库系统的核心概念、设计原则以及Oracle...

Global site tag (gtag.js) - Google Analytics