You are on page 1of 163

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.
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.
Usuario Base de datos
SGBD o
DBMS
(Data base
manager
system)
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.
En resumen

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.
DBMS comerciales:
DBMS a utilizar
SQL Server 2014
Developer Edition o superior
MySQL

SQL (lenguaje estructurado de


Consultas o Structured Query Language
). >>>SQL2014<<<
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
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
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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Componentes de SQL

Comandos SQL (DDL y DML)


• 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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Componentes de SQL

Comandos SQL (DDL y DML)


•DML (Data Manipulation Language) permiten generar
consultas para ordenar, filtrar y extraer datos de la base de
datos.
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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Componentes de SQL

Cláusulas
• 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
1.2.3 De edición para crear esquemas y consultas de bases de datos
Componentes de SQL

Operadores Lógicos
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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Componentes de SQL

Operadores de comparación
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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Componentes de SQL

Funciones de agrupamiento
•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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Tipos 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:
1.2.3 De edición para crear esquemas y consultas de bases de datos
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

Estructura de las tablas

Empleados
Nombre Apellidos
25 50
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
1.2.3 De edición para crear esquemas y consultas de bases de datos

Estructuras de las tablas


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
1.2.3 De edición para crear esquemas y consultas de bases de datos

Crear tabla
Crea una nueva tabla llamada Empleados con
dos campos, uno llamado Nombre con longitud
25 y otro llamado Apellidos con longitud 50.

CREATE TABLE dbo.Empleados


( Nombre VARCHAR (25),
Apellidos VARCHAR (50)
)
GO
Empleados
Nombre Apellidos
25 50
1.2.3 De edición para crear esquemas y consultas de bases de datos

Crear tabla
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.
CREATE TABLE dbo.Empleados2
(
Nombre VARCHAR (10),
Apellidos VARCHAR (50),
Fecha_Nacimiento DATETIME,
CONSTRAINT valor_unico
UNIQUE ([Nombre], [Apellidos], [Fecha_Nacimiento])
) GO
1.2.3 De edición para crear esquemas y consultas de bases de datos

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.
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]
)
1.2.3 De edición para crear esquemas y consultas de bases de datos

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.

1. Insertar un único Registro


INSERT INTO [nombre_BaseDeDatos.][ dueño.]
nombre_tabla (campo1, campo2, .., campoN)
VALUES (valor1, valor2, ..., valorN)
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
ControlEscolar
1.2.3 De edición para crear esquemas y consultas de bases de datos

1 Crear la Base de Datos


ControlEscolar
Antes de crear la tabla
Alumnos debemos de
crear la tabla Carrera
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)
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
INSERT INTO Materias (NM, NombreM)
VALUES(‘M5A’,’Matemáticas I ‘),
(‘D38’,´Derecho Laboral´),
(‘C1C’,’Contabilidad’),
(‘E7H’,’Estadística’)

Select * from Alumnos

Select * from Alumnos


1.2.3 De edición para crear esquemas y consultas de bases de datos

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


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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


La sintaxis de una consulta de selección es la siguiente:

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 ] ]
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Especifica las columnas que va
a devolver la consulta.

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 ] ]
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Crea una nueva tabla e inserta
en ella las filas resultantes de
la consulta.
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 ] ]
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Especifica las tablas de las
que se van a obtener filas. La
SELECT selección cláusula FROM es necesaria
[ INTO nueva_tabla ] excepto cuando la lista de
selección sólo contiene
FROM tabla_fuente constantes, variables y
[ WHERE condición ] expresiones aritméticas (no
nombres de columna).
[ GROUP BY grupo ]
[ HAVING condición_grupo ]
[ ORDER BY expresión
[ ASC | DESC ] ]
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas

SELECT selección Especifica una condición de


[ INTO nueva_tabla ] búsqueda para restringir las
filas que se van a devolver.
FROM tabla_fuente
[ WHERE condición ]
[ GROUP BY grupo ]
[ HAVING condición_grupo ]
[ ORDER BY expresión
[ ASC | DESC ] ]
Consultas a las Tablas
Especifica los grupos en los
que se van a colocar las filas
de salida y, si se incluyen
SELECT selección funciones de agregado en la
[ INTO nueva_tabla ] cláusula SELECT selección,
calcula el valor de resumen de
FROM tabla_fuente cada grupo.
[ WHERE condición ]
[ GROUP BY grupo ]
[ HAVING condición_grupo ]
[ ORDER BY expresión
[ ASC | DESC ] ]
Consultas a las Tablas
Especifica una condición de
búsqueda de un grupo o
agregado. Normalmente,
SELECT selección HAVING se utiliza con la
[ INTO nueva_tabla ] cláusula GROUP BY. Cuando
no se utiliza GROUP BY,
FROM tabla_fuente HAVING se comporta como la
[ WHERE condición ] cláusula WHERE.

[ GROUP BY grupo ]
[ HAVING condición_grupo ]
[ ORDER BY expresión
[ ASC | DESC ] ]
Consultas a las Tablas

SELECT selección
[ INTO nueva_tabla ]
FROM tabla_fuente
[ WHERE condición ]
[ GROUP BY grupo ] Especifica el orden del
[ HAVING condición_grupo ] conjunto de resultados.

[ ORDER BY expresión
[ ASC | DESC ] ]
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula SELECT y sus Argumentos

SELECT [ ALL | DISTINCT ]


[ TOP n [PERCENT] ]
< Selección >
< Selección > ::=
{*
| { nombre_tabla | nombre_vista | alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas Específica que pueden


aparecer filas duplicadas en el
Cláusula SELECT conjunto de resultados. ALL es
el valor predeterminado.

SELECT [ ALL | DISTINCT ]


[ TOP n [PERCENT] ]
< Selección >
< Selección > ::=
{*
| { nombre_tabla | nombre_vista | alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Específica que sólo pueden
aparecer filas exclusivas en el
Cláusula SELECT conjunto de resultados. Los
valores NULL se consideran
iguales a efectos de la palabra
clave DISTINCT.
SELECT [ ALL | DISTINCT ]
[ TOP n [PERCENT] ]
< Selección >
< Selección > ::=
{*
| { nombre_tabla | nombre_vista | alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula SELECT
Especifica que sólo se van a utilizar
SELECT [ ALL | DISTINCT ]las primeras n filas del conjunto de
resultados de la consulta; n es un
[ TOP n [PERCENT] ] valor entero entre 0 y 4294967295.
Si también se especifica PERCENT,
< Selección > sólo se va a utilizar el primer n por
< Selección > ::= ciento de filas del conjunto de
resultados. Cuando se especifica
{* con PERCENT, n debe ser un
| { nombre_tabla | nombre_venistetrao e|na
treli0
ays1}0.0*.
.
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula SELECT

SELECT [ ALL | DISTINCT Son


] las columnas que se van
[ TOP n [PERCENT] ] a seleccionar para el conjunto
de resultados. La lista de
< Selección > selección es una serie de
< Selección > ::= expresiones separadas por
comas.
{*
| { nombre_tabla | nombre_vista | .alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula SELECT

SELECT [ ALL | DISTINCT ]


[ TOP n [PERCENT] ]
Especifica que se deben devolver todas las
< Selección > columnas de todas las tablas y vistas de la
< Selección > ::= 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
| { nombre_tabla | nomebnrela _
tav
bila
stoavis|taa. lias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Limita el alcance de * a la tabla o vista
Cláusula SELECT especificada.

SELECT [ ALL | DISTINCT ]


[ TOP n [PERCENT] ]
< Selección >
< Selección > ::=
{*
| { nombre_tabla | nombre_vista | alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula SELECT

SELECT [ ALL | DISTINCT ]


[ TOP n [PERCENT] ]
< Selección > Es el nombre de una columna que se va
a devolver.
< Selección > ::=
{*
| { nombre_tabla | nombre_vista | alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula SELECT

SELECT [ ALL | DISTINCT ]


[ TOP n [PERCENT] ]
< Selección > Es un nombre de columna, constante,
función, o una combinación de nombres
< Selección > ::= de columnas, constantes y funciones
{* conectados mediante operadores, o una
subconsulta.
| { nombre_tabla | nombre_vista | alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula SELECT

SELECT [ ALL | DISTINCT ]


[ TOP n [PERCENT] ]
< Selección > Es un nombre alternativo para
reemplazar el nombre de la columna en
< Selección > ::= el conjunto de resultados de la consulta.
{*
| { nombre_tabla | nombre_vista | alias }.*
| { nombre_columna | expresión }
[ [ AS ] alias_columna ]
| alias_columna
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula FROM

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).
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula FROM (Sintaxis)
Especifica el nombre de una tabla y un
alias opcional.
[ FROM { < tabla_fuente > } [ ,...n ] ]

< tabla_fuente > ::=

tabla_fuente [ [ AS ] alias ]

| nombre_vista [ [ AS ] alias ]

| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 >


1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula FROM (Sintaxis)

[ FROM { < tabla_fuente > } [ ,...n ] ]


Especifica el nombre de una vista y un
alias opcional.
< tabla_fuente > ::=

tabla_fuente [ [ AS ] alias ]

| nombre_vista [ [ AS ] alias ]

| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 >


1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula FROM (Sintaxis)

[ FROM { < tabla_fuente > } [ ,...n ] ]


Indica que las tablas o vistas
especificadas deben combinarse.
< tabla_fuente > ::=

tabla_fuente [ [ AS ] alias ]

| nombre_vista [ [ AS ] alias ]

| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 >


1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula FROM (Sintaxis)

[ FROM { < tabla_fuente > } [ ,...n ] ]

< tabla_fuente > ::= Nombre de la tabla de unión.

tabla_fuente [ [ AS ] alias ]

| nombre_vista [ [ AS ] alias ]

| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 >


1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula FROM (Sintaxis)

[ FROM { < tabla_fuente > } [ ,...n ] ]

< tabla_fuente > ::= Especifica la condición en la que se


basa la combinación. La condición
puede especificar cualquier predicado,
tabla_fuente [ [ AS ] alias ] aunque se suelen utilizar columnas y
operadores de comparación.
| nombre_vista [ [ AS ] alias ]

| < tabla_fuente > JOIN < tabla_fuente2> ON < búsqueda2 >


1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas

3. Liste Número de Control y


Nombres de los Alumnos
SELECT NC, NombreA
FROM Alumnos

SELECT NC AS 'No. de control',


NombreA as 'Nombre del Alumno'
FROM Alumnos
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula WHERE

Especifica una condición de búsqueda para


restringir las filas que se van a devolver.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula WHERE (Lresultados
Simin
ita las filas devueltas en el conjunto de
taxismediante
) 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.

[ 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

Consultas a las Tablas


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.
[ WHERE < condición> | < unos_otros > ]
< izq_der > ::=
nombre_columna { * = | = * } nombre_columna

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
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
4. Liste los Nombres de los
Alumnos que tenga una edad entre
22 a 24 años.

SELECT NombreA , Edad


FROM Alumnos
WHERE Edad >= 22 AND Edad <= 24
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Rango de registros

Para indicar que deseamos recuperar los


registros según el intervalo de valores de un
campo emplearemos el operador BETWEEN.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Rango de registros BETWEEN (Sintaxis)
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.
NOT Específica que se niega el resultado del
predicado. expresión_inicio Valor inicial.
expresión_fin Valor final.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Rango de registros BETWEEN (Sintaxis)

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
Consultas a las Tablas
Listaremos nombres de los Alumnos que
tenga una edad entre 22 a 24 años utilizando
el BETWEEN.

SELECT NombreA, Edad


FROM Alumnos WHERE
Edad BETWEEN 22 AND 24
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Operador LIKE

Determina si una cadena de caracteres dada


coincide o no con un determinado modelo.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


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
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Operador LIKE (Sintaxis)

Expresión_comparar [ NOT ] LIKE patrón [


ESCAPE carácter_escape ]

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
Consultas a las Tablas
LIKE

Liste de la tabla Empleados3 los registros que


el primer apellido sea Ramírez.
SELECT * FROM Alumnos WHERE
NombreA LIKE ‘% Jimenez%’

Liste de la tabla Empleados3 los registros que


el segundo apellido comience con la letra J.
SELECT * FROM Empleados
WHERE Apellidos LIKE '% J%'

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:

SELECT * FROM Empleados


WHERE Apellidos LIKE ‘% [Jj]%’

Liste de la tabla Empleados los registros que el segundo


apellido no comience con la letra J.

SELECT * FROM Empleados


WHERE Apellidos LIKE ‘% [^Jj]%’

Arc: Consulta_3_Empleados
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
LIKE

Fernández o Hernández ya sea con mayúscula o


minúscula.

SELECT * FROM Empleados


WHERE Apellidos LIKE ‘_ernández %’

Liste los empleados que contenga un guión de piso en


el campo apellido
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:
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.
Arc: Consulta_4_Empleados
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.
SELECT * FROM Alumnos
WHERE NombreA LIKE '% [Rr]%'

SELECT * FROM Alumnos


WHERE NombreA LIKE '[Rr]%'

Arc:Seleccion3
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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas

Subconsultas
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:
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas

Subconsultas

• WHERE expression [NOT] IN (subconsulta)

• WHERE expression { = | <> | != | > | >= | !> | < | <= | !< }

[SOME | ANY | ALL] (subconsulta)


• WHERE [NOT] EXISTS (subconsulta)
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas

Ejercicio
Liste los nombres de los alumnos que están
inscritos(en al menos un grupo).
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
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

Utilizar combinaciones cruzadas


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

NxM
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
Utilizar combinaciones
cruzadas
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
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


SELECT NoC
FROM Alumnos
Agrupar alumnos GROUP BY NoC
por número de
carrera

SELECT NoC,NombreA
FROM Alumnos GROUP BY
NoC,NombreA

Arc: Consulta_5_Emp1eados_1
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Funciones de agregado
De la tabla Ventas, liste por cada
Ventas Factura NoV Fecha Monto
vendedor, cuantas 1202 25 10/01/2007 2500
ventas realizó, el monto 1203 33 10/01/2007 3000
1204 43 12/01/2007 5000
total, el monto de la venta 1205 25 10/02/2007 1000
máxima y el monto de la 1206 25 12/02/2007 1200
venta mínima. 1207 33 15/02/2007 2000
1208 25 07/03/2007 500
SELECT NoV, 1209 45 10/03/2007 4000
COUNT(*) AS [No. de ven tas], 1210 25 15/04/2007 1400

SUM(Monto) AS [Monto Total],


MAX(Monto) AS [Monto Máximo],
MIN(Monto) AS [Monto Mínimo]
FROM Ventas GROUP BY NoV

Arc: Consulta_5_Empleados
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
7. De cada grupo liste Número de grupo, Nombre
del Catedrático, Nombre de la Materia, Número de
FIN 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

Arc: Consulta_11_PromedioAlumnos
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
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.
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
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
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.
Comparación
SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM, SELECT NG, G.NCC, C.Nombrec, G.NM, M.NombreM,
COUNT(*) AS [No de Alumnos], COUNT(*) AS [No de Alumnos],
MAX(Calificación) AS [CAL.MAX], MAX(Calificacion) AS [CAL.MAX],
MIN(Calificación) AS [CAL. MIN], MIN(Calificacion) AS [CAL. MIN],
AVG(Calificación) AS [PROMEDIO] AVG(Calificacion) AS [PROMEDIO]
FROM Grupos G, Catedraticos C, Materias M FROM Grupos G INNER JOIN Catedraticos C ON G.NCC = C.NCC
WHERE G.NCC = C.NCC AND G.NM = M.NM INNER JOIN Materias M ON G.NM = M.NM
GROUP BY NG, G.NCC, C.Nombrec, G.NM, M.NombreM 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
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).

SELECT NG, NCC, NM,


COUNT(*) AS [No de Alumnos Acreditados]
FROM Grupos
WHERE Calificacion >= 70
GROUP BY NG, NCC, NM

Arc: Consulta_12
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


1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusulas HAVING

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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
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 totalesVentas
entre 6000
Factura
a 10000.
NoV Fecha Monto
1202 25 10/01/2007 2500
SELECT NoV, 1203 33 10/01/2007 3000
1204 43 12/01/2007 5000
COUNT(*) AS [No. de ventas], 1205 25 10/02/2007 1000
SUM(Monto) AS [Monto Total], 1206 25 12/02/2007 1200
1207 33 15/02/2007 2000
MAX(Monto) AS [Monto Máximo], 1208 25 07/03/2007 500
MIN(Monto) AS [Monto Mínimo] 1209 45 10/03/2007 4000
1210 25 15/04/2007 1400
FROM Ventas GROUP BY NoV HAVING SUM(Monto)
BETWEEN 6000 AND 8000

Arc: Consulta_6_Empleados
1.2.3 De edición para crear esquemas y consultas de bases de datos
Consultas a las Tablas
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, NM,
AVG(Calificacion) AS [Promedio del Grupo]
FROM Grupos GROUP BY NG, NCC, NM
HAVING AVG(Calificacion) > 80

Arc: Consulta_13
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
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula ORDER BY

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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula ORDER BY (Sintaxis)

[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ]

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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula ORDER BY (Sintaxis)

[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ]

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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula ORDER BY (Sintaxis)

[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ]

Indica que los valores de la columna especificada


se deben ordenar de manera ascendente, desde el
valor más bajo al más alto.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula ORDER BY (Sintaxis)

[ ORDER BY { expresión [ ASC | DESC ] } [ ,...n] ]

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.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Consultas a las Tablas


Cláusula ORDER BY (Sintaxis)

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
1.2.3 De edición para crear esquemas y consultas de bases de datos

Quitar filas de las tablas


DELETE (Sintaxis) Nombre de la tabla o vista a
la que se le borraran las
filas.
DELETE
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
Borrar registros
Borrar de la tabla ventas las filas que tienen un monto
menor a 1000 pesos.

DELETE FROM Ventas WHERE Monto < 1000

Arc: DELETE 1
1.2.3 De edición para crear esquemas y consultas de bases de datos
Borrar registros
10. Borre los alumnos que no están inscritos en
ningún grupo.

DELETE FROM Alumnos WHERE NC


NOT IN (SELECT NC FROM Grupos)

Arc: DELETE_Alumnos_1
Ejercicio

Borrar aquellas materias que no están


siendo impartidas en ningún grupo.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Cambia datos de Nuonmabretadbe llaatabla o vista a


UPDATE (Sintaxis) la que se actualizar.

UPDATE { < nombre_tabla > } SET { nombre_columna = {


expresión | DEFAULT | NULL} [ ,...n ] } [ FROM { <
nombre_tabla > } [ ,...n ] ] [ WHERE <
condición_búsqueda > ]
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
Actualizar
Actualice el domicilio de la alumna Leticia Flores
(NC=33) por el domicilio Robles # 502.

UPDATE Alumnos SET Domicilio = 'Roble #


502' WHERE NC = 33

Arc: Actualizar_Alumnos_1
1.2.3 De edición para crear esquemas y consultas de bases de datos

Elimina tablas
DROP TABLE

Elimina una definición de tabla y todos los datos,


índices, desencadenadores, restricciones y
especificaciones de permisos de la tabla.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Elimina tablas
DROP TABLE (Sintaxis)

DROP TABLE nombre_tabla

Es el nombre de la tabla
que se va a eliminar.
1.2.3 De edición para crear esquemas y consultas de bases de datos

Elimina tablas
DROP TABLE (Sintaxis)
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.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Elimina Tablas

Elimine la tabla Ventas.

DROP TABLE Ventas


DROP DATABASE ControlEscolar

Arc: DropTable_Ventas_1
1.2.3 De edición para crear esquemas y consultas de bases de datos

Modificar tablas
ALTER TABLE

Modifica una definición de tabla al alterar, agregar o


quitar columnas y restricciones, o al deshabilitar o
habilitar restricciones y desencadenadores.
1.2.3 De edición para crear esquemas y consultas de bases de datos
Modificar tablas
Agregue una el campo edad a la tabla Catedráticos

ALTER TABLE Catedraticos ADD Edad INT

UPDATE Catedraticos SET Edad = 20

ALTER TABLE Catedraticos DROP COLUMN Edad

Arc: AlterTable_Catedraticos_1
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.
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.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

You might also like