Documente Academic
Documente Profesional
Documente Cultură
Modelo Entidad-Relacin
Los diagramas o modelos entidad-relacin (denominado por
su siglas, ERD Diagram Entity relationship) son una
herramienta para el modelado de datos de un sistema de
informacin. Estos modelos expresan entidades relevantes
para un sistema de informacin, sus inter-relaciones y
propiedades.
Comandos SQL
Comandos SQL
Comando
CREATE
DROP
ALTER
Comando
SELECT
INSERT
UPDATE
DELETE
Descripcin
Utilizado para crear nuevas tablas, campos e ndices
Empleado para eliminar tablas e ndices
Utilizado para modificar las tablas y agregar campos
o cambiar la definicin de los campos.
Descripcin
Utilizado para consultar registros de la base de datos
que satisfagan un criterio determinado
Utilizado para ingresar registros de datos en la base
de datos en una nica operacin
Utilizado para modificar los valores de los campos y
registros especificados
Utilizado para eliminar registros de una tabla de una
base de datos
Comparacin
Agrupamiento
Visualizar
Orden
Operadores
Logicos
Salidas
Unin
UNION
Comandos de Agregado
Comando
Descripcin
<
Menor que
>
Mayor que
<>
Distinto de
<=
>=
Igual que
BETWEEN
LIKE
In
http://msdn.microsoft.com/en-us/library/ms174318.aspx
Comandos de Agregado
Comando
AVG
COUNT
SUM
MAX
MIN
Descripcin
Se emplea para calcular el promedio de los valores
de un campo determinado
Se emplea para devolver la cantidad de registros de
la seleccin
Se emplea para devolver la suma de todos los
valores de un campo determinado
Se emplea para devolver el valor ms alto de un
campo o expresin especificada
Se emplea para devolver el valor ms bajo de un
campo o expresin especificada
http://msdn.microsoft.com/en-us/library/ms177677.aspx
Comandos de Fecha
Funcin
Descripcin
GETDATE
DAY
MONTH
YEAR
DATEDIFF
DATEPART
CONVERT
http://msdn.microsoft.com/en-us/library/ms189794.aspx
Ejemplo:
Tabla de estudiante
Campo
id
nombre
fecha
sexo
clase
hcode
mtest
dcode
Tipo
Longitud
contenido
numeric
4
identificador del estudiante
character 10
nombre
date
8
Fecha de nacimiento
character
1
sexo: M / F
character
2
clase
character
1
cdigo de casa
numeric
4
calificacin de matematicas
character
3
cdigo de distrito
Estructura General
SELECT ...... FROM ...... WHERE ......
SELECT [ALL / DISTINCT] expr1 [AS col1], expr2 [AS col2] ;
Estructura General
SELECT [ALL / DISTINCT] expr1 [AS col1], expr2 [AS col2] ;
FROM nombre de la tabla WHERE condicin
La consulta selecciona las filas del nombre de tabla y
da salida al resultado en forma de tabla de origen.
Expresiones expr1, expr2 pueden ser:
(1) una columna, o
(2) una expresin de funciones y campos.
Col1 y col2 son los nombres de las columnas
correspondientes de la tabla de salida.
Estructura General
SELECT [ALL / DISTINCT] expr1 [AS col1], expr2 [AS col2] ;
FROM nombre de la tabla WHERE condicin
DISTINCT eliminar las filas duplicadas en la salida,
mientras que ALL mantendr todas las filas
duplicadas.
La condicin puede ser:
(1) la desigualdad, o
(2) una comparacin de cadenas
Utilizando los operadores lgicos AND, OR, NOT.
Estructura General
Ejemplo: Indique los estudiantes de la clases 1A.
Clase
1A
1A
1A
1B
1B
:
clase="1A"
1A
1A
1A
1B
1B
:
Comparacin
Comparacin
Enumere los estudiantes que no nacieron
en enero, marzo, junio, septiembre.
Ejemplo . 7
nombre
Wendy
Tobe
Eric
Patty
Kevin
Bobby
Aaron
:
clase
1B
1B
1C
1C
1C
1A
1A
:
fecha
07/09/86
10/17/86
05/05/87
08/13/87
11/21/87
02/16/86
08/02/86
:
Comparacin
Enumere los estudiantes cuyos nombres
comienzan con "T ".
Ejemplo . 9
nombre
Tobe
Teddy
Tim
clase
1B
1B
2A
Comparacin
Enumerar los miembros de la casa roja
cuyos nombres contienen "a" como la segunda letra.
Ejemplo. 10
nombre
Aaron
Janet
Paula
clase
1A
1B
2A
hcode
R
R
R
Agrupamiento
SELECT ...... FROM ...... WHERE condicin ;
GROUP BY groupexpr [teniendo el requisito]
Funciones de Grupo:
COUNT( ), SUM( ), AVG( ), MAX( ), MIN( )
group especifica las filas relacionadas para ser agrupados
como una sola entrada. Por lo general, se trata de una
columna.
WHERE especifica la condicin de filas individuales antes
de las filas en el grupo. HAVING requisito especifica la
condicin de la participacin de todo el grupo.
Agrupamiento
Ejemplo. 11
clase.
Group By Clase
clase
1A
1A
1A
COUNT( )
1A
1B
1B
1B
1B
1B
COUNT( )
1B
1B
1C
1C
1C
1C
Estudiante
COUNT( )
Agrupamiento
Ejemplo. 11
Resultado
clase
1A
1B
1C
2A
2B
2C
cnt
10
9
9
8
8
6
Agrupamiento
Seleccione el puntaje de la prueba de
matemticas de cada clase.
Ejemplo . 12
Group By Clase
clase
1A
1A
1A
AVG( )
1A
1B
1B
1B
1B
1B
AVG( )
1B
1B
1C
1C
1C
1C
Estudiante
AVG( )
Agrupamiento
Seleccione el puntaje de la prueba de
matemticas de cada clase.
Ejemplo . 12
clase
1A
1B
1C
2A
2B
2C
avg_mtest
85.90
70.33
37.89
89.38
53.13
32.67
Agrupamiento
Ejemplo . 13
distrito.
Resultado
dcode
HHM
KWC
MKK
SSP
TST
YMT
cnt
6
1
1
5
4
8
Agrupamiento
Seleccione el Max. y min. de calificacin de
la prueba de matemticas a los estudiantes de cada
distrito.
Ejemplo. 14
Resultado
Agrupamiento
Ejemplo . 15 Seleccione el puntaje promedio de las pruebas de
matemticas de los nios en cada clase. La lista no debe
contener clase con menos de 3 nios.
avg_mtest clase
86.00
1A
77.75
1B
35.60
1C
86.50
2A
56.50
2B
Visualizar Orden
SELECT ...... FROM ...... WHERE ......
GROUP BY ..... ;
ORDER BY nombre de la columna
ASC / DESC
Visualizar Orden
Enumere los chicos de la clase 1A,
ordenado por sus nombres.
Ejemplo . 16
id
9801
9803
9810
9811
9812
9813
Resultado
ORDER BY
dcode
nombre
Aaron
Bobby
Johnny
Luke
Peter
Ron
id
9812
9811
9803
9810
9801
9813
Visualizar Orden
Enumere los estudiantes 2A por su distrito
de residencia.
Ejemplo . 17
nombre
Jimmy
Tim
Samual
Rosa
Helen
Joseph
Paula
Susan
id
9712
9713
9714
9703
9702
9715
9701
9704
clase
2A
2A
2A
2A
2A
2A
2A
2A
dcode
HHM
HHM
SHT
SSP
TST
TSW
YMT
YMT
Visualizar Orden
Seleccione el nmero de estudiantes de
cada distrito (en orden descendente).
Ejemplo. 18
Resultado
11
10
10
9
5
2
1
1
1
docode
YMT
HHM
SSP
MKK
TST
TSW
KWC
MMK
SHT
Visualizar Orden
Enumere los nios de cada cdigo de casa
por clase. (2-niveles de ordenamiento)
Ejemplo. 19
Visualizar Orden
Resultado
Casa
azul
Order
by
hcode
Casa
verde
:
:
nombre
Bobby
Teddy
Joseph
Zion
Leslie
Johnny
Luke
Kevin
George
:
hcode
B
B
B
B
B
G
G
G
G
:
clase
1A
1B
2A
2B
2C
1A
1A
1C
1C
:
Order
by
clase
Salida
Imprima los miembros de la casa roja da su
clase, el sexo y el nombre.
Ejemplo. 21
clase
1A
1A
1A
1B
1B
1B
1B
:
nombre
Aaron
Peter
Ron
Tobe
Janet
Kitty
Mimi
:
sexo
M
M
M
M
F
F
F
:
Llave Fornea
Relacin Muchos a
Muchos:
Una relacin de uno a uno se crea si las dos columnas relacionadas son claves
principales o tienen restricciones nicas.
Este tipo de relacin no es comn porque la mayor parte de la informacin
relacionada de esta manera estara en una tabla. Se puede utilizar una relacin de
uno a uno para:
Dividir una tabla con muchas columnas
Aislar parte de una tabla por razones de seguridad
Almacenar informacin aplicable nicamente a un subconjunto de la tabla
principal.
Implementar entidades del tipo Generalizacin con sus especializaciones.
Varias Tablas:
SQL proporciona una operacin conveniente para recuperar la
informacin de varias tablas.
Varias Tablas:
Campo1
A
B
campo2
1
2
3
campo1 campo2
A
1
A
2
A
3
B
1
B
2
B
3
Principales Manejadores
de Base de Datos