Sunteți pe pagina 1din 6

¿Como crear una tabla en Oracle (Create table)?

Para crear una tabla en una base de datos Oracle, se debe tener claro el nombre de la tabla,
nombre de los campos, sus restricciones y relaciones que esta contenga. La estructura de una
tabla Oracle normal sería así.

Create
table Nombre_Tabla(Nombre_Campo Tipo_Dato(Tamaño),...,Nombre_campo Tipo_Dato(Tama
ño));

Si en algún momento se necesita realizar un cambio a la estructura de la tabla se utiliza el


comando ALTER TABLE que lo veremos más adelante.

Ejemplos de tablas
Tabla normal:
Create table Clientes(Codigo_Cliente number,
Nombre_Cliente varchar2(100));

Tabla con restricciones NOT NULL:


Create table Clientes(Codigo_Cliente number not null,
Nombre_Cliente varchar2(100));

Tabla con llave primaria:


Create table Clientes(Codigo_Cliente number,
Nombre_Cliente varchar2(100),
Constraint Pk_Cliente Primary key (Codigo_Cliente));

Tabla con llave foranea:


Create table Clientes(Codigo_Cliente number not null,
Nombre_Cliente varchar2(100),
Cod_Ciudad number,
Constraint fk_ciudad_cliente Foreign
key (Cod_Ciudad) references Ciudades(Codigo));

Tabla con llave primaria y foranea:


Create table Clientes(Codigo_Cliente number not null,
Nombre_Cliente varchar2(100),
Cod_Ciudad number,
Constraint Pk_Cliente Primary key (Codigo_Cliente),
Constraint Fk_Ciudad_Cliente Foreign
key (Cod_Ciudad) references Ciudades(Codigo));

*******************************************************************************************************************
***********************************
Ejercicio:
Se requiere poder almacenar el nombre, edad, ciudad y país de cada uno de los
compradores.
Solución:
Se crea la tabla clientes.

Create table Cliente(Codigo number not null,


Nombre varchar2(80),
Fecha_nacimiento Date,
Pais varchar2(80),
Ciudad varchar2(80));
Publicadas por Carlos Gonzalez
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
Etiquetas: base de datos Oracle, como crear una tabla, Constraint, Creación de tabla, Create table, Foreign key,not
null, Oracle 11g, Primary key, references, tabla, varchar2

No hay comentarios:

Create Table
La estructura de la sentencia de creación de tablas es:

Copiar

CREATE [GLOBAL TEMPORARY] TABLE [esquema.]tabla columna datatype [DEFAULT


expr] [column_constraint(s)] [,columna datatype [,...]] table_constraint
table_ref_constraint [ON COMMIT {DELETE|PRESERVE} ROWS] storage_options
[COMPRESS int|NOCOMPRESS] [LOB_storage_clause][varray_clause]
[nested_storage_clause] [XML_type_clause] Partitioning_clause [[NO]CACHE]
[[NO]ROWDEPENDENCIES] [[NO]MONITORING] [PARALLEL parallel_clause] [ENABLE
enable_clause | DISABLE disable_clause] {ENABLE|DISABLE} ROW MOVEMENT [AS
subquery]
Queda mas claro con unos ejemplos:

Copiar

create table T_PRODUCTOS ( numproduct number, desproduct varchar2(10) )


Es posible definir restricciones (constraint) con la sentencia CREATE.

Copiar

create table T_PEDIDOS( numpedido number primary key fecpedido date,


numclient references T_CLIENTES )
Una clave primaria (primary key) necesita tener asociado un indice unico
(unique index). Es posible especificar el tablespace donde queremos
crear el indice.

Copiar

create table T_PEDIDOS( numpedido number primary key fecpedido date,


numclient references T_CLIENTES constraint pk_pedidos (numpedido) using index
tablespace ts_idx )

Index organized
tables (IOT)
Copiar

create table iot_ ( a number, b varchar2(10), constraint pk_iot_ primary key


(a, b) ) organization index;
Organization external The following create table statement creates an
external table.

Copiar

create table (....) organization external ( type oracle_loader default


directory some_dir access parameters ( records delimited by newline fields
terminated by ',' missing field are values null ) location
('some_file.csv') ) reject limit unlimited;

Nested tables
Copiar

create or replace type item as object ( item_id Number ( 6 ), descr


varchar2(30 ), quant Number ( 4,2) ); / create or replace type items as table
of item; / create table bag_with_items ( bag_id number(7) primary key,
bag_name varchar2(30) not null, the_items_in_the_bag items ) nested table
the_items_in_the_bag store as bag_items_nt; Adding a unique constraint for
item_id: alter table bag_items_nt add constraint uq_item_id unique(item_id);
CREATE TABLE TIPO_USUARIO

idTipoUsuario int Identity(1,1),

descTipoUsuario varchar(20) NOT NULL,


CONSTRAINT PK_TIPO_USUARIO PRIMARY KEY(idTipoUsuario)

GO

CREATE TABLE USUARIO

idUsuario char(8)NOT NULL,

idTipoUsuario int NOT NULL,

apelUsuario varchar(35)NOT NULL,

nomUsuario varchar(35) NOT NULL,

direccion varchar(50)NULL,

habilitado bit NOT NULL,

fechaExpCarnet smalldatetime NOT NULL,

fechaVencCarnet smalldatetime NOT NULL,

CONSTRAINT PK_USUARIO_idUsuario PRIMARY KEY(idUsuario),

CONSTRAINT FK_USUARIO_idTipoUsuario FOREIGN KEY (idTipoUsuario) REFERENCES

TIPO_USUARIO(idTipoUsuario)

GO

CREATE TABLE MAT_BIBLIO

idMatBiblio varchar(20)NOT NULL,

tituloMatBiblio varchar(150)NOT NULL,


editorial varchar(50)NULL,

pais varchar(20)NULL,

año smalldatetime NULL,

nPag int NULL,

existencia int NOT NULL,

CONSTRAINT PK_MAT_BIBLIO_idMatBiblio PRIMARY KEY(idMatBiblio)

CREATE TABLE PRESTAMO

codOper char(7)NOT NULL,

idMatBiblio varchar(20)NOT NULL,

idUsuario char(8)NOT NULL,

fechaP smalldatetime NOT NULL,


fechaD smalldatetime NOT NULL,

ndias int NOT NULL,

CONSTRAINT PK_PRESTAMO_codOper PRIMARY KEY(codOper),

CONSTRAINT FK_PRESTAMO_idMatBiblio FOREIGN KEY(idMatBiblio) REFERENCES

MAT_BIBLIO(idMatBiblio)

GO

CREATE TABLE AUTOR

idAutor char(4)NOT NULL,

nomAutor varchar(50)NOT NULL,

CONSTRAINT PK_AUTOR_idAutor PRIMARY KEY(idAutor)

GO

CREATE TABLE MB_AUTOR

idMatBiblio varchar(20)NOT NULL,

idAutor char(4)NOT NULL,

CONSTRAINT PK_MB_AUTOR_idMatBiblio_idAutor PRIMARY KEY(idMatBiblio,idAutor),

CONSTRAINT FK_MB_AUTOR_idMatBiblio FOREIGN KEY(idMatBiblio) REFERENCES

MAT_BIBLIO(idMatBiblio),

CONSTRAINT FK_MB_AUTOR_idAutor FOREIGN KEY(idAutor) REFERENCES AUTOR(idAutor)


)

GO

S-ar putea să vă placă și