0 calificaciones0% encontró este documento útil (0 votos)
30 vistas3 páginas
Comando BD
Este documento describe diferentes tipos de datos y operadores en Oracle como CHAR, VARCHAR2, NUMBER, DATE y operadores aritméticos. También explica cómo crear, modificar y eliminar tablas así como restricciones como PRIMARY KEY, UNIQUE, NOT NULL y FOREIGN KEY.
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
30 vistas3 páginas
Comando BD
Este documento describe diferentes tipos de datos y operadores en Oracle como CHAR, VARCHAR2, NUMBER, DATE y operadores aritméticos. También explica cómo crear, modificar y eliminar tablas así como restricciones como PRIMARY KEY, UNIQUE, NOT NULL y FOREIGN KEY.
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3
TIPOS DE DATOS DE ORACLE
carácter.- CHAR, NCHAR, VARCHAR2, NVARCHAR2
Numérico.- NUMBER Long y raw.- LONG, LONG RAW, RAW Fecha y hora.-DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH,INTERVAL DAY TO SECOND Objetos Largos.- CLOB, NCLOB, BCLOB, BFILE identificador de Filas.- ROWID, UROWID CHAR(<tamaño>)VARCHAR2(<tamaño>)NUMBER(<p>,<s>)DATE OPERADORES ARITMETICOS + - .-Operador unario: usado para la representación positiva o negativa de un número. + .-Suma: usado para sumar dos valores o expresiones - .-Resta: usado para encontrar la diferencia entre dos valores o expresiones. *.-Multiplicación: Usado para multiplicar dos valores o expresiones. /.-División: Usado para dividir un dato o expresión con otro numero. OPERADOR DE CONCATENACION Eliminando columnas (||) son usados como operador de concatenación. #Para este ejemplo eliminamos la columna "fe_nac" 'Hola me llamo'||'Juan' el resultado es 'hola me llamo Juan' SQL>alter table alumno column fe_nac; 'Hola me llamo '||'Juan' el resultado es 'hola me llamo Juan' #Eliminar un conjunto de columnas MANEJANDO TABLAS Y CONTRAINTS SQL>alter table alumno drop (fe_nac, telf);
CREANDO TABLAS.- ELIMINANDO TABLAS
SQL> create table alumno( #Este ejemplo elimina la tabla "alumno". ru varchar(10) not null, SQL>drop table alumno; nombre varchar(30), #Si es que existen tablas que hacen referencia a la tabla "Alumno", y si queremos eliminar la tabla alumno, la consulta seria : ap varchar(30), SQL>drop table alumno cascade contraints; f_nac date, primary key(ru) RENOMBRANDO TABLAS ); #Para este ejemplo, existe la tabla "alumno" y se quiere modificar el nombre #Con DESCRIBE se puede visualizar la estructura de una tabla. por "estudiantes". SQL>describe alumno SQL>rename alumno to estudiante; SQL>desc alumno //o de esta forma MANEJANDO RESTRICCIONES #Listar Tablas SQL>select * from tab; (CONSTRAINTS) Valores por defecto para las columnas NOT NULL, CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY SQL>create table alumno( Restricción NOT NULL. ru varchar(10) not null primary key, #En el ejemplo se crea una tabla con dos columnas que tienen la restricción nombre varchar(30), NOT NULL. ap varchar(30), create table alumno( am varchar(30) default '-', ci integer CONSTRAINT cedulas NOT NULL, estado integer default 1 nombre varchar(40) NOT NULL, ); ap varchar(40) NOT NULL, #Ahora insertamos datos en la tabla alumno, pero no insertamos datos “am“ primary key(ci) los y "estado" ); SQL>insert into alumno(ru,nombre,ap) values(111,'Juan','Paez'); #Listamos la tabla "alumno", y veremos que por defecto se inserto un guion Restricción CHECK “-“ en la columna “am“ y "1" en la columna"estado" #En este ejemplo se crea una tabla "sueldo", con la restriccinque el atributo SQL>select * from alumno; "salario" sea mayor a 100 y menor a 100000. SQL>create table salario( Creando una Tabla desde otra tabla ci integer not null, #El ejemplo supone que se necesita duplicar la estructura y datos de la tabla fecha date not null, alumno y se crea una tabla llamada"estudiantes". salario float not null, SQL> create table estudiante as select * from alumno; primary key(ci,fecha), SQL> desc estudiante; constraint mi_sal check(salario > 100 and salario < 100000) MODIFICANDO TABLAS ); #Este ejemplo adiciona la restriccin "mi_ci" donde se verifica que "ci" sea Adicionando Columnas mayor a 100. #En este ejemplo se Adiciona la columna "fecha_nac" a la tabla "alumno" SQL>alter table sueldo add constraint mi_ci check(ci > 100); SQL>alter table alumno add fecha_nac date; #también se puede eliminar restricciones SQL>desc alumno SQL> alter table alex drop constraint mi_sal; #También se pueden adicionar mas de una columna en una sola consulta, para tal efecto se deber encerrar entre paréntesis los atributos que se adiciona. Restricción UNIQUE SQL>alter table alumno La restricción UNIQUE asegura que los atributos definidos con UNIQUE no se add(telf integer default 0 not null, dupliquen fe_nac date default sysdate, #En este ejemplo se crea la tabla "Datos" donde el atributo "ci" es único en dir varchar(30) toda la columna. ); SQL>create table bdatos( SQL>desc alumno ru integer not null primary key, ci varchar(10) UNIQUE Modificando Columnas ); #Para este ejemplo Modificamos el atributo "ap" a varchar(50) #La otra forma seria: SQL>alter table alumno modify ap varchar(50); SQL>create table datos( #Este ejemplo modifica un grupo de atributos. ru integer not null primary key, SQL>alter table xalumno modify (nombre varchar(50), ap varchar(50) ); ci varchar(10) CONSTRAINT cedulas UNIQUE ); #En caso de tener ya creado la tabla "datos" se adiciona de esta forma: SQL>alter table datos add cedula integer UNIQUE; Restricción PRIMARY KEY MODIFICANDO DATOS #Ejemplo a nivel columna INSERT Adiciona datos a una tabla. SQL>create table balumno( UPDATE Cambia los valores almacenados en una tabla ci integer not null primary key, DELETE Elimina filas de una tabla. nombre varchar(30), #En estos ejemplos insertan datos en la tabla alumno. ap varchar(30) SQL>insert into alumno(ci,nombre,ap) values(111,'Raul','Peralta'); ); SQL>insert into alumno(ci,nombre,ap) select * from bbbbalumno; #Ejemplo a nivel tabla SQL>insert into alumno select * from estudiante; SQL>create table balumno( SQL>insert into alumno(ci,nombre,ap,am) values(111,'Raul','Peralta',NULL); ci integer not null, SQL>insert into aaaalumno(ci,nombre,ap,am) values(111,'Raul','Peralta',''); nombre varchar(30) not null, Insertando en Múltiples tablas ap varchar(30), La sentencia INSERT puede ser usada para adicionar filas a mas de una tabla. PRIMARY KEY(ci, nombre) #Ejemplo si tenemos una tabla personas(ci,nombre,ap,genero) y deseamos ); dividir los datos en la tabla hombres(ci, nombre, ap) y mujeres(ci, nombre, #Lo mismo del anterior definiendo el nombre de la restricción ap). SQL>create table balumno( SQL>insert all when genero='F' then ci integer not null, into hombres(ci,nombre,ap) values(ci,nombre,ap) nombre varchar(30) not null, when genero='M' then ap varchar(30), into mujeres(ci,nombre,ap) values(ci,nombre,ap) CONSTRAINT alumnos_cons PRIMARY KEY(ci,nombre) select genero,ci,nombre,ap from personas; ); Actualizando filas en una tabla Restricción FOREIGN KEY #Este ejemplo modifica la cantidad de materia y promedio de notas del La restricción FOREIGN KEY, permite definir a los estudiante con CI=111. SQL>update atributos foráneos, aquellos atributos que fueron alumno set(cantmateria,promedio)=(selectcount(*), herede dados de otra tabla, gracias a esta definición avg((p1+p2+p3)/3) from nota where (gestion=2005)and(ru=111) podremos controlar que los datos existentes en la ) columna foránea verifique que también exista en la y de otra forma where ru=111; tabla a la que se hace referencia. La referencia es al SQL>update alumno set (nombre='Jose Luis', ap='Paez') where ci=111; PRIMARY KEY o a la restricción UNIQUE de la tabla padre. Eliminando Filas de una Tabla. #Para iniciar con los ejemplos crearemos una tabla padre. La sentencia DELETE es usada para eliminar filas de una tabla. SQL>create table alumno( #este ejemplo elimina a los estudiantes que no tienen telfonos. SQL>delete from alumno ci integer not null PRIMARY KEY, where ci not in (select ci from telefono ); ru integer UNIQUE, SQL>delete from alumno nombre varchar(30) where ru=111; ); #Ahora crearemos la tabla telfono que hace referencia a la tabla alumno, a Escribiendo Consultas Simples. nivel columna. Para realizar ejemplos de las sentencias que se consideran eneste punto, SQL>create table telefono ( utilizaremos las siguientes tablas : ci integer not null CONSTRAINT cedulas references alumno(ru, nombre, ap, am, estado) alumno(ci), materia(sigla, nombre, nivel) nombre varchar(30) nota(sigla, ru, gestion, pa1, pa2, pa3) ); telefono(ru, numtelf) #ejemplo es similar al anterior, a nivel tabla. SQL>create table telefono( Usando la sentencia SELECT ci integer not null primary key, La sentencia SELECT es una de las sentencias ms usadas del SQL. Esta sentencia permite recuperar información almacenada en la base de datos. numero integer, #Listar a todos los estudiantes foreign key(ci) references alumno(ci) SQL>select ru, nombre, ap, am, estado from alumno; ); de otra forma: #Es otra forma de definición. SQL>select * from alumno; SQL>create table telefono( ci integer not null primary key, Alias para las columnas ru integer, El alias de una columna es definido después del nombre de la columna usando constraint nombre_cons foreign key(ru) references alumno(ru) la palabra AS o simplemente un espacio en blanco. ); #En este ejemplo se lista el RU y la SIGLA de la tabla nota, con encabezados #Este ejemplo asume que la tabla "telefono" ya existe y adiciona la restricción que describan a la columna. FOREIGN KEY al atributo "ci" SQL>select ru as registro_univ, sigla as sigla_materia from nota; SQL>alter table teléfono add constraint cedulas foreign key(ci) de otra forma: references alumno(ci); SQL>select registro_univ, sigla sigla_materia from nota; SQL>alter table telefono add foreign key(ci) references alumno(ci); Asegurando filas únicas #Este ejemplo asume que la tabla "telefono" ya existe y adiciona la restricción #Listar los registros universitarios de la tabla "nota". FOREIGN KEY, esta vez la referencia es a un atributo con definición SQL>select ru from nota; UNIQUE. El resultado de esta consulta son registros universitarios(ru) repetidos por que SQL>alter table telefono add foreign key(ru) references alumno(ru); un "ru" puede estar relacionado con varias materias(sigla) #Este ejemplo elimina en cascada los datos de la tabla "telefono" cuando una #Eliminando filas repetidas en la anterior consulta. fila es eliminada en la tabla "alumno" SQL>select DISTINCT ru from nota; SQL>alter table telefono add foreign key(ru) De otra forma: references alumno(ru) ON DELETE CASCADE; SQL>select UNIQUE ru from nota; #Este ejemplo anula las filas de la tabla "telfono" cuando una fila es eliminada en la tabla "alumno" SQL>alter table telefono add foreign key(ru) references alumno(ru) ON DELETE SET NULL; Limitando Filas #Listar las materias que curso el estudiante con ru=111; SQL>select ru, sigla, gestion from nota where (ru=111); #Listar las materias(sigla) y notas finales del estudiante Juan Paez con ru=111 en la gestión 2005 SQL>select ru, sigla,((pa1+pa2+pa3)/3) from nota where (ru=111)and(gestion=2005); IS NULL y IS NOT NULL #Listar los apellidos maternos(am) con datos NULL SQL>select ru, nombre, ap from alumno where (am is null); #Listar a los estudiantes que no tengan nulos en su primerparcial(pa1), gestión 2005 y materia INF-121. SQL>select ru, sigla from nota where (pa1 not is null)and(sigla='INF-121'); LIKE Este operador compara caracteres. Para las comparaciones se Utilizan los símbolos : % = cero o ms caracteres. _ = Un carácter. #Listar a todos los estudiantes que su apellido paterno(ap) comience con la vocal 'A'. SQL>select ru, nombre, ap, am from alumno where (ap LIKE 'A%'); #Para este ejercicio se utiliza el carácter '%' para indicar que puede continuar cualquier carácter. #Listar a todos los estudiantes que su apellido paterno solo tenga 4 caracteres. SQL>select ru, nombre, ap, am from alumno where (ap LIKE '____') #Esta consulta se utiliza 4 veces '_', para indicar que el apellido puede tener a lo sumo 4 caracteres. #Lista a todos los estudiantes que su nombre tenga mínimamente 3 vocales 'a'. SQL>select * from alumno where (nombre LIKE '%a%a%a%'); Esta consulta inserta en la condición 3 caracteres 'a', luego se utiliza el '%' para indicar que el nombre puede iniciar con cualquier carácter y lo mismo para finalizar. BETWEEN El operador BETWEEN es usado para comparar un rango de valores. #Seleccionar a todos los estudiantes(ru) que en su parcial 1(pa1) tenga desde 40 hasta 50, en la materia INF-111, gestión 2005. SQL>select ru from nota where (gestion=2005)and(pa1 BETWEEN 40 AND 50); #Seleccionar a todos los estudiantes que en su nota final haya obtenido entre 90 a 100, en la materia INF-111, gestin 2005. SQL>select ru,((pa1+pa2+pa3)/3) from alumno where (sigla='INF-111')and(gestion=2005) and(((pa1+pa2+pa3)/3) BETWEEN 90 AND 100); En este ejemplo como no se tiene la nota final, lo que se hace es calcular la nota final, en base a los parciales. IN y NOT IN Los operadores IN y NOT IN son usados para comparar un valor con cada valor de la lista o subconsulta. Con el operador IN se Lic. Octavio Aguilar M. 44 verifica si un valor esta incluido en la lista o subconsulta, y con NOT IN se niega lo anterior. #Listar a los estudiantes que no tienen telefonos. SQL>select nombre, ap, am from alumno where ru NOT IN ( select ru from telefono) En la consulta se compara el ru generado por la tabla alumno con los ru's de estudiantes con teléfonos. #Listar las materias que fueron programadas en la gestión 2005. SQL>select sigla, nombre from materia where sigla IN (select sigla from nota where gestion=2005);