Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 1
ESTRUCTURA DE DATOS
BASES DE DATOS Y USUARIOS
DE BASES DE DATOS
UNIVERSIDAD Cursos
Calificaciones
ARQUITECTURA DE BASES DE
DATOS
Nodos
Relación Relación
Nodos
Relación
Nodos
INCONVENIENTE
S
No se admiten relaciones Varios a
Varios
No se permiten más de una relación
entre dos segmentos
El árbol se debe de recorrer en el
orden designado
MODELOS DE DATOS:
RELACIONAL
El DBA también es
responsable de problemas comunicarse con todos los
como las brechas de presuntos usuarios de la Sofisticados -
seguridad o de unos base de datos para conocer Independientes
tiempos de respuesta sus requisitos
pobres
USUARIOS DE BASES DE
DATOS
Usuarios casuales Principiantes Sofisticados Independientes
Se encuentran los
Su labor principal gira ingenieros, los científicos,
Acceden ocasionalmente a entorno a la consulta y los analistas mantienen bases de datos
la base de datos actualización constantes comerciales. personales
de la base de datos
Realización de
Gerentes de nivel medio cajeros bancarios Programas contables
investigaciones
SQL
DATABASE,
TABLE, VIEW, Nivel de filas y Atomicidad y
PROCEDURE, columnas seguridad
TRIGGER
TIPOS DE SENTENCIAS
DDL
Crea una base de
CREATE datos, tabla
Agrega, borra o
modifica columnas ALTER
en una tabla
Borra de manera
DROP sencilla, bd, tablas
TIPOS DE SENTENCIAS
DML
Inserta una fila en
INSERT
una tabla
Actualiza un
registro (fila), en UPDATE
una tabla
Elimina un registro
DELETE
(fila), en una tabla
TIPOS DE SENTENCIAS
DCL
Finaliza una transacción
COMMIT
en una base de datos
Devuelve la base de
ROLLBACK
datos a un estado previo
DELETE
ATRIBUTO
Se refiere a una columna de una tabla
TUPLA
Corresponde a una fila de una tabla
CARDINALIDAD
Es el número de tuplas (filas) que contiene una tabla
GRADO
Es el número de atributos (columnas) que posee una tabla
TUPLA
Corresponde a una fila de una tabla
Atributo
Tupla
Cardinalidad: 4 tuplas/filas
Grado: 4 atributos/columnas
DOMINIO
Estudiante ID Nombre
123456789 Juanito Alcachofa
Valores incrementales,
columna de salario generalmente usado con
primary key
LENGUAJE DE DEFINICIÓN DE
DATOS (DDL)
CREATE: Este comando crea un objeto dentro de la base de datos. Puede ser una tabla, vista,
índice, trigger, función, procedimiento o cualquier otro objeto que el motor de la base de datos
soporte.
CREATE DATABASE “nombre_BD”;
CREATE TABLE “nombre_tabla” (nombre_columna tipo_dato);
LENGUAJE DE DEFINICIÓN DE
DATOS (DDL)
La sentencia SQL ALTER se utiliza para añadir, eliminar o modificar columnas de una tabla.
ALTER TABLE nombretabla
DROP COLUMN nombrecolumna
ALTER TABLE nombretabla
ALTER COLUMN nombrecolumna tipodatocolumna
SELECT: El uso común es la selección de datos desde tablas ubicadas en una base de datos.
Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica, le
será asignado el valor por omisión. Los valores especificados (o implícitos) por la sentencia
INSERT deberán satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si
alguna de las restricciones es violada, no se agrega la fila y se devuelve un error.
begin transaction
UPDATE Region SET RegionDescription = 'Oeste'
rollback transaction
DELETE
Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla.
Forma básica:
# DELETE FROM 'tabla' WHERE 'columna1' = 'valor1'
begin transaction
rollback transaction
FUNCIONES DE AGREGADO
Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros
para devolver un único valor que se aplica a un grupo de registros.
Comando Descripción
AVG Utilizada para calcular el promedio de los valores de un campo
determinado
COUNT Utilizada para devolver el número de registros de la selección
FROM Products
GROUP BY
SELECT Products.ProductName, SUM (Products.UnitPrice), Suppliers.CompanyName
FROM Products,Suppliers
WHERE Products.SupplierID = Suppliers.SupplierID
GROUP BY Suppliers.CompanyName, Products.ProductName
Nosotros podemos consultar el contenido de una tabla muy puntualmente: SELECT * FROM
myTable.
Sin embargo, generalmente necesitamos combinar información de distintas tablas.
Obtener datos específicos de distintas tablas, y presentar la información de una mejor manera,
resulta de ayuda para la toma de decisiones.
Entonces, la cláusula JOIN nos permite asociar 2 o más tablas, en base a una columna que
tengan en común.
EJEMPLO: EMPLEADOS Y
DEPARTAMENTOS
Por un lado vamos a tener una tabla Empleados (que almacenará una lista de empleados y el id
del departamento al que pertenecen):
EJEMPLO: EMPLEADOS Y
DEPARTAMENTOS
Y por otro lado, una tabla Departamentos (con la lista de departamentos que existen en la
empresa).
CLÁUSULA INNER JOIN
Esta cláusula busca coincidencias entre 2 tablas, en función a una columna que tienen
en común. De tal modo que sólo la intersección se mostrará en los resultados.
Por ejemplo, si queremos listar a los empleados e indicar el nombre del departamento
al que pertenecen, podemos hacer lo siguiente:
SELECT Empleado.Nombre,
Departamento.Nombre
FROM Empleados LEFT JOIN Departamentos
ON Empleados.DepartamentoId = Departamento.Id
CLÁUSULA LEFT JOIN
La tabla Empleados es la primera tabla en aparecer en la consulta (en el FROM),
por lo tanto ésta es la tabla LEFT (izquierda), y todas sus filas se mostrarán en los
resultados.
La tabla Departamentos es la tabla de la derecha (aparece luego del LEFT JOIN).
Por lo tanto, si se encuentran coincidencias, se mostrarán los valores
correspondientes, pero sino, aparecerá NULL en los resultados.
CLÁUSULA RIGHT JOIN
En el caso de RIGHT JOIN la situación es muy similar, pero aquí se da prioridad a la tabla de
la derecha.
Cast y Convert
Convierten una expresión de un tipo de datos en otro de forma explícita
GetDate y GetUTCDate
GetDate devuelve la fecha y hora actuales del sistema en el formato interno estándar
de SQL Server 2005 para los valores datetime.
Fecha en partes
• DateName — Nombre de parte de la fecha determinada
• DatePart — Parte de la fecha
• Day — El número de día del mes
• Month — El número del mes
• Year — El año de una fecha
GETDATE:
select GETDATE() -- Resultado -> 2019-11-10 15:22:59.247
Verticales o por proyección: Son aquellas que restringen el acceso de un usuario sólo a
ciertas columnas de una tabla.
El uso de estas vistas es aconsejable cuando los datos de la tabla son compartidos también por
varios usuarios diferentes. La diferencia está en que ahora solo necesitamos parte de los
campos, no todos.
VISTAS: VENTAJAS Y
DESVENTAJAS
VENTAJAS:
Las consultas con selecciones complejas se simplifican.
Permiten personalizar la BD para los distintos usuarios, de forma que presenten los
datos con una estructura lógica para los mismos.
Control de acceso a la BD, haciendo que los usuarios vean y manejen solo
determinada información.
DESVENTAJAS:
La caída del rendimiento cuando se construyen vistas con selecciones complejas.
TRABAJO EN CLASES
Utilizando la base de datos NORTHWIND:
Realizar una Vista sobre la tabla Employees llamada VistaTClase1 que muestre
“LastName” – “FirstName” (Concatenados) – “Address” – “City” de todos los
empleados que vivan en la ciudad de Londres (London).
Crear una vista llamada Vista_TClase2 sobre las tablas Productos (Products) y
Categorías (Categorías) la cual muestre los campos Product Name, UnitPrice,
Categorízame y Descripción de los productos cuyo precio unitario sea mayor que
$50.00.
Crear una vista llamada Vista_TClase3 sobre la tabla Empleados (Employees) que
muestre LastName, FirstName, Address y City de todos los empleados cuya ciudad
de origen sea Seattle.