Abd3 Sql
Administración de Bases de Datos
(Ingeniería Técnica en Informática de Gestión)
Bases de Datos Relacionales:
SQL y el PL/SQL de Oracle
E.T.S.I. Informática
J. Galindo Gómez
SQL (Structured Query Language)
SQL
• SQL está en continua evolución: Es una evolución del lenguaje
SEQUEL de D.D.Chamberlin y R.F. Boyce (1974) y fue implementado por primera vez por IBM en su BDR llamado SYSTEM R. – ISO (International Standards Organization) y ANSI (American National Standards Institute) desarrollaron una versión estándar en 1986, llamada SQL86 o SQL1. Posteriormente, se desarrolló SQL92 o SQL2. Actualmente se desarrolla SQL3, que incluye conceptos de BD orientadas a objetos.
• SQL es un lenguajeestándar para GESTIÓN de BDR:
– Está incluido en muchos SGBD (DBMS), como DB2 (de IBM), Oracle, Ingres, Informix, Sybase, Access, SQL Server... • Las mismas sentencias sirven en distintos SGBD. • Si se usan sólo las características estándares facilita la tarea de migrar de SGBD → Hay funciones no estándar en algunos SGBD. – Fácil de usar y aprender: Tiene similitudes con el Álgebra Relacional,aunque se parece más al Cálculo y es más fácil e intuitivo que ambos lenguajes formales. – Aquí se incluye una introducción a SQL estándar con algunos comentarios sobre el SGBD Oracle.
2
SQL (Structured Query Language)
SQL
• SQL es un lenguaje COMPLETO: Incluye sentencias para
– – – – – DDL y DML: Permite definir esquemas, consultar, borrar, actualizar... Definición de vistas: Paraver la BD de distintas formas. Seguridad: Permisos de acceso distintos para cada usuario. Definir restricciones de integridad: Integridad referencial... Especificar control de transacciones: Para grandes empresas, recuperación de errores, archivos históricos... – Puede incrustarse en lenguajes de alto nivel (C, C++, Pascal, COBOL...). – Permite operaciones tan complejas que su total definición escomplicada: Sólo veremos un subconjunto de las operaciones posibles.
• ESQUEMA (schema): Conjunto de elementos (tablas, vistas,
permisos...) que pertenecen a la misma BD. Cada esquema tiene un nombre y un usuario propietario del esquema:
CREATE SCHEMA AUTHORIZATION ; • CATÁLOGO (catalog): Conjunto de esquemas. Tiene un esquema especial llamado INFORMATION_SCHEMA que provee información sobrelos demás esquemas, usuarios autorizados, definiciones de dominio, restricciones de integridad referencial (sólo entre tablas del mismo catálogo)...
3
SQL (Structured Query Language)
• TIPOS de DATOS de los atributos de las relaciones:
SQL
– Enteros de distintos tamaños: INTEGER o INT y SMALLINT. – Reales de distinta precisión: FLOAT(p), REAL, DOUBLE PRECISION, o el más genéricoDECIMAL(precisión, escala) (o NUMBER en Oracle), donde precisión=“número total de dígitos” (de 1 a 38 en Oracle) y escala=“número de decimales” (de -84 a 127 en Oracle, con valor 0 por defecto). También admite DEC(p,e) o NUMERIC(p,e). – Caracteres: CHAR(n) o CHARACTER(n), n=longitud fija (por defecto n=1). También VARCHAR(n), n=longitud máxima (Oracle aconseja usar VARCHAR2 con 4000 de máximo). Paracadenas muy largas usar LONG (máximo 2GB) o CLOB ( Character Large OBject , máx . 4GB). • NCHAR y NVARCHAR2 usan el juego de caracteres Nacional definido al crear la BD. – Cadenas de bits (para gráficos, sonidos, ficheros binarios...): BIT(n), n=longitud fija o BIT VARYING(n), con n=longitud máxima. Por defecto n=1. En Oracle se prefiere usar RAW(tamaño_fijo_máx_2000bytes) o LONG RAW (sin argumento ycon un tamaño máximo de 2GB). Últimamente Oracle aconseja usar LOB o BLOB (Binary Large OBject, máximo 4GB), o también BFILE para almacenar la localización de un fichero binario. – Fecha y Hora: DATE (año, mes, día: YYYY-MM-DD). TIME (horas, minutos, segundos: HH:MM:SS). TIMESTAMP incluye ambos (sinónimo a DATE en Oracle). • Se usan las funciones TO_CHAR y TO_DATE para convertir un dato de tipo...
Regístrate para leer el documento completo.