Oracle Schema Objects——Tables——Overview of Tables

Overview of Tables

A table is the basic unit of data organization in an Oracle database.

表是Oracle数据库中的数据组织的基本单位。

A table describes an entity, which is something of significance about which information must be recorded.

一个表描述了一个实体,其相关重要信息必须被记录。

A table is either permanent or temporary.

表要么是永久的,要么是临时的。


Relational tables

关系表


Relational tables have simple columns and are the most common table type.

关系表具有简单的列,是最常见的表类型。

可以创建如下关系表:


堆组织表

heap-organized table


A heap-organized table does not store rows in any particular order. The CREATE TABLE statement creates a heap-organized table by default.

它不会以任何特定顺序存储行


索引组织表

index-organized table


An index-organized table orders rows according to the primary key values. For some applications, index-organized tables enhance performance and use disk space more efficiently.

它按主键值对行进行排序。 对于某些应用程序,索引组织表可以增强性能并更有效地使用的磁盘空间


外部表

external table


An external table is a read-only table whose metadata is stored in the database but whose data in stored outside the database.是一个只读表,它的元数据存储在数据库中,但其数据存储在数据库外


Object tables

对象表


The columns correspond to the top-level attributes of an object type.

列对应于对象类型的顶层属性。

Columns and Rows

行和列


A table definition includes a table name and set of columns.

表的定义包括表名称和列集。

1、A column identifies an attribute of the entity described by the table.

列标识由表所描述的实体的一个属性。

virtual column

虚拟列

  • A table can contain a virtual column, which unlike a nonvirtual column does not consume disk space.

表可以包含虚拟的列,与非虚拟列不一样,虚拟列不占用磁盘空间。

  • The database derives the values in a virtual column on demand by computing a set of user-specified expressions or functions.

数据库通过计算一组用户指定的表达式或函数,按需派生出虚拟的列值。

  • For example, the virtual column income could be a function of the salary and commission_pct columns.

例如虚拟列 income 可能是 salary 列和 commission_pct 列的一个函数。

2、 A row is a collection of column information corresponding to a record in a table.

行是对应于表中某条记录的列信息的集合。

create a table

创建表


1、In general, you give each column a column name, a data type, and a width when you create a table.

一般地,当创建一个表时,给每列一个列名称、数据类型、宽度。

2、CREATE TABLE Statements

CREATE TABLE employees
    ( employee_id    NUMBER(6)
    , first_name     VARCHAR2(20)
    , last_name      VARCHAR2(25)
         CONSTRAINT     emp_last_name_nn NOT NULL
    , email          VARCHAR2(25)
        CONSTRAINT     emp_email_nn NOT NULL
    , phone_number   VARCHAR2(20)
    , hire_date      DATE
        CONSTRAINT     emp_hire_date_nn NOT NULL
    , job_id         VARCHAR2(10)
        CONSTRAINT     emp_job_nn NOT NULL
    , salary         NUMBER(8,2)
    , commission_pct NUMBER(2,2)
    , manager_id     NUMBER(6)
    , department_id NUMBER(4)
    , CONSTRAINT     emp_salary_min
                     CHECK (salary > 0)
    , CONSTRAINT     emp_email_uk
                     UNIQUE (email)
    ) ;

3、ALTER TABLE Statements

ALTER TABLE employees
ADD ( CONSTRAINT     emp_emp_id_pk
                       PRIMARY KEY (employee_id)
    , CONSTRAINT     emp_dept_fk
                       FOREIGN KEY (department_id)
                         REFERENCES departments
    , CONSTRAINT     emp_job_fk
                       FOREIGN KEY (job_id)
                         REFERENCES jobs (job_id)
    , CONSTRAINT     emp_manager_fk
                       FOREIGN KEY (manager_id)
                         REFERENCES employees
    ) ;

时间: 2024-10-12 15:36:10

Oracle Schema Objects——Tables——Overview of Tables的相关文章

Oracle Schema Objects——伪列ROWID Pseudocolumn(ROWNUM、ROWID)

Oracle Schema Objects Oracle Schema Objects——Tables——Oracle Data Types Oracle伪列 在Oracle数据库之中为了实现完整的关系数据库的功能,专门为用户提供了许多的伪列. “NEXTVAL”和“CURRVAL”就是两个默认提供的操作伪列Oracle Schema Objects——Sequences(伪列:nextval,currval) SYSDATE与SYSTIMESTAMP也属于伪列SQL Fundamentals

Oracle Schema Objects——PARTITION

Oracle Schema Objects 表分区 表- - 分区( partition )TABLE PARTITION 一段时间给出一个分区,这样方便数据的管理. 可以按照范围range分区,列表分区,哈希分区等. 创建表分区: SQL> create table t_part(id int) 2 partition by range(id) 3 (partition p1 values less than(5), 4 partition p2 values less than(10), 5

Oracle Schema Objects

One characteristic of an RDBMS is the independence of physical data storage from logical data structures. RDBMS的特点之一是物理数据与逻辑数据结构的独立性. Introduction to Schema Objects Schema Object Types Schema Object Storage Schema Object Dependencies SYS and SYSTEM S

Oracle Schema Objects——Tables——Table Compression

Table Compression 表压缩 The database can use table compression to reduce the amount of storage required for the table. 数据库可以使用表压缩来消除数据块中的重复值. Compression saves disk space, reduces memory use in the database buffer cache, and in some cases speeds query

Oracle Schema Objects——Tables——Oracle Data Types

Character Data Types 字符数据类型 Character data types store character (alphanumeric) data in strings. 字符数据类型存储在字符串中的字符 (字母或数字) 数据. The most commonly used character data type is VARCHAR2, which is the most efficient option for storing character data. 最常用的字

Oracle Schema Objects——Tables——TableStorage

Table Storage Oracle数据库如何保存表数据? Oracle Database uses a data segment in a tablespace to hold table data. Oracle 数据库使用表空间中的数据段保存表数据. As explained in "User Segments", a segment contains extents made up of data blocks. 如"用户段"所述,段包含由数据块组成的扩

Oracle Database Concepts:介绍模式对象(Introduction to Schema Objects)

数据库模式(schema)是数据结构的逻辑容器,被称作模式对象(schema objects) 每一个数据库用户拥有一个和用户名相同的模式,例如hr用户拥有hr模式. 在一个产品数据库中,模式的拥有者通常是数据库应用程序而不是一个人. 在一个模式中,每一个模式对象都有一个唯一的名字.如hr.employees代表hr模式下的employees表. 如下图所示: 模式对象的类型 最重要的模式对象是关系型数据库中的表(table), Oracle SQL使你能创建和操作其他类型的模式对象.如下: 1

MySQL的lock tables和unlock tables的用法

早就听说lock tables和unlock tables这两个命令,从字面也大体知道,前者的作用是锁定表,后者的作用是解除锁定.但是具体如何用,怎么用,不太清楚.今天详细研究了下,总算搞明白了2者的用法. lock tables 命令是为当前线程锁定表.这里有2种类型的锁定,一种是读锁定,用命令 lock tables tablename read; 另外一种是写锁定,用命令lock tables tablename write.下边分别介绍: 1. lock table 读锁定 如果一个线程

MySQL的lock tables和unlock tables的用法(转载)

早就听说lock tables和unlock tables这两个命令,从字面也大体知道,前者的作用是锁定表,后者的作用是解除锁定.但是具体如何用,怎么用,不太清楚.今天详细研究了下,总算搞明白了2者的用法. lock tables 命令是为当前线程锁定表.这里有2种类型的锁定,一种是读锁定,用命令 lock tables tablename read;另外一种是写锁定,用命令lock tables tablename write.下边分别介绍: 1. lock table 读锁定 如果一个线程获