Structured query language (sql)
Acceso a postgres
* INICIAR COMO USUARIO POSTGRES EN UNIX. * EJECUTAR EL COMANDO CREATEDB nomb_BD * ENTRAR A LA BASE DE DATOS USANDO psql nomb_BD * Estando en la BD CREAR UN USUARIO CON CREATE USER mi_usuario WITH PASSWORD ‘passwd’ * SALIR DE psql * CAMBIAR DE USUARIO EN UNIX CON su mi_usuario * LA CUENTA mi_usuario EXISTIRA EN UNIX TAMBIEN * ENTRAR OTRA VEZA psql COMO EL USUARIO NUEVO psql nomb_BD * SI SE QUIERE ENTRAR A psql COMO OTRO USUARIO HACER´psql -Umi_usuario nomb_DB * TODOS LOS COMANDOS EN psql DEBEN TERMINAR CON ;
1
LENGUAJE SQL
El SQL ha sido adoptado como un estándar oficial en los Estados Unidos de América por el American National Standards Institute (ANSI), y como un estándar internacional por la International StandardsOrganization (ISO) La versión original fue la desarrollada en el San Jose Research Laboratory de IBM
¿POR QUÉ SQL?
w SQL es un lenguaje de alto nivel, con el cual los programadores pueden evitar especificar muchos detalles de la manipulación de datos que serían necesarios en lenguajes como C++ por ejemplo. w Lo que hace a SQL viable es que sus consultas se optimizan de manera adecuada produciendo unaejecución de consultas más eficiente.
2
BASE DE DATOS DE EJEMPLO
LENGUAJE DE DEFINICION DE DATOS (LDD)
w En las bases de datos relacionales, la información se organiza en estructuras denominadas tablas base o simplemente tablas w Las tablas son construcciones lógicas para almacenar y manipular datos en una base de datos, las tablas contienen columnas y renglones los cuales soninstancias únicas de los datos. w Cada tabla tiene un nombre, y en nuestro ejemplo los nombres de las tablas son A, M y C. En cada tabla se distinguen dos partes: el encabezado y el cuerpo.
3
LDD: CREACION DE TABLAS
CREATE TABLE M ( Clave_M CHAR(3) NOT NULL, Nombre_M CHAR(20) NOT NULL, Creditos SMALLINT, CREATE TABLE A Espec CHAR(4), ( Clave_A CHAR(3) NOT NULL, PRIMARY KEY(Clave_M) ); Nombre_ACHAR(20) NOT NULL, Espec CHAR(4) NOT NULL, Ingreso CHAR(10), Sexo CHAR(1) NOT NULL ); CREATE TABLE C (Clave_A CHAR(3) NOT NULL, Clave_M CHAR(3) NOT NULL, Periodo CHAR(10) NOT NULL, Calif SMALLINT);
LDD: EJERCICIOS
2.1.-Escriba un programa para crear una tabla de profesores con las siguientes columnas: clave del profesor, nombre, especialidad, y fecha de ingreso. Los tipos de dato de las columnasdeberán ser respectivamente alfanumérico de tres caracteres, alfanumérico de veinte caracteres, alfanumérico de cuatro caracteres, y tipo DATE. Además la columna "clave del profesor" debe ser declarada como llave primaria. 2.2.- Escriba un programa para crear una tabla de salones con las siguientes columnas: clave del salón, especialidad y capacidad. Los tipos de dato de las columnas deberán seralfanumérico de tres caracteres, alfanumérico de cuatro caracteres y entero respectivamente. Esta tabla debe ser declarada sin llave primaria.
4
LDD: CREACION DE INDICES
Informalmente, se puede decir que un índice es una estructura auxiliar que sirve para reducir el tiempo de acceso a los renglones de una tabla cuando se conoce el valor de una (o varias) de sus columnas. Una forma desimular una llave primaria, es mediante la definición de índices para la tabla. Para fines didácticos hemos evitado definir llaves primarias a las tablas A y C, con el fin de mostrar otra opción para lograr el mismo efecto que tiene definir una llave primaria dentro de una tabla
LDD: CREACION DE INDICES
CREATE UNIQUE INDEX IndA1 ON A(Clave_A);
5
LDD: CREACION DE INDICES
CREATE INDEX IndA2 ONA(Espec);
Un índice para la tabla C: CREATE UNIQUE INDEX IndC1 ON C(Clave_A,Clave_M,Periodo);
LDD: EJERCICIOS
3.1.- Para la tabla de profesores definida en el Ejercicio 2.1, escriba un programa para crear un índice sobre la columna especialidad. El índice deberá declararse de tal manera que sí acepte duplicados. 3.2.- En relación al Ejercicio 2.2, escriba un programa para crear un índice...
Regístrate para leer el documento completo.