Documente Academic
Documente Profesional
Documente Cultură
Practica 1. SQL
Por definición una base de datos es un conjunto de datos de diferentes tipos organizados y
relacionados, deben estar libres de redundancia y ser independientes de los programas que los usan.
Un SGBD, es un sistema de software que permite a los usuarios definir, crear, mantener y controlar
el acceso a las bases de datos, esto mediante un lenguaje de definición de datos (DDL), un lenguaje de
manipulación de datos (DML), y un lenguaje de control de datos (DCL).
-DDL. Permite especificar las estructuras y tipos de datos, y las restricciones aplicables a los datos que
se van a almacenar en la BD.
-DML. Permite insertar, actualizar, borrar y extraer datos de la BD.
-DCL. Ayuda a sistematizar la seguridad (para evitar accesos no autorizados), la integridad (para
mantener la coherencia de los datos), la concurrencia (para permitir el acceso compartido), y la
recuperación (para restaurar un estado previo coherente de la BD, después de una falla de software o
hardware).
Uno de los lenguajes que ha emergido a partir del desarrollo del modelo relacional es el SQL
(Structured Query Language) el cual es un estándar internacional aceptado por los fabricantes de
sistemas gestores de bases de datos.
Esencialmente trabaja mediante una arquitectura cliente/servidor: la computadora cliente hace
peticiones a la computadora servidor, la cual responde con transferencias de textos que el cliente se
encarga de presentar en pantalla. Es un lenguaje declarativo, esto significa que las instrucciones
especifican que es lo que se quiere, sin decir como hacerlo. SQL asume la función de DDL, DML y
DCL, a través de comandos o consultas que integran sentencias y clausulas como:
INSTRUCCIONES
Ejecutar los siguientes comandos SQL, documentar los resultados, proponer consultas para los
enunciados indicados, escribir junto a las consulta las dudas sobre la estructura o su significado, e
incluir comentarios finales o conclusiones.
Nota: Las sentencias y clausulas están escritas en mayúsculas con el fin de proporcionar claridad a
las consultas, pero MySQL también las acepta en minúsculas.
1.-Entrar a MySQL
$ mysql -u root -p
En la tercera tabla tenemos una llave primaria y dos llaves foráneas que
relacionan las dos tablas anteriores con esta. Las llaves foráneas son deptno y
mgr, hacen referencia a las columnas deptno de la tabla dept y empno de la tabla
emp, respectivamente. Vemos que se puede crear una llave primaria de dos formas
distintas, en las tablas salgrade y emp se creo a nivel columna y en dept a nivel
tabla.
Vemos las columnas de cada tabla haciendo la solicitud de tres formas diferentes.
Se pueden ver las diferentes características de cada atributo: tipo, si pude ser
nulo o no, el valor que toman por default y cuales son llaves primarias (PRI) y
cuales secundarias (MUL).
Al seleccionar dptno como llave primaria, automáticamente se le asignan las
características not null.
En este caso omitimos un valor que acepta null, y no marcó ningún error o
warning. Al hacer la siguiente consulta vemos que automáticamente se le asigno el
valor NULL.
Vemos que se asignaron valores por defecto y en algunos casos ningún valor.
Para evitar los problemas de este tipo se deben poner más constraints y valores
por default.
17.-Seleccionar ename y sal de la tabla emp, presentado las columnas con la leyenda
nombre y salario, respectivamente.
mysql> SELECT ename AS Nombre, sal Salario FROM emp;
19.-Cuando se usa DISTINCT para seleccionar varios campos, considera toda la tupla
para hacer distinción entre ellas y presentar el resultado.
mysql> SELECT DISTINCT mgr,deptno
-> FROM emp;
USO DE COMODINES
20.-Seleccionar los nombres que inicien con S.
mysql> SELECT ename
-> FROM emp
-> WHERE ename LIKE 's%';
24.-borrar a los empleados con empno=0 y empno=1, verificar que existan antes de
borrarlos.
mysql> SELECT * FROM emp WHERE empno=0 or empno=1;
mysql> DELETE FROM emp WHERE empno=0;
mysql> DELETE FROM emp WHERE empno=1;
mysql> SELECT * FROM emp WHERE empno=0 or empno=1;