SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
qwertyuiopasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwertyuiopasd
fghjklzxcvbnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
CBTIS
Mónica Elizabeth López Frías
hjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmrtyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnmqwert
Asesora. Esperanza Pescador Espitia
Programación

Diseña Y Administra Base De Datos Avanzadas
Índice
BETA
Enunciado1…………………………………………………..4
Diagrama Entidad Relación
(DER1)……………………………………………………….5
Diseño1 de tablas…………………………………………..6
Tablas1………………………………………………………8
Consultas1…………………………………………………14
ITESO
Enunciado2…………………………………………………25
Diagrama Entidad Relación
(DER2)………………………………………………………26
Diseño2 de tablas…………………………………………..27
Tablas2………………………………………………………28
Consultas2…………………………………………………..30
ELECTRODOMESTICOS
Enunciado………………………………………………….40
2
Diagrama Entidad Relación
(DER)……………………………………………………41
Diseño de tablas……………………………………….42
Tablas…………………………………………………...43
Consultas………………………………………………..44
Historia y evolución de SQL…………………………..51
Comandos y sintaxis de SQL…………………………53

3
 BETA
Enunciado1
La empresa BETA, es la encargada de surtir artículos y refacciones de
cómputo a la zona centro de nuestro país, para ello requiere una base
de datos que le ayude a la buena organización de sus datos. Cuenta
con proveedores, que le surten ya sea artículos o refacciones.
Necesita registrar los datos de sus clientes (nombre, dirección, e-mail,
estado y teléfono), así como registrar los artículos y productos que
venden, sus precios, y todo lo que se relacione con ellos. Nos han
encargado la realización de las bases de datos, para lo cual
necesitamos realizar el modelo entidad-relación, después la sucesión
de sus tablas.

4
DER1
Propuesto en 1976-1977 por Peter P. Chen, pero no se considera la existencia de
único modelo.
El modelo entidad relación permite representar el esquema de una base de datos,
de manera grafica al descubrir lavase de datos. Información como entidades,
relaciones y atributos
NOMBRE

Id

ID

Domic
ilio

R4

Cliente

Estado
No
m.

R3

orden

Articulo

R5

Id

Precio

Tip
o

R1

Id

R
7

Refacción

Nombre

Vendedor

R6
Direcció
n

R
2

Tipo Refacción

Proveedor
Id tipo

Tip
o

5
Id

Nombr
e

Dirección
Diseño1 de tablas
Articulo

Cliente

Estado

Orden

6
Refacción

Vendedor

7
Tablas1
Articulo

8
Cliente

9
Estado

10
Orden

11
Refacción

12
Vendedor

13
Consultas1

1.-Obtener el nombre de los clientes.
Select NomCliente
from cliente

2.-Obtener los nombres de los clientes y su ID de su estado.
select NomCliente,IdEdo
from cliente

14
3.-Obtener los estados de los clientes.
SELECT NomCliente,Estado
From cliente, estado
where cliente.IdEdo=Estado.IdEdo

4.-Obtener los nombres de los clientes que son de Sinaloa.
SELECT NomCliente,Estado
From cliente, estado
where cliente.IdEdo=Estado.IdEdo AND
estado='Sinaloa'

5.- Obtener los Id de articulo y su cantidad.
SELECT IdArt,CantArt
FROM orden

15
6.-Obtenerlos nombres de los clientes que son del estado de Morelia.
SELECT NomCliente, Estado
FROM cliente,estado
WHERE cliente.IdEdo=Estado.IdEdo AND
estado='Morelia'

7.- obtener los IDs de clientes que son de
queretaro.
SELECT IdCliente, Estado
FROM cliente,estado
WHERE cliente.IdEdo=Estado.IdEdo AND estado='Queretaro'

8.- obtener obtener los Id de articulo y los id de clientes que ordenaron cantidades
mayores a 4.
SELECT IdArt, IdCliente
FROM orden
WHERE CantArt>4

9.-Obtener los nombres de los artículos que fueron ordenados por el cliente
Cuenca Bravo Jose
SELECT NomArt
FROM articulo,orden,cliente
WHERE articulo.IdArt=orden.IdArt
AND orden.IdCliente=cliente.IdCliente and NomCliente='Cuenca Bravo Jose'

16
10.- obtener los nombres de los artículos que fueron ordenados en el estado de
Veracruz

Select NomArt
from articulo,estado,orden,cliente
where orden.IdArt=articulo.IdArt AND orden.IdCliente=cliente.IdCliente AND
cliente.IdEdo=Estado.IdEdo AND estado='Veracruz'

11. obtener los datos de la tabla cliente
SELECT *
FROM cliente

17
12. obtener los nombres de los clientes que empiezan con v
SELECT NomCliente
FROM cliente
WHERE NomCliente like 'v%';

13. obtener los nombres de los productos que fueron ordenados entre cantidades
de 8 a 13

select NomArt
from orden,articulo
where articulo.IdArt = orden.IdArt AND
CantArt >= 8 AND CantArt <=13

14. obtener la cantidad máxima de producto ordenado
select MAX(CantArt)
from orden

18
15. obtener las cantidades de los productos ordenadas de mayor a menor
select CAntArt
from orden
ORDER BY CantArt DESC

1. obtener los nombres de los clientes que tienen ‘a ’
SELECT NomCliente
FROM cliente
WHERE NomCliente like '%a%';

19
2. obtener los nombres de los clientes que empiezan con r
SELECT NomCliente
FROM cliente
WHERE NomCliente like 'r%';

3. obtener los datos de la tabla articulo
SELECT *
FROM articulo;

4. obtener el nombre de todos los clientes ordenados del z a la a
SELECT NomCliente

20
FROM cliente
ORDER BY NomCliente DESC;

5. obtener el nombre de todas las refacciones ordenados alfabeticamente
SELECT NomRef
FROM refaccion
ORDER BY NomRef ASC;

21
1.Obtener el nombre de los vendedores que empiecen con la letra ‘r’, el nombre
del cliente que empiecen con ‘v’, el nombre de los artículos que empiece con la
letra ‘c’ , la cantidad de artículos ordenados de mayor a menor.
select distinctnomvend, nomcliente, nomart,cantart
from vendedor, cliente, orden, articulo
where nomvend like 'r%' and orden.idart=articulo.idart and nomcliente like "v%"
and nomart like "c%"
order by cantartasc

2.Obtener los nombres de los vendedores ordenados alfabéticamente.
SELECT NomVend
FROM vendedor
ORDER BY NomVend ASC

3.obtener el nombre y la cantidad de refacciones que estén entre
cantidades de compras de 1 a 7.
SELECT CantRef, NomRef
22
FROM orden, refaccion
WHERE refaccion.IdRef=orden.IdRef and CantRef BETWEEN 1 and 7;
4.obtener la suma de la cantidad de refacciones que fueron ordenadas.
SELECT SUM (CanRef)
FROM orden
5.obtener el precio máximo de artículo
SELECT MAX(precio)
FROM artículo
6. Obtener la cantidad de artículos y su nombre que estén entre 6 y 9 y
ordenar la cantidad de artículos ascendentemente
SELECT CantArt, NomArt
FROM orden, articulo
WHERE articulo.IdArt=orden.IdArt and CantArt
BETWEEN 6 and 9
ORDER BY CantArt ASC;
7. Obtener los nombres de los estados donde hay clientes
SELECT DISTINCT estado
FROM estado, cliente
WHEREcliente.IdEdo=estado.IdEdo

8.OBTENER LOS NOMBRES DE LOS PRODUCTOS QUE FUERON
ORDENADOS EN EL ESTADO DE MICHOACÁN.
23
SELECTNomArt, NomRef
FROM orden, articulo, refaccion, estado
WHERE orden.IdArt=articulo.IdArt AND orden.IdRef=refaccion.IdRef AND
estado.IdEdo=cliente.IdEdo AND Estado=’Morelia’

24


ITESO
Enunciado2

En la web hay un dominio llamado ITESO que el ofrece a los
usuarios cursos en línea en el cual se encuentra localizado un
catalogo de ofertas como son diplomados, cursos de
especialidades y postgrados a los usuarios se les asignan
fechas, horarios, asesores, aulas virtual y el nombre del
curso. Cada curso tiene un límite de usuario el periodo de
realización y el número total de horas. Los usuarios para
hacer los pagos lo pueden hacer de 2 formas con tarjeta de
crédito con cargo a 6 meses sin intereses y la opción 2 pago
en efectivo a la cuenta en el banco. Para cada curso los
asesores registran productos o evidencias al termino de cada
modulo, el número total de módulos para cada curso es de 4.
La planeación del curso depende del número de horas y los
contenidos temáticos para la extensión de la constancia final
deberán de aprobar con una calificación mayor o igual a 8
con solo 2 oportunidades de reprobar por cada curso. Se
sabe que cada participante solo puede tomar como máximo 3
cursos, al usuario frecuente se le otorga una beca del 100% a
partir del 4° curso tomado.

25
DER2
R2

Alumno

Boleta

R4

Matricula

R3

R1

Curso

Faculta
d

CveFaculta
d

Docente
NoCurs
o
RF
C

26
Diseño2 De Tablas
Alumno

Boleta

Docente

Especialidad

27
Tablas2
Alumno

Boleta

28
Docente

Especialidad

Materia

29
Consultas2
INSERT
1.-INSERT into materia VALUES('FIS II','Fisica II');
INSERTA LA FILA DE FISICA II.

2.-INSERT into materia VALUES('VAL III','Valores III');
INSERTA LA FILA DE LA MATERIA DE VALORES III

30
3.-INSERT into materia VALUES('OPTA','Optativa');
INSERTA LA FILA DE LA MATERIA DE OPTATIVA

4.-INSERT into materia VALUES('CAL','Calculo');
INSERTA LA FILA DE LA MATERIA DE CALCULO

31
5.-INSERT into especialidad VALUES('AU21','Arquitectura y Urbanismo');
INSERTA LA FILA DE ESPECIALIDAD DE ARQUITECTURA Y URBANISMO.

6.-INSERT into especialidad VALUES('IE53','Ingeniería Extractiva');
INSERTA LA FILA DE LA ESPECIALIDAD DE INGENIERIA EXTRACTIVA.

7.-INSERT into docente VALUES('TRGE791111C56','Trejo Garcia Edygardo','11/11/1979','Maestria','Mae.
Bioing de Fermentacion','UPG');
INSERTA LA FILA DE OTRO DOCENTE.

32
8.-INSERT into alumno VALUES('200114042','Padron Aguilar Marliset','01/02/1997','A28','A','2');
INSERTA A OTRO ALUMNO EN LA TABLA ALUMNO.

9.-INSERT into alumno VALUES('200114043','Gomez Landa Jose','02/03/1997','A28','A','2');
INSERTA A OTRO ALUMNO DISTINTO.

33
10.-INSERT into alumno VALUES('200114044','Guerrero Zapata Jesus','03/04/1997','A28','A','2');
INSERTA A OTRO ALUMNO DISTINTO A LOS OTROS.

update
11.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114042';
CAMBIA EL GRUPO DEL ALUMNO DE ESE NUMERO DE CONTROL.

34
12.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114043';
CAMBIA DE GRUPO AL ALUMNO DE ESE NUMERO DE COMTROL.

13.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114044';
CAMBIA AL ALUMNO DE GRUPO DE ESE NUMERO DE CONTROL(ACTUALIZA).

35
14.-UPDATE materia SET NomMat= 'Fisica 1' WHERE CveMat = 'FIS I';
ACTUALIZA LA MATERIA FISICA I

15.-UPDATE materia SET NomMat= 'Valores 3' WHERE CveMat = 'VAL I';
ACTUALIZA LA MATERIA VALORES I

36
DELETE
16.-DELETE FROM materia WHERE CveMat = 'FIS I';
ELIMINA LA FILA DE LA MATERIA DE FISICA.

17.-DELETE FROM materia WHERE CveMat = 'VAL I';
ELIMINA LA FILA DE LA MATERIA DE VALORES

37
18.-DELETE FROM alumno WHERE NoControl= '200114042';
ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL.

19.-DELETE FROM alumno WHERE NoControl= '200114043';
ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL.

38
20.-DELETE FROM alumno WHERE NoControl= '200114044';
ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL.

SELECT
21.-SELECT NomMat FROM materia WHERE NomMat = 'Optativa';
Selecciona el nombre de la materia optativa

22.-SELECT NomMat FROM materia WHERE NomMat = 'Calculo';
Selecciona el nombre de la materia calculo.

23.-SELECT NomEsp FROM especialidad WHERE NomEsp = 'Arquitectura y Urbanismo';
Selecciona el nombre de la especialidad arquitectura y urbanismo.

24.-SELECT NomEsp FROM especialidad WHERE NomEsp = 'Ingeniería Extractiva';
Selecciona el nombre de la especialidad ingenieria extractiva.

25.-SELECT NOMDOC FROM docente WHERE NOMDOC = 'Trejo Garcia Edygardo';
Selecciona el nombre del docente Trejo Garcia Edygardo.

39
 ELECTRODOMESTICOS
Enunciado
Una empresa de aparatos electrónicos muy grande, es la encargada
de surtir artículos a nuestro país, para ello requiere una base de datos
que le ayude a la buena organización de sus datos. Cuenta con
fabricantes que hacen los componentes para los artículos. Necesita
registrar los datos de sus clientes (nombre, dirección), así como
registrar los artículos que venden, sus precios, y todo lo que se
relacione con ellos como también sus componentes.

40
DER
Fabricante
s

R1

Componentes

R2
Precio

CIF

Domicilio

Nombre

Especificación

Articulo

IdArticulo

Descripción

R3
R3

IdEstado
Domicilio

IdEstado

Estado

Cliente

R4

IdCliente
NomCliente
Estado

41
Diseño De Tablas
Estado

Cliente

Fabricante

Componentes

Articulo

42
Tablas
Articulo

Cliente

Estado

43
Fabricantes

Componentes

44
Consultas
INSERT
1.-INSERT into Articulo VALUES (‘011’,’Estereo’,’5500’,’Entretenimiento’);

2.-INSERT into Articulo VALUES ('012','Impresora','4550','Complemento');

45
3.-INSERT into Cliente VALUES ('M411','Jesus Gonzales','Oax.','Nardo');

4.-INSERT into Cliente VALUES('M412','Manuel Chimal','Coa.','Pipila');

5.-INSERT into Fabricantes VALUES ('L20','Chapultepec');

46
UPDATE
1.-UPDATE Fabricantes SET CIF='L25' WHERE Domicilio='Galeana';

2.-UPDATE Componentes SET Especificacion=’Chico’ WHERE Nombre=’Diac’;

3.-UPDATE Componentes SET Especificacion=’Grande’ WHERE Nombre=’Pila’;

47
4.-UPDATE Articulo SET NomArt=’Mp3’ WHERE IdArticulo=’010’;

5.- UPDATE Cliente SET Direccion=’Nardo’ WHERE IdCliente=’M410’;

DELETE
1.-DELETE FROM Articulo WHERE IdArticulo=’011’;

48
2.-DELETE FROM Articulo WHERE IdArticulo=’012’;

3.-DELETE FROM Cliente WHERE IdCliente=’M411’;

4.-DELETE FROM Cliente WHERE IdCliente=’M412’;

49
5.- DELETE FROM Fabricantes WHERE CIF=’L20’;

50
Historia y evolución de SQL
La historia de SQL empieza en 1974 con la definición, por
parte de Donald Chamberlin y de otras personas que
trabajaban en los laboratorios de investigación IBM, de un
lenguaje para la que adoptaban el modelo relacional. Este
lenguaje se llamaba SEQUEL y se implemento en un
prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las
experimentaciones con ese prototipo condujeron entre 1976 y
1977 a una revisión de lenguaje del lenguaje(SEQUEL/2) que
a partir de ese momento cambio de nombre por motivos
legales, convirtiéndose en SQL.
El prototipo (System R), basado en este lenguaje se adopto y
utilizo internamente en 1BM y lo adoptaron algunos de sus
clientes elegidos. Gracias al éxito de este sistema que no
estaba todavía comercializado, también otras compañías
empezaron a desarrollar sus productos relacionales basados
en SQL. A partir de 1981, 1BM comenzó a entregar sus
productos relacionales y en 1993 empezó a vender DBZ. En
el curso de los años 80, numerosas compañías
comercializaron productos basados en SQL que se convierte
en el estándar industrial de hecho por lo que respecta a las
bases de datos relacionales.

51
Año

Nombre

Alias

1986
SQL-86
SQL-87
Primera publicación hecha
por ANSI. Confirmada por ISO en 1987.
1989

SQL-89

1992

SQL-92

Revisión normal.
SQL2

Revisión mayor.

1999
SQL:1999 SQL2000 Se agregaron
expresiones regulares, consultas recursivas (para relaciones
jerárquicas), triggers y algunas características orientadas a
objetos.
2003
SQL:2003
Introduce algunas
característica de XML, cambios en las funciones,
estandarización del objeto séquense y de las columnas auto
numéricas.(Ver Eisenberg et al.: SQL:2003 Has Been
Published).
2006
SQL:2006
ISO/IEC 907514:2006.Define las maneras en las cuales el SQL se puede
utilizar conjuntamente con XML. Define maneras de importar
y guardar datos XML en una base de datos SQL,
manipulándolos dentro de la base de datos y publicando el
XML y los datos SQL convencionales en forma XML. Además
proporciona facilidades que permiten a las aplicaciones
integrar dentro de su código SQL el uso de XQuery lenguaje
de consulta XML publicado por el W3C para acceso
concurrente a datos ordinarios SQL y documentos XML.
2008
SQL:2008
Permite el uso de la
clausula ORDER BY fuera de las definiciones de los
52
cursores. Incluye los disparadores del tipo INSTEAD OF.
Añade la sentencia TRUNCATE.

Comandos y sintaxis de SQL
Select. Nos permite tomar información de una columna.
From. Nombre de la tabla
Where. Condición.
Order By. Nombre de la columna(ASC,DESC).

Sintaxis de los comandos
Select. Select “nom_columna” from “nom_tabla”
Distrinct. Select Distinct “nombre_columna” from
”nombre_tabla”
Where. Select “nom_columna”
From “nombre_tabla”
Where “condicion”
And/Or
Select “nom_columna”
From “nom_tabla”
53
Where “condicion”
{(And/Or) “condicion simple”}
In
Select “nom_columna”
From “nom_tabla”
Where “condicion” “nombre_columna” IN (valor)

54

Más contenido relacionado

Similar a Basede datos trabajo Monica Lopez

Base de datos para empresas
Base de datos para empresasBase de datos para empresas
Base de datos para empresasPaulinaHdz1
 
Bases de Datos CBTis172
Bases de Datos CBTis172Bases de Datos CBTis172
Bases de Datos CBTis172PaulinaHdz1
 
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥Isabel Vlz MoOrales
 
PROYECTODEBASEDEDATOSJESSI
PROYECTODEBASEDEDATOSJESSIPROYECTODEBASEDEDATOSJESSI
PROYECTODEBASEDEDATOSJESSIhachi25
 
Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172MRR2013
 
Proyecto de base de datos completo
Proyecto de base de datos completoProyecto de base de datos completo
Proyecto de base de datos completoJennnylu10
 
Proyecto1 Bases de Datos
Proyecto1 Bases de DatosProyecto1 Bases de Datos
Proyecto1 Bases de DatosElisabet Cuevas
 
Informe multitelas valdivia
Informe multitelas valdiviaInforme multitelas valdivia
Informe multitelas valdiviaivanjarab
 
Caso practico de ing. software
Caso practico de ing. softwareCaso practico de ing. software
Caso practico de ing. softwareByrna Carmona
 
Ejercicio de tablas y consultas en my sql (1)
Ejercicio de tablas y consultas en my sql (1)Ejercicio de tablas y consultas en my sql (1)
Ejercicio de tablas y consultas en my sql (1)John Walk
 
Taller algoritmos once_1
Taller algoritmos once_1Taller algoritmos once_1
Taller algoritmos once_1UNICIENCIA
 

Similar a Basede datos trabajo Monica Lopez (20)

Base de datos para empresas
Base de datos para empresasBase de datos para empresas
Base de datos para empresas
 
Bases de Datos CBTis172
Bases de Datos CBTis172Bases de Datos CBTis172
Bases de Datos CBTis172
 
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
 
PROYECTODEBASEDEDATOSJESSI
PROYECTODEBASEDEDATOSJESSIPROYECTODEBASEDEDATOSJESSI
PROYECTODEBASEDEDATOSJESSI
 
Consultas
ConsultasConsultas
Consultas
 
Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172
 
Ejercicios en access
Ejercicios en accessEjercicios en access
Ejercicios en access
 
Proyecto de base de datos completo
Proyecto de base de datos completoProyecto de base de datos completo
Proyecto de base de datos completo
 
Proyecto1 Bases de Datos
Proyecto1 Bases de DatosProyecto1 Bases de Datos
Proyecto1 Bases de Datos
 
Generals tools eq.2
Generals tools eq.2Generals tools eq.2
Generals tools eq.2
 
Informe multitelas valdivia
Informe multitelas valdiviaInforme multitelas valdivia
Informe multitelas valdivia
 
Informe multitelas valdivia
Informe multitelas valdiviaInforme multitelas valdivia
Informe multitelas valdivia
 
Caso practico de ing. software
Caso practico de ing. softwareCaso practico de ing. software
Caso practico de ing. software
 
Ejercicio de tablas y consultas en my sql (1)
Ejercicio de tablas y consultas en my sql (1)Ejercicio de tablas y consultas en my sql (1)
Ejercicio de tablas y consultas en my sql (1)
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
 
PDFBETA
PDFBETAPDFBETA
PDFBETA
 
Empresa
EmpresaEmpresa
Empresa
 
Empresa bd
Empresa bdEmpresa bd
Empresa bd
 
Empresa bd
Empresa bdEmpresa bd
Empresa bd
 
Taller algoritmos once_1
Taller algoritmos once_1Taller algoritmos once_1
Taller algoritmos once_1
 

Basede datos trabajo Monica Lopez

  • 1. qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg CBTIS Mónica Elizabeth López Frías hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmrtyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmqwert Asesora. Esperanza Pescador Espitia Programación Diseña Y Administra Base De Datos Avanzadas
  • 2. Índice BETA Enunciado1…………………………………………………..4 Diagrama Entidad Relación (DER1)……………………………………………………….5 Diseño1 de tablas…………………………………………..6 Tablas1………………………………………………………8 Consultas1…………………………………………………14 ITESO Enunciado2…………………………………………………25 Diagrama Entidad Relación (DER2)………………………………………………………26 Diseño2 de tablas…………………………………………..27 Tablas2………………………………………………………28 Consultas2…………………………………………………..30 ELECTRODOMESTICOS Enunciado………………………………………………….40 2
  • 3. Diagrama Entidad Relación (DER)……………………………………………………41 Diseño de tablas……………………………………….42 Tablas…………………………………………………...43 Consultas………………………………………………..44 Historia y evolución de SQL…………………………..51 Comandos y sintaxis de SQL…………………………53 3
  • 4.  BETA Enunciado1 La empresa BETA, es la encargada de surtir artículos y refacciones de cómputo a la zona centro de nuestro país, para ello requiere una base de datos que le ayude a la buena organización de sus datos. Cuenta con proveedores, que le surten ya sea artículos o refacciones. Necesita registrar los datos de sus clientes (nombre, dirección, e-mail, estado y teléfono), así como registrar los artículos y productos que venden, sus precios, y todo lo que se relacione con ellos. Nos han encargado la realización de las bases de datos, para lo cual necesitamos realizar el modelo entidad-relación, después la sucesión de sus tablas. 4
  • 5. DER1 Propuesto en 1976-1977 por Peter P. Chen, pero no se considera la existencia de único modelo. El modelo entidad relación permite representar el esquema de una base de datos, de manera grafica al descubrir lavase de datos. Información como entidades, relaciones y atributos NOMBRE Id ID Domic ilio R4 Cliente Estado No m. R3 orden Articulo R5 Id Precio Tip o R1 Id R 7 Refacción Nombre Vendedor R6 Direcció n R 2 Tipo Refacción Proveedor Id tipo Tip o 5 Id Nombr e Dirección
  • 14. Consultas1 1.-Obtener el nombre de los clientes. Select NomCliente from cliente 2.-Obtener los nombres de los clientes y su ID de su estado. select NomCliente,IdEdo from cliente 14
  • 15. 3.-Obtener los estados de los clientes. SELECT NomCliente,Estado From cliente, estado where cliente.IdEdo=Estado.IdEdo 4.-Obtener los nombres de los clientes que son de Sinaloa. SELECT NomCliente,Estado From cliente, estado where cliente.IdEdo=Estado.IdEdo AND estado='Sinaloa' 5.- Obtener los Id de articulo y su cantidad. SELECT IdArt,CantArt FROM orden 15
  • 16. 6.-Obtenerlos nombres de los clientes que son del estado de Morelia. SELECT NomCliente, Estado FROM cliente,estado WHERE cliente.IdEdo=Estado.IdEdo AND estado='Morelia' 7.- obtener los IDs de clientes que son de queretaro. SELECT IdCliente, Estado FROM cliente,estado WHERE cliente.IdEdo=Estado.IdEdo AND estado='Queretaro' 8.- obtener obtener los Id de articulo y los id de clientes que ordenaron cantidades mayores a 4. SELECT IdArt, IdCliente FROM orden WHERE CantArt>4 9.-Obtener los nombres de los artículos que fueron ordenados por el cliente Cuenca Bravo Jose SELECT NomArt FROM articulo,orden,cliente WHERE articulo.IdArt=orden.IdArt AND orden.IdCliente=cliente.IdCliente and NomCliente='Cuenca Bravo Jose' 16
  • 17. 10.- obtener los nombres de los artículos que fueron ordenados en el estado de Veracruz Select NomArt from articulo,estado,orden,cliente where orden.IdArt=articulo.IdArt AND orden.IdCliente=cliente.IdCliente AND cliente.IdEdo=Estado.IdEdo AND estado='Veracruz' 11. obtener los datos de la tabla cliente SELECT * FROM cliente 17
  • 18. 12. obtener los nombres de los clientes que empiezan con v SELECT NomCliente FROM cliente WHERE NomCliente like 'v%'; 13. obtener los nombres de los productos que fueron ordenados entre cantidades de 8 a 13 select NomArt from orden,articulo where articulo.IdArt = orden.IdArt AND CantArt >= 8 AND CantArt <=13 14. obtener la cantidad máxima de producto ordenado select MAX(CantArt) from orden 18
  • 19. 15. obtener las cantidades de los productos ordenadas de mayor a menor select CAntArt from orden ORDER BY CantArt DESC 1. obtener los nombres de los clientes que tienen ‘a ’ SELECT NomCliente FROM cliente WHERE NomCliente like '%a%'; 19
  • 20. 2. obtener los nombres de los clientes que empiezan con r SELECT NomCliente FROM cliente WHERE NomCliente like 'r%'; 3. obtener los datos de la tabla articulo SELECT * FROM articulo; 4. obtener el nombre de todos los clientes ordenados del z a la a SELECT NomCliente 20
  • 21. FROM cliente ORDER BY NomCliente DESC; 5. obtener el nombre de todas las refacciones ordenados alfabeticamente SELECT NomRef FROM refaccion ORDER BY NomRef ASC; 21
  • 22. 1.Obtener el nombre de los vendedores que empiecen con la letra ‘r’, el nombre del cliente que empiecen con ‘v’, el nombre de los artículos que empiece con la letra ‘c’ , la cantidad de artículos ordenados de mayor a menor. select distinctnomvend, nomcliente, nomart,cantart from vendedor, cliente, orden, articulo where nomvend like 'r%' and orden.idart=articulo.idart and nomcliente like "v%" and nomart like "c%" order by cantartasc 2.Obtener los nombres de los vendedores ordenados alfabéticamente. SELECT NomVend FROM vendedor ORDER BY NomVend ASC 3.obtener el nombre y la cantidad de refacciones que estén entre cantidades de compras de 1 a 7. SELECT CantRef, NomRef 22
  • 23. FROM orden, refaccion WHERE refaccion.IdRef=orden.IdRef and CantRef BETWEEN 1 and 7; 4.obtener la suma de la cantidad de refacciones que fueron ordenadas. SELECT SUM (CanRef) FROM orden 5.obtener el precio máximo de artículo SELECT MAX(precio) FROM artículo 6. Obtener la cantidad de artículos y su nombre que estén entre 6 y 9 y ordenar la cantidad de artículos ascendentemente SELECT CantArt, NomArt FROM orden, articulo WHERE articulo.IdArt=orden.IdArt and CantArt BETWEEN 6 and 9 ORDER BY CantArt ASC; 7. Obtener los nombres de los estados donde hay clientes SELECT DISTINCT estado FROM estado, cliente WHEREcliente.IdEdo=estado.IdEdo 8.OBTENER LOS NOMBRES DE LOS PRODUCTOS QUE FUERON ORDENADOS EN EL ESTADO DE MICHOACÁN. 23
  • 24. SELECTNomArt, NomRef FROM orden, articulo, refaccion, estado WHERE orden.IdArt=articulo.IdArt AND orden.IdRef=refaccion.IdRef AND estado.IdEdo=cliente.IdEdo AND Estado=’Morelia’ 24
  • 25.  ITESO Enunciado2 En la web hay un dominio llamado ITESO que el ofrece a los usuarios cursos en línea en el cual se encuentra localizado un catalogo de ofertas como son diplomados, cursos de especialidades y postgrados a los usuarios se les asignan fechas, horarios, asesores, aulas virtual y el nombre del curso. Cada curso tiene un límite de usuario el periodo de realización y el número total de horas. Los usuarios para hacer los pagos lo pueden hacer de 2 formas con tarjeta de crédito con cargo a 6 meses sin intereses y la opción 2 pago en efectivo a la cuenta en el banco. Para cada curso los asesores registran productos o evidencias al termino de cada modulo, el número total de módulos para cada curso es de 4. La planeación del curso depende del número de horas y los contenidos temáticos para la extensión de la constancia final deberán de aprobar con una calificación mayor o igual a 8 con solo 2 oportunidades de reprobar por cada curso. Se sabe que cada participante solo puede tomar como máximo 3 cursos, al usuario frecuente se le otorga una beca del 100% a partir del 4° curso tomado. 25
  • 30. Consultas2 INSERT 1.-INSERT into materia VALUES('FIS II','Fisica II'); INSERTA LA FILA DE FISICA II. 2.-INSERT into materia VALUES('VAL III','Valores III'); INSERTA LA FILA DE LA MATERIA DE VALORES III 30
  • 31. 3.-INSERT into materia VALUES('OPTA','Optativa'); INSERTA LA FILA DE LA MATERIA DE OPTATIVA 4.-INSERT into materia VALUES('CAL','Calculo'); INSERTA LA FILA DE LA MATERIA DE CALCULO 31
  • 32. 5.-INSERT into especialidad VALUES('AU21','Arquitectura y Urbanismo'); INSERTA LA FILA DE ESPECIALIDAD DE ARQUITECTURA Y URBANISMO. 6.-INSERT into especialidad VALUES('IE53','Ingeniería Extractiva'); INSERTA LA FILA DE LA ESPECIALIDAD DE INGENIERIA EXTRACTIVA. 7.-INSERT into docente VALUES('TRGE791111C56','Trejo Garcia Edygardo','11/11/1979','Maestria','Mae. Bioing de Fermentacion','UPG'); INSERTA LA FILA DE OTRO DOCENTE. 32
  • 33. 8.-INSERT into alumno VALUES('200114042','Padron Aguilar Marliset','01/02/1997','A28','A','2'); INSERTA A OTRO ALUMNO EN LA TABLA ALUMNO. 9.-INSERT into alumno VALUES('200114043','Gomez Landa Jose','02/03/1997','A28','A','2'); INSERTA A OTRO ALUMNO DISTINTO. 33
  • 34. 10.-INSERT into alumno VALUES('200114044','Guerrero Zapata Jesus','03/04/1997','A28','A','2'); INSERTA A OTRO ALUMNO DISTINTO A LOS OTROS. update 11.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114042'; CAMBIA EL GRUPO DEL ALUMNO DE ESE NUMERO DE CONTROL. 34
  • 35. 12.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114043'; CAMBIA DE GRUPO AL ALUMNO DE ESE NUMERO DE COMTROL. 13.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114044'; CAMBIA AL ALUMNO DE GRUPO DE ESE NUMERO DE CONTROL(ACTUALIZA). 35
  • 36. 14.-UPDATE materia SET NomMat= 'Fisica 1' WHERE CveMat = 'FIS I'; ACTUALIZA LA MATERIA FISICA I 15.-UPDATE materia SET NomMat= 'Valores 3' WHERE CveMat = 'VAL I'; ACTUALIZA LA MATERIA VALORES I 36
  • 37. DELETE 16.-DELETE FROM materia WHERE CveMat = 'FIS I'; ELIMINA LA FILA DE LA MATERIA DE FISICA. 17.-DELETE FROM materia WHERE CveMat = 'VAL I'; ELIMINA LA FILA DE LA MATERIA DE VALORES 37
  • 38. 18.-DELETE FROM alumno WHERE NoControl= '200114042'; ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL. 19.-DELETE FROM alumno WHERE NoControl= '200114043'; ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL. 38
  • 39. 20.-DELETE FROM alumno WHERE NoControl= '200114044'; ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL. SELECT 21.-SELECT NomMat FROM materia WHERE NomMat = 'Optativa'; Selecciona el nombre de la materia optativa 22.-SELECT NomMat FROM materia WHERE NomMat = 'Calculo'; Selecciona el nombre de la materia calculo. 23.-SELECT NomEsp FROM especialidad WHERE NomEsp = 'Arquitectura y Urbanismo'; Selecciona el nombre de la especialidad arquitectura y urbanismo. 24.-SELECT NomEsp FROM especialidad WHERE NomEsp = 'Ingeniería Extractiva'; Selecciona el nombre de la especialidad ingenieria extractiva. 25.-SELECT NOMDOC FROM docente WHERE NOMDOC = 'Trejo Garcia Edygardo'; Selecciona el nombre del docente Trejo Garcia Edygardo. 39
  • 40.  ELECTRODOMESTICOS Enunciado Una empresa de aparatos electrónicos muy grande, es la encargada de surtir artículos a nuestro país, para ello requiere una base de datos que le ayude a la buena organización de sus datos. Cuenta con fabricantes que hacen los componentes para los artículos. Necesita registrar los datos de sus clientes (nombre, dirección), así como registrar los artículos que venden, sus precios, y todo lo que se relacione con ellos como también sus componentes. 40
  • 45. Consultas INSERT 1.-INSERT into Articulo VALUES (‘011’,’Estereo’,’5500’,’Entretenimiento’); 2.-INSERT into Articulo VALUES ('012','Impresora','4550','Complemento'); 45
  • 46. 3.-INSERT into Cliente VALUES ('M411','Jesus Gonzales','Oax.','Nardo'); 4.-INSERT into Cliente VALUES('M412','Manuel Chimal','Coa.','Pipila'); 5.-INSERT into Fabricantes VALUES ('L20','Chapultepec'); 46
  • 47. UPDATE 1.-UPDATE Fabricantes SET CIF='L25' WHERE Domicilio='Galeana'; 2.-UPDATE Componentes SET Especificacion=’Chico’ WHERE Nombre=’Diac’; 3.-UPDATE Componentes SET Especificacion=’Grande’ WHERE Nombre=’Pila’; 47
  • 48. 4.-UPDATE Articulo SET NomArt=’Mp3’ WHERE IdArticulo=’010’; 5.- UPDATE Cliente SET Direccion=’Nardo’ WHERE IdCliente=’M410’; DELETE 1.-DELETE FROM Articulo WHERE IdArticulo=’011’; 48
  • 49. 2.-DELETE FROM Articulo WHERE IdArticulo=’012’; 3.-DELETE FROM Cliente WHERE IdCliente=’M411’; 4.-DELETE FROM Cliente WHERE IdCliente=’M412’; 49
  • 50. 5.- DELETE FROM Fabricantes WHERE CIF=’L20’; 50
  • 51. Historia y evolución de SQL La historia de SQL empieza en 1974 con la definición, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigación IBM, de un lenguaje para la que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL y se implemento en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron entre 1976 y 1977 a una revisión de lenguaje del lenguaje(SEQUEL/2) que a partir de ese momento cambio de nombre por motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje se adopto y utilizo internamente en 1BM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de este sistema que no estaba todavía comercializado, también otras compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, 1BM comenzó a entregar sus productos relacionales y en 1993 empezó a vender DBZ. En el curso de los años 80, numerosas compañías comercializaron productos basados en SQL que se convierte en el estándar industrial de hecho por lo que respecta a las bases de datos relacionales. 51
  • 52. Año Nombre Alias 1986 SQL-86 SQL-87 Primera publicación hecha por ANSI. Confirmada por ISO en 1987. 1989 SQL-89 1992 SQL-92 Revisión normal. SQL2 Revisión mayor. 1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para relaciones jerárquicas), triggers y algunas características orientadas a objetos. 2003 SQL:2003 Introduce algunas característica de XML, cambios en las funciones, estandarización del objeto séquense y de las columnas auto numéricas.(Ver Eisenberg et al.: SQL:2003 Has Been Published). 2006 SQL:2006 ISO/IEC 907514:2006.Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras de importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery lenguaje de consulta XML publicado por el W3C para acceso concurrente a datos ordinarios SQL y documentos XML. 2008 SQL:2008 Permite el uso de la clausula ORDER BY fuera de las definiciones de los 52
  • 53. cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE. Comandos y sintaxis de SQL Select. Nos permite tomar información de una columna. From. Nombre de la tabla Where. Condición. Order By. Nombre de la columna(ASC,DESC). Sintaxis de los comandos Select. Select “nom_columna” from “nom_tabla” Distrinct. Select Distinct “nombre_columna” from ”nombre_tabla” Where. Select “nom_columna” From “nombre_tabla” Where “condicion” And/Or Select “nom_columna” From “nom_tabla” 53
  • 54. Where “condicion” {(And/Or) “condicion simple”} In Select “nom_columna” From “nom_tabla” Where “condicion” “nombre_columna” IN (valor) 54