SlideShare una empresa de Scribd logo
1 de 176
Descargar para leer sin conexión
Taller de Base de Datos 
Dra. Elvia Ruiz Beltrán
Objetivo general 
El estudiante identificará herramientas de software para diseñar y administrar bases de datos, así como las tecnologías de conectividad.
Aportación de la asignatura al perfil del egresado 
Proporciona conocimientos y habilidades para que utilicen de manera óptima gestores y tecnologías de acceso a base de datos.
Temario 
1. Gestor de base de datos. 
1.1. Características del gestor. 
1.2. Herramientas. 
1.2.1. De creación de bases de datos. 
1.2.2. De administracion de bases de datos. 
1.2.3. De edición para crear esquemas y consultas de bases de datos. 
1.2.4. De control, monitoreo y estadísticas de acceso a bases de datos. 
1.2.5. Utilerias diversas. 
1.3 Instalación y configuración del enterno operativo.
Temario 
2. Administración de bases de datos. 
2.1. Creación de bases de datos. 
2.1.1. Creación de la estructura de la base de datos. 
2.1.2. Creación de dominios definidos por el DBA. 
2.1.3. Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas). 
2.1.4. Creación de vistas de la base de datos (view). 
2.1.5. Generalización y especialización. 
2.1.6. Agregación. 
2.1.7. Entidades recursivas. 
2.2. Definición del esquema de integridad. 
2.2.1. Validar y verificar integridad de entidad e integridad referencial. 
2.2.2. Creación de disparadores (Trigger´s). 
2.2.3. Creación de procedimientos almacenados. 
2.3. Definición del esquema de seguridad. 
2.3.1. Creación de usuarios de la base de datos. 
2.3.2. Asignación de privilegios sobre los objetos de información.
Temario 
2.4. Definición del esquema de recuperación. 
2.4.1. Diseño y creación de la bitácora. 
2.4.2. Recuperación a partir de la bitácora. 
2.4.3. Respaldar bases de datos. 
2.1.4. Recuperar bases de datos. 
2.5. Diseño y procesamiento de transacciones. 
2.5.1. Definición de transacciones en lenguaje huésped. 
2.5.2. Ejecución de transacciones planas en el gestor de bases de datos. 
2.5.3. Ejecución de transacciones anidadas.
Temario 
3. Tecnologías de conectividad a base de datos. 
3.1. ODBC. 
3.1.1. Terminología y conceptos. 
3.1.2. Administrador de orígenes de datos ODBC. 
3.1.3. Instalación y configuración del driver acorde al gestor de bases de datos. 
3.2. ADO.NET 
3.2.1. Terminología y conceptos. 
3.2.2. Componentes disponibles. 
3.2.2.1. Connection. 
3.2.2.2. Command. 
3.2.2.3. Recordsource. 
3.2.2.4. Error. 
3.2.3. Prototipo de aplicaciones con conectividad a bases de datos. 
3.3. JDBC 
3.3.1. Terminología y conceptos. 
3.3.2. SQL y JDBC. 
3.3.2.1. Jerarquía de clases 
java.sql.*. 
3.3.2.2. Interface 
java.sql.connection.
Temario 
3.3.2.3. Interface 
java.sql.statement 
3.3.2.4. Interface 
java.sql.resultset 
3.3.1.5. Jerarquía de clases 
javax.sql.* 
3.3.3. Instalación y configuración del driver acorde al gestor de base de datos. 
3.3.4. Prototipo de aplicaciones con conectividad a base de datos.
Referencias 
1. C. J. Date. 
Introduction to Data Base Systems, Volumen II. 
Ed. Addison – Wesley Iberoamericana. 
2. James R. Groff, Paul N. Weinberg. 
Aplique SQL. 
Ed. Mc Garw Hill. 
3. Mukhar, Kevin, et.al. 
Fundamentos de bases de datos con Java. 
Ed. Wrox/Anaya Multimedia, 2002. 
4. Navathe. 
Fundamentos de Bases de Datos. 
Ed. Addison Wesley 1999. 
5. Deitel Harvey M., et.al. 
Visual Basic .NET for Experience Programmers. 
Ed. Microsoft Press, 2002. 
6. Balena, Francesco. 
Programming Microsoft Visual Basic .NET. 
Ed. Microsoft Press, 2002. 
7. Sceppa, David. 
Microsoft ADO.NET. 
Ed. Microsoft Press, 2002. 
8. Worsley John.,et.al. 
Practical Postgresql. 
Ed. Command prompt Inc. 2002 
9. Korry Douglas.,et.al. 
PostgreSQL. 
Ed. O'Reilly & Associates, 2003.
Bibliografía 
10. Nielsen Paul. 
Microsoft SQL Server 2000 Bible. 
Ed. John Wiley & Sons, 2002. 
11. Houlette Forrest. 
Fundamentos de SQL.Para programadores. Ed. Mc Graw Hill, 2001. 
12. Nielsen Paul. 
DeVry College of Technology and Monroe College Database Systems 
Using Oracle: A Simplified Guide to SQL and PL/SQL. Ed. Prentice Hall. 
13. Ray Ranking Paul Jensen Paul Bertucci. 
Microsoft SQL Server 2000 Unleashed, 2/E 2003. Ed. Que/Sams. 
14. Steve Holzner. 
Microsoft Visual C#.NET 2003 Kick Start 2003. Ed. Que/Sams. 
15. Buck Woody. 
Essential SQL Server™ 2000: And Administration Handbook 2002. 
Ed. Addison Wesley Professional. 
16. Pérez, C. 
Domine Microsoft SQL Server 2000 Administración y Análisis de Bases 
de Datos. Ed. Alfaomega-RAMA. 
17. Pérez, C. 
ORACLE 9i Administración y Análisis de Bases de Datos. Ed. Alfaomega-RAMA. 
18. Melton, Jim y Eisenberg, Andrew. 
SQL Y JAVA Guía para SQLJ, JDBC y Tecnologías Relacionadas. Ed. Alfaomega-RAMA.
Bibliografía 
19. Jeffrey P. McManus Chris Kinsman. 
C# Developer's Guide to ASP.NET, XML, and ADO.NET 2002. 
Ed. Addison Wesley Professional. 
Referencias en Internet 
www.bivitec.org.mx 
www.javasun.com
Evaluación
Reglas de convivencia 
• No consumir alimentos en clase. 
• Se pasará lista pasados 4 minutos de la hora de inicio. 
• No se permite el uso de computadores o dispositivos móviles en clase, a menos que se indique por el instructor. 
•Respeto entre maestro-alumno, alumno- alumno.
Sistema gestor de base de datos 
Los Sistemas de gestión de base de datos son un 
tipo de software muy específico, dedicado a servir 
de interfaz entre la base de datos, el usuario y 
las aplicaciones que la utilizan. 
SGBD o 
DBMS 
(Data base 
manager 
system) 
Usuario Base de datos 
Se compone de un: 
• lenguaje de definición de datos (Data Definition 
Language, DDL por sus siglas en inglés), 
•SQL 
• de un lenguaje de manipulación de datos y 
• de un lenguaje de consulta.
1.1 Características del gestor
Acrónimos 
SGBD: Sistema Gestor de Base de Datos 
DBMS: Data Base Manegement System
Finalidad del DBMS 
Abstracción de la información. 
 Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. 
Independencia. 
 Capacidad de modificar el esquema (físico o lógico) sin tener que realizar cambios en las aplicaciones que se sirven de ella.
Finalidad del DBMS 
Redundancia mínima. 
 Evitar la aparición de información repetida o redundante. 
Consistencia. 
 Vigilar que aquella información que aparece repetida se actualice de forma coherente.
Finalidad del DBMS 
Seguridad. 
 Gran valor de los datos. 
SGBD garantizar que esta información se encuentra asegurada frente a usuarios malintencionados 
 SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.
Finalidad del DBMS 
Integridad. 
 Adoptar las medidas necesarias para garantizar la validez de los datos almacenados. 
 Proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados. 
Respaldo y recuperación. 
 Proporcionar una forma eficiente de realizar copias de seguridad de la información almacenada. 
 Restaurar a partir de estas copias los datos que se hayan podido perder.
Finalidad del DBMS 
Control de la concurrencia. 
 Son muchas las personas que acceden a una base de datos. 
 SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias. 
Tiempo de respuesta. 
 Minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.
Finalidad de DBMS 
1.Abstracción de la información. 
2.Independencia. 
3.Redundancia mínima. 
4.Consistencia. 
5.Seguridad. 
6.Integridad. 
7.Respaldo y recuperación. 
8.Control de la concurrencia. 
9.Tiempo de respuesta. 
En resumen
DBMS comerciales:
DBMS a utilizar 
SQL Server 2008 
Developer Edition o superior 
MySQL 
SQL (lenguaje estructurado de Consultas o Structured Query Language ). >>>SQL2008<<<
Instalación de SQL Server 
Instalación de SQL Server. 
Instalación de MySQL.
Configuración de SQL Server 
000.2 Configuración del servicio de SQLServer
Tarea 1 
En equipo se investigará acerca de uno de los SGBD listados anteriormente. 
Se presentará por equipo las características de cada gestor, el resumen general (donde se incluya información extraída de otras presentaciones) contará como tarea y se subirá a la plataforma Dropbox el día que se especifique.
Elementos de la Presentación 
Portada 
Introducción 
Antecedentes del Gestor de Bases de Datos 
Características 
Entorno 
Conclusiones 
Referencias o fuentes de información
1.2 Herramientas
1.2.1 De creación de bases de datos (ControlEscolar)
1.2.2 De administración de base de datos 
Administrador de bases de datos (DBA) 
 Define, maneja y controla las bases de datos, 
 proporciona asesoría a los desarrolladores, usuarios y ejecutivos que la requieran. 
 tiene experiencia en DBMS, diseño de bases de datos, Sistemas operativos, comunicación de datos, hardware y programación, 
nociones de administración, manejo de personal e incluso un cierto grado de diplomacia.
1.2.2 De administración de base de datos 
Responsabilidades del DBA 
 Administrar la estructura de la Base de Datos. 
 Administrar la actividad de los datos. 
 Administrar el Sistema Manejador de Base de Datos. 
 Establecer el Diccionario de Datos. 
 Asegurar la confiabilidad de la Base de Datos. 
 Confirmar la seguridad de la Base de Datos.
1.2.2 De administración de base de datos 
Objetivos del DBA 
 Mantener la Integridad de los Datos. 
 Mantener la Seguridad de los Datos. 
 Mantener la Disponibilidad de los Datos.
1.2.3 De edición para crear esquemas y consultas de bases de datos
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Componentes de SQL 
• Comandos, 
• Cláusulas, 
• Operadores, 
• Funciones. 
Se combinan en las instrucciones para crear, actualizar y manipular bases de datos.
Comandos SQL (DDL y DML) 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
• DDL (Data Definition Language ) permite crear y definir nuevas bases de datos, campos e índices. 
Comandos DDL 
Comando Descripción 
CREATE Utilizado para crear nuevas tablas, campos e índices. 
DROP Empleado para eliminar tablas e índices. 
ALTER Utilizado para modificar las tablas agregando campos o combinando la definición de los campos. 
Componentes de SQL
Comandos SQL (DDL y DML) 
Comandos DML 
Comando Descripción 
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. 
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 table de una table de una base de datos. 
Componentes de SQL 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
• DML (Data Manipulation Language) permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
Cláusulas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
• Son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular. 
Cláusula Descripción 
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 
Componentes de SQL
Operadores Lógicos 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
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. 
Componentes de SQL
Operadores de comparación 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Operador Uso 
< Menor que 
> Mayor que 
<= Menor ó Igual que 
>= Mayor ó Igual que 
= Igual que 
<>, != Diferente 
!< No menor que 
!> No mayor que 
BETWEEN Utilizado para especificar un intervalo de valores. 
LIKE Utilizado en la comparación de un modelo. 
In Utilizado para especificar registros de una base de datos. 
Componentes de SQL
Funciones de agrupamiento 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Componentes de SQL 
•Se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un conjunto de registros. 
Función 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. 
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.
Tipos de datos 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cada columna, variable local, expresión y parámetro dispone de un tipo de dato. 
SQL Server suministra el siguiente conjunto de tipos de datos:
Tipos de datos carácter 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Tipos de datos
Tipos de datos numéricos 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Tipos de datos
Tipos de datos numéricos 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Tipos de datos
Tipo de datos fecha/hora 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Tipos de datos
Otros tipos de datos 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Tipos de datos
Estructura de las tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Apellidos 
Nombre 
Empleados 
25 
50
Estructuras de las tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos
1.2.3 De edición para crear esquemas y consultas de bases de datos
Estructuras de las tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Abrir el Administrador de SQL- Server (SQL Server Management Studio) 
Crear Base de Datos Empresa 
Crear tabla Empleados
¿Cómo crearías la base de datos? 
CREATE DATABASE Empresa
Crear tabla 
Crea una nueva tabla llamada Empleados con dos campos, uno llamado Nombre con longitud 25 y otro llamado Apellidos con longitud 50. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Apellidos 
Nombre 
Empleados 
25 
50 
CREATE TABLE dbo.Empleados 
( Nombre VARCHAR (25), 
Apellidos VARCHAR (50) 
) 
GO
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Crea una nueva tabla llamada Empleados2 con un campo Nombre con longitud 10, otro con llamado Apellidos longitud 50 y uno más llamado Fecha_Nacimiento de tipo Fecha/Hora. 
También crea una restricción que no permite valores repetidos para los tres campos. 
Crear tabla 
CREATE TABLE dbo.Empleados2 
( 
Nombre VARCHAR (10), 
Apellidos VARCHAR (50), 
Fecha_Nacimiento DATETIME, 
CONSTRAINT valor_unico 
UNIQUE ([Nombre], [Apellidos], [Fecha_Nacimiento]) 
) GO
Crear tabla 
Crea una tabla llamada Empleados3 con un campo de longitud 20 llamado Nombre, otro llamado Apellidos de longitud 25, otro campo llamado Fecha_Nacimiento de tipo Fecha/Hora y por ultimo un ID de tipo entero el que establece como llave primaria. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
CREATE TABLE dbo.Empleado3 
( ID INT PRIMARY KEY, 
Nombre VARCHAR(20), 
Apellidos VARCHAR(25), 
Fecha_Nacimiento DATETIME, 
CONSTRAINT valor_unico2 
UNIQUE ([Nombre], [Apellidos], [Fecha_Nacimiento] 
)
Añadir registros a las tablas 
Para agrega uno o varios registros en una tabla se puede realizar por medio de dos procedimientos: 
1.la primera es Insertar un único registro, 
2.la segunda es Insertar en una tabla los registros contenidos en otra tabla. 
INSERT INTO [nombre_BaseDeDatos.][ dueño.] nombre_tabla (campo1, campo2, .., campoN) VALUES (valor1, valor2, ..., valorN) 
1. Insertar un único Registro 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Añadir registros a las tablas 
Inserte a la tabla Empleados a “Ramón Pérez Jiménez”. 
INSERT INTO dbo.Empleados3 (ID, Nombre, Apellidos 
,Fecha_Nacimiento) 
VALUES (121, 'Ramón', 'Pérez Jiménez‘, 
'1990-06-12 00:00:00') 
GO 
Inserte a la tabla Empleados3 a “Rosa Ramírez García”, con fecha de nacimiento 12 de Julio de 1990. 
INSERT INTO Empleados3 (ID, Nombre, Apellidos, 
Fecha_Nacimiento) 
VALUES (122, 'Rosa', 'Ramírez García', '1990-06-12 00:00:00' ) 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Añadir registros a las tablas 
Inserte a la tabla Empleados el trabajador “Alberto Medina Ruiz”, con ID 295 y fecha de nacimiento 25 de Agosto de 1998 a 4:05 pm. 
INSERT INTO dbo.Empleados (ID, Nombre, Apellidos, 
Fecha_Nacimiento) 
VALUES (295, ‘Alberto’, ‘Medina Ruiz’, 
‘1998-08-12 16:05:00’ ) 
GO 
1.2.3 De edición para crear esquemas y consultas de bases de datos
ControlEscolar
1 Crear la Base de Datos ControlEscolar 
CREATE TABLE dbo.Carreras ( 
NoC INT IDENTITY (1, 1) PRIMARY KEY, 
NombreC varchar (20), 
CONSTRAINT valor_unico 
UNIQUE ([NoC], [NombreC]) 
) 
CREATE TABLE dbo.Alumnos ( 
NC INT PRIMARY KEY, 
NombreA VARCHAR(50), 
Sexo VARCHAR(1), 
Domicilio VARCHAR(50), 
Edad TINYINT, 
NoC INT 
FOREIGN KEY (NoC) REFERENCES Carreras) 
Antes de crear la tabla Alumnos debemos de crear la tabla Carrera 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Añadir registros a las tablas 
Inserte los registros de la base de datos Carrera 
INSERT INTO dbo.Carreras(NombreC) 
VALUES('Ingenieria Civil') 
INSERT INTO Carreras 
VALUES('Abogado') 
INSERT INTO dbo.Carreras(NombreC) 
VALUES('Lic. en Admón.') 
INSERT INTO 
Carreras 
VALUES('Contador Publico') 
GO 
1.2.3 De edición para crear esquemas y consultas de bases de datos
INSERT INTO Materias (NM, NombreM) 
VALUES(‘M5A’,’Matemáticas I ‘), 
(‘D38’,´Derecho Laboral´), 
(‘C1C’,’Contabilidad’), 
(‘E7H’,’Estadística’) 
Select * from Alumnos 
Select * from Alumnos
2 Inserte a la tabla Alumnos las dos primeras tuplas 
INSERT INTO dbo.Alumnos 
VALUES(76, 'Jose Martinez', 'M', 'Fresno # 503', 
22, 1) 
INSERT INTO dbo.Alumnos 
VALUES(95, 'Ramon Ramos', 'M', 'Valle # 301', 
23, 1) 
INSERT INTO dbo.Alumnos 
VALUES( , '', '', '', ,) , 
( , '', '', '', ,), … 
( , '', '', '', ,) 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Añadir registros a las tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
2. la segunda es Insertar en una tabla los registros contenidos en otra tabla. 
INSERT INTO [nombre_BaseDeDatos.][ dueño.] nombre_tabla 
(campo1, campo2, .., campoN) 
SELECT Campo1, Campo2, ..., CampoN 
FROM TablaOrigen 
Si Tabla y TablaOrigen poseen la misma estructura podemos simplificar la sintaxis a: 
INSERT INTO [nombre_BaseDeDatos.][ dueño.] Alumnos2 
SELECT * FROM Alumnos
Inserta registros en otra tabla que se crea automáticamente 
SELECT NoC, NombreC 
INTO Carrera2 
FROM Carreras 
ORDER BY NombreC
Práctica 1 (Tarea 2) 
Crear en MySQL la Base de Datos Control Escolar, de acuerdo a como se especifica en el modelo relacional. Además insertar la información que se específica en las tablas.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
La sintaxis de una consulta de selección es la siguiente:
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
Especifica las columnas que va a devolver la consulta.
Consultas a las Tablas 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
Crea una nueva tabla e inserta en ella las filas resultantes de la consulta. 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
Especifica las tablas de las que se van a obtener filas. La cláusula FROM es necesaria excepto cuando la lista de selección sólo contiene constantes, variables y expresiones aritméticas (no nombres de columna).
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
Especifica una condición de búsqueda para restringir las filas que se van a devolver.
Consultas a las Tablas 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
Especifica los grupos en los que se van a colocar las filas de salida y, si se incluyen funciones de agregado en la cláusula SELECT selección, calcula el valor de resumen de cada grupo.
Consultas a las Tablas 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
Especifica una condición de búsqueda de un grupo o agregado. Normalmente, HAVING se utiliza con la cláusula GROUP BY. Cuando no se utiliza GROUP BY, HAVING se comporta como la cláusula WHERE.
Consultas a las Tablas 
SELECT selección 
[ INTO nueva_tabla ] 
FROM tabla_fuente 
[ WHERE condición ] 
[ GROUP BY grupo ] 
[ HAVING condición_grupo ] 
[ ORDER BY expresión 
[ ASC | DESC ] ] 
Especifica el orden del conjunto de resultados.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Cláusula SELECT y sus Argumentos
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Específica que pueden aparecer filas duplicadas en el conjunto de resultados. ALL es el valor predeterminado. 
Cláusula SELECT
Consultas a las Tablas 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Específica que sólo pueden aparecer filas exclusivas en el conjunto de resultados. Los valores NULL se consideran iguales a efectos de la palabra clave DISTINCT. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula SELECT
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Especifica que sólo se van a utilizar las primeras n filas del conjunto de resultados de la consulta; n es un valor entero entre 0 y 4294967295. Si también se especifica PERCENT, sólo se va a utilizar el primer n por ciento de filas del conjunto de resultados. Cuando se especifica con PERCENT, n debe ser un entero entre 0 y 100. 
. 
Cláusula SELECT
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Cláusula SELECT 
Son las columnas que se van a seleccionar para el conjunto de resultados. La lista de selección es una serie de expresiones separadas por comas. 
.
Consultas a las Tablas 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Cláusula SELECT 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Especifica que se deben devolver todas las columnas de todas las tablas y vistas de la cláusula FROM. Las columnas se devuelven por tabla o vista, tal como se especifique en la cláusula FROM, en el orden en que se encuentran en la tabla o vista.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Cláusula SELECT 
Limita el alcance de * a la tabla o vista especificada.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Cláusula SELECT 
Es el nombre de una columna que se va a devolver.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Cláusula SELECT 
Es un nombre de columna, constante, función, o una combinación de nombres de columnas, constantes y funciones conectados mediante operadores, o una subconsulta.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT [ ALL | DISTINCT ] 
[ TOP n [PERCENT] ] 
< Selección > 
< Selección > ::= 
{ * 
| { nombre_tabla | nombre_vista | alias }.* 
| { nombre_columna | expresión } 
[ [ AS ] alias_columna ] 
| alias_columna 
Cláusula SELECT 
Es un nombre alternativo para reemplazar el nombre de la columna en el conjunto de resultados de la consulta.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Especifica las tablas de las que se van a obtener filas. La cláusula FROM es necesaria excepto cuando la lista de selección sólo contiene constantes, variables y expresiones aritméticas (no nombres de columna). 
Cláusula FROM
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula FROM (Sintaxis) 
[ FROM { < tabla_fuente > } [ ,...n ] ] 
< tabla_fuente > ::= 
tabla_fuente [ [ AS ] alias ] 
| nombre_vista [ [ AS ] alias ] 
| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > 
Especifica el nombre de una tabla y un alias opcional.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula FROM (Sintaxis) 
[ FROM { < tabla_fuente > } [ ,...n ] ] 
< tabla_fuente > ::= 
tabla_fuente [ [ AS ] alias ] 
| nombre_vista [ [ AS ] alias ] 
| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > 
Especifica el nombre de una vista y un alias opcional.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula FROM (Sintaxis) 
[ FROM { < tabla_fuente > } [ ,...n ] ] 
< tabla_fuente > ::= 
tabla_fuente [ [ AS ] alias ] 
| nombre_vista [ [ AS ] alias ] 
| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > 
Indica que las tablas o vistas especificadas deben combinarse.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula FROM (Sintaxis) 
[ FROM { < tabla_fuente > } [ ,...n ] ] 
< tabla_fuente > ::= 
tabla_fuente [ [ AS ] alias ] 
| nombre_vista [ [ AS ] alias ] 
| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > 
Nombre de la tabla de unión.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula FROM (Sintaxis) 
[ FROM { < tabla_fuente > } [ ,...n ] ] 
< tabla_fuente > ::= 
tabla_fuente [ [ AS ] alias ] 
| nombre_vista [ [ AS ] alias ] 
| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > 
Especifica la condición en la que se basa la combinación. La condición puede especificar cualquier predicado, aunque se suelen utilizar columnas y operadores de comparación.
3. Liste Número de Control y Nombres de los Alumnos 
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT NC, NombreA 
FROM Alumnos 
SELECT NC AS 'No. de control', NombreA as 'Nombre del Alumno' 
FROM Alumnos
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Especifica una condición de búsqueda para restringir las filas que se van a devolver. 
Cláusula WHERE
Consultas a las Tablas 
[ WHERE < condición> | < unos_otros > ] 
< izq_der > ::= 
nombre_columna { * = | = * } nombre_columna 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula WHERE (Sintaxis) 
Limita las filas devueltas en el conjunto de resultados mediante el uso de predicados. No hay límite en el número de predicados que se pueden incluir en una condición de búsqueda.
Consultas a las Tablas 
[ WHERE < condición> | < unos_otros > ] 
< izq_der > ::= 
nombre_columna { * = | = * } nombre_columna 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula WHERE (Sintaxis) 
Se utiliza el operador *= para especificar una combinación externa izquierda y el operador =* para especificar una combinación externa derecha. 
Ejemplo: especifica una combinación externa izquierda en que las filas de Tab1 que no cumplen la condición especificada se incluyen en el conjunto de resultados: 
SELECT Tab1.name, Tab2.id 
FROM Tab1, Tab2 
WHERE Tab1.id *=Tab2.id
4. Liste los Nombres de los Alumnos que tenga una edad entre 22 a 24 años. 
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT NombreA , Edad 
FROM Alumnos 
WHERE Edad >= 22 AND Edad <= 24
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Para indicar que deseamos recuperar los registros según el intervalo de valores de un campo emplearemos el operador BETWEEN. 
Rango de registros
Consultas a las Tablas 
Campo [ NOT ] BETWEEN expresión_inicio AND expresión_fin 
Campo Se trata de la expresión que se va a probar en el intervalo definido mediante expresión_inicio y expresión_fin. 
El argumento Campo debe ser del mismo tipo de datos que los argumentos expresión_inicio y expresión_fin. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Rango de registros BETWEEN (Sintaxis) 
NOT Específica que se niega el resultado del predicado. expresión_inicio Valor inicial. 
expresión_fin Valor final.
Consultas a las Tablas 
Ejemplos: 
SELECT * FROM Alumnos WHERE Edad Between 22 And 24 
SELECT * FROM Alumnos WHERE Edad NOT Between 22 And 24 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Rango de registros BETWEEN (Sintaxis)
Listaremos nombres de los Alumnos que tenga una edad entre 22 a 24 años utilizando el BETWEEN. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
SELECT NombreA, Edad FROM Alumnos WHERE Edad BETWEEN 22 AND 24
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Determina si una cadena de caracteres dada coincide o no con un determinado modelo. 
Operador LIKE
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Operador LIKE (Sintaxis) 
Expresión_comparar [ NOT ] LIKE patrón [ ESCAPE carácter_escape ] 
Expresión_comparar 
Es cualquier expresión SQL Server válida del tipo de datos cadena de caracteres. 
patrón Es el modelo que se va a buscar y puede incluir cualquiera de los siguientes caracteres comodín: 
Carácter Descripción 
% Cualquier cadena de cero o más caracteres. 
_ Cualquier carácter individual. 
[ ] Cualquier carácter individual que se encuentre en el intervalo o el conjunto especificado. 
[ ^ ] Cualquier carácter individual que no se encuentre en el intervalo
Consultas a las Tablas 
carácter_escape Carácter que le precede a un carácter especial para quitarle esa propiedad. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Operador LIKE (Sintaxis) 
Expresión_comparar [ NOT ] LIKE patrón [ ESCAPE carácter_escape ]
Liste de la tabla Empleados3 los registros que el primer apellido sea Ramírez. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Liste de la tabla Empleados3 los registros que el segundo apellido comience con la letra J. 
SELECT * FROM Alumnos WHERE NombreA LIKE ‘% Jimenez%’ 
SELECT * FROM Empleados 
WHERE Apellidos LIKE '% J%' 
LIKE 
Arc: Consulta_1_2_Empleados
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
LIKE 
Qué pasaría si existieran apellidos con j minúscula, dado a que no cumplen el patrón no serían listado, por tal motivo para listar los dos casos se realizaría de la siguiente forma: 
Arc: Consulta_3_Empleados 
SELECT * FROM Empleados 
WHERE Apellidos LIKE ‘% [Jj]%’ 
SELECT * FROM Empleados 
WHERE Apellidos LIKE ‘% [^Jj]%’ 
Liste de la tabla Empleados los registros que el segundo apellido no comience con la letra J.
Fernández o Hernández ya sea con mayúscula o minúscula. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
LIKE 
Liste los empleados que contenga un guión de piso en el campo apellido 
SELECT * FROM Empleados 
WHERE Apellidos LIKE ‘_ernández %’ 
SELECT * FROM Empleados 
WHERE Apellidos LIKE ‘%_%’ 
Arc: Consulta_4_Empleados
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
LIKE 
Este ejemplo listaría todos los registros de la tabla Empleados, porque todos cumplen con el patrón, recordemos que el carácter ‘_’ tiene un significado especial en SQL, para quitárselo debemos utilizar una carácter de escape, de la siguiente forma: 
Arc: Consulta_4_Empleados 
SELECT * FROM Empleados 
WHERE Apellidos LIKE ‘%!_%’ ESCAPE ´!´ 
SELECT * FROM Empleados 
WHERE Apellidos LIKE ‘%!%’ ESCAPE ´!´ 
Busca Apellidos que contengan el carácter %. Pero no existe, por lo tanto no lista ningúno.
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
LIKE 
Liste los alumnos cuyo apellido comience con la letra R. 
Arc:Seleccion3 
SELECT * FROM Alumnos 
WHERE NombreA LIKE '% [Rr]%' 
SELECT * FROM Alumnos 
WHERE NombreA LIKE '[Rr]%'
Ejercicios 
Liste el nombre de todos aquellos alumnos que están en la carrera de Ingeniería Civil. 
Liste el nombre de todos aquellos alumnos que son mujeres. 
Liste el nombre de todos aquellos alumnos cuyo apellino inicie con R o r.
Subconsultas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Es una consulta SELECT que devuelve un valor único y está anidada en una instrucción SELECT, INSERT, UPDATE o DELETE, o dentro de otra subconsulta. 
Una subconsulta se puede utilizar en cualquier parte en la que se permita una expresión. 
La consulta SELECT de una subconsulta se incluye siempre entre paréntesis. 
Las instrucciones que incluyen una subconsulta normalmente tienen uno de estos formatos:
Subconsultas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
• WHERE expression [NOT] IN (subconsulta) 
• WHERE expression { = | <> | != | > | >= | !> | < | <= | !< } 
[SOME | ANY | ALL] (subconsulta) 
• WHERE [NOT] EXISTS (subconsulta)
Ejercicio 
SELECT NC, NombreA FROM Alumnos WHERE NC IN (SELECT NC FROM Grupos) 
Arc: Consulta_7_Alumnos_y_Grupos 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Liste los nombres de los alumnos que están inscritos(en al menos un grupo).
5. Liste los nombres de los Catedráticos que no imparten clases 
SELECT NombreC FROM Catedraticos WHERE NCC NOT IN (SELECT NCC FROM Grupos) 
Arc: Consulta_8_Catedraticos_y_Grupos 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas
Utilizar combinaciones cruzadas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Una combinación cruzada que no tenga una cláusula WHERE produce el producto cartesiano de las tablas involucradas en la combinación. 
El tamaño del conjunto de resultados es de 
número de filas de la primera tabla (N) x por el número de filas de la segunda tabla (M) . 
N x M
Utilizar combinaciones cruzadas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
SELECT * FROM Alumnos, Carrera 
Arc: Consulta_9_Producto_Alumnos_Carrera
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
6. Liste el Número de Control, Nombre del Alumno y Nombre de Carrera de todos los Alumnos. 
SELECT NC, NombreA, NombreC 
FROM Alumnos A, Carreras C 
WHERE A.NoC = C.NoC 
SELECT NC, NombreA, NombreC 
FROM Alumnos A 
INNER JOIN Carreras C ON A.NoC = C.NoC 
Arc: Consulta_9_Producto_Alumnos_Carrera_2
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusula GROUP BY 
Sintaxis 
[ GROUP BY grupo [ ,...n ] ] 
Grupo Es la expresión en la que se realiza el agrupamiento; grupo también se conoce como columna de agrupamiento y puede ser una columna o una expresión diferente a una de agregado, que hace referencia a una columna. 
No se puede utilizar un alias de columna en la lista de selección para especificar una columna de agrupamiento.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Agrupar alumnos por número de carrera 
Arc: Consulta_5_Emp1eados_1 
SELECT NoC 
FROM Alumnos 
GROUP BY NoC 
SELECT NoC,NombreA 
FROM Alumnos GROUP BY NoC,NombreA
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Funciones de agregado 
Las funciones de agregado realizan un cálculo sobre un conjunto de valores y devuelven un solo valor. 
Las funciones de agregado se suelen utilizar con la cláusula GROUP BY de la instrucción SELECT. 
COUNT Devuelve el número de elementos de un grupo. 
AVG Devuelve la media de los valores de un grupo. Los valores nulos se pasan por alto. 
MAX Devuelve el valor máximo de la expresión. 
MIN Devuelve el valor mínimo de la expresión. 
SUM Devuelve la suma de todos los valores, sólo puede utilizarse con columnas numéricas. Los valores nulos se pasan por alto.
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Funciones de agregado 
Ventas Factura NoV Fecha Monto 
1202 25 10/01/2007 2500 
1203 33 10/01/2007 3000 
1204 43 12/01/2007 5000 
1205 25 10/02/2007 1000 
1206 25 12/02/2007 1200 
1207 33 15/02/2007 2000 
1208 25 07/03/2007 500 
1209 45 10/03/2007 4000 
1210 25 15/04/2007 1400 
De la tabla Ventas, liste por 
cada vendedor, cuantas 
ventas realizó, el monto 
total, el monto de la venta 
máxima y el monto de la 
venta mínima. 
Arc: Consulta_5_Empleados 
SELECT NoV, 
COUNT(*) AS [No. de ventas], 
SUM(Monto) AS [Monto Total], 
MAX(Monto) AS [Monto Máximo], 
MIN(Monto) AS [Monto Mínimo] 
FROM Ventas GROUP BY NoV
7. De cada grupo liste Número de grupo, Nombre del Catedrático, Nombre de la Materia, Número de Alumnos, Calificación Máxima, Calificación Mínima y Promedio. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Arc: Consulta_11_PromedioAlumnos 
SELECT NG, G.NCC, C.NombreC, G.NM, M.NombreM, 
COUNT(*) AS [No de Alumnos], 
MAX(Calificación) AS [CAL.MAX], 
MIN(Calificación) AS [CAL. MIN], 
AVG(Calificación) AS [PROMEDIO] 
FROM Grupos G, Catedraticos C, Materias M 
WHERE G.NCC = C.NCC AND G.NM = M.NM 
GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM 
FIN
7. De cada grupo liste Número de grupo, Nombre del Catedrático, Nombre de la Materia, Número de Alumnos, Calificación Máxima, Calificación Mínima y Promedio. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Otra solución 
SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM, 
COUNT(*) AS [No de Alumnos], 
MAX(Calificacion) AS [CAL.MAX], 
MIN(Calificacion) AS [CAL. MIN], 
AVG(Calificacion) AS [PROMEDIO] 
FROM Grupos G INNER JOIN Catedraticos C ON G.NCC = C.NCC 
INNER JOIN Materias M ON G.NM = M.NM 
GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM 
Arc: Consulta_11_PromedioAlumnos_2
7. De cada grupo liste Número de grupo, Nombre del Catedrático, Nombre de la Materia, Número de Alumnos, Calificación Máxima, Calificación Mínima y Promedio. 
SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM, 
COUNT(*) AS [No de Alumnos], 
MAX(Calificación) AS [CAL.MAX], 
MIN(Calificación) AS [CAL. MIN], 
AVG(Calificación) AS [PROMEDIO] 
FROM Grupos G, Catedraticos C, Materias M 
WHERE G.NCC = C.NCC AND G.NM = M.NM 
GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM 
SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM, 
COUNT(*) AS [No de Alumnos], 
MAX(Calificacion) AS [CAL.MAX], 
MIN(Calificacion) AS [CAL. MIN], 
AVG(Calificacion) AS [PROMEDIO] 
FROM Grupos G INNER JOIN Catedraticos C ON G.NCC = C.NCC 
INNER JOIN Materias M ON G.NM = M.NM 
GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Comparación
8. De cada grupo liste Número de grupo, Número del Catedrático, Número de Materia y Alumnos acreditados(igual o superior a 70). 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Arc: Consulta_12 
SELECT NG, NCC, NM, 
COUNT(*) AS [No de Alumnos Acreditados] 
FROM Grupos 
WHERE Calificacion >= 70 
GROUP BY NG, NCC, NM
Funciones de agregado solo con SELECT 
SELECT COUNT(*) AS [Número de Alumnos ]FROM Alumnos 
SELECT MIN(NC) FROM Alumnos 
SELECT MAX(NC) FROM Alumnos 
SELECT AVG(NC) FROM Alumnos 
SELECT SUM(NC) FROM Alumnos
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Especifica una condición de búsqueda de un grupo o agregado. 
Normalmente, HAVING se utiliza con la cláusula GROUP BY. 
Cuando no se utiliza GROUP BY, HAVING se comporta como la cláusula WHERE. 
Cláusulas HAVING
Consultas a las Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Cláusulas HAVING (Sintaxis) 
[ HAVING < condición_grupo > ] 
Especifica la condición de búsqueda del grupo o del agregado que se debe cumplir. 
NOTA: No se puede utilizar los tipos de datos text, image y ntext en una cláusula HAVING.
De la tabla Ventas, liste por cada vendedor, cuantas ventas realizó, el monto total, el monto de la venta máxima y el monto de la venta mínima, pero solo de aquellos montos totales entre 6000 a 10000. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Arc: Consulta_6_Empleados 
SELECT NoV, 
COUNT(*) AS [No. de ventas], 
SUM(Monto) AS [Monto Total], 
MAX(Monto) AS [Monto Máximo], 
MIN(Monto) AS [Monto Mínimo] 
FROM Ventas GROUP BY NoV HAVING SUM(Monto) BETWEEN 6000 AND 8000 
Ventas Factura NoV Fecha Monto 
1202 25 10/01/2007 2500 
1203 33 10/01/2007 3000 
1204 43 12/01/2007 5000 
1205 25 10/02/2007 1000 
1206 25 12/02/2007 1200 
1207 33 15/02/2007 2000 
1208 25 07/03/2007 500 
1209 45 10/03/2007 4000 
1210 25 15/04/2007 1400
9. De cada grupo liste Número de grupo, Número del Catedrático, Número de Materia y Promedio, pero solo de aquellos grupos donde el promedio sea mayor a 80. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Consultas a las Tablas 
Arc: Consulta_13 
SELECT NG, NCC, NM, 
AVG(Calificacion) AS [Promedio del Grupo] 
FROM Grupos GROUP BY NG, NCC, NM 
HAVING AVG(Calificacion) > 80
9. De cada grupo liste Número de grupo, Número del Catedrático, Número de Materia y Promedio, pero solo de aquellos grupos donde el promedio sea mayor a 80. 
SELECT NG, NCC, G.NM, NombreM 
AVG(Calificacion) AS [Promedio del Grupo] 
FROM Grupos G, Materias M 
WHERE G.NM=M.NM 
GROUP BY NG, NCC, G.NM, NombreM 
HAVING AVG(Calificacion) > 80
Consultas a las Tablas 
Especifica el orden del conjunto de resultados. 
La cláusula ORDER BY no es válida en vistas, funciones en línea, tablas derivadas ni subconsultas, salvo que se especifique también TOP. 
Cláusula ORDER BY 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas 
[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] 
Cláusula ORDER BY (Sintaxis) 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Especifica la columna según la que se ordenará. Se puede especificar una columna de orden como un nombre o alias de columna (que puede estar calificado con el nombre de una tabla o vista), una expresión o un entero no negativo que representa la posición del nombre, alias o expresión en la lista de selección.
Consultas a las Tablas 
[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] 
Cláusula ORDER BY (Sintaxis) 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Se puede especificar varias columnas de orden. La secuencia de columnas de orden en la cláusula ORDER BY define la estructura del conjunto ordenado de resultados. 
Nota: Las columnas de tipo ntext, text o image no se pueden utilizar en una cláusula ORDER BY.
Consultas a las Tablas 
[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] 
Cláusula ORDER BY (Sintaxis) 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Indica que los valores de la columna especificada se deben ordenar de manera ascendente, desde el valor más bajo al más alto.
Consultas a las Tablas 
[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] 
Cláusula ORDER BY (Sintaxis) 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Indica que los valores de la columna especificada se deben ordenar de manera descendente, desde el valor más alto al valor más bajo. 
Nota: Los valores NULL se tratan como los valores de menor denominación.
Consultas a las Tablas 
Cláusula ORDER BY (Sintaxis) 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
SELECT Nov 
FROM Ventas 
GROUP BY Nov ORDER BY Nov DESC 
SELECT Nov 
FROM Ventas 
GROUP BY Nov ORDER BY Nov ASC 
Arc: Consulta_Order_By
Quitar filas de las tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
DELETE (Sintaxis) 
DELETE 
FROM { < nombre_tabla > } [ ,...n ] 
[ WHERE { < condición_búsqueda > } ] 
Nombre de la tabla o vista a la que se le borraran las filas. 
Condición para borrar los registros.
Borrar de la tabla ventas las filas que tienen un monto menor a 1000 pesos. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Borrar registros 
Arc: DELETE 1 
DELETE FROM Ventas WHERE Monto < 1000
10. Borre los alumnos que no están inscritos en ningún grupo. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Borrar registros 
Arc: DELETE_Alumnos_1 
DELETE FROM Alumnos WHERE NC 
NOT IN (SELECT NC FROM Grupos)
Ejercicio 
Borrar aquellas materias que no están siendo impartidas en ningún grupo.
Cambia datos de una tabla 
UPDATE (Sintaxis) 
UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] 
Nombre de la tabla o vista a la que se actualizar. 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Cambia datos de una tabla 
UPDATE (Sintaxis) 
UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] 
Especifica la lista de nombres de columnas o variables que se van a actualizar. 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Cambia datos de una tabla 
UPDATE (Sintaxis) 
UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] 
Nombre de la columna a actualizar. 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Cambia datos de una tabla 
UPDATE (Sintaxis) 
UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] 
Condición para borrar los registros. 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Actualice el domicilio de la alumna Leticia Flores (NC=33) por el domicilio Robles # 502. 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Actualizar 
Arc: Actualizar_Alumnos_1 
UPDATE Alumnos SET Domicilio = 'Roble # 502' WHERE NC = 33
Elimina tablas 
DROP TABLE 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Elimina una definición de tabla y todos los datos, índices, desencadenadores, restricciones y especificaciones de permisos de la tabla.
Elimina tablas 
DROP TABLE (Sintaxis) 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
DROP TABLE nombre_tabla 
Es el nombre de la tabla que se va a eliminar.
Observaciones 
 No se puede utilizar DROP TABLE para quitar una tabla a la que se haga referencia con una restricción FOREIGN KEY. Primero se debe quitar la restricción FOREIGN KEY o la tabla de referencia. 
 El propietario de una tabla puede quitar la tabla de cualquier base de datos. Cuando se quita la tabla, las reglas o valores predeterminados de la misma pierden sus enlaces y se quitan automáticamente las restricciones o desencadenadores asociados con ella. Si vuelve a crear una tabla, debe volver a enlazar las reglas y valores predeterminados apropiados, volver a crear los desencadenadores y agregar todas las restricciones necesarias. 
 No puede utilizar la instrucción DROP TABLE sobre las tablas del sistema. 
Elimina tablas 
DROP TABLE (Sintaxis) 
1.2.3 De edición para crear esquemas y consultas de bases de datos
Elimine la tabla Ventas. 
Elimina Tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
DROP TABLE Ventas 
DROP DATABASE ControlEscolar 
Arc: DropTable_Ventas_1
Modificar tablas 
ALTER TABLE 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
Modifica una definición de tabla al alterar, agregar o quitar columnas y restricciones, o al deshabilitar o habilitar restricciones y desencadenadores.
Agregue una el campo edad a la tabla Catedráticos 
Modificar tablas 
1.2.3 De edición para crear esquemas y consultas de bases de datos 
ALTER TABLE Catedraticos ADD Edad INT 
Arc: AlterTable_Catedraticos_1 
UPDATE Catedraticos SET Edad = 20 
ALTER TABLE Catedraticos DROP COLUMN Edad
TAREA 3 
1.Liste el nombre de los alumnos de Ingeniería Civil que están inscritos en al menos un grupo. 
2.Liste el nombre, número de cuenta, nombre de las materias que cursan cada uno de los alumnos, ordenados por orden alfabético. 
3.Liste el número de alumnos que cursan la misma carrera y de cada carrera quien tiene mayor edad. 
4.Liste código y nombre de aquellas materias que no están siendo cursadas por ningún estudiante. 
5.Liste los nombres de los alumnos y nombres de las materias que podrían cursar los alumnos de la carrera de Ingeniería Civil.
Tarea 4 ¿Qué está pidiendo el código siguiente? 
Select G.NM, M.NombreM, A.NombreA, 
count(*) as 'Total de alumnos por materia' 
From Grupos G, Materias M, Alumnos A 
Where G.NM=M.NM AND G.NC=A.NC 
Group by G.NM, M.NombreM, A.NombreA
Use ControlEscolar 
Select G.NM, M.NombreM, A.NombreA 
From Grupos G, Materias M, Alumnos A 
Where G.NM=M.NM AND G.NC=A.NC AND G.Cal>70 
Group by G.NM, M.NombreM,G.NM,A.NombreA
Use ControlEscolar 
Select G.NM, M.NombreM, 
Count(*) as 'Número de alumnos aprobados' 
from Grupos G, Materias M 
Where G.Cal>70 
Group by G.NM, M.NombreM
Select distinct G.NC, NombreA 
From Grupos G, Alumnos A 
Where G.NC=A.NC
Ahora con MySQL 
En línea de comandos
Crear Base de Datos Control Escolar y todas las tablas y agregar registros a cada tabla 
CREATE TABLE Carreras 
( NoC int primary key, 
 NombreC Varchar(50) 
);
CREATE TABLE Alumnos( 
 NC int primary key, 
NombreA Varchar(50), 
Sexo char, 
Domicilio varchar(50), 
Edad int, 
NoC int, 
Foreign key(NoC) REFERENCES Carreras(NoC) 
)
Fin de la Unidad 1
I.2.4. De control, monitoreo y estadísticas de acceso a bases de datos.
Mostrar estadísticas del cliente 
Se pueden mostrar las estadísticas eligiendo 
Mostrar estadísticas del cliente del menú Consulta, o seleccionando esta opción del menú contextual que se obtiene presionando el botón derecho dentro del ventana de edición SQL. 
Una vez seleccionado deberá ejecutar la consulta SQL para que aparezca como una pestaña en la ventana de resultados. 
I.2.4. De control, monitoreo y estadísticas de acceso a bases de datos.
I.2.5. Utilerías diversas.
Al igual que las estadísticas del cliente, se puede 
Mostrar el plan de de ejecución seleccionando esta opción del menú Consulta o del menú contextual. Una vez seleccionado deberá ejecutar la consulta SQL para que aparezca como una pestaña en la ventan de resultados.
Diagrama
Uso de la ayuda

Más contenido relacionado

La actualidad más candente

Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasanibalsmit
 
Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones  Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones LuisGonzlez362
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacionjenny
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionJosé Antonio Sandoval Acosta
 
Diseño logico de una base de datos
Diseño logico de  una base de datosDiseño logico de  una base de datos
Diseño logico de una base de datosRobert Rodriguez
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Lenguaje de programación MySQL
Lenguaje de programación MySQLLenguaje de programación MySQL
Lenguaje de programación MySQLAlfredito Aguayo
 
1-2 Arquitectura base de datos.pptx
1-2 Arquitectura base de datos.pptx1-2 Arquitectura base de datos.pptx
1-2 Arquitectura base de datos.pptxjose651254
 
Distribución y fragmentación de datos
Distribución y fragmentación  de datosDistribución y fragmentación  de datos
Distribución y fragmentación de datosJosé Mendoza
 
Glosario de terminos de base de datos
Glosario de terminos de base de datosGlosario de terminos de base de datos
Glosario de terminos de base de datosJorguell Perez
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalJosé Antonio Sandoval Acosta
 
3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.
3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.
3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.PaolanmGongor
 
Antecedentes históricos de la base de datos
Antecedentes históricos de la base de datosAntecedentes históricos de la base de datos
Antecedentes históricos de la base de datosnenyta08
 
Base de Datos para la Farmacia Chimú
Base de Datos para la Farmacia ChimúBase de Datos para la Farmacia Chimú
Base de Datos para la Farmacia ChimúLuis Tafur Trujillo
 
Normalización
NormalizaciónNormalización
Normalizacióncaoxman
 

La actualidad más candente (20)

Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
 
Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones  Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones
 
Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacion
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Diseño logico de una base de datos
Diseño logico de  una base de datosDiseño logico de  una base de datos
Diseño logico de una base de datos
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Lenguaje de programación MySQL
Lenguaje de programación MySQLLenguaje de programación MySQL
Lenguaje de programación MySQL
 
1-2 Arquitectura base de datos.pptx
1-2 Arquitectura base de datos.pptx1-2 Arquitectura base de datos.pptx
1-2 Arquitectura base de datos.pptx
 
Distribución y fragmentación de datos
Distribución y fragmentación  de datosDistribución y fragmentación  de datos
Distribución y fragmentación de datos
 
Glosario de terminos de base de datos
Glosario de terminos de base de datosGlosario de terminos de base de datos
Glosario de terminos de base de datos
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Base de datos 4
Base de datos 4Base de datos 4
Base de datos 4
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.
3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.
3.3 Ambientes de servicios: negocios, Industria, comercio electrónico.
 
Reglas de transformación
Reglas de transformaciónReglas de transformación
Reglas de transformación
 
Antecedentes históricos de la base de datos
Antecedentes históricos de la base de datosAntecedentes históricos de la base de datos
Antecedentes históricos de la base de datos
 
Base de Datos para la Farmacia Chimú
Base de Datos para la Farmacia ChimúBase de Datos para la Farmacia Chimú
Base de Datos para la Farmacia Chimú
 
Normalización
NormalizaciónNormalización
Normalización
 

Destacado

Ejercicio completo colegio
Ejercicio completo colegioEjercicio completo colegio
Ejercicio completo colegiogusanchez2668
 
Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...
Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...
Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...Aranu Arekisu
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Instructivo acces
Instructivo accesInstructivo acces
Instructivo accesrsn_280
 
D:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan Unidad
D:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan UnidadD:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan Unidad
D:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan UnidadMaximina03
 
Clase 10.1-bases de datos ejemplo
Clase 10.1-bases de datos ejemploClase 10.1-bases de datos ejemplo
Clase 10.1-bases de datos ejemploarturo8888
 
Introducción a las Bases de Datos para Bachillerato.
Introducción a las Bases de Datos para Bachillerato.Introducción a las Bases de Datos para Bachillerato.
Introducción a las Bases de Datos para Bachillerato.Eva Tortosa
 
El ensamblaje local y su dinamica
El ensamblaje local y su dinamicaEl ensamblaje local y su dinamica
El ensamblaje local y su dinamicaRobinson Colmenares
 
Ejercicios practicos word
Ejercicios practicos wordEjercicios practicos word
Ejercicios practicos word123456uy
 
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Martin Murciego
 
Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)agustinbilmer
 
Redundancia de datos
Redundancia de datosRedundancia de datos
Redundancia de datosdiegorap
 
Interfaz base de datos
Interfaz base de datosInterfaz base de datos
Interfaz base de datosariandrea
 
Uso del registro de grado del Nivel inicial y Basica
Uso del registro de grado del Nivel inicial y BasicaUso del registro de grado del Nivel inicial y Basica
Uso del registro de grado del Nivel inicial y BasicaJulio Cesar Silverio
 

Destacado (20)

Ejercicio completo colegio
Ejercicio completo colegioEjercicio completo colegio
Ejercicio completo colegio
 
Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...
Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...
Análisis y Diseño de un Sistema de Control de entradas y salidas de alimentos...
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Instructivo acces
Instructivo accesInstructivo acces
Instructivo acces
 
Plan Unidades
Plan UnidadesPlan Unidades
Plan Unidades
 
D:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan Unidad
D:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan UnidadD:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan Unidad
D:\Maximina Rodriguez Herrera\Plan Unidad\Plantilla Plan Unidad
 
Clase 10.1-bases de datos ejemplo
Clase 10.1-bases de datos ejemploClase 10.1-bases de datos ejemplo
Clase 10.1-bases de datos ejemplo
 
Contenido Materia Bases de Datos I
Contenido Materia Bases de Datos IContenido Materia Bases de Datos I
Contenido Materia Bases de Datos I
 
Introducción a las Bases de Datos para Bachillerato.
Introducción a las Bases de Datos para Bachillerato.Introducción a las Bases de Datos para Bachillerato.
Introducción a las Bases de Datos para Bachillerato.
 
Las velocidades del derecho penal
Las velocidades del derecho penalLas velocidades del derecho penal
Las velocidades del derecho penal
 
El ensamblaje local y su dinamica
El ensamblaje local y su dinamicaEl ensamblaje local y su dinamica
El ensamblaje local y su dinamica
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Ejercicios practicos word
Ejercicios practicos wordEjercicios practicos word
Ejercicios practicos word
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
 
Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)
 
Redundancia de datos
Redundancia de datosRedundancia de datos
Redundancia de datos
 
Cómo elaborar un cursograma
Cómo elaborar un cursogramaCómo elaborar un cursograma
Cómo elaborar un cursograma
 
Interfaz base de datos
Interfaz base de datosInterfaz base de datos
Interfaz base de datos
 
Uso del registro de grado del Nivel inicial y Basica
Uso del registro de grado del Nivel inicial y BasicaUso del registro de grado del Nivel inicial y Basica
Uso del registro de grado del Nivel inicial y Basica
 

Similar a Taller de base de datos ags dic_2014 control escolar

Similar a Taller de base de datos ags dic_2014 control escolar (20)

Sistemas Gestores de Base de Datos
Sistemas Gestores de Base de DatosSistemas Gestores de Base de Datos
Sistemas Gestores de Base de Datos
 
Administrador de Dase de Datos
Administrador de Dase de DatosAdministrador de Dase de Datos
Administrador de Dase de Datos
 
1. introducción
1. introducción1. introducción
1. introducción
 
Tipos de BDD y SGBD
Tipos de BDD y SGBDTipos de BDD y SGBD
Tipos de BDD y SGBD
 
diapositivasdesgbd-170504023703.pdf
diapositivasdesgbd-170504023703.pdfdiapositivasdesgbd-170504023703.pdf
diapositivasdesgbd-170504023703.pdf
 
Diapositivas de sgbd
Diapositivas de sgbdDiapositivas de sgbd
Diapositivas de sgbd
 
Semana 01.pdf
Semana 01.pdfSemana 01.pdf
Semana 01.pdf
 
Instituto
InstitutoInstituto
Instituto
 
Instituto
InstitutoInstituto
Instituto
 
Instituto
InstitutoInstituto
Instituto
 
Instituto
InstitutoInstituto
Instituto
 
Instituto
InstitutoInstituto
Instituto
 
Taller 1, 2010
Taller 1, 2010Taller 1, 2010
Taller 1, 2010
 
Gestor de Base de Datos
Gestor de Base de DatosGestor de Base de Datos
Gestor de Base de Datos
 
Introducción a las Bases de Datos
Introducción a las Bases de DatosIntroducción a las Bases de Datos
Introducción a las Bases de Datos
 
Expo
ExpoExpo
Expo
 
Guia de planeacion 2
Guia de planeacion 2Guia de planeacion 2
Guia de planeacion 2
 
Sistema GestióN De Bases De Datos
Sistema GestióN De Bases De DatosSistema GestióN De Bases De Datos
Sistema GestióN De Bases De Datos
 
Sistema Gestión De Bases De Datos
Sistema  Gestión  De  Bases  De  DatosSistema  Gestión  De  Bases  De  Datos
Sistema Gestión De Bases De Datos
 
Sistema GestióN De Bases De Datos
Sistema GestióN De Bases De DatosSistema GestióN De Bases De Datos
Sistema GestióN De Bases De Datos
 

Último

semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 

Último (20)

semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 

Taller de base de datos ags dic_2014 control escolar

  • 1. Taller de Base de Datos Dra. Elvia Ruiz Beltrán
  • 2. Objetivo general El estudiante identificará herramientas de software para diseñar y administrar bases de datos, así como las tecnologías de conectividad.
  • 3. Aportación de la asignatura al perfil del egresado Proporciona conocimientos y habilidades para que utilicen de manera óptima gestores y tecnologías de acceso a base de datos.
  • 4. Temario 1. Gestor de base de datos. 1.1. Características del gestor. 1.2. Herramientas. 1.2.1. De creación de bases de datos. 1.2.2. De administracion de bases de datos. 1.2.3. De edición para crear esquemas y consultas de bases de datos. 1.2.4. De control, monitoreo y estadísticas de acceso a bases de datos. 1.2.5. Utilerias diversas. 1.3 Instalación y configuración del enterno operativo.
  • 5. Temario 2. Administración de bases de datos. 2.1. Creación de bases de datos. 2.1.1. Creación de la estructura de la base de datos. 2.1.2. Creación de dominios definidos por el DBA. 2.1.3. Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas). 2.1.4. Creación de vistas de la base de datos (view). 2.1.5. Generalización y especialización. 2.1.6. Agregación. 2.1.7. Entidades recursivas. 2.2. Definición del esquema de integridad. 2.2.1. Validar y verificar integridad de entidad e integridad referencial. 2.2.2. Creación de disparadores (Trigger´s). 2.2.3. Creación de procedimientos almacenados. 2.3. Definición del esquema de seguridad. 2.3.1. Creación de usuarios de la base de datos. 2.3.2. Asignación de privilegios sobre los objetos de información.
  • 6. Temario 2.4. Definición del esquema de recuperación. 2.4.1. Diseño y creación de la bitácora. 2.4.2. Recuperación a partir de la bitácora. 2.4.3. Respaldar bases de datos. 2.1.4. Recuperar bases de datos. 2.5. Diseño y procesamiento de transacciones. 2.5.1. Definición de transacciones en lenguaje huésped. 2.5.2. Ejecución de transacciones planas en el gestor de bases de datos. 2.5.3. Ejecución de transacciones anidadas.
  • 7. Temario 3. Tecnologías de conectividad a base de datos. 3.1. ODBC. 3.1.1. Terminología y conceptos. 3.1.2. Administrador de orígenes de datos ODBC. 3.1.3. Instalación y configuración del driver acorde al gestor de bases de datos. 3.2. ADO.NET 3.2.1. Terminología y conceptos. 3.2.2. Componentes disponibles. 3.2.2.1. Connection. 3.2.2.2. Command. 3.2.2.3. Recordsource. 3.2.2.4. Error. 3.2.3. Prototipo de aplicaciones con conectividad a bases de datos. 3.3. JDBC 3.3.1. Terminología y conceptos. 3.3.2. SQL y JDBC. 3.3.2.1. Jerarquía de clases java.sql.*. 3.3.2.2. Interface java.sql.connection.
  • 8. Temario 3.3.2.3. Interface java.sql.statement 3.3.2.4. Interface java.sql.resultset 3.3.1.5. Jerarquía de clases javax.sql.* 3.3.3. Instalación y configuración del driver acorde al gestor de base de datos. 3.3.4. Prototipo de aplicaciones con conectividad a base de datos.
  • 9. Referencias 1. C. J. Date. Introduction to Data Base Systems, Volumen II. Ed. Addison – Wesley Iberoamericana. 2. James R. Groff, Paul N. Weinberg. Aplique SQL. Ed. Mc Garw Hill. 3. Mukhar, Kevin, et.al. Fundamentos de bases de datos con Java. Ed. Wrox/Anaya Multimedia, 2002. 4. Navathe. Fundamentos de Bases de Datos. Ed. Addison Wesley 1999. 5. Deitel Harvey M., et.al. Visual Basic .NET for Experience Programmers. Ed. Microsoft Press, 2002. 6. Balena, Francesco. Programming Microsoft Visual Basic .NET. Ed. Microsoft Press, 2002. 7. Sceppa, David. Microsoft ADO.NET. Ed. Microsoft Press, 2002. 8. Worsley John.,et.al. Practical Postgresql. Ed. Command prompt Inc. 2002 9. Korry Douglas.,et.al. PostgreSQL. Ed. O'Reilly & Associates, 2003.
  • 10. Bibliografía 10. Nielsen Paul. Microsoft SQL Server 2000 Bible. Ed. John Wiley & Sons, 2002. 11. Houlette Forrest. Fundamentos de SQL.Para programadores. Ed. Mc Graw Hill, 2001. 12. Nielsen Paul. DeVry College of Technology and Monroe College Database Systems Using Oracle: A Simplified Guide to SQL and PL/SQL. Ed. Prentice Hall. 13. Ray Ranking Paul Jensen Paul Bertucci. Microsoft SQL Server 2000 Unleashed, 2/E 2003. Ed. Que/Sams. 14. Steve Holzner. Microsoft Visual C#.NET 2003 Kick Start 2003. Ed. Que/Sams. 15. Buck Woody. Essential SQL Server™ 2000: And Administration Handbook 2002. Ed. Addison Wesley Professional. 16. Pérez, C. Domine Microsoft SQL Server 2000 Administración y Análisis de Bases de Datos. Ed. Alfaomega-RAMA. 17. Pérez, C. ORACLE 9i Administración y Análisis de Bases de Datos. Ed. Alfaomega-RAMA. 18. Melton, Jim y Eisenberg, Andrew. SQL Y JAVA Guía para SQLJ, JDBC y Tecnologías Relacionadas. Ed. Alfaomega-RAMA.
  • 11. Bibliografía 19. Jeffrey P. McManus Chris Kinsman. C# Developer's Guide to ASP.NET, XML, and ADO.NET 2002. Ed. Addison Wesley Professional. Referencias en Internet www.bivitec.org.mx www.javasun.com
  • 13. Reglas de convivencia • No consumir alimentos en clase. • Se pasará lista pasados 4 minutos de la hora de inicio. • No se permite el uso de computadores o dispositivos móviles en clase, a menos que se indique por el instructor. •Respeto entre maestro-alumno, alumno- alumno.
  • 14. Sistema gestor de base de datos Los Sistemas de gestión de base de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. SGBD o DBMS (Data base manager system) Usuario Base de datos Se compone de un: • lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en inglés), •SQL • de un lenguaje de manipulación de datos y • de un lenguaje de consulta.
  • 16. Acrónimos SGBD: Sistema Gestor de Base de Datos DBMS: Data Base Manegement System
  • 17. Finalidad del DBMS Abstracción de la información.  Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Independencia.  Capacidad de modificar el esquema (físico o lógico) sin tener que realizar cambios en las aplicaciones que se sirven de ella.
  • 18. Finalidad del DBMS Redundancia mínima.  Evitar la aparición de información repetida o redundante. Consistencia.  Vigilar que aquella información que aparece repetida se actualice de forma coherente.
  • 19. Finalidad del DBMS Seguridad.  Gran valor de los datos. SGBD garantizar que esta información se encuentra asegurada frente a usuarios malintencionados  SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.
  • 20. Finalidad del DBMS Integridad.  Adoptar las medidas necesarias para garantizar la validez de los datos almacenados.  Proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados. Respaldo y recuperación.  Proporcionar una forma eficiente de realizar copias de seguridad de la información almacenada.  Restaurar a partir de estas copias los datos que se hayan podido perder.
  • 21. Finalidad del DBMS Control de la concurrencia.  Son muchas las personas que acceden a una base de datos.  SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias. Tiempo de respuesta.  Minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.
  • 22. Finalidad de DBMS 1.Abstracción de la información. 2.Independencia. 3.Redundancia mínima. 4.Consistencia. 5.Seguridad. 6.Integridad. 7.Respaldo y recuperación. 8.Control de la concurrencia. 9.Tiempo de respuesta. En resumen
  • 24. DBMS a utilizar SQL Server 2008 Developer Edition o superior MySQL SQL (lenguaje estructurado de Consultas o Structured Query Language ). >>>SQL2008<<<
  • 25. Instalación de SQL Server Instalación de SQL Server. Instalación de MySQL.
  • 26. Configuración de SQL Server 000.2 Configuración del servicio de SQLServer
  • 27. Tarea 1 En equipo se investigará acerca de uno de los SGBD listados anteriormente. Se presentará por equipo las características de cada gestor, el resumen general (donde se incluya información extraída de otras presentaciones) contará como tarea y se subirá a la plataforma Dropbox el día que se especifique.
  • 28. Elementos de la Presentación Portada Introducción Antecedentes del Gestor de Bases de Datos Características Entorno Conclusiones Referencias o fuentes de información
  • 30. 1.2.1 De creación de bases de datos (ControlEscolar)
  • 31. 1.2.2 De administración de base de datos Administrador de bases de datos (DBA)  Define, maneja y controla las bases de datos,  proporciona asesoría a los desarrolladores, usuarios y ejecutivos que la requieran.  tiene experiencia en DBMS, diseño de bases de datos, Sistemas operativos, comunicación de datos, hardware y programación, nociones de administración, manejo de personal e incluso un cierto grado de diplomacia.
  • 32. 1.2.2 De administración de base de datos Responsabilidades del DBA  Administrar la estructura de la Base de Datos.  Administrar la actividad de los datos.  Administrar el Sistema Manejador de Base de Datos.  Establecer el Diccionario de Datos.  Asegurar la confiabilidad de la Base de Datos.  Confirmar la seguridad de la Base de Datos.
  • 33. 1.2.2 De administración de base de datos Objetivos del DBA  Mantener la Integridad de los Datos.  Mantener la Seguridad de los Datos.  Mantener la Disponibilidad de los Datos.
  • 34. 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 35. 1.2.3 De edición para crear esquemas y consultas de bases de datos Componentes de SQL • Comandos, • Cláusulas, • Operadores, • Funciones. Se combinan en las instrucciones para crear, actualizar y manipular bases de datos.
  • 36. Comandos SQL (DDL y DML) 1.2.3 De edición para crear esquemas y consultas de bases de datos • DDL (Data Definition Language ) permite crear y definir nuevas bases de datos, campos e índices. Comandos DDL Comando Descripción CREATE Utilizado para crear nuevas tablas, campos e índices. DROP Empleado para eliminar tablas e índices. ALTER Utilizado para modificar las tablas agregando campos o combinando la definición de los campos. Componentes de SQL
  • 37. Comandos SQL (DDL y DML) Comandos DML Comando Descripción SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. 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 table de una table de una base de datos. Componentes de SQL 1.2.3 De edición para crear esquemas y consultas de bases de datos • DML (Data Manipulation Language) permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
  • 38. Cláusulas 1.2.3 De edición para crear esquemas y consultas de bases de datos • Son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular. Cláusula Descripción 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 Componentes de SQL
  • 39. Operadores Lógicos 1.2.3 De edición para crear esquemas y consultas de bases de datos 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. Componentes de SQL
  • 40. Operadores de comparación 1.2.3 De edición para crear esquemas y consultas de bases de datos Operador Uso < Menor que > Mayor que <= Menor ó Igual que >= Mayor ó Igual que = Igual que <>, != Diferente !< No menor que !> No mayor que BETWEEN Utilizado para especificar un intervalo de valores. LIKE Utilizado en la comparación de un modelo. In Utilizado para especificar registros de una base de datos. Componentes de SQL
  • 41. Funciones de agrupamiento 1.2.3 De edición para crear esquemas y consultas de bases de datos Componentes de SQL •Se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un conjunto de registros. Función 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. 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.
  • 42. Tipos de datos 1.2.3 De edición para crear esquemas y consultas de bases de datos Cada columna, variable local, expresión y parámetro dispone de un tipo de dato. SQL Server suministra el siguiente conjunto de tipos de datos:
  • 43. Tipos de datos carácter 1.2.3 De edición para crear esquemas y consultas de bases de datos Tipos de datos
  • 44. Tipos de datos numéricos 1.2.3 De edición para crear esquemas y consultas de bases de datos Tipos de datos
  • 45. Tipos de datos numéricos 1.2.3 De edición para crear esquemas y consultas de bases de datos Tipos de datos
  • 46. Tipo de datos fecha/hora 1.2.3 De edición para crear esquemas y consultas de bases de datos Tipos de datos
  • 47. Otros tipos de datos 1.2.3 De edición para crear esquemas y consultas de bases de datos Tipos de datos
  • 48. Estructura de las tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Apellidos Nombre Empleados 25 50
  • 49. Estructuras de las tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 50. 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 51. Estructuras de las tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 52. Abrir el Administrador de SQL- Server (SQL Server Management Studio) Crear Base de Datos Empresa Crear tabla Empleados
  • 53. ¿Cómo crearías la base de datos? CREATE DATABASE Empresa
  • 54. Crear tabla Crea una nueva tabla llamada Empleados con dos campos, uno llamado Nombre con longitud 25 y otro llamado Apellidos con longitud 50. 1.2.3 De edición para crear esquemas y consultas de bases de datos Apellidos Nombre Empleados 25 50 CREATE TABLE dbo.Empleados ( Nombre VARCHAR (25), Apellidos VARCHAR (50) ) GO
  • 55. 1.2.3 De edición para crear esquemas y consultas de bases de datos Crea una nueva tabla llamada Empleados2 con un campo Nombre con longitud 10, otro con llamado Apellidos longitud 50 y uno más llamado Fecha_Nacimiento de tipo Fecha/Hora. También crea una restricción que no permite valores repetidos para los tres campos. Crear tabla CREATE TABLE dbo.Empleados2 ( Nombre VARCHAR (10), Apellidos VARCHAR (50), Fecha_Nacimiento DATETIME, CONSTRAINT valor_unico UNIQUE ([Nombre], [Apellidos], [Fecha_Nacimiento]) ) GO
  • 56. Crear tabla Crea una tabla llamada Empleados3 con un campo de longitud 20 llamado Nombre, otro llamado Apellidos de longitud 25, otro campo llamado Fecha_Nacimiento de tipo Fecha/Hora y por ultimo un ID de tipo entero el que establece como llave primaria. 1.2.3 De edición para crear esquemas y consultas de bases de datos CREATE TABLE dbo.Empleado3 ( ID INT PRIMARY KEY, Nombre VARCHAR(20), Apellidos VARCHAR(25), Fecha_Nacimiento DATETIME, CONSTRAINT valor_unico2 UNIQUE ([Nombre], [Apellidos], [Fecha_Nacimiento] )
  • 57. Añadir registros a las tablas Para agrega uno o varios registros en una tabla se puede realizar por medio de dos procedimientos: 1.la primera es Insertar un único registro, 2.la segunda es Insertar en una tabla los registros contenidos en otra tabla. INSERT INTO [nombre_BaseDeDatos.][ dueño.] nombre_tabla (campo1, campo2, .., campoN) VALUES (valor1, valor2, ..., valorN) 1. Insertar un único Registro 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 58. Añadir registros a las tablas Inserte a la tabla Empleados a “Ramón Pérez Jiménez”. INSERT INTO dbo.Empleados3 (ID, Nombre, Apellidos ,Fecha_Nacimiento) VALUES (121, 'Ramón', 'Pérez Jiménez‘, '1990-06-12 00:00:00') GO Inserte a la tabla Empleados3 a “Rosa Ramírez García”, con fecha de nacimiento 12 de Julio de 1990. INSERT INTO Empleados3 (ID, Nombre, Apellidos, Fecha_Nacimiento) VALUES (122, 'Rosa', 'Ramírez García', '1990-06-12 00:00:00' ) 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 59. Añadir registros a las tablas Inserte a la tabla Empleados el trabajador “Alberto Medina Ruiz”, con ID 295 y fecha de nacimiento 25 de Agosto de 1998 a 4:05 pm. INSERT INTO dbo.Empleados (ID, Nombre, Apellidos, Fecha_Nacimiento) VALUES (295, ‘Alberto’, ‘Medina Ruiz’, ‘1998-08-12 16:05:00’ ) GO 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 61.
  • 62. 1 Crear la Base de Datos ControlEscolar CREATE TABLE dbo.Carreras ( NoC INT IDENTITY (1, 1) PRIMARY KEY, NombreC varchar (20), CONSTRAINT valor_unico UNIQUE ([NoC], [NombreC]) ) CREATE TABLE dbo.Alumnos ( NC INT PRIMARY KEY, NombreA VARCHAR(50), Sexo VARCHAR(1), Domicilio VARCHAR(50), Edad TINYINT, NoC INT FOREIGN KEY (NoC) REFERENCES Carreras) Antes de crear la tabla Alumnos debemos de crear la tabla Carrera 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 63. Añadir registros a las tablas Inserte los registros de la base de datos Carrera INSERT INTO dbo.Carreras(NombreC) VALUES('Ingenieria Civil') INSERT INTO Carreras VALUES('Abogado') INSERT INTO dbo.Carreras(NombreC) VALUES('Lic. en Admón.') INSERT INTO Carreras VALUES('Contador Publico') GO 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 64. INSERT INTO Materias (NM, NombreM) VALUES(‘M5A’,’Matemáticas I ‘), (‘D38’,´Derecho Laboral´), (‘C1C’,’Contabilidad’), (‘E7H’,’Estadística’) Select * from Alumnos Select * from Alumnos
  • 65. 2 Inserte a la tabla Alumnos las dos primeras tuplas INSERT INTO dbo.Alumnos VALUES(76, 'Jose Martinez', 'M', 'Fresno # 503', 22, 1) INSERT INTO dbo.Alumnos VALUES(95, 'Ramon Ramos', 'M', 'Valle # 301', 23, 1) INSERT INTO dbo.Alumnos VALUES( , '', '', '', ,) , ( , '', '', '', ,), … ( , '', '', '', ,) 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 66. Añadir registros a las tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos 2. la segunda es Insertar en una tabla los registros contenidos en otra tabla. INSERT INTO [nombre_BaseDeDatos.][ dueño.] nombre_tabla (campo1, campo2, .., campoN) SELECT Campo1, Campo2, ..., CampoN FROM TablaOrigen Si Tabla y TablaOrigen poseen la misma estructura podemos simplificar la sintaxis a: INSERT INTO [nombre_BaseDeDatos.][ dueño.] Alumnos2 SELECT * FROM Alumnos
  • 67. Inserta registros en otra tabla que se crea automáticamente SELECT NoC, NombreC INTO Carrera2 FROM Carreras ORDER BY NombreC
  • 68. Práctica 1 (Tarea 2) Crear en MySQL la Base de Datos Control Escolar, de acuerdo a como se especifica en el modelo relacional. Además insertar la información que se específica en las tablas.
  • 69. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] La sintaxis de una consulta de selección es la siguiente:
  • 70. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] Especifica las columnas que va a devolver la consulta.
  • 71. Consultas a las Tablas SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] Crea una nueva tabla e inserta en ella las filas resultantes de la consulta. 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 72. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] Especifica las tablas de las que se van a obtener filas. La cláusula FROM es necesaria excepto cuando la lista de selección sólo contiene constantes, variables y expresiones aritméticas (no nombres de columna).
  • 73. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] Especifica una condición de búsqueda para restringir las filas que se van a devolver.
  • 74. Consultas a las Tablas SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] Especifica los grupos en los que se van a colocar las filas de salida y, si se incluyen funciones de agregado en la cláusula SELECT selección, calcula el valor de resumen de cada grupo.
  • 75. Consultas a las Tablas SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] Especifica una condición de búsqueda de un grupo o agregado. Normalmente, HAVING se utiliza con la cláusula GROUP BY. Cuando no se utiliza GROUP BY, HAVING se comporta como la cláusula WHERE.
  • 76. Consultas a las Tablas SELECT selección [ INTO nueva_tabla ] FROM tabla_fuente [ WHERE condición ] [ GROUP BY grupo ] [ HAVING condición_grupo ] [ ORDER BY expresión [ ASC | DESC ] ] Especifica el orden del conjunto de resultados.
  • 77. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Cláusula SELECT y sus Argumentos
  • 78. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Específica que pueden aparecer filas duplicadas en el conjunto de resultados. ALL es el valor predeterminado. Cláusula SELECT
  • 79. Consultas a las Tablas SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Específica que sólo pueden aparecer filas exclusivas en el conjunto de resultados. Los valores NULL se consideran iguales a efectos de la palabra clave DISTINCT. 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula SELECT
  • 80. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Especifica que sólo se van a utilizar las primeras n filas del conjunto de resultados de la consulta; n es un valor entero entre 0 y 4294967295. Si también se especifica PERCENT, sólo se va a utilizar el primer n por ciento de filas del conjunto de resultados. Cuando se especifica con PERCENT, n debe ser un entero entre 0 y 100. . Cláusula SELECT
  • 81. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Cláusula SELECT Son las columnas que se van a seleccionar para el conjunto de resultados. La lista de selección es una serie de expresiones separadas por comas. .
  • 82. Consultas a las Tablas SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Cláusula SELECT 1.2.3 De edición para crear esquemas y consultas de bases de datos Especifica que se deben devolver todas las columnas de todas las tablas y vistas de la cláusula FROM. Las columnas se devuelven por tabla o vista, tal como se especifique en la cláusula FROM, en el orden en que se encuentran en la tabla o vista.
  • 83. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Cláusula SELECT Limita el alcance de * a la tabla o vista especificada.
  • 84. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Cláusula SELECT Es el nombre de una columna que se va a devolver.
  • 85. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Cláusula SELECT Es un nombre de columna, constante, función, o una combinación de nombres de columnas, constantes y funciones conectados mediante operadores, o una subconsulta.
  • 86. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT [ ALL | DISTINCT ] [ TOP n [PERCENT] ] < Selección > < Selección > ::= { * | { nombre_tabla | nombre_vista | alias }.* | { nombre_columna | expresión } [ [ AS ] alias_columna ] | alias_columna Cláusula SELECT Es un nombre alternativo para reemplazar el nombre de la columna en el conjunto de resultados de la consulta.
  • 87. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Especifica las tablas de las que se van a obtener filas. La cláusula FROM es necesaria excepto cuando la lista de selección sólo contiene constantes, variables y expresiones aritméticas (no nombres de columna). Cláusula FROM
  • 88. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula FROM (Sintaxis) [ FROM { < tabla_fuente > } [ ,...n ] ] < tabla_fuente > ::= tabla_fuente [ [ AS ] alias ] | nombre_vista [ [ AS ] alias ] | < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > Especifica el nombre de una tabla y un alias opcional.
  • 89. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula FROM (Sintaxis) [ FROM { < tabla_fuente > } [ ,...n ] ] < tabla_fuente > ::= tabla_fuente [ [ AS ] alias ] | nombre_vista [ [ AS ] alias ] | < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > Especifica el nombre de una vista y un alias opcional.
  • 90. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula FROM (Sintaxis) [ FROM { < tabla_fuente > } [ ,...n ] ] < tabla_fuente > ::= tabla_fuente [ [ AS ] alias ] | nombre_vista [ [ AS ] alias ] | < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > Indica que las tablas o vistas especificadas deben combinarse.
  • 91. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula FROM (Sintaxis) [ FROM { < tabla_fuente > } [ ,...n ] ] < tabla_fuente > ::= tabla_fuente [ [ AS ] alias ] | nombre_vista [ [ AS ] alias ] | < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > Nombre de la tabla de unión.
  • 92. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula FROM (Sintaxis) [ FROM { < tabla_fuente > } [ ,...n ] ] < tabla_fuente > ::= tabla_fuente [ [ AS ] alias ] | nombre_vista [ [ AS ] alias ] | < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 > Especifica la condición en la que se basa la combinación. La condición puede especificar cualquier predicado, aunque se suelen utilizar columnas y operadores de comparación.
  • 93. 3. Liste Número de Control y Nombres de los Alumnos Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT NC, NombreA FROM Alumnos SELECT NC AS 'No. de control', NombreA as 'Nombre del Alumno' FROM Alumnos
  • 94. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Especifica una condición de búsqueda para restringir las filas que se van a devolver. Cláusula WHERE
  • 95. Consultas a las Tablas [ WHERE < condición> | < unos_otros > ] < izq_der > ::= nombre_columna { * = | = * } nombre_columna 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula WHERE (Sintaxis) Limita las filas devueltas en el conjunto de resultados mediante el uso de predicados. No hay límite en el número de predicados que se pueden incluir en una condición de búsqueda.
  • 96. Consultas a las Tablas [ WHERE < condición> | < unos_otros > ] < izq_der > ::= nombre_columna { * = | = * } nombre_columna 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula WHERE (Sintaxis) Se utiliza el operador *= para especificar una combinación externa izquierda y el operador =* para especificar una combinación externa derecha. Ejemplo: especifica una combinación externa izquierda en que las filas de Tab1 que no cumplen la condición especificada se incluyen en el conjunto de resultados: SELECT Tab1.name, Tab2.id FROM Tab1, Tab2 WHERE Tab1.id *=Tab2.id
  • 97. 4. Liste los Nombres de los Alumnos que tenga una edad entre 22 a 24 años. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT NombreA , Edad FROM Alumnos WHERE Edad >= 22 AND Edad <= 24
  • 98. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Para indicar que deseamos recuperar los registros según el intervalo de valores de un campo emplearemos el operador BETWEEN. Rango de registros
  • 99. Consultas a las Tablas Campo [ NOT ] BETWEEN expresión_inicio AND expresión_fin Campo Se trata de la expresión que se va a probar en el intervalo definido mediante expresión_inicio y expresión_fin. El argumento Campo debe ser del mismo tipo de datos que los argumentos expresión_inicio y expresión_fin. 1.2.3 De edición para crear esquemas y consultas de bases de datos Rango de registros BETWEEN (Sintaxis) NOT Específica que se niega el resultado del predicado. expresión_inicio Valor inicial. expresión_fin Valor final.
  • 100. Consultas a las Tablas Ejemplos: SELECT * FROM Alumnos WHERE Edad Between 22 And 24 SELECT * FROM Alumnos WHERE Edad NOT Between 22 And 24 1.2.3 De edición para crear esquemas y consultas de bases de datos Rango de registros BETWEEN (Sintaxis)
  • 101. Listaremos nombres de los Alumnos que tenga una edad entre 22 a 24 años utilizando el BETWEEN. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas SELECT NombreA, Edad FROM Alumnos WHERE Edad BETWEEN 22 AND 24
  • 102. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Determina si una cadena de caracteres dada coincide o no con un determinado modelo. Operador LIKE
  • 103. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Operador LIKE (Sintaxis) Expresión_comparar [ NOT ] LIKE patrón [ ESCAPE carácter_escape ] Expresión_comparar Es cualquier expresión SQL Server válida del tipo de datos cadena de caracteres. patrón Es el modelo que se va a buscar y puede incluir cualquiera de los siguientes caracteres comodín: Carácter Descripción % Cualquier cadena de cero o más caracteres. _ Cualquier carácter individual. [ ] Cualquier carácter individual que se encuentre en el intervalo o el conjunto especificado. [ ^ ] Cualquier carácter individual que no se encuentre en el intervalo
  • 104.
  • 105. Consultas a las Tablas carácter_escape Carácter que le precede a un carácter especial para quitarle esa propiedad. 1.2.3 De edición para crear esquemas y consultas de bases de datos Operador LIKE (Sintaxis) Expresión_comparar [ NOT ] LIKE patrón [ ESCAPE carácter_escape ]
  • 106. Liste de la tabla Empleados3 los registros que el primer apellido sea Ramírez. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Liste de la tabla Empleados3 los registros que el segundo apellido comience con la letra J. SELECT * FROM Alumnos WHERE NombreA LIKE ‘% Jimenez%’ SELECT * FROM Empleados WHERE Apellidos LIKE '% J%' LIKE Arc: Consulta_1_2_Empleados
  • 107. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas LIKE Qué pasaría si existieran apellidos con j minúscula, dado a que no cumplen el patrón no serían listado, por tal motivo para listar los dos casos se realizaría de la siguiente forma: Arc: Consulta_3_Empleados SELECT * FROM Empleados WHERE Apellidos LIKE ‘% [Jj]%’ SELECT * FROM Empleados WHERE Apellidos LIKE ‘% [^Jj]%’ Liste de la tabla Empleados los registros que el segundo apellido no comience con la letra J.
  • 108. Fernández o Hernández ya sea con mayúscula o minúscula. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas LIKE Liste los empleados que contenga un guión de piso en el campo apellido SELECT * FROM Empleados WHERE Apellidos LIKE ‘_ernández %’ SELECT * FROM Empleados WHERE Apellidos LIKE ‘%_%’ Arc: Consulta_4_Empleados
  • 109. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas LIKE Este ejemplo listaría todos los registros de la tabla Empleados, porque todos cumplen con el patrón, recordemos que el carácter ‘_’ tiene un significado especial en SQL, para quitárselo debemos utilizar una carácter de escape, de la siguiente forma: Arc: Consulta_4_Empleados SELECT * FROM Empleados WHERE Apellidos LIKE ‘%!_%’ ESCAPE ´!´ SELECT * FROM Empleados WHERE Apellidos LIKE ‘%!%’ ESCAPE ´!´ Busca Apellidos que contengan el carácter %. Pero no existe, por lo tanto no lista ningúno.
  • 110. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas LIKE Liste los alumnos cuyo apellido comience con la letra R. Arc:Seleccion3 SELECT * FROM Alumnos WHERE NombreA LIKE '% [Rr]%' SELECT * FROM Alumnos WHERE NombreA LIKE '[Rr]%'
  • 111. Ejercicios Liste el nombre de todos aquellos alumnos que están en la carrera de Ingeniería Civil. Liste el nombre de todos aquellos alumnos que son mujeres. Liste el nombre de todos aquellos alumnos cuyo apellino inicie con R o r.
  • 112. Subconsultas 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Es una consulta SELECT que devuelve un valor único y está anidada en una instrucción SELECT, INSERT, UPDATE o DELETE, o dentro de otra subconsulta. Una subconsulta se puede utilizar en cualquier parte en la que se permita una expresión. La consulta SELECT de una subconsulta se incluye siempre entre paréntesis. Las instrucciones que incluyen una subconsulta normalmente tienen uno de estos formatos:
  • 113. Subconsultas 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas • WHERE expression [NOT] IN (subconsulta) • WHERE expression { = | <> | != | > | >= | !> | < | <= | !< } [SOME | ANY | ALL] (subconsulta) • WHERE [NOT] EXISTS (subconsulta)
  • 114. Ejercicio SELECT NC, NombreA FROM Alumnos WHERE NC IN (SELECT NC FROM Grupos) Arc: Consulta_7_Alumnos_y_Grupos 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Liste los nombres de los alumnos que están inscritos(en al menos un grupo).
  • 115. 5. Liste los nombres de los Catedráticos que no imparten clases SELECT NombreC FROM Catedraticos WHERE NCC NOT IN (SELECT NCC FROM Grupos) Arc: Consulta_8_Catedraticos_y_Grupos 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas
  • 116. Utilizar combinaciones cruzadas 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Una combinación cruzada que no tenga una cláusula WHERE produce el producto cartesiano de las tablas involucradas en la combinación. El tamaño del conjunto de resultados es de número de filas de la primera tabla (N) x por el número de filas de la segunda tabla (M) . N x M
  • 117. Utilizar combinaciones cruzadas 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas SELECT * FROM Alumnos, Carrera Arc: Consulta_9_Producto_Alumnos_Carrera
  • 118. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas 6. Liste el Número de Control, Nombre del Alumno y Nombre de Carrera de todos los Alumnos. SELECT NC, NombreA, NombreC FROM Alumnos A, Carreras C WHERE A.NoC = C.NoC SELECT NC, NombreA, NombreC FROM Alumnos A INNER JOIN Carreras C ON A.NoC = C.NoC Arc: Consulta_9_Producto_Alumnos_Carrera_2
  • 119. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusula GROUP BY Sintaxis [ GROUP BY grupo [ ,...n ] ] Grupo Es la expresión en la que se realiza el agrupamiento; grupo también se conoce como columna de agrupamiento y puede ser una columna o una expresión diferente a una de agregado, que hace referencia a una columna. No se puede utilizar un alias de columna en la lista de selección para especificar una columna de agrupamiento.
  • 120. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Agrupar alumnos por número de carrera Arc: Consulta_5_Emp1eados_1 SELECT NoC FROM Alumnos GROUP BY NoC SELECT NoC,NombreA FROM Alumnos GROUP BY NoC,NombreA
  • 121. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Funciones de agregado Las funciones de agregado realizan un cálculo sobre un conjunto de valores y devuelven un solo valor. Las funciones de agregado se suelen utilizar con la cláusula GROUP BY de la instrucción SELECT. COUNT Devuelve el número de elementos de un grupo. AVG Devuelve la media de los valores de un grupo. Los valores nulos se pasan por alto. MAX Devuelve el valor máximo de la expresión. MIN Devuelve el valor mínimo de la expresión. SUM Devuelve la suma de todos los valores, sólo puede utilizarse con columnas numéricas. Los valores nulos se pasan por alto.
  • 122. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Funciones de agregado Ventas Factura NoV Fecha Monto 1202 25 10/01/2007 2500 1203 33 10/01/2007 3000 1204 43 12/01/2007 5000 1205 25 10/02/2007 1000 1206 25 12/02/2007 1200 1207 33 15/02/2007 2000 1208 25 07/03/2007 500 1209 45 10/03/2007 4000 1210 25 15/04/2007 1400 De la tabla Ventas, liste por cada vendedor, cuantas ventas realizó, el monto total, el monto de la venta máxima y el monto de la venta mínima. Arc: Consulta_5_Empleados SELECT NoV, COUNT(*) AS [No. de ventas], SUM(Monto) AS [Monto Total], MAX(Monto) AS [Monto Máximo], MIN(Monto) AS [Monto Mínimo] FROM Ventas GROUP BY NoV
  • 123. 7. De cada grupo liste Número de grupo, Nombre del Catedrático, Nombre de la Materia, Número de Alumnos, Calificación Máxima, Calificación Mínima y Promedio. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Arc: Consulta_11_PromedioAlumnos SELECT NG, G.NCC, C.NombreC, G.NM, M.NombreM, COUNT(*) AS [No de Alumnos], MAX(Calificación) AS [CAL.MAX], MIN(Calificación) AS [CAL. MIN], AVG(Calificación) AS [PROMEDIO] FROM Grupos G, Catedraticos C, Materias M WHERE G.NCC = C.NCC AND G.NM = M.NM GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM FIN
  • 124. 7. De cada grupo liste Número de grupo, Nombre del Catedrático, Nombre de la Materia, Número de Alumnos, Calificación Máxima, Calificación Mínima y Promedio. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Otra solución SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM, COUNT(*) AS [No de Alumnos], MAX(Calificacion) AS [CAL.MAX], MIN(Calificacion) AS [CAL. MIN], AVG(Calificacion) AS [PROMEDIO] FROM Grupos G INNER JOIN Catedraticos C ON G.NCC = C.NCC INNER JOIN Materias M ON G.NM = M.NM GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM Arc: Consulta_11_PromedioAlumnos_2
  • 125. 7. De cada grupo liste Número de grupo, Nombre del Catedrático, Nombre de la Materia, Número de Alumnos, Calificación Máxima, Calificación Mínima y Promedio. SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM, COUNT(*) AS [No de Alumnos], MAX(Calificación) AS [CAL.MAX], MIN(Calificación) AS [CAL. MIN], AVG(Calificación) AS [PROMEDIO] FROM Grupos G, Catedraticos C, Materias M WHERE G.NCC = C.NCC AND G.NM = M.NM GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM, COUNT(*) AS [No de Alumnos], MAX(Calificacion) AS [CAL.MAX], MIN(Calificacion) AS [CAL. MIN], AVG(Calificacion) AS [PROMEDIO] FROM Grupos G INNER JOIN Catedraticos C ON G.NCC = C.NCC INNER JOIN Materias M ON G.NM = M.NM GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Comparación
  • 126.
  • 127. 8. De cada grupo liste Número de grupo, Número del Catedrático, Número de Materia y Alumnos acreditados(igual o superior a 70). 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Arc: Consulta_12 SELECT NG, NCC, NM, COUNT(*) AS [No de Alumnos Acreditados] FROM Grupos WHERE Calificacion >= 70 GROUP BY NG, NCC, NM
  • 128. Funciones de agregado solo con SELECT SELECT COUNT(*) AS [Número de Alumnos ]FROM Alumnos SELECT MIN(NC) FROM Alumnos SELECT MAX(NC) FROM Alumnos SELECT AVG(NC) FROM Alumnos SELECT SUM(NC) FROM Alumnos
  • 129. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Especifica una condición de búsqueda de un grupo o agregado. Normalmente, HAVING se utiliza con la cláusula GROUP BY. Cuando no se utiliza GROUP BY, HAVING se comporta como la cláusula WHERE. Cláusulas HAVING
  • 130. Consultas a las Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos Cláusulas HAVING (Sintaxis) [ HAVING < condición_grupo > ] Especifica la condición de búsqueda del grupo o del agregado que se debe cumplir. NOTA: No se puede utilizar los tipos de datos text, image y ntext en una cláusula HAVING.
  • 131. De la tabla Ventas, liste por cada vendedor, cuantas ventas realizó, el monto total, el monto de la venta máxima y el monto de la venta mínima, pero solo de aquellos montos totales entre 6000 a 10000. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Arc: Consulta_6_Empleados SELECT NoV, COUNT(*) AS [No. de ventas], SUM(Monto) AS [Monto Total], MAX(Monto) AS [Monto Máximo], MIN(Monto) AS [Monto Mínimo] FROM Ventas GROUP BY NoV HAVING SUM(Monto) BETWEEN 6000 AND 8000 Ventas Factura NoV Fecha Monto 1202 25 10/01/2007 2500 1203 33 10/01/2007 3000 1204 43 12/01/2007 5000 1205 25 10/02/2007 1000 1206 25 12/02/2007 1200 1207 33 15/02/2007 2000 1208 25 07/03/2007 500 1209 45 10/03/2007 4000 1210 25 15/04/2007 1400
  • 132. 9. De cada grupo liste Número de grupo, Número del Catedrático, Número de Materia y Promedio, pero solo de aquellos grupos donde el promedio sea mayor a 80. 1.2.3 De edición para crear esquemas y consultas de bases de datos Consultas a las Tablas Arc: Consulta_13 SELECT NG, NCC, NM, AVG(Calificacion) AS [Promedio del Grupo] FROM Grupos GROUP BY NG, NCC, NM HAVING AVG(Calificacion) > 80
  • 133. 9. De cada grupo liste Número de grupo, Número del Catedrático, Número de Materia y Promedio, pero solo de aquellos grupos donde el promedio sea mayor a 80. SELECT NG, NCC, G.NM, NombreM AVG(Calificacion) AS [Promedio del Grupo] FROM Grupos G, Materias M WHERE G.NM=M.NM GROUP BY NG, NCC, G.NM, NombreM HAVING AVG(Calificacion) > 80
  • 134. Consultas a las Tablas Especifica el orden del conjunto de resultados. La cláusula ORDER BY no es válida en vistas, funciones en línea, tablas derivadas ni subconsultas, salvo que se especifique también TOP. Cláusula ORDER BY 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 135. Consultas a las Tablas [ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] Cláusula ORDER BY (Sintaxis) 1.2.3 De edición para crear esquemas y consultas de bases de datos Especifica la columna según la que se ordenará. Se puede especificar una columna de orden como un nombre o alias de columna (que puede estar calificado con el nombre de una tabla o vista), una expresión o un entero no negativo que representa la posición del nombre, alias o expresión en la lista de selección.
  • 136. Consultas a las Tablas [ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] Cláusula ORDER BY (Sintaxis) 1.2.3 De edición para crear esquemas y consultas de bases de datos Se puede especificar varias columnas de orden. La secuencia de columnas de orden en la cláusula ORDER BY define la estructura del conjunto ordenado de resultados. Nota: Las columnas de tipo ntext, text o image no se pueden utilizar en una cláusula ORDER BY.
  • 137. Consultas a las Tablas [ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] Cláusula ORDER BY (Sintaxis) 1.2.3 De edición para crear esquemas y consultas de bases de datos Indica que los valores de la columna especificada se deben ordenar de manera ascendente, desde el valor más bajo al más alto.
  • 138. Consultas a las Tablas [ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ] Cláusula ORDER BY (Sintaxis) 1.2.3 De edición para crear esquemas y consultas de bases de datos Indica que los valores de la columna especificada se deben ordenar de manera descendente, desde el valor más alto al valor más bajo. Nota: Los valores NULL se tratan como los valores de menor denominación.
  • 139. Consultas a las Tablas Cláusula ORDER BY (Sintaxis) 1.2.3 De edición para crear esquemas y consultas de bases de datos SELECT Nov FROM Ventas GROUP BY Nov ORDER BY Nov DESC SELECT Nov FROM Ventas GROUP BY Nov ORDER BY Nov ASC Arc: Consulta_Order_By
  • 140. Quitar filas de las tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos DELETE (Sintaxis) DELETE FROM { < nombre_tabla > } [ ,...n ] [ WHERE { < condición_búsqueda > } ] Nombre de la tabla o vista a la que se le borraran las filas. Condición para borrar los registros.
  • 141. Borrar de la tabla ventas las filas que tienen un monto menor a 1000 pesos. 1.2.3 De edición para crear esquemas y consultas de bases de datos Borrar registros Arc: DELETE 1 DELETE FROM Ventas WHERE Monto < 1000
  • 142. 10. Borre los alumnos que no están inscritos en ningún grupo. 1.2.3 De edición para crear esquemas y consultas de bases de datos Borrar registros Arc: DELETE_Alumnos_1 DELETE FROM Alumnos WHERE NC NOT IN (SELECT NC FROM Grupos)
  • 143. Ejercicio Borrar aquellas materias que no están siendo impartidas en ningún grupo.
  • 144. Cambia datos de una tabla UPDATE (Sintaxis) UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] Nombre de la tabla o vista a la que se actualizar. 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 145. Cambia datos de una tabla UPDATE (Sintaxis) UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] Especifica la lista de nombres de columnas o variables que se van a actualizar. 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 146. Cambia datos de una tabla UPDATE (Sintaxis) UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] Nombre de la columna a actualizar. 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 147. Cambia datos de una tabla UPDATE (Sintaxis) UPDATE { < nombre_tabla > } SET { nombre_columna = { expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { < nombre_tabla > } [ ,...n ] ] [ WHERE < condición_búsqueda > ] Condición para borrar los registros. 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 148. Actualice el domicilio de la alumna Leticia Flores (NC=33) por el domicilio Robles # 502. 1.2.3 De edición para crear esquemas y consultas de bases de datos Actualizar Arc: Actualizar_Alumnos_1 UPDATE Alumnos SET Domicilio = 'Roble # 502' WHERE NC = 33
  • 149. Elimina tablas DROP TABLE 1.2.3 De edición para crear esquemas y consultas de bases de datos Elimina una definición de tabla y todos los datos, índices, desencadenadores, restricciones y especificaciones de permisos de la tabla.
  • 150. Elimina tablas DROP TABLE (Sintaxis) 1.2.3 De edición para crear esquemas y consultas de bases de datos DROP TABLE nombre_tabla Es el nombre de la tabla que se va a eliminar.
  • 151. Observaciones  No se puede utilizar DROP TABLE para quitar una tabla a la que se haga referencia con una restricción FOREIGN KEY. Primero se debe quitar la restricción FOREIGN KEY o la tabla de referencia.  El propietario de una tabla puede quitar la tabla de cualquier base de datos. Cuando se quita la tabla, las reglas o valores predeterminados de la misma pierden sus enlaces y se quitan automáticamente las restricciones o desencadenadores asociados con ella. Si vuelve a crear una tabla, debe volver a enlazar las reglas y valores predeterminados apropiados, volver a crear los desencadenadores y agregar todas las restricciones necesarias.  No puede utilizar la instrucción DROP TABLE sobre las tablas del sistema. Elimina tablas DROP TABLE (Sintaxis) 1.2.3 De edición para crear esquemas y consultas de bases de datos
  • 152. Elimine la tabla Ventas. Elimina Tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos DROP TABLE Ventas DROP DATABASE ControlEscolar Arc: DropTable_Ventas_1
  • 153. Modificar tablas ALTER TABLE 1.2.3 De edición para crear esquemas y consultas de bases de datos Modifica una definición de tabla al alterar, agregar o quitar columnas y restricciones, o al deshabilitar o habilitar restricciones y desencadenadores.
  • 154. Agregue una el campo edad a la tabla Catedráticos Modificar tablas 1.2.3 De edición para crear esquemas y consultas de bases de datos ALTER TABLE Catedraticos ADD Edad INT Arc: AlterTable_Catedraticos_1 UPDATE Catedraticos SET Edad = 20 ALTER TABLE Catedraticos DROP COLUMN Edad
  • 155. TAREA 3 1.Liste el nombre de los alumnos de Ingeniería Civil que están inscritos en al menos un grupo. 2.Liste el nombre, número de cuenta, nombre de las materias que cursan cada uno de los alumnos, ordenados por orden alfabético. 3.Liste el número de alumnos que cursan la misma carrera y de cada carrera quien tiene mayor edad. 4.Liste código y nombre de aquellas materias que no están siendo cursadas por ningún estudiante. 5.Liste los nombres de los alumnos y nombres de las materias que podrían cursar los alumnos de la carrera de Ingeniería Civil.
  • 156. Tarea 4 ¿Qué está pidiendo el código siguiente? Select G.NM, M.NombreM, A.NombreA, count(*) as 'Total de alumnos por materia' From Grupos G, Materias M, Alumnos A Where G.NM=M.NM AND G.NC=A.NC Group by G.NM, M.NombreM, A.NombreA
  • 157. Use ControlEscolar Select G.NM, M.NombreM, A.NombreA From Grupos G, Materias M, Alumnos A Where G.NM=M.NM AND G.NC=A.NC AND G.Cal>70 Group by G.NM, M.NombreM,G.NM,A.NombreA
  • 158. Use ControlEscolar Select G.NM, M.NombreM, Count(*) as 'Número de alumnos aprobados' from Grupos G, Materias M Where G.Cal>70 Group by G.NM, M.NombreM
  • 159. Select distinct G.NC, NombreA From Grupos G, Alumnos A Where G.NC=A.NC
  • 160. Ahora con MySQL En línea de comandos
  • 161. Crear Base de Datos Control Escolar y todas las tablas y agregar registros a cada tabla CREATE TABLE Carreras ( NoC int primary key,  NombreC Varchar(50) );
  • 162. CREATE TABLE Alumnos(  NC int primary key, NombreA Varchar(50), Sexo char, Domicilio varchar(50), Edad int, NoC int, Foreign key(NoC) REFERENCES Carreras(NoC) )
  • 163. Fin de la Unidad 1
  • 164. I.2.4. De control, monitoreo y estadísticas de acceso a bases de datos.
  • 165. Mostrar estadísticas del cliente Se pueden mostrar las estadísticas eligiendo Mostrar estadísticas del cliente del menú Consulta, o seleccionando esta opción del menú contextual que se obtiene presionando el botón derecho dentro del ventana de edición SQL. Una vez seleccionado deberá ejecutar la consulta SQL para que aparezca como una pestaña en la ventana de resultados. I.2.4. De control, monitoreo y estadísticas de acceso a bases de datos.
  • 166.
  • 167.
  • 168.
  • 169.
  • 171.
  • 172. Al igual que las estadísticas del cliente, se puede Mostrar el plan de de ejecución seleccionando esta opción del menú Consulta o del menú contextual. Una vez seleccionado deberá ejecutar la consulta SQL para que aparezca como una pestaña en la ventan de resultados.
  • 173.
  • 174.
  • 176. Uso de la ayuda