Está en la página 1de 11

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE TIJUANA

Carrera: 

Nombre del Alumno:


Aranza Gutiérrez Mora
Materia:
Unidad y Tema:
Grupo 1
Horario:

Fecha: Tijuana, Baja California a __ de __ 2021


OBJETIVOS 
Crear y manipular bases de datos utilizando distintos Gestores de Bases de Datos considerando elementos
de integridad y seguridad para el tratamiento de la información en distintas plataformas. 

TEMARIO CON FECHAS


UNIDAD 1. LENGUAJE DE DEFINICIÓN DE DATOS (23 AGOSTO- 2 SEPT) 2 SEMANAS
1.1. Creación del esquema de la base de datos
a. Modificación del esquema de la base de datos.
b. Aplicación de constraints
UNIDAD 2. LENGUAJE DE MANIPULACIÓN DE DATOS (6 SEPT-30 SEPT) 4 SEMANAS
2.1 Inserción, eliminación y modificación de registros
2.2. Consultas
2.3 Funciones, conversión, agrupamiento, ordenamiento
2.4 Joins
UNIDAD 3.CONTROL DE ACCESO (4 OCT -7 OCT)1 SEMANA
3.1 Tipos de usuario
3.2 Creación de usuarios
3.3 Privilegios a usuarios
3.4 Roles
UNIDAD 4.CONCURRENCIA (11 OCT -14 OCT) 1 SEMANA
4.1 Conceptos
4.2 Propiedades de las transacciones
4.3 Grados de consistencia
4.4 Niveles de aislamiento
4.5 Commit y rollback
UNIDAD 5.SQL PROCEDURAL (18 OCT -19 NOV) 5 SEMANAS
5.1 Stored Procedures
5.2 Functions
5.3 Triggers
UNIDAD 6.CONECTIVIDAD DE BASES DE DATOS (22 NOV-26 NOV) 1
SEMANA 6.1 ODBC, ADO.NET, JDBC
6.2 Conectividad desde un lenguaje huésped o en dispositivos móviles

EXÁMENES DE REGULARIZACIÓN 29 NOV- 2 DIC


ENTREGA DE PROMEDIO 6 DE DIC

ARANZA GUTIERREZ MORA 19210502 1


UNIDAD 1. LENGUAJE DE DEFINICIÓN DE DATOS
INTRODUCCION A TRANSACT – SQL

TIPOS DE SENTENCIAS DE TRANSACT – SQL


 Sentencias de lenguaje de definición de datos
 Sentencias de lenguaje de control de datos
 Sentencias de lenguaje de manipulación de datos.

SENTENCIAS DE LENGUAJE DE DEFINICIÓN DE DATOS


COMANDOS DDL
CREATE OBJET_NAME Utilizado para crear nuevas tablas, índices, objetos
DROP OBJET_NAME Empleado para eliminar tablas, índices, objetos.
ALTER OBJET_NAME Utilizado para modificar las tablas agregando campos o combinando la
estructura de los atributos.
Permite asignar o cambiar permisos a los objetos de la base de datos:
o GRANT
o DENY
o REVOKE

SENTENCIAS DE LENGUAJE DE MANIPULACIÓN DE DATOS.


Use estatutos DML para cambiar datos o recuperar información.
o SELECT
o INSERT
o UPDATE
o DELETE
COMANDOS DML
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio
determinado
INSERT Utilizado para insertar datos en la base de datos.
UPDATE Utilizado para modificar los valores de los campos y registros especificados.
DELETE Utilizando para eliminar registros de una tabla de una base de datos.
MODIFICACIÓN DEL ESQUEMA DE LA BASE DE DATOS.

LENGUAJE DE DEFINICIÓN DE DATOS


OBJETO SISTAXIS
Creación de una Base de Datos CREATE DATABASE Nombre de Base de datos
Crea una tabla CREATE TABLE Nombre Tabla (
A1 int Not null,
A2 char (30) Not null,
primary key (A1) )
LLAVE COMPUESTA primary key (folio,id_pto)

SENTENCIAS DE LENGUAJE DE MANIPULACIÓN DE DATOS


SENTENCIAS SINTAXIS
SELECT: Permite visualizar información obtenida Select atributo(s) from tabla where condición
en una(s) tabla(s) de la B.D.

ARANZA GUTIERREZ MORA 19210502 2


INSERT: Permite insertar valores en los atributos Insert into Nombre de la tabla a la que se le va a
de una tabla. insertar el registro values (Conjunto de valores del
registro);
UPDATE. La sentencia Update permite actualizar UPDATE Nombre de la tabla en donde se
los datos en una tabla. Modificarán los datos.
SET Valores
WHERE (Condición);
DELETE. Sentencia que permite eliminar una tabla, DELETE
basada en una condición de ser FROM Nombre de la tabla
necesario. WHERE Condición;

RESTRICCIONES.
• Integridad de dominio
• Integridad referencial
• Integridad de entidad

TIPOS DE DATOS DEFINIDOS POR EL USUARIO


SQL Server permite definir datos, que serán utilizados en varias tablas y se espera se garantice el mismo tipo
de dato y la longitud, las reglas para identificadores de tipos de datos deben ser las mismas que para
cualquier identificador.
SENTENCIAS SINTAXIS
Creación de un tipo de dato exec sp_addtype NOMBRETIPO, ‘TIPO_DEL_SISTEMA’,
definido. ‘OPCION_NULL’
Eliminación de datos definidos por exec sp_droptype tipo_Dato
el usuario.
CONSTRAINTS
SENTENCIA SINTAXIS
LLAVE PRIMARIA alter table NOMBRETABLA
add constraint NOMBRECONSTRAINT
primary key (CAMPO,...);
Constraint PK_cursos_clave primary key (clave)
LLAVE FORANEA Constraint fk_cursos_area foreign key (area) references TablaAreas(area)
Creación de Reglas create rule NOMBREREGLA as @VARIABLE CONDICION
Ejemplo:
o create rule RG_sueldo as @sueldo between 100 and 1000
Una vez creada la regla, se debe asociar a un campo ejecutando un
procedimiento almacenado del sistema
o exec sp_bindrule NOMBREREGLA, 'TABLA.CAMPO';
Se asocia la regla creada al atributo ‘sueldo’ de la tabla ‘empleados’
o exec sp_bindrule RG_sueldo, 'empleados.sueldo';
Desligar una regla.
o Exec sp_unbindrule ‘tabla.atributo’
sp_helpconstraint Permite ver las reglas asociadas a los campos de una tabla.
Exec sp_ helpconstraint
Regla Create rule regla1 as @mivariable like ‘p%’or @mivariable like ‘t%’
Enlazar la regla Exec sp_bindrule regla1 ‘tabla.mivariable’
Eliminar regla drop rule regla1

ARANZA GUTIERREZ MORA 19210502 3


UNIDAD 2. LENGUAJE DE MANIPULACIÓN DE DATOS
2.1 INSERCIÓN, ELIMINACIÓN Y MODIFICACIÓN DE REGISTROS
DEC SINTAXIS
Elimina la columna ‘a’ de la tabla A ALTER TABLE A DROP COLUMN a
Elimina mas de una columna, la columna ‘a’ y ‘b’ ALTER TABLE A DROP COLUMN ‘a’,COLUMN ‘b’
Añade una columna llamada ‘c’ del tipo ‘int ’ al ALTER TABLE A ADD c INT
final de todas las demás estenciones
Modifica la columna ‘a’, por un varchar(40) de la ALTER TABLE CULUMN a VACHAR (40)
tabla A
2.2. CONSULTAS

INSTRUCCIONES SELECT SIMPLES


Es posible crear consultas para recuperar información de la base de datos utilizando comandos de sql.
Hay tres componentes básicos de la instrucción SELECT: SELECT, FROM y WHERE.
DEC SINTAXIS
SELECT: SELECT, FROM y WHERE. SELECT <lista_columnas>
FROM <lista_tablas>
WHERE <criterio_búsqueda>
SELECT SELECT [ALL ¦ DISTINCT]
<lista_selección>

2.3 FUNCIONES, CONVERSIÓN, AGRUPAMIENTO, ORDENAMIENTO

CLAUSULAS
Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea
seleccionar o manipular.
CLUSULA DESCRIPCION
FROM. Utilizada para especificar la tabla de la cual se van a seleccionar los registros

WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a
seleccionar.
GROUP BY Utilizada para separar los registros seleccionados en grupos específicos.
HAVING Utilizada para expresar la condición que debe satisfacer cada grupo.
ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden
específico.

WHERE
La cláusula WHERE puede usarse para determinar qué registros de las tablas enumeradas en la cláusula
FROM aparecerán en los resultados de la instrucción SELECT. Si no se emplea esta cláusula, la consulta
devolverá todas las filas de la tabla. WHERE es opcional, pero cuando aparece debe ir a continuación de
FROM.
Ejemplos:
o Desplegar el apellido y salario de los empleados cuyo salario sea > 21000.

Select apellido, salario from empleados where salario > 21000;

o Desplegar id_producto, existencias de la tabla Productos en donde existencia sea menor o igual a
1000.

ARANZA GUTIERREZ MORA 19210502 4


Select id_producto, existencias from productos where existencias <= 1000;

o Desplegar apellido y nombre de la tabla Empleados en donde apellido = ‘Martínez’

Select apellido, nombre from empleados where apellido = Martínez’

o Desplegar apellido y nombre de la tabla Empleados en donde apellido inicie con la letra S y después
contenga una cadena de caracteres.

Select apellido y nombre from empleados where apellido like 'S*';

o Desplegar apellido y nombre de la tabla Empleados en donde salario este entre 200 y 300.

Select apellido, salario from empleados where salario between 200 and 300;

OPERADORES LOGICOS
OPERADOR USO
AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas
son ciertas.
OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de
las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.
< Menor que
> Mayor que
<> Distinto de
<= Menor ó Igual que
>= Mayor ó Igual que.
= Igual que
BETWEEN BETWEEN Utilizado para especificar un intervalo de
LIKE LIKE Utilizado en la comparación de un modelo
IN Utilizado para especificar registros de una base de datos.

ORDENAR REGISTROS
Es posible específicar el orden en que se desean recuperar los registros de las tablas mediante la claúsula
ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar.
Ejemplo:

SELECT CódigoPostal, Nombre, Teléfono FROM Clientes ORDER BY Nombre;

Esta consulta devuelve los campos CódigoPostal, Nombre, Teléfono de la tabla Clientes ordenados por el
campo Nombre. Se pueden ordenar los registros por más de un campo, como por ejemplo:

SELECT CódigoPostal, Nombre, Teléfono FROM Clientes ORDER BY CódigoPostal, Nombre;

Incluso se puede específicar el orden de los registros: ascendente mediante la claúsula (ASC -se toma este
valor por defecto) ó descendente (DESC)

SELECT CódigoPostal, Nombre, Teléfono FROM Clientes ORDER BY CódigoPostal


DESC, Nombre ASC;

CONSULTAS CON PREDICADO

ARANZA GUTIERREZ MORA 19210502 5


El predicado se incluye entre la clausula y el primer nombre del campo a recuperar, los
posibles predicados son:
PREDICADO DESCRIPCION
ALL Devuelve todos los campos de la tabla
TOP Devuelve un determinado numero de registros de la tabla
DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente
DISTINCTROW Omite los registros duplicados basándose en la totalidad del registro y no solo en
los campos seleccionados

ALL
Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos selecciona todos los
registros que cumplen las condiciones de la instrucción SQL.
Ejemplo:

Select all from empleados;

Select * from empleados;

TOP
Devuelve un cierto número de registros que entran entre al principio o al final de un rango especificado por
una cláusula ORDER BY. Supongamos que queremos recuperar los nombres de los 25 primeros estudiantes
del curso 2012:

Select top 25 Nombre from Estudiante where curso=2012 order by no_est desc;

DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados.

Select distinct apellido from empleados;

DISTINCT
devuelve aquellos registros cuyos campos indicados en la cláusula

SELECT poseen un contenido diferente.

FUNCIONES DE AGREGADO (SUMARIAS)


Las funciones de agregado o sumatorias, se usan dentro de una cláusula SELECT para devolver un único valor
que se aplica a un grupo de registros.
FUNCION DESCRIPCION
AVG Calcula el promedio de los valores de un campo determinado
COUNT Devuelve el numero de registros de la selección
SUM Devuelve la suma de todos los valores de un campo determinado
MAX Devuelve el valor mayor de un campo especificado
MIN Devuelve el valor menor de un campo especificado

EJEMPLOS:

Elaboró Margarita Ramírez Ramírez Pag. No 24


Select avg(precio) from productos

ARANZA GUTIERREZ MORA 19210502 6


Esta sentencia nos regresará un valor que es el promedio de los precios de todos los articulos de la tabla
productos.
Select sum(precio) from productos
Esta sentencia nos regresará un valor que es la suma de los precios de todos los articulos de la tabla
productos.
Select count(no-pto) from productos
Esta sentencia nos regresará un valor que es la cantidad de articulos de la tabla productos.
Select max(precio) from productos
Esta sentencia nos regresará el precio mayor de los articulos de la tabla productos.
Select min(precio) from productos
Esta sentencia nos regresara el precio menor de los articulos de la tabla productos.

OPERADORES LOGICOS
Los operadores lógicos soportados por SQL son: AND, OR, XOR, Eqv, Imp, Is y Not. A excepción de los dos
últimos todos poseen la siguiente sintaxis:

<expresión1> operador <expresión2>

En donde expresión1 y expresión2 son las condiciones a evaluar, el resultado de la operación varía en
función del operador lógico.
Select * from empleados where (edad>25) and (edad<50)
Select * from empleados where (edad > 25) and (edad < 50) or (sueldo = 100)
Select * from empleados where not (estado='soltero')
Select * from empleados where ((sueldo > 100) and (sueldo < 500)) or ((ciudad = 'madrid')
and (estado = 'casado'))

INTERVALOS DE VALORES
Permite indicar que datos deseamos recuperar según el intervalo de valores de un campo, la sintaxis del
operador Between es:
Select campo(s) from Tabla where campo [Not] Between valor1 And valor2 (la condición Not es opcional)
En este caso la consulta devolvería los registros que contengan en "campo" un valor incluido en el intervalo
valor1, valor2 (ambos inclusive). Si anteponemos la condición Not devolverá aquellos valores no incluidos en
el intervalo.

OPERADOR LIKE
Se utiliza para comparar una expresión de cadena con un modelo en una sentencia SQL. Su sintaxis es:
 Ejemplo: Si introduce LIKE C* en una consulta SQL, la consulta devuelve todos los valores de campo
que comiencen por la letra C.
 Ejemplo: Sentencia que devuelve los datos que comienzan con la letra P, seguido de cualquier letra
entre A y F y de tres dígitos: LIKE 'P[A-F]###'
 Este ejemplo devuelve los campos cuyo contenido empiece con una letra de la A a la D seguidas de
cualquier cadena. LIKE '[A-D]%'

OPERADOR IN
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los que pertenecen a
una lista. Su sintaxis es:

expresión [Not] In(valor1, valor2, . . .)

 Ejemplo: Desplegar los datos de los pedidos cuya ciudad este entre la lista de ciudades
determinadas.
Select * from pedidos where ciudad In (‘Tijuana’, 'Madrid', 'Londres', 'New York');

ARANZA GUTIERREZ MORA 19210502 7


GROUP BY
Agrupa los registros con valores idénticos, para cada registro se crea un valor sumario si se incluye una
función SQL agregada, como por ejemplo Sum o Count, en la instrucción SELECT.
Sintaxis:
SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo
Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Null no se
evalúan en ninguna de las funciones SQL agregadas.
 Ejemplo: Desplegar el id de linea y la suma de stock de la tabla Productos agrupado por idLinea.
SELECT Id_Linea, Sum(Stock) FROM Productos GROUP BY Id_Linea.

COLUMNAS CALCULADAS.
Es posible realizar columnas calculadas utilizando los operadores aritméticos descritos anteriormente
 Ejemplo:
SELECT Sum(PrecioUnidad * Cantidad) AS Total FROM DetallePedido;

SUBCONSULTAS
Una subconsulta es una instrucción SELECT anidada dentro de una instrucción SELECT, SELECT...INTO,
INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta. Una subconsulta puede realizarse mediante
comparación o Instrucción sql.
2.4 JOINS
La sentencia join en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En
el Lenguaje de Consultas Estructurado (SQL), hay tres tipos de JOIN: interno, externo, y cruzado.

En casos especiales una tabla puede unirse a sí misma, produciendo una auto- combinación, SELF-JOIN.
Matemáticamente, JOIN es composición relacional, la operación fundamental en el álgebra relacional.
Todas las explicaciones que están a continuación utilizan las siguientes dos tablas para ilustrar el efecto de
diferentes clases de uniones JOIN.

COMBINACIÓN INTERNA (INNER JOIN)


Con esta operación se calcula el producto cruzado de todos los registros; así cada registro en la tabla A es
combinado con cada registro de la tabla B; pero sólo permanecen aquellos registros en la tabla combinada
que satisfacen las condiciones que se especifiquen. Este es el tipo de JOIN más utilizado por lo que es
considerado el tipo de combinación predeterminado.
Es necesario tener especial cuidado cuando se combinan columnas con valores nulos NULL ya que el valor
nulo no se combina con otro valor o con otro nulo, excepto cuando se le agregan predicados tales como IS
NULL o IS NOT NULL.
Las dos consultas siguientes son similares, y se realizan de manera explícita (A) e implícita (B).
A. Ejemplo de la sentencia INNER JOIN explícita:
SELECT * FROM empleado
INNER JOIN departamento ON empleado.IDDepartamento = epartamento.IDDepartamento
B. Ejemplo de la sentencia INNER JOIN implícita:
SELECT * FROM empleado,
Departamento WHERE empleado.IDDepartamento = departamento.IDDepartamento
El empleado Gaspar y el departamento de Mercadeo no son presentados en los resultados ya que ninguno
de éstos tiene registros correspondientes en la otra tabla. No existe un departamento con número 36 ni
existe un empleado con número de departamento 35. A la combinación que utiliza comparaciones dentro
del predicado JOIN se le llama theta- join.

C. Ejemplo de combinación tipo theta:


SELECT * FROM empleado
INNER JOIN departamento ON empleado.IDDepartamento < departamento.IDDepartamento

ARANZA GUTIERREZ MORA 19210502 8


Las operaciones INNER JOIN pueden ser clasificadas como de equivalencia, naturales, y
cruzadas.

DE EQUIVALENCIA (EQUI-JOIN)
Es una especie de theta-join que usa comparaciones de igualdad en el predicado JOIN. Cuando se usan
operadores, tales como < ó > no se pueden clasificar en este rango.
D. Ejemplo de combinación de equivalencia:
SELECT * FROM empleado
INNER JOIN departamento ON empleado.IDDepartamento = departamento.IDDepartamento
La tabla resultante presenta dos columnas llamadas IDDepartamento, una proveniente de
la tabla Empleado y otra de la tabla Departamento.

CRUZADA (CROSS JOIN)


Presenta el producto cartesiano de todos los registros de las dos tablas. El código SQL para realizar este
producto cartesiano enuncia las tablas que serán combinadas, pero no incluye algún predicado que filtre el
resultado.
E. Ejemplo de combinación cruzada explícita:
SELECT *FROM empleado CROSS JOIN departamento

F. Ejemplo de combinación cruzada implícita:


SELECT * FROM empleado, departamento;

COMBINACIÓN EXTERNA (OUTER JOIN)


Mediante esta operación no se requiere que cada registro en las tablas a unir tenga un registro equivalente
en la otra tabla. El registro es mantenido en la tabla combinada si no existe otro registro que le corresponda.
Este tipo de operación se subdivide dependiendo de la tabla a la cual se le admitirán los registros que no
tienen correspondencia, ya sean de tabla izquierda, de tabla derecha, o combinación completa.

DE TABLA IZQUIERDA (LEFT OUTER JOIN O LEFT JOIN)


El resultado de esta operación siempre contiene todos los registros de la tabla de la izquierda (la primera
tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la
derecha, para uno de la izquierda. La sentencia LEFT OUTER JOIN retorna la pareja de todos los valores de la
tabla izquierda con los valores de la tabla de la derecha correspondientes, o retorna un valor nulo NULL en
caso de no correspondencia.
G. Ejemplo de tabla izquierda para la combinación externa:
SELECT * FROM empleado
LEFT OUTER JOIN departamento ON empleado.IDDepartamento = departamento.IDDepartamento

DE TABLA DERECHA (RIGHT OUTER JOIN O RIGHT JOIN)


Esta operación es inversa a la anterior; el resultado de esta operación siempre contiene todos los registros
de la tabla de la derecha (la segunda tabla que se menciona en la consulta), aun cuando no exista un registro
correspondiente en la tabla de la izquierda, para uno de la derecha.
La sentencia RIGHT OUTER JOIN retorna la pareja de todos los valores de la tabla derecha con los valores de
la tabla de la izquierda correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.
H. Ejemplo de tabla derecha para la combinación externa:
SELECT * FROM empleado
RIGHT OUTER JOIN departamento ON empleado.IDDepartamento = departamento.IDDepartamento

COMBINACIÓN COMPLETA (FULL OUTER JOIN)

ARANZA GUTIERREZ MORA 19210502 9


Esta operación presenta los resultados de tabla izquierda y tabla derecha aunque no tengan
correspondencia en la otra tabla. La tabla combinada contendrá, entonces, todos los registros de ambas
tablas y presentará valores nulos NULLs para registros sin pareja.
I. Ejemplo de combinación externa completa:
SELECT * FROM empleado
FULL OUTER JOIN departamento ON empleado.IDDepartamento = departamento.IDDepartamento
Algunos sistemas de bases de datos no soportan esta funcionalidad, pero esta puede ser emulada a través
de las combinaciones de tabla izquierda, tabla derecha y de la sentencia de unión unión.
J. El mismo ejemplo puede expresarse así:
SELECT * FROM empleado
LEFT JOIN departamentoON empleado.IDDepartamento = departamento.IDDepartamento

UNION
SELECT * FROM empleado
RIGHT JOIN departamento ON empleado.IDDepartamento = departamento.IDDepartamento
WHERE empleado.IDDepartamento IS NULL

ARANZA GUTIERREZ MORA 19210502 10

También podría gustarte