CAPITULO 9 Creando y Manejando Tablas

Slides:



Advertisements
Presentaciones similares
Interfases Contables en CIO
Advertisements

Diseño de Bases de Datos
integridad referencial
IND560 Presentación del producto Memoria, tablas, SmartTrac.
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
BASE DE DATOS OBJETO RELACIONAL
Base de Datos Orientada a Objetos (OODBMS)
BASE DE DATOS Primeros pasos
Fernando Velasco
Por: Ronald Toscano Pretelt
SQL G r u p o
Unidad 3 Lenguaje de manipulación de datos(DML).
Funciones de Fecha y Hora
Controlando el Acceso a los Usuarios
Mejoras a la Cláusula GROUP BY
INTELIGENCIA ARTIFICIAL
PRIVILEGIOS DE ACCESO EN INFORMIX
Sistema de gestión de las bases de datos (SGBD).
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 2 Restringiendo y Ordenando Datos.
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
4.3. Privilegios de usuarios
POO Java Módulo 3 Elementos de programas Identificadores
PL/SQL Francisco Moreno Universidad Nacional.
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Definición de Datos Conceptos básicos.
Control del Acceso de los Usuarios
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
CAPITULO 1 Escribiendo Sentencias SELECT Básicas
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 5 Agregando Datos Usando Funciones de Grupo.
Bases de Datos Relacionales
Universidad del Cauca – FIET – Departamento de Sistemas
Subconsultas Avanzadas
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Gestión de Objetos con Vistas de Diccionario de Datos
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 7 Produciendo Salidas Más Legibles con iSQL*Plus.
UNITA - IBARRA TRIGGERS
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 6 Subconsultas.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
CAPITULO 10 Manejando Restricciones
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 19 Extensiones de Oracle 9i para las sentencias DML y DDL.
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 12 Otros Objetos de la Base de Datos.
Tema 2: Base de datos relacionales
LENGUAJE SQL.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 14 Uso de Operadores de Conjuntos.
1 Por lo tanto, la creación de las tablas en el proceso de programación en Oracle juegan un papel muy importante. En el momento de crear las tablas se.
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
Mínimo equipo necesario Un equipo 586 con 128MB de RAM como mínimo es recomendado para un servidor de Firebird 2.0. Windows demanda mas CPU y memoria que.
Diseña y administra base de datos avanzadas
Unidad 4 SEGURIDAD 4.1 Tipos de usuarios
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
Base de Datos Conjunto de tablas organizadas y posiblemente relacionados entre si. Las tablas son las que almacenan la información.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Copyright  Oracle Corporation, All rights reserved. 12 Otros Objetos de la Base de Datos.
Administrador de Bases de Datos.  Características:  Libre.- puede descargarse de forma gratuita  Facilidad de uso.- gracias a aplicaciones como phpMyAdmin.
Copyright  Oracle Corporation, All rights reserved. 11 Creación de Vistas.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
6 Triggers ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Copyright  Oracle Corporation, All rights reserved. 9 Creación y gestión de tablas.
Transcripción de la presentación:

CAPITULO 9 Creando y Manejando Tablas Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Objetivos Después de este capítulo, usted estará en capacidad de: Describir el principal objeto de una base de datos, la tabla Describir los tipos de datos que se pueden usar cuando se define una columna Alterar la definición de una tabla Borrar, renombrar y truncar tablas Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Examen previo Desarrollar un corto examen de cinco (5) preguntas en modo de aprendizaje (Learning mode), seleccionados en forma aleatoria. Realizar una corta realimentación de cada una de las preguntas. Tema: Creating and Managing Tables Universidad del Cauca – FIET – Departamento de Sistemas

Objetos de la base de datos DESCRIPCIÓN Tabla Unidad básica de almacenamiento, compuesta de filas y columnas. Pueden ser creadas en cualquier momento, no se necesita definir el tamaño del almacenamiento (se recomienda) y su estructura se puede redefinir en línea. Vista Representación lógica de un subconjunto de datos de una o más tablas Secuencia Generador de valores numéricos Índice Mejora el rendimiento de algunas consultas Sinónimo Nombre alternativo de los objetos de una base de datos Otros Procedimientos, funciones, disparadores, clusters, enlaces a bases de datos y demás Universidad del Cauca – FIET – Departamento de Sistemas

Reglas para el nombrado Los nombres de las tablas y de las columnas deben: Iniciar con una letra Tener una longitud máxima de 30 caracteres Contener sólo los caracteres A-Z, a-z, 0-9, _ (underscore), $ y #. Los últimos dos no se recomiendan Ser únicos en el mismo esquema (usuario dueño de los objetos) Ser diferentes a las palabras reservadas de Oracle Otras recomendaciones Usar nombres que describan el contenido Los nombres no son sensibles a mayúsculas y minúsculas Universidad del Cauca – FIET – Departamento de Sistemas

La sentencia CREATE TABLE CREATE TABLE [Esquema.]Tabla ( Columna1 TipoDeDato [DEFAULT Expresión] [, Columna2 …] ); El usuario debe tener el privilegio de CREATE TABLE. Se asigna con una sentencia DCL El usuario debe tener espacio de almacenamiento El usuario debe especificar el nombre de la tabla y de las columnas según las reglas anteriormente descritas. Esta sentencia es DDL Esquema: Es el nombre del usuario que será dueño de la tabla DEFAULT Expresión: Define el valor por defecto que se almacena en la columna Universidad del Cauca – FIET – Departamento de Sistemas

Referenciando tablas de otro usuario SELECT * FROM [Esquema.]Tabla Las tablas creadas por otros usuarios, están fuera del esquema de un usuario Para tener acceso a ellas se necesita anteponer al nombre de la tabla el nombre del usuario/esquema Un esquema es una colección de objetos Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas La opción DEFAULT Especifica un valor por defecto para una columna durante una inserción, por ejemplo: … Emp_FechaContrato DATE DEFAULT SYSDATE, El valor por defecto puede ser un literal, una expresión o una función SQL (por ejemplo SYSDATE, USER) Como valores por defecto No se pueden usar los nombres de otras columnas o seudo-columnas (por ejemplo ROWID, NEXTVAL, CURRVAL) El tipo de dato del valor por defecto debe concordar con el tipo de dato de la columna Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Creando tablas Debido a que CREATE TABLE es una sentencia DDL se realiza un COMMIT automático Universidad del Cauca – FIET – Departamento de Sistemas

Tipos de tablas en una base de datos Oracle Tablas de usuario Son las tablas creadas y mantenidas por un usuario Contienen información de una aplicación del usuario (o de un conjunto de usuarios) Tablas del diccionario de datos Son las tablas creadas y mantenidas por el servidor de bases de datos Oracle Contienen información propia de la base de datos El dueño de estas tablas es el usuario SYS Normalmente se consultan a través de vistas Universidad del Cauca – FIET – Departamento de Sistemas

Tablas del diccionario de datos PREFIJO DESCRIPCIÓN USER_ Muestran información de los objetos que son del usuario/esquema actual ALL_ Muestran información de los objetos que el usuario actual puede acceder DBA_ Muestran información de todo el Servidor Oracle y sólo las pueden acceder los usuarios que tienen el role de DBA V$ Muestran información de rendimiento del servidor de la base de datos, el uso de la memoria y los candados utilizados por la instancia Universidad del Cauca – FIET – Departamento de Sistemas

Uso del diccionario de datos Universidad del Cauca – FIET – Departamento de Sistemas

Uso del diccionario de datos La vista User_Catalog tiene un sinónimo que se llama CAT SELECT * FROM CAT; Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Tipos de datos TIPO DE DATO DESCRIPCIÓN VARCHAR2 (Tamaño) Carácter de longitud variable máximo 4000 CHAR [(Tamaño)] Carácter de longitud fija máximo 2000 NUMBER [(Precisión, escala)] Numérico de longitud variable. La precisión (de 1 a 38) es el número total de dígitos y la escala (-84 a 127) los dígitos al lado derecho del punto decimal DATE Valores fechas y horas LONG Carácter de longitud variable máximo de 2 GB. No se puede copiar cuando una tabla es creada con una subconsulta. Una columna con este tipo de dato no se puede usar en una cláusula GROUP BY y ORDER BY. Sólo una columna por tabla. No se le pueden definir restricciones. Es mejor usar CLOB Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Tipos de datos TIPO DE DATO DESCRIPCIÓN CLOB Caracteres máximo de 4 GB RAW (Tamaño) Binarios sin formato máximo de 2000 bytes LONG RAW Binarios sin formato de longitud variable máximo de 2 GB BLOB Binarios hasta de 4 GB BFILE Binarios almacenados en un archivo externo con tamaño máximo de 4 GB ROWID Sarta hexadecimal que representa la dirección única de una fila en la tabla. Este tipo de dato se usa principalmente con la seudo-columna ROWID Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Tipos de datos TIPO DE DATO DESCRIPCIÓN TIMESTAMP [(precisión)] Desde años hasta fracciones de segundo. Existen algunas variaciones que tienen en cuenta la zona horaria. La precisión (de 0 a 9 y por defecto 6) indica cuantos dígitos se van a tomar para las fracciones de segundo TIMESTAMP [(precisión)] WITH TIME ZONE TIMESTAMP [(precisión)] WITH LOCAL TIME ZONE INTERVAL YEAR [(precisión_año)] TO MONTH Almacena intervalos de fecha tomando años y meses. La precisión_año por defecto es 2 INTERVAL DAY [(precisión_día)] TO SECOND [(precisión_fracción)] Almacena intervalos de fecha tomando días, horas, minutos y segundos. La precisión_día por defecto es 2 y acepta valores de 0 a 9. La precisión_fracción por defecto es 6 y acepta valores de 0 a 9. Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Uso de TIMESTAMP SYSDATE retorna fecha y hora pero no fracción El campo TIMESTAMP no maneja zona horaria Universidad del Cauca – FIET – Departamento de Sistemas

Uso de TIMESTAMP WITH TIME ZONE TIMESTAMP WITH TIME ZONE almacena además el desplazamiento, es decir la hora en relación con el meridiano Greenwich (UTC, Coordinated Universal Time ) En el ejemplo, la hora se almacenó con la zona horaria de Bogotá (UTC -5) Universidad del Cauca – FIET – Departamento de Sistemas

Uso de TIMESTAMP WITH LOCAL TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE almacena la hora en relación a la zona horaria del servidor Oracle El desplazamiento NO se almacena en la columna Cuando el usuario consulta el dato se muestra con relación a la zona horaria de la sesión local del usuario (sin mostrar desplazamiento) Universidad del Cauca – FIET – Departamento de Sistemas

Uso de INTERVAL YEAR TO MONTH Se pueden definir años y meses Se pueden definir sólo años Se pueden definir sólo meses 60 meses son 5 años Universidad del Cauca – FIET – Departamento de Sistemas

Crear tablas con subconsultas CREATE TABLE [Esquema.]Tabla [( Columna1, Columna2, … )] AS SubConsulta; Permite crear una tabla e insertar las filas que cumplen con la condición de la subconsulta La definición de las columnas sólo puede tener el nombre y los valores por defecto Debe existir una correspondencia entre las columnas de la tabla y la lista de columnas de la cláusula SELECT de la subconsulta Si no se definen las columnas, los nombres que se toman son los de la cláusula SELECT Las restricciones de integridad no se crean en la nueva tabla sólo los tipos de datos (excepto NOT NULL) Universidad del Cauca – FIET – Departamento de Sistemas

Crear tablas con subconsultas Universidad del Cauca – FIET – Departamento de Sistemas

La sentencia ALTER TABLE Sirve para: Adicionar una nueva columna Modificar una columna existente Definir un valor por defecto a una columna Establecer una columna como no usada Borrar una columna Borrar las columnas que están marcadas como no usadas Universidad del Cauca – FIET – Departamento de Sistemas

Uso de la sentencia ALTER TABLE No se puede especificar en que orden aparece la nueva columna. La nueva columna queda al final Se recomienda que las columnas con valores NULL queden al final Si la tabla tiene filas, la nueva columna quedara con valores NULL (o el valor por defecto de la columna) para todas las filas El cambio en el valor por defecto sólo afecta las filas que se insertan posteriormente, NO las existentes Sólo se puede borrar una columna a la vez, a menos que se use DROP UNUSED COLUMNS Al intentar borrar la columna, la tabla debe quedar con una columna como mínimo Una columna que se borra no se puede recuperar (sólo con copias de seguridad) Universidad del Cauca – FIET – Departamento de Sistemas

Uso de la sentencia ALTER TABLE A una columna se le puede modificar el tipo de dato, el tamaño y el valor por defecto Se puede incrementar el tamaño (precisión) de columnas numéricas y caracteres Se puede decrementar el tamaño de una columna si la tabla no tiene filas o todos los valores son NULL Se puede cambiar el tipo de dato sólo si todos los valores son NULL Se puede convertir de CHAR a VARCHAR2 sólo si todos los valores son NULL o si no se cambia el tamaño Cuando se fija una columna UNUSED se saca de uso pero no se borra. Esta sentencia es más rápida El comando DESCRIBE no muestra las columnas marcadas como UNUSED Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Borrar una Tabla DROP TABLE [Esquema.]Tabla [CASCADE CONSTRAINT]; Cuando se borra una tabla: Todos los datos se eliminan La estructura de la tabla se elimina (la información registrada en el diccionario de datos) Todas las transacciones pendientes sobre la tabla se comprometen Todos los índices de la tabla se eliminan Las vistas y sinónimos que referencian la tabla permanecen pero se invalidan Se realiza un commit automático Esta operación no se puede deshacer Sólo el creador de la tabla o un usuario con el privilegio DROP ANY TABLE puede ejecutar la sentencia con éxito Universidad del Cauca – FIET – Departamento de Sistemas

Cambiar el nombre de una tabla RENAME NombreTabla TO NombreNuevoTabla; El comando RENAME sirve para cambiar el nombre de una tabla, vista, secuencia o sinónimo Para que el comando tenga éxito el usuario debe ser el dueño del objeto Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Truncar una tabla TRUNCATE TABLE [Esquema.]Tabla [DROP | REUSE] STORAGE; Cuando se trunca una tabla: Todos los datos se eliminan y los datos de los índices Se libera el espacio de almacenamiento usado por la tabla a menos que se REUSE Esta sentencia es DDL (NO DML) por eso realiza commit automático Es diferente a la sentencia DELETE porque: Es más rápida y no genera información de rollback No se ejecutan los disparadores que tenga la tabla Si la tabla es padre en una restricción de integridad, no se puede ejecutar la sentencia TRUNCATE, primero se debe deshabilitar la restricción Universidad del Cauca – FIET – Departamento de Sistemas

Adicionando comentarios a una tabla COMMENT ON [ TABLE [Esquema.]Tabla | COLUMN [Esquema.]Tabla.Columna ] IS ‘Comentario’; La sentencia COMMENT permite agregar un comentario a una tabla o a una columna, almacenándolo en el diccionario de datos. Estos comentarios se consultan a través de: ALL_COL_COMMENTS USER_COL_COMMENTS ALL_TAB_COMMENTS USER_TAB_COMMENTS Para quitar el comentario se aplica ‘’ Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Resumen En esta lección usted debió aprender: A crear tablas con las sentencia CREATE TABLE A modificar la estructura de una tabla con la sentencia ALTER TABLE A borra una tabla con la sentencia DROP TABLE A renombrar una tabla con la sentencia RENAME A truncar una tabla con la sentencia TRUNCATE TABLE A comentar las tablas y las columnas con la sentencia COMMENT Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Practica 9 Realizar una práctica de doce (12) puntos que permite practicar: La creación de nuevas tablas El uso de subconsultas para crear nuevas tablas La adición, modificación y borrado de las columnas de una tabla La eliminación de las tablas Universidad del Cauca – FIET – Departamento de Sistemas

Universidad del Cauca – FIET – Departamento de Sistemas Examen posterior Desarrollar un examen de quince (15) preguntas en modo de aprendizaje (Learning mode), seleccionados en forma aleatoria. Realizar una corta realimentación de cada una de las preguntas. Tema: Creating and Managing Tables Universidad del Cauca – FIET – Departamento de Sistemas