Está en la página 1de 193

ÍNDICE

1. Unidad 3: Entorno de Desarrollo Integrado de Base de Datos .............................3

Tema 1: Generalidades del entorno de desarrollo integrado de bases de datos. ........ 3

Objetivo: ........................................................................................................................ 3

Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4

2.1 Subtema 1: Definición de SGBD ......................................................................... 4

2.2 Subtema 2: Clasificación de SGBD (DBMS) ........................................................ 5

2.3 Subtema 3: Ranking de SGBD (DBMS) ............................................................... 6

2.4 Subtema 4: Requerimientos de instalación ....................................................... 9

3. Bibliografía ......................................................................................................19

2
Generalidades del entorno de desarrollo integrado de bases de datos.

1. Unidad 3: Entorno de Desarrollo


Integrado de Base de Datos
Tema 1: Generalidades del entorno de desarrollo
integrado de bases de datos.
Objetivo:
El objetivo de aplicar la herramienta de gestión de base de datos en este tema es:
estructurar propuestas reales mediante el modelamiento entidad-relación, modelo de
datos, diseño de base de datos y restricciones que evidencien su capacidad de
emprendimiento para su ejecución.

Introducción:
Las bases de datos requieren de un SGBD para poder ser administradas. Algunos SGBD
se clasifican según el modelo, números de usuarios, acceso, ámbito de aplicación y
costo.

Existen múltiples SGBD entre los más populares se encuentran: Oracle, MySql,
Microsoft SQL Server y PostgreSQL.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 3


Generalidades del entorno de desarrollo integrado de bases de datos.

2. Informacion de los subtemas


2.1 Subtema 1: Definición de SGBD
Un sistema de gestión de base de datos (DBMS, por sus siglas en inglés) es una
colección de archivos de datos computarizados que permiten a los usuarios almacenar,
administrar y facilitar el acceso a la base de datos. Es decir, es un software que permite
a los usuarios definir, crear, mantener y controlar el acceso a la base de datos
(Connolly & Begg, 2015).

Figura 1. Entorno simplificado de un sistema de base de datos. Tomada de (Elmasri &


Navathe, 2016)

Un SGBD permite (Cabello, 2010):

• Definir los datos a los distintos niveles de abstracción (físico, lógico y externo).
• Manipulación de los datos en la base de datos, permitiendo insertar, modificar,
© Universidad Estatal de Milagro – UNEMI

borrar y consultar los datos.


• Mantenimiento de la integridad de la base de datos.
• Control de la privacidad y seguridad de los datos en la base de datos.

Un SGBD utiliza:

• DDL (Data Definition Language) para definir la base de datos.

DML (Data Manipulation Language) para insertar, actualizar, borrar y obtener datos de
la base de datos.

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 4


Generalidades del entorno de desarrollo integrado de bases de datos.

2.2 Subtema 2: Clasificación de SGBD (DBMS)


Los SGBD se clasifican en:
Según el modelo (Cobo, 2007):

• Jerárquico: Un SGBD jerárquico utiliza árboles para la representación lógica de


los datos.
• Red: Los SGBD en red utilizan estructura no lineal red. Es decir, cada registro
hijo puede tener más de un nodo padre.
• Relacional: Desarrollado por Codd, en este modelo de datos la representación
lógica de las entidades y relaciones se las representa en tablas bidimensionales.
• Orientado a Objetos: En este modelo se encapsulan códigos y datos en una
única entidad llamada objeto.

Según el número de usuarios:

Los SGBD también se pueden clasificar por el número de usuarios a los que da servicio.

• Monousuario: Sólo atienden a un usuario a la vez


• Multiusuario: Atienden a varios usuarios al mismo tiempo.

Según el acceso:

También puede clasificarse según el número de sitios en los que está distribuida la
base de datos.

• Centralizado: La base de datos y el software están almacenados en un solo sitio


(una sola computadora).
• Distribuido: La base de datos y el software SGBD pueden estar distribuidos en
múltiples sitios conectados por una red.

Según el ámbito de aplicación:


© Universidad Estatal de Milagro – UNEMI

• De propósito general: Adaptable a cualquier tipo de aplicación


• De propósito específico: Diseñada como aplicación única.

Según el costo:

• Software Comercial
• Software Libre: Gratuito

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 5


Generalidades del entorno de desarrollo integrado de bases de datos.

2.3 Subtema 3: Ranking de SGBD (DBMS)


En la actualidad, existen multitud de SGBD y pueden ser clasificados según la forma de
administrar los datos en:

• Relacionales (SQL)
• No Relacionales (NoSQL)

Según la página web www.db-engines.com el ranking de SGBD es:

• Oracle (Relacional)

Figura 2. Oracle

• MySQL (Relacional)

Figura 3. MySQL

• Microsoft SQL Server (Relacional)


© Universidad Estatal de Milagro – UNEMI

Figura 4. Microsoft SQL Server

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 6


Generalidades del entorno de desarrollo integrado de bases de datos.

• PostgreSQL (Relacional)

Figura 5. PostgreSQL

• MongoDB (Documento)

Figura 6. MongoDB

• IBM Db2 (Relacional)

Figura 7. IBM Db2

• Redis (Valor Clave)


© Universidad Estatal de Milagro – UNEMI

Figura 8. Redis

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 7


Generalidades del entorno de desarrollo integrado de bases de datos.

• Elasticsearch (Buscado)

Figura 9. Elasticsearch

• SQLite (Relacional)

Figura 10. SQLite

• Cassandra (NoSQL)
© Universidad Estatal de Milagro – UNEMI

Figura 11. Cassandra

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 8


Generalidades del entorno de desarrollo integrado de bases de datos.

2.4 Subtema 4: Requerimientos de instalación


La instalación de un SGBD requiere del conocimiento, por parte de quien lo instale, de
varios elementos necesarios que caracterizan a su equipo de cómputo. Entre los
principales están (Bloque, n.d.):

• Requerimientos de hardware y software:


o Memoria RAM
o Memoria virtual
o Espacio de disco duro para instalación del SGBD
o Verificar si el sistema operativo que esta instalado en la computadora o
servidor es compatible
o Arquitectura del sistema operativo: 32 o 64 bits
• Configuración de los servicios TCP/IP con SSL
• Tamaño de las bases de datos que estarán dentro del SGBD
• Conectividad
o Si se requiere una base de datos que sea accesible desde internet
• Número de conexiones simultáneas
• Paquetes o aplicaciones preinstaladas
• Configuración de variables de ambiente

Pasos de instalación de SQL Server 2008

Microsoft SQL Server 2008 Express with Advanced Services incluye:

• SQL Server Express 2008


• SQL Server Management Studio
• SQL Server Business Intelligence Development Studio
• Reporting Services

Requerimientos
© Universidad Estatal de Milagro – UNEMI

• Tipo de procesador
Procesador x86: Procesador compatible con Pentium III o superior.
Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel
EM64T Intel Pentium IV compatible con EM64T.
o Mínimo: Procesador x64: 1,4 GHz
o Recomendado: 2 GHz o más

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 9


Generalidades del entorno de desarrollo integrado de bases de datos.

• Disco Duro (32 y 64 bits)


Antes de ejecutar el programa de instalación para instalar o actualizar SQL
Server, compruebe que dispone de al menos 2,0 GB de espacio en disco en la
unidad del sistema para estos archivos.
• Memoria
Ediciones Express: 512 MB (recomendado 1 GB)
Todas las demás ediciones: 1 GB (recomendado 4 GB)
• Sistemas Operativos en donde se puede instalar:
o Windows 7, 8.1, 10.

Descargar SQL Server 2008 R2 Express

Puede descargar SQL Server 2008 R2 Express desde:

https://www.microsoft.com/es-es/download/details.aspx?id=1842

Elegir la versión conforme la arquitectura de su sistema.

• Si su pc es de arquitectura 64 bits seleccionar SQLEXPRADV_x64_ESN.exe


• Si su pc es de arquitectura 32 bits seleccionar SQLEXPRADV_x86_ESN.exe
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 10


Generalidades del entorno de desarrollo integrado de bases de datos.

Instalación SQL Server 2008 R2 Express

Una vez descarado el archivo, ejecutarlo para iniciar la instalación, dar clic en
Instalación y seleccione la opción “Nueva instalación”
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 11


Generalidades del entorno de desarrollo integrado de bases de datos.

A continuación, aceptar los términos de licencia y dar clic en siguiente.


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 12


Generalidades del entorno de desarrollo integrado de bases de datos.

Si se han cumplido correctamente los requisitos, dar clic en Siguiente para continuar.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 13


Generalidades del entorno de desarrollo integrado de bases de datos.

Escoger instancia predeterminada porque es la primera instancia que se va ha instalar


y dar clic en Siguiente.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 14


Generalidades del entorno de desarrollo integrado de bases de datos.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 15


Generalidades del entorno de desarrollo integrado de bases de datos.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 16


Generalidades del entorno de desarrollo integrado de bases de datos.

Una vez instalado SQL Server 2008 R2, podemos acceder al Management Studio desde
el botón Inicio.

Se inicia la ejecución del programa.


© Universidad Estatal de Milagro – UNEMI

Existe la conexión a través de la autenticación de Windows y la autenticación de SQL


Server:

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 17


Generalidades del entorno de desarrollo integrado de bases de datos.

Modo de Autenticación de Windows

Modo de Autenticación de SQL Server a través de inicio de sesión sa (administrador del


sistema)
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 18


Generalidades del entorno de desarrollo integrado de bases de datos.

3. Bibliografía
» Bloque. (n.d.). SISTEMAS GESTORES DE BASES DE DATOS (SGBD) Bases de
Datos.
» Cabello, M. N. (2010). Introducción a las bases de datos relacionales. Vision
Libros.
» Cobo, Á. (2007). Diseño y programación de bases de datos. Visión Libros.
» Connolly, T. M., & Begg, C. E. (2015). Database systems: a practical approach to
design, implementation, and management, Global ed. Harlow, Pearson
Education.
» Elmasri, R., & Navathe, S. B. (2016). Fundamentals of Database Systems
Laboratory Manual. Hoboken. NJ: Pearson.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 19


Sistemas de base de datos

Novena Semana

Unidad 3
Entorno de desarrollo integrado de bases de datos

Tema 1
Generalidades del entorno
de desarrollo integrado de bases de datos
Richard Ramirez-Anormaliza - @riramireza
Semana 9: Entorno de desarrollo integrado de bases de
datos
Inicio
2
Por qué esta clase?
Conocer el IDE de los DBMS
3
Objetivo & resultado de aprendizaje
Sistemas de bases de datos

Objetivo
Conocer los entornos integrados de
desarrollo de los sistemas manejadores de
base de datos
Estructura propuestas reales mediante el
Resultado modelamiento entidad-relación, modelo de
datos, Diseño de Base de Datos y restricciones
que evidencien su capacidad de
emprendimiento para su ejecución
Richard Ramirez-Anormaliza 4
@riramireza
Semana 9: Entorno de desarrollo integrado de bases de
datos
Desarrollo
5
Contenido
Sistemas de bases de datos

Tema:
Modelos relacional

Subtemas:
• SUBTEMA: 1.- Definición de SGBD
• SUBTEMA: 2.- Clasificación de SGDB
• SUBTEMA: 3.- Requerimientos de instalación
• SUBTEMA: 4.- Ranking de SGBD

Richard Ramirez-Anormaliza
@riramireza
Definición de SGBD
Sistemas de bases de datos

Richard Ramirez-Anormaliza 7
@riramireza
Clasificación de SGDB
Sistemas de bases de datos

Por el modelo Por el número de Por acceso Por su uso Por costo
• Jerárquica usuarios • Centralizado • Propósito general • Comercial
• Red • Monousuarios • Distribuido • Propósito específico • Uso libre
• Relacional • Multiusuarios
• Orientadas a objetos

Richard Ramirez-Anormaliza 8
@riramireza
Requerimientos de instalación
Sistemas de bases de datos

Ver: http://download.nust.na/pub6/mysql/doc/refman/5.0/es/installing.html
Richard Ramirez-Anormaliza 9
@riramireza
Requerimientos de instalación
Sistemas de bases de datos

Ver: https://blogs.triggerdb.com/2021/06/02/instalar-y-configurar-sql-2019-developer-paso-a-paso/
Richard Ramirez-Anormaliza 10
@riramireza
Ranking de SGBD
Sistemas de bases de datos

Ver video (Por votación):


❑ Las bases de datos más importantes del 2021 ⚡ ¿Cuál es
la mejor base de datos y cual elegir?
https://youtu.be/BSjn2mQFZPg

Richard Ramirez-Anormaliza 11
@riramireza
Ranking de SGBD
Sistemas de bases de datos

Richard Ramirez-Anormaliza
Ver https://db-engines.com/en/ranking
12
@riramireza
Semana 9: Entorno de desarrollo integrado de bases de
datos
Práctica
13
Semana 9: Entorno de desarrollo integrado de bases de
datos
Cierre
14
Evaluación – retroalimentación
(Responder con una idea en el panel, máximo 4 palabras)
Sistemas de bases de datos

¿Qué es lo más importante/significativo


que aprendiste en la clase?

¿Cuál es la principal duda que todavía


tienes respecto a la clase?
Richard Ramirez-Anormaliza 15
@riramireza
Referencias
Sistemas de bases de datos

❑ Connolly, T. M., & Begg, C. E. (2005). Sistemas de bases de datos


(Pearson Educación (ed.); Cuarta).

Richard Ramirez-Anormaliza 16
@riramireza
Agenda
Sistemas de bases de datos

TEMA: 2.- Entorno de un SGBD (DBMS)


• SUBTEMA: 1.- Estructura de un SGBD
• SUBTEMA: 2.- Seguridad, Servidores y
Próxima propiedades de un SGBD
• SUBTEMA: 3.- Creación de modelo físico (tablas,
Clase relaciones)
• SUBTEMA: 4.- Diagramas, copias deseguridad,
restauración

17
ÍNDICE

1. Unidad 3: Entorno de Desarrollo Integrado de Base de Datos .............................3

Tema 2: Entorno de un SGBD (DBMS). .......................................................................... 3

Objetivo: ........................................................................................................................ 3

Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4

2.1 Subtema 1: Estructura de un SGBD .................................................................... 4

2.2 Subtema 2: Seguridad, Servidores y propiedades de un SGBD .......................... 6

2.3 Subtema 3: Creación de modelo físico (tablas, relaciones) ............................. 10

2.4 Subtema 4: Diagramas, copias de seguridad, restauración ............................ 15

3. Bibliografía ......................................................................................................28

2
Entorno de un SGBD (DBMS).

1. Unidad 3: Entorno de Desarrollo


Integrado de Base de Datos
Tema 2: Entorno de un SGBD (DBMS).
Objetivo:
El objetivo de aplicar la herramienta de gestión de base de datos en este tema es:
estructurar propuestas reales mediante el modelamiento entidad-relación, modelo de
datos, diseño de base de datos y restricciones que evidencien su capacidad de
emprendimiento para su ejecución.

Introducción:
En la administración de las bases de datos, el tema de seguridad es importante debido
a que algunas personas no autorizadas no deben tener acceso a toda la base de datos.

También se deben realizar copias de seguridad de las bases de datos cada cierto
tiempo para respaldar la información en caso de que un servidor pueda dañarse.

El SGBD SQL Server incluye varias características de seguridad configurables mediante


código o IDE de SQL para que los administradores de bases de datos puedan evitar
riesgos de seguridad.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 3


Entorno de un SGBD (DBMS).

2. Informacion de los subtemas


2.1 Subtema 1: Estructura de un SGBD
Silberschatz et al. (2002) afirman:

Un SGBD se divide en módulos que se encargan de cada una de las responsabilidades


del sistema completo. Los componentes funcionales de un sistema de bases de datos
se pueden dividir a grandes rasgos en los componentes gestor de almacenamiento y
procesador de consultas. (p.10)

Componentes del gestor de almacenamiento


Estos incluyen (Silberschatz et al., 2002):

• Gestor de autorización e integridad: Comprueban que se cumplan las


restricciones de integridad y autorización de usuarios para acceder a los datos.
• Gestor de transacciones: Es la parte encargada de realizar las transacciones. Es
decir, permiten que las ejecuciones de transacciones concurrentes ocurran sin
conflictos.
• Gestor de archivos: Gestiona la reserva de espacio de almacenamiento de
disco y las estructuras de datos usadas para representar la información
almacenada en disco.
• Gestor de memoria intermedia: Es el responsable de traer los datos del disco
de almacenamiento a memoria principal y decidir qué datos tratar en memoria
caché.
• El gestor de almacenamiento implementa varias estructuras de datos como
parte de la implementación física del sistema:
• Archivos de datos: Almacena la base de datos en sí.
• Diccionario de datos: Almacena metadatos acerca de la estructura de la base
de datos.
© Universidad Estatal de Milagro – UNEMI

• Índices: Proporcionan acceso rápido a elementos de datos que tienen valores


particulares.

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 4


Entorno de un SGBD (DBMS).

Componentes del procesador de consultas


Estos incluyen (Silberschatz et al., 2002):

• Intérprete del LDD: Interpreta las instrucciones del LDD y registra las
definiciones en el diccionario de datos.
• Compilador del LMD: Traduce las instrucciones del LMD en un lenguaje de
consultas a un plan de evaluación que consiste en instrucciones de bajo nivel
que entiende el motor de evaluación de consultas.
• Motor de evaluación de consultas: Ejecuta las instrucciones de bajo nivel
generadas por el compilador del LMD.

En la Figura 1 se observa los componentes y sus conexiones


© Universidad Estatal de Milagro – UNEMI

Figura 1. Estructura del sistema. Tomada de (Silberschatz et al., 2002)

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 5


Entorno de un SGBD (DBMS).

2.2 Subtema 2: Seguridad, Servidores y propiedades


de un SGBD
Seguridad en los SGBD
Una base de datos debe ser configurada con permisos, roles y privilegios adecuados
para evitar los accesos malintencionados. En los SGBD, “seguridad” se refiere a la
protección de los datos ante usuarios no autorizados.

Tipos de seguridad en los SGBD

Seguridad Discrecional:

Se usa para otorgar privilegios a usuarios o grupos de usuarios, en los que se contiene
la capacidad para tener acceso a las tablas, registros o campos específicos con un
determinado modo para leer, insertar o actualizar (Trueba Espinosa, 2016).

• Autorizar al usuario X a realizar consultas en filas de la tabla A


• Autorizar al usuario X a utilizar un procedimiento almacenado B
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 6


Entorno de un SGBD (DBMS).

Seguridad Obligatoria

Consiste en asignar seguridad de múltiples niveles, clasificando los datos y los usuarios
en varias clases o niveles de seguridad, de manera que los usuarios puedan acceder a
los datos según el nivel, para el dato que deseamos acceder (Trueba Espinosa, 2016).

• Las filas o los objetos tienen un nivel Fi de seguridad, que solo se pueden leer si
el usuario tiene un nivel Ui >= Fi de seguridad.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 7


Entorno de un SGBD (DBMS).

Servidor de Base de Datos


Definición

También conocido como database server o RDBMS (Relational DataBase Management


Systems). En las bases de datos relacionales, es un tipo de software de servidor que
por medio de índices, tablas y registros permiten la organización de la información.

A nivel de hardware:

“Es un equipo informático especializado en servir consultas a clientes remotos o


locales que solicitan información o realizan modificaciones a los registros y tablas que
existen dentro de las bases de datos del sistema” (Borges, 2019).

Usos de Servidores de Bases de Datos

• Administración de registros de personas: utilizado para registros médicos,


fichas de clientes en clínicas o centros de salud.
• Administración de documentos: utilizado para organizar documentos de texto
de diferentes maneras en las empresas.
• Administración contable e impositiva: utilizado para mejorar el manejo de
facturas, gastos, pagos de impuestos, ingresos y egresos en estudios contables.
• Indexación de sitios web: utilizados para indexar, gestionar y modificar los
aspectos de sitios web.
• Servidor de contenido dinámico: utilizado para servir datos de foros, CMS,
administraciones de usuarios, gestores de contenidos.

Ejemplos de Servidor de Bases de Datos

• MySQL Server
• PostgreSQL server
• Microsoft SQL Server
• MongoDB server
© Universidad Estatal de Milagro – UNEMI

Propiedades de un SGBD
Los SGBD deben cumplir las siguientes propiedades ACID (Larrocha, 2017):

• Atomicity (Atomicidad): es la propiedad que asegura si la operación se ha


realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a
medias.

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 8


Entorno de un SGBD (DBMS).

• Consistency (Consistencia): es la propiedad que asegura que sólo se empieza


aquello que se puede acabar. Por lo tanto, se ejecutan aquellas operaciones
que no van a romper las reglas y directrices de integridad de la base de datos.
• Isolation (Aislamiento): es la propiedad que asegura que una operación no
puede afectar a otras. Esto asegura que la realización de dos transacciones
sobre la misma información sea independiente y no genere ningún tipo de
error.
• Durability (Durabilidad): es la propiedad que asegura que, una vez realizada la
operación, ésta persistirá y no se podrá deshacer, aunque falle el sistema.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 9


Entorno de un SGBD (DBMS).

2.3 Subtema 3: Creación de modelo físico (tablas,


relaciones)
Tablas
Estructuras de las Tablas

SQL cuenta con módulos DDL (Data Definition Language) para la definición de datos
que nos permite crear o modificar la estructura de las tablas.

Las tablas se definen en tres pasos:

• Dar el nombre de la tabla.


• Definir cada columna, posiblemente incluyendo restricciones de columna.
• Definir las restricciones de la tabla.

CREATE TABLE <Nombre_Tabla>

Atributo1: tipo de dato longitud,

Atributo2: tipo de dato longitud,

AtributoN: tipo de dato longitud,

PRIMARY KEY (Opcional)

Tabla: Trabajador

idTrabajador nombres apellidos Fecha_nac sueldo

1 Ubaldo Jaramillo 15/08/1990 780,25


© Universidad Estatal de Milagro – UNEMI

2 Narcisa Carranza 12/12/1970 1024,75

3 Belen Astudillo 06/08/1995 800

4 Omar Irrazabal 22/03/1999 1100,1

5 Jacinto Gomez 18/07/2000 978

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 10


Entorno de un SGBD (DBMS).

Código para crear la tabla:

create table Trabajador(

idTrabajador int primary key identity(1,1),

nombres varchar(20) not null,

apellidos varchar(20) not null,

fecha_nac smalldatetime,

sueldo real check(sueldo>0)

Creación de tabla mediante IDE de SQL Server


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 11


Entorno de un SGBD (DBMS).

Relaciones
Relaciones 1:1 (Uno a uno)

Equipo
Nombre de columna Tipo de datos
idEquipo int
nombre varchar(20)
anioFundacion int
cedula_presi varchar(20)
nombre_presi varchar(20)
apellido_presi varchar(20)
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 12


Entorno de un SGBD (DBMS).

Relaciones 1:M (Uno a muchos)

Empleado Departamento
Nombre de columna Tipo de datos
Nombre de columna Tipo de datos
idEmpleado int
idDepartamento int
nombre varchar(20)
nombre varchar(20)
direccion varchar(40)
telefono int
idDepartamento int

Relación M:M (Muchos a muchos)

Cliente
Nombre de columna Tipo de datos
idCliente int
nombre varchar(20)
apellido varchar(20)
Compra direccion varchar(40)
Nombre de columna Tipo de datos telefono int
idCompra int
idCliente int
idProducto int
© Universidad Estatal de Milagro – UNEMI

fechaCompra date
Producto
Nombre de columna Tipo de datos
idProducto int
descipcion varchar(50)

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 13


Entorno de un SGBD (DBMS).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 14


Entorno de un SGBD (DBMS).

2.4 Subtema 4: Diagramas, copias de seguridad,


restauración
Una breve explicación de la evolución del procesamiento de datos de un sistema de
archivos es útil para comprender las limitaciones de acceso a datos que las bases de
datos intentan superar.

Diagramas
Los diagramas de bases de datos proporcionan una visión gráfica de las tablas.

Pasos para crear un diagrama en Sql Server:

Seleccionar la carpeta Diagramas, clic derecho y seleccionar Nuevo diagrama de base


de datos.

Si es la primera vez que accedemos nos aparecerá este mensaje, dar clic en Sí.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 15


Entorno de un SGBD (DBMS).

Luego aparecerá las tablas de la base de datos que formarán el diagrama.

Seleccionadas las tablas dar clic en agregar y nos muestra un diagrama con las tablas y
sus relaciones entre ellas.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 16


Entorno de un SGBD (DBMS).

Copias de seguridad
Seleccionar la base de datos que quieras hacer copia de seguridad y clic derecho,
aparecerá un menú y seleccionar Tareas y el submenú seleccionar copia de seguridad.

Luego aparecerá un cuadro donde si no existe ruta en la que se hará la copia, tendrás
que dar clic en Agregar.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 17


Entorno de un SGBD (DBMS).

Escoger la carpeta donde se guardará la copia de seguridad y no olvidar guardar el


archivo como .bak
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 18


Entorno de un SGBD (DBMS).

Clic en Aceptar

Mensaje de copia de seguridad completada correctamente


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 19


Entorno de un SGBD (DBMS).

Backup de la base de datos Alquiler

Restauración
Pasos para restaurar una copia de seguridad:

Clic en base de datos


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 20


Entorno de un SGBD (DBMS).

Clic derecho y restaurar


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 21


Entorno de un SGBD (DBMS).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 22


Entorno de un SGBD (DBMS).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 23


Entorno de un SGBD (DBMS).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 24


Entorno de un SGBD (DBMS).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 25


Entorno de un SGBD (DBMS).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 26


Entorno de un SGBD (DBMS).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 27


Entorno de un SGBD (DBMS).

3. Bibliografía
» Borges, E. (2019). Servidor Base de Datos: ¿Qué es? Funciones, Tipos y
Ejemplos. Infranetworking. https://blog.infranetworking.com/servidor-base-de-
datos/
» Larrocha, E. R. (2017). Nuevas tendencias en los sistemas de información.
Editorial Centro de Estudios Ramon Areces SA.
» Silberschatz, A., Korth, H. F., Sudarshan, S., Pérez, F. S., Santiago, A. I., &
Sánchez, A. V. (2002). Fundamentos de bases de datos.
» Trueba Espinosa, A. (2016). SEGURIDAD Y ADMINISTRACIÓN.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 28


Sistemas de base de datos

Décima Semana

Unidad 3
Entorno de desarrollo integrado de bases de datos

Tema
Entorno de un SGBD (DBMS)

Richard Ramirez-Anormaliza - @riramireza


Semana 10: Entorno de un SGBD (DBMS)
Inicio
2
Por qué esta clase?
Conocer DBMS y creación de base de datos
3
Objetivo & resultado de aprendizaje
Sistemas de bases de datos

Objetivo
Crear los modelos físicos en las base de
datos, realizar copias de seguridad y
restauración de base de datos.
Estructura propuestas reales mediante el
Resultado modelamiento entidad-relación, modelo de
datos, Diseño de Base de Datos y restricciones
que evidencien su capacidad de
emprendimiento para su ejecución
Richard Ramirez-Anormaliza 4
@riramireza
Semana 10: Entorno de un SGBD (DBMS)
Desarrollo
5
Contenido
Sistemas de bases de datos

Tema:
• Entorno de un SGBD (DBMS)

Subtemas:
• SUBTEMA: 1.- Estructura de un SGBD
• SUBTEMA: 2.- Seguridad, Servidores y propiedades de un SGBD
• SUBTEMA: 3.- Creación de modelo físico (tablas, relaciones)
• SUBTEMA: 4.- Diagramas, copias de seguridad, restauración

Richard Ramirez-Anormaliza
@riramireza
Estructura de un SGBD
Sistemas de bases de datos

Richard Ramirez-Anormaliza 7
@riramireza
Estructura de un SGBD
Sistemas de bases de datos

❑ Gestor de autorización e integridad


❑ Gestor de transacciones
❑ Gestor de archivos
❑ Gestor de memoria intermedia
❑ El gestor de almacenamiento
➢ Archivos de datos
➢ Diccionario de datos
➢ Índices

Richard Ramirez-Anormaliza 8
@riramireza
Seguridad, Servidores y propiedades
de un SGBD
Sistemas de bases de datos

Richard Ramirez-Anormaliza 9
@riramireza
Creación de modelo físico (tablas,
relaciones)
Sistemas de bases de datos

CREATE TABLE <Nombre_Tabla>


(
Atributo1: tipo de dato longitud,
Atributo2: tipo de dato longitud,
AtributoN: tipo de dato longitud,
PRIMARY KEY (Opcional)
)

Richard Ramirez-Anormaliza 10
@riramireza
Diagramas, copias de seguridad,
restauración
Sistemas de bases de datos

Richard Ramirez-Anormaliza 11
@riramireza
Semana 10: Entorno de un SGBD (DBMS)
Práctica
12
Semana 10: Entorno de un SGBD (DBMS)
Cierre
13
Evaluación – retroalimentación
(Responder con una idea en el panel, máximo 4 palabras)
Sistemas de bases de datos

¿Qué es lo más importante/significativo


que aprendiste en la clase?

¿Cuál es la principal duda que todavía


tienes respecto a la clase?
Richard Ramirez-Anormaliza 14
@riramireza
Referencias
Sistemas de bases de datos

❑ Connolly, T. M., & Begg, C. E. (2005). Sistemas de bases de datos


(Pearson Educación (ed.); Cuarta).

Richard Ramirez-Anormaliza 15
@riramireza
Agenda
Sistemas de bases de datos

TEMA: 1.- Manipulación de datos en un SGBD


• SUBTEMA: 1.- Inserción de datos con IDE
• SUBTEMA: 2.- Modificación de datos con
Próxima IDE
Clase • SUBTEMA: 3.- Eliminación de datos con IDE

16
ÍNDICE

1. Unidad 4: Lenguaje SQL: Definición y Manipulación de Datos. ............................3

Tema 1: Manipulación de datos en un SGBD ................................................................ 3

Objetivo: ........................................................................................................................ 3

Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4

2.1 Subtema 1: Inserción de datos con IDE .............................................................. 4

2.2 Subtema 2: Modificación de datos con IDE ....................................................... 5

2.3 Subtema 3: Eliminación de datos con IDE .......................................................... 6

2.4 Subtema 4: Uso de lenguaje DML para manipular datos .................................. 8

3. Bibliografía ......................................................................................................12

2
Manipulación de datos en un SGBD

1. Unidad 4: Lenguaje SQL:


Definición y Manipulación de
Datós.
Tema 1: Manipulación de datos en un SGBD
Objetivo:
El objetivo de aplicar la herramienta de gestión de base de datos en este tema es:
aplicar sentencias SQL de manera eficiente para la correcta administración de la
información que reside en un SGBD; la misma que ayude a automatizar los procesos
transaccionales dentro de una empresa.

Introducción:
En las bases de datos se pueden insertar, modificar y eliminar datos mediante el
lenguaje DML (Data Manipulation Language o Lenguaje de manipulación de datos), es
un lenguaje dado por los SGBD (Sistema Gestores de Base de Datos) para realizar
tareas de consulta y modificación de datos (Tapia Jacinto, 2020).

También se pueden manipular los datos en SQL Server mediante IDE (Entorno de
desarrollo Integrado).

La instrucción Select pertenece también a las sentencias DML en SQL se usa para
recuperar y mostrar de una o más tablas. Es decir, es la instrucción que la base de
datos interpreta como vamos a solicitar la información. En el tema 2: Recuperación de
datos en un SGBD se tratará consultas con la instrucción Select.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 3


Manipulación de datos en un SGBD

2. Infórmación de lós subtemas


2.1 Subtema 1: Inserción de datos con IDE
Clic derecho sobre la tabla que queremos insertar registros y seleccionar “Editar las
primeras 200 filas”.

Aparecerá una tabla con los registros existentes.


© Universidad Estatal de Milagro – UNEMI

Podemos agregar un nuevo registro a esa tabla.

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 4


Manipulación de datos en un SGBD

2.2 Subtema 2: Modificación de datos con IDE


Clic derecho sobre la tabla donde queramos editar los datos y seleccionar “Editar las
primeras 200 filas”.

Aparecerá una tabla con los registros existentes.

Si queremos editar un registro, seleccionamos ese registro y sobrescribimos su valor.


En el ejemplo se cambió al registro 4 su dirección.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 5


Manipulación de datos en un SGBD

2.3 Subtema 3: Eliminación de datos con IDE


Clic derecho sobre la tabla donde queramos eliminar datos y seleccionar “Editar las
primeras 200 filas”.

Aparecerá una tabla con los registros existentes.


© Universidad Estatal de Milagro – UNEMI

Clic derecho sobre la fila que queramos eliminar y seleccionamos eliminar.

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 6


Manipulación de datos en un SGBD

Aparecerá un mensaje de confirmación y dar clic en si.


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 7


Manipulación de datos en un SGBD

2.4 Subtema 4: Uso de lenguaje DML para manipular


datos
DML (DATA MANIPULATION LANGUAGE)

INSERT Utilizado para cargar lotes de datos en la base de datos en


una única operación.
UPDATE Utilizado para modificar los valores de los campos y registros
especificados.
DELETE Utilizado para eliminar registros de una tabla de una base de
datos.
SELECT Utilizado para consultar registros de la base de datos que
satisfagan un criterio determinado.

Insertar Registros
Insert en SQL Server

• Para insertar registros en una tabla se utiliza la instrucción Insert.


• Se pueden agregar registros también utilizando una consulta como origen de
los datos.
• Insert permite agregar uno a o más registros a la vez (Manual SQL Server – Guia
Profesional, 2020).

Sintaxis

INSERT INTO nombre_tabla


VALUES (valór1, valór2, valór3, …)

INSERT INTO nombre_tabla (columna1, columna2,


cólumna3,…) VALUES (valór1, valór2, valór3, …)
© Universidad Estatal de Milagro – UNEMI

INTO Palabra clave inicial para indicar a que


tabla se insertarán los registros.
Nombre Tabla Nombre de la tabla a insertar los
registros.
VALUES Palabra reservada para especificar los
valores de cada campo en la lista de
columnas.

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 8


Manipulación de datos en un SGBD

Ejemplo:

Dada la siguiente tabla Cliente

Si queremos insertar una nueva fila en la tabla Cliente, lo podemos hacer con
cualquiera de las dos sentencias siguientes:

Cualquiera de estas sentencias permite que se inserte una nueva fila en la tabla
Cliente.

Insertar varias filas de datos


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 9


Manipulación de datos en un SGBD

Actualización de datos de los registros


Instrucción Update

La sentencia UPDATE se utiliza para modificar valores en una tabla.

Sintaxis

UPDATE nombre_tabla
SET columna1 = valor1, columna2 = valor2
WHERE columna3 = valor3

La cláusula SET Establece los nuevos valores para las columnas


indicadas.
La cláusula WHERE Sirve para seleccionar las filas que queremos
modificar. Nota: Si se omite la cláusula WHERE, por
defecto, modificará los valores en todas las filas de
la tabla.

Ejemplo:

Si queremos cambiar de idCliente = 8 la dirección “Milagro” por “Guayaquil”


ejecutaremos.
© Universidad Estatal de Milagro – UNEMI

Ahora la tabla queda así:

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 10


Manipulación de datos en un SGBD

Eliminación de Registros
La sentencia DELETE sirve para borrar filas de una tabla.

Sintaxis

DELETE FROM nombre_tabla


WHERE nombre_columna = valor

Ejemplo:

Eliminar 1 registro.

Ahora la tabla queda así.


© Universidad Estatal de Milagro – UNEMI

Eliminar todos los registros.

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 11


Manipulación de datos en un SGBD

3. Bibliógrafía
» Manual SQL Server – Guia Profesional. (2020). http://manualsqlserver.com/

» Tapia Jacinto, V. H. (2020). BASE DE DATOS II.


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 12


Sistemas de base de datos

Décimo Segunda Semana

Unidad 4
Lenguaje SQL: definición y manipulación de datos

Tema 4
Uso de lenguaje DML para manipular datos

Richard Ramirez-Anormaliza - @riramireza


Semana 12: Uso de lenguaje DML para manipular datos
Inicio
2
Por qué esta clase?
Practicar las sentencias de manipulación de datos
3
Objetivo & resultado de aprendizaje
Sistemas de bases de datos

Objetivo
Ejecutar las sentencias par manipular datos
en una base de datos.

Aplica sentencias SQL de manera eficiente para


Resultado la correcta administración de la información
que reside en un SGBD; la misma que ayude a
automatizar los procesos transaccionales
dentro de una empresa
Richard Ramirez-Anormaliza 4
@riramireza
Semana 12: Uso de lenguaje DML para manipular datos
Desarrollo
5
Sentencias de manipulación de datos
Sistemas de bases de datos

SELECT - para consultar los datos de la base de datos;

INSERT - para insertar datos en una tabla;

UPDATE - para actualizar los datos de una tabla;

DELETE - para borrar datos de una tabla.

Richard Ramirez-Anormaliza 6
@riramireza
Semana 12: Uso de lenguaje DML para manipular datos
Práctica
7
Preliminares
Sistemas de bases de datos

1. Ingresar al aula virtual.


2. Dirigirse a la carpeta Material Complementario.
3. Descargar el recurso S12-Script.
4. Desempaquetar el recurso descargado en el paso anterior.
5. Iniciar el Microsoft SQL-Server Management Studio.
6. Abrir una nueva ventana de Query
7. Abrir el script desempaquetado en el paso 4 y ejecuarlo

Richard Ramirez-Anormaliza 8
@riramireza
Modelo de datos
Sistemas de bases de datos

❑ La ejecución de los
pasos preliminares,
genera la base de datos
de la derecha.
❑ Luego de ejecutar el
script definido,
proceder a desarrollar
las sentencias SQL
solicitadas en la
siguiente diapositiva.
Richard Ramirez-Anormaliza 9
@riramireza
Ejercicios
Sistemas de bases de datos

1. Listar los departamentos con sus empleados y sueldos ordenados alfabéticamente.


2. Listar los cargos existente en la base de datos con la cantidad de empleados en cada cargo.
3. Listar los departamentos con más de 40 empleados
4. Presentar el cargo que tiene más empleados
5. Presentar el departamento que tiene menos empleados
6. Aumentar el sueldo a empleados del departamento de Finanzas el 15% de su sueldo
7. Corregir el sexo a los empleados registrados en el sistema
8. Eliminar los cargos que no tienen empleados
9. Listar un reporte de Departamento y el total de sueldo que se paga
10. Presente el mayor sueldo, menor sueldo y sueldo promedio que se paga por departamento

Richard Ramirez-Anormaliza 10
@riramireza
1) Listar los departamentos con sus empleados y
sueldos ordenados alfabéticamente.
Sistemas de bases de datos

SELECT DPTO, APELLIDOS, NOMBRES, SUELDO


FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
ORDER BY DPTO, APELLIDOS, NOMBRES

Richard Ramirez-Anormaliza 11
@riramireza
2) Listar los cargos existente en la base de datos con
la cantidad de empleados en cada cargo.
Sistemas de bases de datos

SELECT CARGO, COUNT(*) AS EMPLEADOS


FROM CARGO AS C, EMPLEADO AS E
WHERE C.IDCARGO = E.IDCARGO
GROUP BY CARGO

Richard Ramirez-Anormaliza 12
@riramireza
3) Listar los departamentos con más de 40
empleados.
Sistemas de bases de datos

SELECT DPTO, COUNT (*) AS EMPLEADOS


FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO
HAVING COUNT (DPTO) > 40

Richard Ramirez-Anormaliza 13
@riramireza
4) Presentar el cargo que tiene más empleados
Sistemas de bases de datos

SELECT CARGO, COUNT(*) AS EMPLEADOS


INTO #tmp
FROM CARGO AS C, EMPLEADO AS E
WHERE C.IDCARGO = E.IDCARGO
GROUP BY CARGO
GO
SELECT *
FROM #tmp
WHERE EMPLEADOS = (SELECT MAX (EMPLEADOS)
FROM #tmp )
DROP TABLE #tmp

Richard Ramirez-Anormaliza 14
@riramireza
5) Presentar el departamento que tiene menos
empleados
Sistemas de bases de datos

SELECT DPTO, COUNT(*) AS EMPLEADOS


INTO #tmp
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO
GO
SELECT *
FROM #tmp
WHERE EMPLEADOS = (SELECT MIN (EMPLEADOS)
FROM #tmp )
DROP TABLE #tmp

Richard Ramirez-Anormaliza 15
@riramireza
6) Aumentar el sueldo a empleados del
departamento de Finanzas el 15% de su sueldo
Sistemas de bases de datos

UPDATE EMPLEADO
SET SUELDO = SUELDO * 1.15
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Finanzas'

Richard Ramirez-Anormaliza 16
@riramireza
7) Corregir el sexo a los empleados registrados en el
sistema
Sistemas de bases de datos

--> Crear una lista con el primer nombre y poner como sexo a todos 'M'
SELECT DISTINCT SUBSTRING (NOMBRES, 1, PATINDEX('% %',NOMBRES)) AS NOMBRE, 'M' SEXO
FROM EMPLEADO
--> En se corrige con F en sexo a todos nombres de mujeres
--> Se crea una tabla temporal con los campos nombre y sexo
CREATE TABLE NOMBRE (Nombre Char(30), Sexo Char(1));
--> Se colocan los nombres y sexo corregidos en Excel en la tabla creada
INSERT INTO NOMBRE VALUES ( 'ADRIAN ', 'M' );
INSERT INTO NOMBRE VALUES ( 'ALBERTO ', 'M’ );
--> Se corrige el sexo en tabla empleado
UPDATE EMPLEADO
SET SEXO = N.Sexo
FROM NOMBRE AS N, EMPLEADO AS E
WHERE N.Nombre = SUBSTRING (NOMBRES, 1, PATINDEX('% %',NOMBRES))

Richard Ramirez-Anormaliza 17
@riramireza
8) Eliminar los cargos que no tienen empleados
Sistemas de bases de datos

DELETE
FROM CARGO
WHERE IDCARGO NOT IN ( SELECT IDCARGO
FROM EMPLEADO)

Richard Ramirez-Anormaliza 18
@riramireza
9) Listar un reporte de Departamento y el total de
sueldo que se paga
Sistemas de bases de datos

SELECT DPTO, SUM ( SUELDO) AS Total_Sueldo


FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO

Richard Ramirez-Anormaliza 19
@riramireza
10) Presente el mayor sueldo, menor sueldo y
sueldo promedio que se paga por departamento
Sistemas de bases de datos

SELECT DPTO, MAX(SUELDO) AS Mayor,


MIN(SUELDO) AS Menor, AVG (SUELDO) AS
Promedio
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO

Richard Ramirez-Anormaliza 20
@riramireza
Evaluación – retroalimentación
(Responder con una idea en el panel, máximo 4 palabras)
Sistemas de bases de datos

¿Qué es lo más importante/significativo


que aprendiste en la clase?

¿Cuál es la principal duda que todavía


tienes respecto a la clase?
Richard Ramirez-Anormaliza 21
@riramireza
Semana 12: Uso de lenguaje DML para manipular datos
Cierre
22
Referencias
Sistemas de bases de datos

❑ Connolly, T. M., & Begg, C. E. (2005). Sistemas de bases de datos


(Pearson Educación (ed.); Cuarta).

Richard Ramirez-Anormaliza 23
@riramireza
Agenda
Sistemas de bases de datos

TEMA: 2.- Recuperación de datos en un


SGBD
Próxima • SUBTEMA: 1.- Consultas de datos
básicas
Clase
• SUBTEMA: 2.- Consultas con
condiciones y funciones de agregado

24
ÍNDICE

1. Unidad 4: Lenguaje SQL: Definición y Manipulación de Datos. ............................3

Tema 2: Recuperación de datos en un SGBD ................................................................ 3

Objetivo: ........................................................................................................................ 3

Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4

2.1 Subtema 1: Consultas de datos básicas ............................................................. 4

2.2 Subtema 2: Consultas con condiciones y funciones de agregado ...................... 6

2.3 Subtema 3: Consultas Join para relacionar tablas ........................................... 13

2.4 Subtema 4: Consultas SQL complejas .............................................................. 17

3. Bibliografía ......................................................................................................21

2
Recuperación de datos en un SGBD

1. Unidad 4: Lenguaje SQL:


Definición y Manipulación de
Datós.
Tema 2: Recuperación de datos en un SGBD
Objetivo:
El objetivo de aplicar la herramienta de gestión de base de datos en este tema es:
aplicar sentencias SQL de manera eficiente para la correcta administración de la
información que reside en un SGBD; la misma que ayude a automatizar los procesos
transaccionales dentro de una empresa.

Introducción:
La instrucción Select pertenece a las sentencias DML en SQL, se usa para recuperar y
mostrar información de una o más tablas.

Los administradores de bases de datos entre otros usuarios necesitan consultar la


información, la misma que se la puede realizar mediante consultas básicas hasta
consultas complejas.

SQL consta con seis cláusulas para definir los datos que se desea seleccionar o
manipular, y son: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 3


Recuperación de datos en un SGBD

2. Infórmación de lós subtemas


2.1 Subtema 1: Consultas de datos básicas
SQL SELECT

La sentencia Select permite recuperar datos de una base de datos y los muestra en
forma de resultados de consulta. Consta de seis cláusulas: las dos primeras (SELECT Y
FROM) obligatorias y las otras cuatro pueden ser opcional (Tapia Jacinto, 2020).

Cláusula SELECT

Utilizada para consultar campos de una o varias tablas.

Cláusula FROM

Utilizada para consultar tablas de una base de datos

Diagrama usado para los ejemplos:


© Universidad Estatal de Milagro – UNEMI

Figura 1. Diagrama Ejemplo. Elaboración propia

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 4


Recuperación de datos en un SGBD

Sintaxis SQL para consultas de datos básicas:

• Recupera todas las filas y todas las columnas

SELECT * FROM nombreTabla

Ejemplo:

• Recupera todas las filas y columnas específicas

SELECT nombre_columna1, nombre_columna2,…


FROM nombreTabla

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 5


Recuperación de datos en un SGBD

2.2 Subtema 2: Consultas con condiciones y funciones


de agregado
Consultas con condiciones

Cláusula WHERE

La cláusula WHERE es usada para realizar filtros en las consultas, es decir, seleccionar
solamente algunas filas de la tabla que cumplan una determinada condición haciendo
uso para validar esta condición de operadores.

Sintaxis SQL para consultas con condiciones:

SELECT nombre_columna1, nombre_columna2,…


FROM nombreTabla
WHERE condición

Operadores Relacionales (o de Comparación)

Permiten comparar dos expresiones que pueden ser: variables, valores de campos, etc.

< Menor que


> Mayor que
<> Distinto de
<= Menor ó igual que
>= Mayor ó igual que
= Igual que
BETWEEN Utilizado para especificar un interval de valores.
LIKE Utilizado en la comparación de un modelo.
IN Uilizado para especificar registros de una base de datos.

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 6


Recuperación de datos en un SGBD
© Universidad Estatal de Milagro – UNEMI

Operadores Aritméticos

Permiten realizar cálculos con valores numéricos.

+ Suma
- Resta
* Producto
/ División
** ^ Exponenciación

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 7


Recuperación de datos en un SGBD

Ejemplo:

Operadores Lógicos

Se usan para crear expresiones lógicas complejas. Es decir, se usan para combinar
condiciones.

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.

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 8


Recuperación de datos en un SGBD

Consultas con funciones de agregado

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.

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.
SUM Utilizada para devolver la suma de todos los valores de un
campo determinado.
MAX Utilizada para devolver el valor más alto de un campo
especificado.
MIN Utilizada para devolver el valor más bajo de un campo
especificado.

Sintaxis SQL para consultas con funciones de agregado

AVG()

SELECT COUNT (nombre_columna) FROM nombreTabla

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

COUNT()

SELECT COUNT (nombre_columna) FROM nombreTabla

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 9


Recuperación de datos en un SGBD

Ejemplo:

SUM()

SELECT SUM (nombre_columna) FROM nombreTabla

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

MAX()

SELECT MAX (nombre_columna) FROM nombreTabla

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 10


Recuperación de datos en un SGBD

Ejemplo

MIN()

SELECT MIN (nombre_columna) FROM nombreTabla

Ejemplo:

Alias de SQL

Los alias en SQL se utilizan para dar a una tabla de base de datos, o una columna de
una tabla, un nombre temporal. Es decir, se crean para que los nombres de las
columnas sean más legibles (w3schools.com, 2021).

Sintaxis de alias de columna


© Universidad Estatal de Milagro – UNEMI

SELECT column_name AS alias_name


FROM table_name;

Sintaxis de alias para las tablas

SELECT column_name(s)
FROM table_name AS alias_name;

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 11


Recuperación de datos en un SGBD

Ejemplo:

Figura 2. Alias de SQL. Tomada de (SQL Tutorial, 2021)


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 12


Recuperación de datos en un SGBD

2.3 Subtema 3: Consultas Join para relacionar tablas


La sentencia Join combina los valores de la primera tabla con los valores de la segunda
tabla dependiendo del campo por el cual se unen.

Las tablas contienen Para mostrar datos de


Las consultas requieren
datos específicos en diferentes consultas se
que se unan tablas al
cada una, pero al deben utilizar las claves
momento de mostrar los
enlazarse presenta primarias y claves
datos
información secundarias

Al momento de hacer la
Si no se hace la relación
consulta se relacionan
en la consulta,
las tablas por estas
específicamente en
claves que por lo
Where, los datos salen
general tienen el mismo
duplicados
nombre

Sintaxis de SELECT con JOIN

SELECT <campos> FROM <tabla1 JOIN tabla2>


ON (tabla1.campo=tabla2.campo)

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 13


Recuperación de datos en un SGBD

La sentencia también puede ir acompañada de la cláusula WHERE

En donde se puede hacer una discriminación para que solo se muestren ciertos
registros.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 14


Recuperación de datos en un SGBD

Sintaxis de SELECT sin JOIN

SELECT <campos> FROM <tabla1,


tabla2,…tablaN>
WHERE tabla1.campo=tabla2.campó AND …
tablaN.campo=tablaN+1.campo

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

Para poner más condiciones se recurre al operador lógico AND en donde se puede
hacer una discriminación para que solo se muestren ciertos registros.

Ejemplo

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 15


Recuperación de datos en un SGBD
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 16


Recuperación de datos en un SGBD

2.4 Subtema 4: Consultas SQL complejas

WHERE 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.

GROUP BY

La instrucción GROUP BY se usa usualmente junto a las funciones de agregado (AVG,


SUM,COUNT,MAX,MIN) para agrupar el conjunto de resultados por una o más
columnas.

La consulta con una cláusula GROUP BY se denomina consulta agrupada porque agrupa
los datos de la tabla origen y produce una única fila resumen por cada grupo formado
(Tapia Jacinto, 2020).

Sintaxis GROUP BY

SELECT nombre_columna(s)
FROM nombreTabla
WHERE condición
GROUP BY nombre_columana(s)
ORDER BY nombre_columna(s);
© Universidad Estatal de Milagro – UNEMI

ORDER BY

Se utiliza para ordenar el conjunto de resultados en orden ascendente o descendente.

ORDER BY ordena los registros en orden ascendente por defecto y para ordenarlos en
forma descendente se usa la palabra clave DESC (Tapia Jacinto, 2020).

Sintaxis ORDER BY

SELECT columna1, columna2,…


FROM nombreTabla
WHERE columna1, columna2, … ASC|DESC;

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 17


Recuperación de datos en un SGBD

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

HAVING

La cláusula WHERE permite seleccionar (o rechazar) registros individuales; la cláusula


HAVING permite seleccionar (o rechazar) un grupo de registros (Tutoriales Ya, 2021).

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 18


Recuperación de datos en un SGBD

La cláusula HAVING se agregó a SQL porque la palabra clave WHERE no se puede usar
con funciones agregadas.

Sintaxis de HAVING

SELECT nombre_columna(s) FROM nombreTabla


WHERE condición
GROUP BY nombre_columana(s)
HAVING condición
ORDER BY nombre_columna(s);

Ejemplo:
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 19


Recuperación de datos en un SGBD

SUBCONSULTAS

Consiste en utilizar los resultados de una consulta dentro de otra. Es decir, meter una
consulta dentro de otra consulta.

Sintaxis

SELECT * FROM nombre_tabla WHERE campo1 =


(SELECT campo_resultante FROM tblCondicion
FROM campo_condicion=condicion);

Ejemplo:

Predicados SQL

BETWEEN...AND Comprueba que al valor esta dentro de un interval.


LIKE Compara un campo con una cadena alfanumérica. LIKE
admite el uso de caracteres comodines.
ALL Señala a todos los elementos de la selección de la
consulta.
© Universidad Estatal de Milagro – UNEMI

ANY Indica que la condición se cumplirá si la comparación es


cierta para al menos un elemento del conjunto.
EXISTS Devuelve un valor verdadero si el resultado de una
subconsulta devuelve resultados.
IN Comprueba si un campo se encuentra dentro de un
determinado rango. El rango puede ser una sentencia
SELECT.

Los predicados son condiciones que se indican en clausulas WHERE de consultas SQL

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 20


Recuperación de datos en un SGBD

3. Bibliógrafía
» SQL Tutorial. (2021). SQL alias: Make Your Query Shorter And More
Understandable. https://www.sqltutorial.org/sql-alias/
» Tapia Jacinto, V. H. (2020). BASE DE DATOS II.
» Tutoriales Ya. (2021). Tutorial de SQL Server.
https://www.tutorialesprogramacionya.com/sqlserverya/temarios/descripcion.
php?cod=44&punto=38&inicio=25
» w3schools.com. (2021). SQL Tutorial. https://www.w3schools.com/sql/
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v1.0 / 18-11-2019 21


Sistemas de base de datos

Décimo Tercera Semana

Unidad 4
Lenguaje SQL: definición y manipulación de datos.

Tema 2
Recuperación de datos en un SGBD

Richard Ramirez-Anormaliza - @riramireza


Semana 13: Recuperación de datos en un SGBD
Inicio
2
Por qué esta clase?
Practicar las sentencias de manipulación de datos
3
Objetivo & resultado de aprendizaje
Sistemas de bases de datos

Objetivo
Construir consultas a las bases de datos en
lenguaje SQL.

Aplica sentencias SQL de manera eficiente para


Resultado la correcta administración de la información
que reside en un SGBD; la misma que ayude a
automatizar los procesos transaccionales
dentro de una empresa
Richard Ramirez-Anormaliza 4
@riramireza
Contenido
Sistemas de bases de datos

• SUBTEMA: 1.- Consultas de datos básicas


• SUBTEMA: 2.- Consultas con condiciones y funciones de agregado

Richard Ramirez-Anormaliza 5
@riramireza
Semana 13: Recuperación de datos en un SGBD
Desarrollo
6
Preliminares – Ambiente de trabajo
Sistemas de bases de datos

1. Ingresar al aula virtual.


2. Dirigirse a la carpeta Material Complementario.
3. Descargar el recurso S12-Script.
4. Desempaquetar el recurso descargado en el paso anterior.
5. Iniciar el Microsoft SQL-Server Management Studio.
6. Abrir una nueva ventana de Query
7. Abrir el script desempaquetado en el paso 4 y ejecutarlo

Richard Ramirez-Anormaliza 7
@riramireza
Modelo de datos
Sistemas de bases de datos

Richard Ramirez-Anormaliza 8
@riramireza
Consultas de datos básicas
Sistemas de bases de datos

❑ Uso de DISTINCT.
❑ Condición de búsqueda basada en comparación.
❑ Condición de búsqueda basada en una comparación compuesta.
❑ Condición de búsqueda basada en rango (BETWEEN/NOT BETWEEN).
❑ Condición de búsqueda basada en pertenencia a un conjunto (lN/NOT lN).
❑ Condición de búsqueda basada en correspondencia de patrones (LIKE/ NOT LIKE).
❑ Condición de búsqueda NULL (lS NULL/IS NOT NULL).

Richard Ramirez-Anormaliza 9
@riramireza
Uso de DISTINCT
Sistemas de bases de datos

❑ Listar los nombres de los empleados, sin


repetir (únicos).

SELECT DISTINCT SUBSTRING (NOMBRES, 1,


PATINDEX('% %',NOMBRES)) AS NOMBRE
FROM EMPLEADO

Richard Ramirez-Anormaliza 10
@riramireza
Condición de búsqueda basada en
comparación
Sistemas de bases de datos

❑ Listar los empleados cuyo sueldo sea


mayor a $30000

SELECT *
FROM EMPLEADO
WHERE SUELDO > 30000;

Richard Ramirez-Anormaliza 11
@riramireza
Condición de búsqueda basada en
una comparación compuesta
Sistemas de bases de datos

❑ Listar los empleados de los


departamentos de Marketing y Finanzas.

SELECT DPTO, APELLIDOS, NOMBRES, SUELDO


FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Marketing' OR DPTO = 'Finanzas'

Richard Ramirez-Anormaliza 12
@riramireza
Condición de búsqueda basada en
rango (BETWEEN/NOT BETWEEN)
Sistemas de bases de datos

❑ Generar un listado con todos los empleados cuyo


salario esté comprendido entre 20.000 y 30.000.

SELECT *
FROM EMPLEADO
WHERE SUELDO BETWEEN 20000 AND 30000;

Richard Ramirez-Anormaliza 13
@riramireza
Condición de búsqueda basada en
pertenencia a un conjunto (lN/NOT lN)
Sistemas de bases de datos

❑ Generar un listado con todos los gerentes y


expertos.

SELECT Nombres, Apellidos, Cargo, Sueldo


FROM CARGO AS C, EMPLEADO AS E
WHERE C.IDCARGO = E.IDCARGO AND
CARGO IN ('Gerente','Experto')

Richard Ramirez-Anormaliza 14
@riramireza
Condición de búsqueda basada en correspondencia
de patrones (LIKE/ NOT LIKE)
Sistemas de bases de datos

❑ Listar los empleados cuyo nombre


empiece con C

SELECT *
FROM EMPLEADO
WHERE NOMBRES LIKE 'C%'

Richard Ramirez-Anormaliza 15
@riramireza
Condición de búsqueda NULL (lS NULL/IS NOT NULL)
Sistemas de bases de datos

❑ Listar los empleados que no tengan


registrada su fecha de nacimiento

SELECT *
FROM EMPLEADO
WHERE FECNACIMIENTO IS NULL

Richard Ramirez-Anormaliza 16
@riramireza
Consultas con condiciones y funciones de
agregado
Sistemas de bases de datos

COUNT - devuelve el número de valores en una columna especificada;

SUM - devuelve la suma de los valores contenidos en una columna especificada;


AVG - devuelve la media de los valores contenidos en una columna
especificada;
MIN - devuelve el valor más pequeño contenido en una columna especificada;

MAX - devuelve el valor máximo contenido en una columna especificada.

Richard Ramirez-Anormaliza 17
@riramireza
Count (*) Contar registros
Sistemas de bases de datos

❑ Cuántos empleados tienen un sueldo


superior a 30000 al año?

SELECT COUNT(*) AS Mayor30000


FROM EMPLEADO
WHERE SUELDO > 30000

Richard Ramirez-Anormaliza 18
@riramireza
Sumar registros
Sistemas de bases de datos

❑ Calcular el número total de gerentes y la


suma de sus salarios.

SELECT Count(*) AS CUENTA,


SUM(Sueldo) AS SUMA
FROM CARGO AS C, EMPLEADO AS E
WHERE C.IDCARGO = E.IDCARGO AND
CARGO ='Gerente'

Richard Ramirez-Anormaliza 19
@riramireza
Mayor, menor y promedio de registros
Sistemas de bases de datos

❑ Calcular el salario mínimo, máximo y


medio de los empleados del
departamento de Finanzas

SELECT MAX(SUELDO) AS Mayor,


MIN(SUELDO) AS Menor,
AVG (SUELDO) AS Promedio
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
D.DPTO = 'Finanzas'

Richard Ramirez-Anormaliza 20
@riramireza
Agrupamientos: Mayor, menor y promedio de
registros
Sistemas de bases de datos

❑ Calcular el salario mínimo, máximo y


medio de los empleados por
departamento
SELECT DPTO, MAX(SUELDO) AS Mayor,
MIN(SUELDO) AS Menor,
AVG (SUELDO) AS Promedio
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO
ORDER BY DPTO

Richard Ramirez-Anormaliza 21
@riramireza
Agrupamientos: Mayor, menor y promedio de
registros
Sistemas de bases de datos

❑ Calcular el salario mínimo, máximo y


medio de los empleados por
departamento
SELECT DPTO, MAX(SUELDO) AS Mayor,
MIN(SUELDO) AS Menor,
AVG (SUELDO) AS Promedio
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO
ORDER BY DPTO

Richard Ramirez-Anormaliza 22
@riramireza
Utilización de Having
Sistemas de bases de datos

❑ Calcular el salario mínimo, máximo,


media de sueldo y cantidad de
empleados para los departamentos que
tengan mas de 40 empleados.
SELECT DPTO, MAX(SUELDO) AS Mayor,
MIN(SUELDO) AS Menor,
AVG (SUELDO) AS Promedio,
COUNT(*) AS CUENTA
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO
HAVING COUNT(*) > 40
Richard Ramirez-Anormaliza 23
@riramireza
Evaluación – retroalimentación
(Responder con una idea en el panel, máximo 4 palabras)
Sistemas de bases de datos

¿Qué es lo más importante/significativo


que aprendiste en la clase?

¿Cuál es la principal duda que todavía


tienes respecto a la clase?
Richard Ramirez-Anormaliza 24
@riramireza
Semana 13: Recuperación de datos en un SGBD
Cierre
25
Referencias
Sistemas de bases de datos

❑ Connolly, T. M., & Begg, C. E. (2005). Sistemas de bases de datos


(Pearson Educación (ed.); Cuarta).

Richard Ramirez-Anormaliza 26
@riramireza
Agenda
Sistemas de bases de datos

TEMA: 2.- Recuperación de datos en un SGBD


• SUBTEMA: 3.- Consultas Join para relacionar
tablas
Próxima
Clase

27
Sistemas de base de datos

Décimo Cuarta Semana

Unidad 4
Lenguaje SQL: definición y manipulación de datos.

Tema 2
Recuperación de datos en un SGBD

Richard Ramirez-Anormaliza - @riramireza


Semana 14: Consultas a múltiples tablas - Join
Inicio
2
Por qué esta clase?
Practicar las sentencias para relacionar tablas (JOIN)

3
Objetivo & resultado de aprendizaje
Sistemas de bases de datos

Objetivo
Desarrollar consultas con relación en
múltiples tablas

Aplica sentencias SQL de manera eficiente para


Resultado la correcta administración de la información
que reside en un SGBD; la misma que ayude a
automatizar los procesos transaccionales
dentro de una empresa
Richard Ramirez-Anormaliza 4
@riramireza
Contenido
Sistemas de bases de datos

• SUBTEMA: 3.- Consultas Join para relacionar tablas


➢ INNER JOIN - Combinación interna
➢ LEFT JOIN - Combinación externa izquierda
➢ RIGHT JOIN - Combinación externa derecha
➢ FULL JOIN - Combinación externa completa

Richard Ramirez-Anormaliza 5
@riramireza
Semana 14: Consultas a múltiples tablas - Join
Desarrollo
6
Preliminares – Ambiente de trabajo
Sistemas de bases de datos

1. Ingresar al aula virtual.


2. Dirigirse a la carpeta Material Complementario.
3. Descargar el recurso S14-Script.
4. Desempaquetar el recurso descargado en el paso anterior.
5. Iniciar el Microsoft SQL-Server Management Studio.
6. Abrir una nueva ventana de Query
7. Abrir el script desempaquetado en el paso 4 y ejecutarlo

Richard Ramirez-Anormaliza 7
@riramireza
Modelo de datos
Sistemas de bases de datos

Richard Ramirez-Anormaliza 8
@riramireza
INNER JOIN - Combinación interna
Sistemas de bases de datos

E C

❑ Listar los nombres de los


empleados y el ❑Los que cumplan la condición de relación
departamento al que ❑El campo común
pertenecen
Richard Ramirez-Anormaliza 9
@riramireza
INNER JOIN - Combinación interna
❑ Listar los nombres de los empleados y el
Sistemas de bases de datos

departamento al que pertenecen


SELECT E.APELLIDOS, E.NOMBRES, D.DPTO
FROM EMPLEADO AS E, DPTO AS D
WHERE E.IDDPTO = D.IDDPTO

SELECT E.APELLIDOS, E.NOMBRES, D.DPTO


E C FROM EMPLEADO AS E
JOIN DPTO AS D
ON E.IDDPTO = D.IDDPTO;
APELLIDOS NOMBRES DPTO
ACOSTA CASTILLO ANA CECILIA Finanzas SELECT E.APELLIDOS, E.NOMBRES, D.DPTO
ACOSTA NUÑEZ CHARLES DANILO Sistemas de Información
ACOSTA NUÑEZ EDWIN FABIAN Sistemas de Información FROM EMPLEADO AS E
ACOSTA NUÑEZ NIXON GERARDO Sistemas de Información INNER JOIN DPTO AS D
ALARCON VELEZ EVELYN JULEY Servicios al Cliente
ON E.IDDPTO = D.IDDPTO;
Richard Ramirez-Anormaliza 10
@riramireza
LEFT JOIN - Combinación externa izquierda
Sistemas de bases de datos

E C

❑ Listar los nombres de los


empleados y el ❑Presenta todos los
departamento al que elementos de la tabla de la
pertenecen izquierda

Richard Ramirez-Anormaliza 11
@riramireza
LEFT JOIN - Combinación externa izquierda
❑ Listar los nombres de los empleados y el
Sistemas de bases de datos

departamento al que pertenecen, para los que


tienen asignado, caso contrario presentar Nulo

SELECT E.APELLIDOS, E.NOMBRES, D.DPTO


FROM EMPLEADO AS E
LEFT JOIN DPTO AS D
ON E.IDDPTO = D.IDDPTO;

APELLIDOS NOMBRES DPTO


E C ACOSTA CASTILLO ANA CECILIA Finanzas
ACOSTA NUÑEZ CHARLES DANILO Sistemas de Información
ACOSTA NUÑEZ EDWIN FABIAN Sistemas de Información
ACOSTA NUÑEZ NIXON GERARDO Sistemas de Información
AGUILAR GALLARDOPAUL ALEXANDER NULL
ALARCON VELEZ EVELYN JULEY Servicios al Cliente
Richard Ramirez-Anormaliza 12
@riramireza
RIGHT JOIN - Combinación externa derecha
Sistemas de bases de datos

E C

❑ Listar los nombres de los


departamentos y el los ❑Presenta todos los
empleados asociados. elementos de la tabla de la
derecha

Richard Ramirez-Anormaliza 13
@riramireza
RIGHT JOIN - Combinación externa derecha
❑ Listar los nombres de los empleados y el
Sistemas de bases de datos

departamento al que pertenecen, mostrar todos los


departamentos, si no tienen empleados asociado,
presentar null.

SELECT E.APELLIDOS, E.NOMBRES, D.DPTO


FROM EMPLEADO AS E
RIGHT JOIN DPTO AS D
ON E.IDDPTO = D.IDDPTO;

APELLIDOS NOMBRES DPTO


NULL NULL Innovación y Desarrollo
E C NULL NULL Marketing
ALARCON VELEZ EVELYN JULEY Servicios al Cliente
NULL NULL Talento Humano
ACOSTA CASTILLO ANA CECILIA Finanzas
ACOSTA NUÑEZ CHARLES DANILO Sistemas de Información
ACOSTA NUÑEZ EDWIN FABIAN Sistemas de Información
Richard Ramirez-Anormaliza ACOSTA NUÑEZ NIXON GERARDO Sistemas de Información 14
@riramireza
FULL JOIN - Combinación externa completa
Sistemas de bases de datos

E C

❑ Listar todos los nombres


y todos los ❑Presenta todos los
departamentos. elementos de las dos tablas

Richard Ramirez-Anormaliza 15
@riramireza
FULL JOIN - Combinación externa completa
❑ Listar los nombres de los empleados y el
Sistemas de bases de datos

departamento al que pertenecen, mostrar todos los


departamentos, si no tienen empleados asociado,
presentar null.

SELECT E.APELLIDOS, E.NOMBRES, D.DPTO


FROM EMPLEADO AS E
FULL JOIN DPTO AS D
ON E.IDDPTO = D.IDDPTO;
APELLIDOS NOMBRES DPTO
ACOSTA CASTILLO ANA CECILIA Finanzas
ACOSTA NUÑEZ CHARLES DANILO Sistemas de Información
E C ACOSTA NUÑEZ EDWIN FABIAN Sistemas de Información
ACOSTA NUÑEZ NIXON GERARDO Sistemas de Información
AGUILAR GALLARDOPAUL ALEXANDER NULL
ALARCON VELEZ EVELYN JULEY Servicios al Cliente
NULL NULL Innovación y Desarrollo
NULL NULL Marketing
Richard Ramirez-Anormaliza 16
@riramireza NULL NULL Talento Humano
Evaluación – retroalimentación
(Responder con una idea en el panel, máximo 4 palabras)
Sistemas de bases de datos

¿Qué es lo más importante/significativo


que aprendiste en la clase?

¿Cuál es la principal duda que todavía


tienes respecto a la clase?
Richard Ramirez-Anormaliza 17
@riramireza
Semana 14: Consultas a múltiples tablas - Join
Cierre
18
Referencias
Sistemas de bases de datos

❑ Connolly, T. M., & Begg, C. E. (2005). Sistemas de bases de datos


(Pearson Educación (ed.); Cuarta).

Richard Ramirez-Anormaliza 19
@riramireza
Agenda
Sistemas de bases de datos

TEMA: 2.- Recuperación de datos en un SGBD


• SUBTEMA: 4.- Consultas complejas

Próxima
Clase

20
Sistemas de base de datos

Décimo Quinta Semana

Unidad 4
Lenguaje SQL: definición y manipulación de datos.

Tema 2
Recuperación de datos en un SGBD

Richard Ramirez-Anormaliza - @riramireza


Semana: Décimo Quinta

Tema:
Sistemas de bases de datos

• Recuperación de datos en un SGBD

Objetivo:
• Desarrollar consultas complejas a las base de datos.

Subtemas:
• SUBTEMA: 4.- Consultas complejas
Semana: Décimo Quinta
Sistemas de bases de datos

Temas: Recuperar datos en un SGBD


• SUBTEMA: 4.- Consultas complejas

Actividades del estudiante:


a) Revisar el compendio definido
b) Revisar el video magistral del tema
c) Preparar el ambiente de práctica sugerido
d) Participar y/o revisar la clase sincrónica
e) Ver video:
• Sentencia DML: https://youtu.be/DuJulA8kX6o
• Operadores de conjuntos: https://youtu.be/UpOfmT05ylY
Desarrollo test2
Sistemas de bases de datos

• Luego de construir y ejecutar las sentencias SQL necesarias para determinar la cantidad de nombres
diferentes. La respuestas es
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar el sueldo más alto en el
departamento de Finanzas.
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar nombre del empleado o
empleados que ganan el menor sueldo en el departamento de Marketing.
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar el cargo que tiene al sueldo
mas bajo en el departamento de finanzas y a cuanto asciende.
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar cuantos empleados del
departamento de marketing tiene su sueldo Entre el promedio general y un 25% más.

Richard Ramirez-Anormaliza
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar la cantidad de nombres diferentes. La respuestas es:
Sistemas de bases de datos

SELECT Count(DISTINCT SUBSTRING (NOMBRES, 1,


PATINDEX('% %',NOMBRES))) AS CUENTA_NOMBRE
FROM EMPLEADO

A) 137 B) 127 C) 117 D) 107 ANSWER: A


Richard Ramirez-Anormaliza 5
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar el sueldo más alto en el departamento de Finanzas. La
respuesta es:
Sistemas de bases de datos

SELECT MAX(SUELDO)
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Finanzas'

A) 39800 B) 39700 C) 39600 D) 39500 ANSWER: A


Richard Ramirez-Anormaliza 6
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar nombre del empleado o empleados que ganan el menor
sueldo en el departamento de Marketing. La respuesta es:
Sistemas de bases de datos

SELECT NOMBRES, APELLIDOS


FROM EMPLEADO
WHERE SUELDO = (
SELECT MIN (SUELDO)
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Marketing' )

A) ALARCON VELEZ y POMBOZA ORTEGA B) ALARCON VELEZ C) PALACIOS MARQUINA D) PRECIADO GOYESANSWER: A

Richard Ramirez-Anormaliza 7
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar el cargo que tiene al sueldo mas bajo en el departamento
de finanzas y a cuanto asciende. La respuesta es:
Sistemas de bases de datos

SELECT NOMBRES, APELLIDOS,CARGO, SUELDO


FROM EMPLEADO E, CARGO C, DPTO D
WHERE E.IDCARGO = C.IDCARGO AND
E.IDDPTO = D.IDDPTO AND
D.DPTO = 'Finanzas' AND
SUELDO = ( SELECT MIN (SUELDO)
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Finanzas' )
NOMBRES APELLIDOS CARGO SUELDO
CARLOS JOEL SANCHEZ GALAN Experto 16700,00

A) $14400 B) $14500 C) $14600 D) $14700 ANSWER: N/A


Richard Ramirez-Anormaliza 8
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar cuantos empleados del departamento de marketing tiene
su sueldo Entre el promedio general y un 25% más. La respuesta es:
Sistemas de bases de datos

SELECT Count(*) Empleados


FROM EMPLEADO E, DPTO D
WHERE E.IDDPTO = D.IDDPTO AND
D.DPTO = 'Marketing' AND
SUELDO BETWEEN (SELECT AVG (SUELDO) FROM EMPLEADO ) AND
(SELECT AVG (SUELDO*1.25) FROM EMPLEADO )

Empleados
12

A) 53 B) 63 C) 73 D) 83 ANSWER: N/A
Richard Ramirez-Anormaliza 9
@riramireza

También podría gustarte