Vous êtes sur la page 1sur 46

Portafolio de evidencias

base de datos ll


Alumno: Romn Cuatln Patricio



Maestra: Yesenia Santana Cardoso



Materia: BASE DE DATOS II












INDICE
UNIDAD 1 MODELO RELACIONAL
1.1 CONCEPTOS DEL MODELO RELACIONAL
1.2 RESTRICIONES RELACIONALES
1.3 INTEGRIDAD DE ENTIDADES E INTEGRIDAD REFERENCIAL
1.4 TRAMSFORMACION DE E-R A MODELO RELACIONA
1.4.1 SISTEMAS MANEJADORES DE BASES DE DATOS
1.5 PRACTICAS

UNIDAD ll
2.1 USO DEL DICCIONARIO DE DATOS
2.2 ELABORACION DE UN DICCIONARIO DE DATOS
2.3 PRACTICAS

UNIDAD lll. RESTRICCIONES DE LAS B.D (UNIDAD, REFERENCIAL, DE DOMINIO)
3.1 TIPOS DE RESTRCCIONES DE INTEGRIDAD
3.2 USO DE RESTRCCIONES
3.3 CASOS DE PRUEBA PARA RESTRICCIONES
3.4 PRACTICAS

UNIDAD IV. CONSULTAS AVANZADAS
4.1 CONSULTAS MULTITABLAS
4.2 SUBCONSULTAS
4.3 OPERACIONES CON CONJUNTOS
4.4 PRACTICAS

UNIDAD V. PROSEDIMIENTOS ALMACENADOS Y DISPARADORES
5.1 CONCEPTOS DE DISPARADORES Y PROCEDIMIENTOS ALMACENADOS
5.2 CREACION Y USO DE PROCEDIMIENTOS ALMACENADOS
5.3 CREACION Y USO DE DISPARADORES
5.4 PRACTICAS

UNIDAD VI INDICES
6.1 CONCEPTOS DE INDICES
6.2 CREACION, ACTUALIZACION Y ELIMINACION DE INDICES
6.3 PRACTICAS




UNIDAD VII. VISTAS
7.1 CONCEPTOS DE VISTA
7.2 CREACION, ACTUALIZACION Y ELIMINACION DE VISTAS
7.3 PRACTICAS
UNIDADVIII CREACION DE REPORTES

8.1 CONCEPTO DE REPORTE
8.2 GENERACION DE REPORTES
8.3 PRACTICAS



































UNIDAD I MODELO RELACIONAL

CONCEPTOS DEL MODELO RELACIONAL

o Modelo que trabaja a base de lgica de predicados y en la teora de conjuntos.
o Surge en 1970 por Edgar Frank Codd, de los laboratorios IBM en san Jos
California.
o En la actualidad es el modelo de datos mayormente utilizados.
o Su idea fundamental es el uso de Relaciones (tablas), las cuales tuplas
(registros) y estos a su vez compuestos por un conjunto de atributos
conocidos como campos (columnas).
o lgebra Relacional. consiste de algunas simples pero poderosas maneras de
construir nuevas relaciones a partir de otras.
o Normalizacin. Consiste en aplicar una serie de reglas con el propsito de
evitar redundancia de los datos, evitar problemas de actualizacin de datos en
las tablas, proteger integridad de los datos.
1FN Eliminar atributos no atmicos
2FN Eliminar dependencias parciales
3FN Eliminar dependencias transitivas

Restricciones Relacionales
o En el modelo relacional es frecuencia llamar tabla a una relacin, aunque para que
una tabla sea considerada como relacin tiene que cumplir con algunas
restricciones:
cada columna debe tener su nombre nico
no puede haber dos filas iguales (no duplicaciones renglones)
todos los datos en una columna deber ser del mismo tipo



Conceptos de llaves
Una clave candidata de una relacin es un conjunto no vaco de atributos que identifican
univoca y mnimamente cada tupla. Toda relacin siempre tendr una clave candidata.
o Clave primaria: Define de manera nica e univoca a cada tupla, adems de no
aceptar valores nulos.
o Clave alternativa: Son aquellas claves candidatas que no han sido escogidas
como claves primarias,
o Clave ajena o fornea: de una relacin R2 es un conjunto no vaco de atributos
cuyos valores han de coincidir con los valores de las clave primaria de una
relacin R1, Notar que la clave ajena y la correspondiente clave primaria han
de estar definidas sobre los mismos dominios.



Integridad Relacional
o Ahora que ya conocemos el funcionamiento de las claves primarias y las
claves ajenas estamos en posicin de estudiar las reglas de integridad.
Con este nombre se designa aquellas reglas que han de ser aplicadas
ana base de datos para asegurar que los datos introducidos sean
consistentes con la realidad que pretenden modelar.
o Un atributo I, posiblemente compuesto, de una relacin R, I ser una clave
R si y solo satisface las siguientes propiedades independientes del tiempo.
Unicidad. En cualquier momento dado, no existen dos elementos
en R con el mismo valor de I.
Normalidad. , si I es compuesto, no ser posible eliminar ningn
atributo componente de I sin destruir la propiedad de unicidad.







Integridad de Entidades
o Ningn componente de la clave primaria de una relacin base puede aceptar
valores nulos. Esta regla impide la existencia de una tupla sin identificador nico.
o Define una fila como entidad nica para una tabla determinada
o Se implementa a travs de una restriccin primaria (primary-key)

Integridad Referencial
o Propiedad deseable en las bases de datos, implica que los datos sean
correctos en todo momento sin repeticiones innecesarias, datos perdidos y
relaciones mal resueltas. Se implementa a travs de restricciones
forneas (foreign key).
o La base de datos no debe contener valores de clave ajena sin
concordancia.

Transformacin de E-R a modelo Relacional

1. por cada conjunto de entidades fuerte del modelo E-R, crear una relacin
en el modelo relacional cuyos campos estn dados por los atributos
simples del conjunto de entidades. En caso que el conjunto de entidades
posea atributos compuesto, se deben incluir cada uno de los atributos que
componen el atributo compuesto, como campos simples de la relacin.
La clave primaria del conjunto de entidades se convierte en la clave
primaria de la relacin, si la clave primaria del conjunto de entidades es
compuesta, la clave primaria de la relacin va a estar formada por los
campos simples de la relacin, que representan el conjunto de atributos
que conforman la clave primaria del conjunto de entidades.

2. Conjunto de entidades dbiles: por cada conjunto de entidades
dbiles del modelo E-R, crear una relacin cuyos campos estarn dados
por los atributos simples del conjunto de entidades dbiles y por los
atributos que forman los atributos compuestos del conjunto de entidades
dbiles, adems, deben incluirse como campos los atributos que
conforman la clave primaria del conjunto del conjunto de entidades
propietarias, ya que estos campos en conjunto con el campo asociado a la
clave parcial de la entidad dbil, conforman la clave primaria de la relacin
y adems la clave primaria de la relacin fuerte funciona como clave
fornea que representa la asociacin entre ambas relaciones. En caso que
el conjunto de relaciones identificadoras posea atributos, estos deben ser
incluidos como campos en la relacin que representa al conjunto de
entidades dbiles.


3. Asociacin binaria uno a uno:
Para identificar la asociacin que existe, entre relaciones que representan conjuntos de
entidades que participan en asociaciones binarias uno a uno, se pueden utilizar las
siguientes alternativas:
a. Representacin en una relacin: Esta integracin tiene sentido cuando la
participacin de los conjuntos de entidades en el conjunto de relaciones es total, se crea
una relacin que tiene como campos los atributos de los conjuntos de entidades que
participan en la asociacin, en caso que estos conjuntos tengan la misma clave primaria,
esta se convierte en la clave primaria de la relacin, en caso contrario se incluyen ambas
claves como campos de la relacin, estos campos seria claves candidatas y cualquiera de
estos se convertir en clave primaria de la relacin.

b. Representacin en dos relaciones: se utiliza la representacin de conjunto de
entidades fuertes descrito en el paso I para los conjuntos de entidades que participan en
la asociacin, luego se d debe elegir una de las relaciones (generalmente se
puede identificar una entidad ms dbil que la otra), e incluir en esta como clave fornea
la clave primaria de la otra relacin. Si la participacin es parcial por parte de uno de los
conjuntos de entidades, la relacin que representa al conjunto de entidades dependiente,
es la elegida para incorporar la clave primaria de este conjunto de entidades, forman la
clave primaria de la relacin adems se incorporan a esta relacin los campos que
representan posibles atributos que tuviese el conjunto de relaciones.

o c. Representacin en tres relaciones: si la particin es parcial por parte de uno
de los conjuntos de entidades o por ambos, se debe utilizar una relacin por cada
conjunto de entidades, ms una relacin que representa el conjunto de relaciones
implicando en la asociacin. Para los conjuntos de entidades, se utiliza la
representacin descrita en el paso I, para la relacin que representa al conjunto
de relaciones, se incluye como claves forneas las claves primarias de los
conjuntos de entidades que participan en la asociacin, que en conjunto
conforman la clave primaria de la relacin, a esta relacin se le deben agregar,
adems, los campos que representen atributos que pudiese tener el conjunto de
relaciones.








4. Asociacin binaria 1 a muchos
Para identificar la asociacin que existe entre relaciones que representan conjuntos de
entidades que participan en asociaciones binarias uno a muchos, se puede utilizar las
siguientes alternativas, dependiendo de si la participacin es obligatoria o parcial:

a. Participacin obligatoria: se debe incluir como clave fornea en la relacin asociada
a la cardinalidad mucho, la clave primaria de la relacin asociada a la cardinalidad uno,
que en conjunto con la clave primaria del conjunto de entidades asociado a la cardinalidad
muchos, se transforma en la clave primaria de la relacin. En caso que el conjunto de
relaciones que participa en la asociacin de ambos conjuntos de entidades posea
atributos, estos deben ser incluidos como campos en la relacin asociada a la
cardinalidad muchos.

b. Participacin parcial en 2 relaciones: se debe incluir como clave fornea en la
relacin asociada a la cardinalidad mucho, la clave primaria de la relacin asociada a la
cordialidad uno, la clave primaria del conjunto de entidades asociados a la cardinalidad
muchos, se transforma en la clave primaria de la relacin. En la caso que el conjunto de
relaciones que participa en la asociacin de ambos conjuntos de entidades posea
atributos, estos deben ser incluidos como campos en la relacin asociada a la
cardinalidad muchos. Esta alternativa deja la posibilidad de que la clave fornea tenga
valores nulos.

Participacin parcial en 3 relaciones: Este caso se utiliza para evitar la presencia
de atributos nulos en la clave fornea. Se crea una relacin para cada conjunto de
entidades, con campos que representan los atributos de estos, adems, se crea una
tercera relacin asociada al conjunto de relaciones, que contiene los campos que
representan los posibles atributos que tuviese este conjunto de relaciones, como clave
primaria del conjunto de entidades asociado a la cardinalidad muchos, y se incluyes como
clave fornea la clave primaria del conjunto de entidades asociado a la cardinalidad uno.




5. Asociacin binaria muchos a muchos:
Para identificar la asociacin que existe entre relaciones que representan conjuntos de
entidades que participan en asociaciones binarias muchos a muchos, se debe crear una
nueva relacin que representa el conjunto de relaciones que participa en la asociacin de
los conjuntos de entidades , se crean campos asociados a los atributos que pueda tener
el conjunto de relaciones, adems, se incorporan como claves forneas, los campos que
representan las claves primarias de los conjuntos de entidades que estn asociados por el
conjunto de relaciones, estas claves forneas a su vez conforman la clave primaria de la
relacin.

6. Atributos multivaluados:
Cuando existen atributos multivaluados en un conjunto de entidades, se debe crear una
nueva relacin que tenga como campos el atributo multivaluado, adems, se deben incluir
como clave fornea la clave primaria del conjunto de entidades que contiene el atributo
multivaluado, estos campos en conjunto forman la clave primaria de la relacin.

7. Asociacin de grado 3 o superior:
En asociaciones de grado 3 o superior se debe crear una relacin que representa al
conjunto de relaciones que participan en las asociacin, a esta relacin, se agregan
campos que representan los atributos que pudiese tener la asociacin, adems se deben
agregar como clave fornea los campos claves de los conjuntos de entidades que
participan en la asociacin, quienes conforman la clave primaria de la relacin. Como
caso particular se puede sealar que si se detecta que algn conjunto de entidades
participa en la asociacin con una cardinalidad de uno, la clave primaria de la relacin
creada a partir del conjunto de relaciones, estara formada por las claves forneas de los
conjuntos de entidades que participan en la asociacin de grado tres menos la clave
fornea asociada al conjunto de entidades con participacin de cardinalidad uno en la
asociacin.








8. Jerarquas de generalizacin:
o para convertir las jerarquas de generalizacin del modelo E-R al modelo relacional
existen las siguientes alternativas que dependern de si es total/parcial,
solapada/disjunta:


a. crear una relacin por cada conjunto de entidades las relaciones que
representan a los conjuntos de entidades de nivel inferior heredan como
clave fornea la clave primaria del conjunto de entidades de nivel superior,
que al mismo tiempo es la clave primaria, los campos de las relaciones,
son los atributos de cada conjunto de entidades que representan. Esta
alternativa sirve para cualquier tipo de generalizacin.


b. crear una relacin por cada conjunto de entidades de nivel inferior,
heredando los atributos de la entidad de nivel superior, como campos de la
relacin. La clave primaria de las relaciones creadas ser la clave primaria
del conjunto de entidades de nivel superior. Esta alternativa solo sirve para
jerarquas totales y exclusivas.


c. integrar todos los conjuntos de entidades en una nica relacin,
incluyendo en ella los atributos del conjunto de entidades de nivel superior
y los atributos de cada conjunto de entidades de nivel inferior como
campos de la relacin, se crea un nuevo campo que ser el discriminador
entre cada tipo d conjunto de entidades de nivel inferior, la clave primaria
del conjunto de entidades de nivel superior, formara la clave primaria del
conjunto de entidades de nivel superior, formara la clave primaria de la
relacin. Esta alternativa sirve para generalizaciones de cualquier tipo, pero
trae como consecuencia la generacin de atributos nulos.








9. Agregacin:
o La agregacin no puede ser representada de forma directa en el modelo
relacional, para poder representarla primero se representa el conjunto de
entidades y el conjunto de relaciones agregados segn los pasos anteriores
dependiendo del grado y cardinalidad de la asociacin, utilizando una relacin
para representarse el conjunto de relaciones participante de la agregacin. Luego
considerarse el conjunto de entidades y el conjunto de relaciones asociado a la
agregacin como una asociacin binaria, sobre la relacin que representa el
conjunto de relaciones agregado y aplicar el mtodo que corresponda.


10. Asociaciones redundantes:

o Las asociaciones redundantes, no se pueden representar de forma directa
en el modelo relacional, por lo cual, deben ser transformadas en
asociaciones binarias. Generalmente se crea un conjunto de entidades que
representan al conjunto de relaciones y un par de conjuntos de relaciones
para asociar este nuevo conjunto de entidades con el conjunto de
entidades inicial. Luego se puede representar en el modelo relacional con
alguno de los pasos antes sealados.

























TAREA

1. Disear el modelo relacional partiendo del modelo entidad-relacin de los
Siguientes ejercicios:


A). Una empresa vende productos a varios clientes. Se necesita conocer los
Datos personales de los clientes (nombre, apellidos, Cup, direccin y fecha de
Nacimiento). Cada producto tiene un nombre y un cdigo, as como un precio
Unitario. Un cliente puede comprar varios productos a la empresa, y un mismo
Producto puede ser comprado por varios clientes.
Los productos son suministrados por diferentes proveedores. Se debe tener en
Cuenta que un producto slo puede ser suministrado por un proveedor, y que un
Proveedor puede suministrar diferentes productos. De cada proveedor se desea
Conocer el RFC, nombre, direccin, ciudad y email.

b). Se desea disear una base de datos para almacenar y gestionar la
Informacin usada por una empresa dedicada a la venta de automviles.
La empresa dispone de una serie de automviles para su venta. Se necesita
Conocer la matrcula, marca y modelo, el color y el precio de venta de cada coche.
Los datos que interesa conocer de cada cliente son el RFC, nombre, direccin,
Ciudad y nmero de telfono: adems, los clientes se diferencian por un cdigo
Interno de la empresa que se incrementa automticamente cuando un cliente se
Da de alta en ella y puede tener ms de un telfono. Un cliente puede comprar
Tantos coches como desee a la empresa. Un coche determinado solo puede ser
Comprado por un nico cliente.
El concesionario tambin se encarga de llevar a cabo las revisiones que se
Realizan a cada coche. Cada revisin tiene asociado un cdigo que se incrementa
Automticamente por cada revisin que se haga. De cada revisin se desea saber
Si se ha hecho cambio de filtro, si se ha hecho cambio de aceite, si se ha hecho
Cambio de frenos u otros. Los coches pueden pasar varias revisiones en el
Concesionario.


2. La actividad consiste en elaborar el Diccionario de Datos de su modelo
Relacional planteado en la actividad 1 (de cada uno de los ejercicios)



MODELO ENTIDAD-RELACIONAL: empresa vende productos a varios clientes.













Clientes
Fechana
c
Direcci
n
Apellid
Curp
Nombre
Productos
Precio
unitario
Cdigo
Nombre
Proveedores
Email
Direc
cin
Cuidad
RFC
Nombre
Empleados
Telfo
no
Direccin
Apellidos
Id
Nombre
Hentrada
Hsalida
Atiend
e
Comp
ra
Ven
de
Prov
ee
N
M
N
M
M
N
M
N


MODELO ENTIDAD-RELACIONAL: una empresa dedicada a la venta de automviles.










Clientes
idcliente
Direcci
n
Telfono
RFC
Nombre
Ventas
Precio
Matricula
Color
Empleados
Email
Direccin
Cuida
d
RFC
Nombre
Revisiones
Camfreno
Camfiltro
iddrevision
Camaceite
Otra revisin
Comp
ra
Ven
de
Vende
n
n
n
M M
N
Fechavent
a
Modelo
Marca


Diccionario de datos de empresa de ventas
CLIENTES
Nombre del
atributo
contenido tipo formato intervalo
Cup Contenido
de la Curp
Varchar(12) XXXX
nombre Nombre del
cliente
Varchar(30) XXXX
apellidos Apellidos
del cliente
Varchar(30) XXXX
direccin Direccin
del cliente
Varchar(50) XXXX
Fechanac Fecha de
nacimiento
del cliente
Fecha corta 01/05/04
Idcliente Descripcin
de
id_cliente
Int(3) 132 100-200


PRODUCTOS
Nombre del
atributo
contenido tipo formato intervalo
Cdigo
producto
Identificacin
del producto
int(3) 001 100-200
nombre Nombre del
producto
Varchar(30) XXXX
Precio
unitario
Precio del
producto
Varchar(30) XXXX
Curp

Curp del
cliente
Varchar(12) XXXX
rfc Clave de
hacienda
Varchar(10
)
XXXx
Idempleado Descripcin
de
id_empleado
Int(3) 132 500-900












Proveedores
Nombre del
atributo
contenido tipo formato intervalo
RFC clave de
hacienda
Varchar(10) XXXX
Nombre Nombre del
proveedor
Varchar(30) XXXX
ciudad Nombre de
la cuidad
donde reside
el proveedor
Varchar(30) XXXX
direccin

Direccin del
proveedor
Varchar(50) XXXX
email Email del
proveedor
Varchar(20) XXXX











Empleados
Nombre del
atributo
contenido tipo formato intervalo
Idempleados Identificacin
del
empleado
int(3) 132 500-900
nombre Nombre del
empleado
Varchar(30) XXXX
apellidos Apellidos del
empleado
Varchar(30) XXXX
direccin

Direccin del
empleado
Varchar(50) XXXX
telfono Telfono del
empleado
Int(10)
Hentrada Hora de
entrada del
empleado
Hora corta 22:12
Hsalida Hora de
salida del
empleado
Hora corta 10:20
Curp Curp del
empleado
Varchar(12) XXXX









Diccionario de datos de la venta de automviles
CLIENTES
Nombre del
atributo
contenido tipo formato intervalo
Curp Contenido
de la Curp
Varchar(18) XXXX
nombre Nombre del
cliente
Varchar(30) XXXX
apellidos Apellidos del
cliente
Varchar(30) XXXX
direccin Direccin del
cliente
Varchar(50) XXXX
Fechanac Fecha de
nacimiento
del cliente
Varchar(10) 01/05/04










Ventas
Nombre del
atributo
contenido tipo formato intervalo
matricula

Identificacin
del
automvil
int(3) 001 000-100
marca Marca del
automvil

Varchar(20) XXXX
color Color del
automvil
Varchar(10) XXXX

modelo Modelo del
automvil
Varchar(10) XXXx
Fecha
venta
Fecha de la
venta del
automvil
Varchar(10) 01/03/07
precio Precio del
automvil
Moneda $1000











Revisiones
Nombre del
atributo
contenido tipo formato intervalo
Camfrenos Descripcin
del cambio
de frenos del
automvil
Varchar(20) XXXX
Camfiltro Descripcin
del cambio
de filtro del
automvil
Varchar(20) XXXX
Otra revisin Descripcin
de
revisiones
del
automvil
Varchar(30) XXXX
Camaceite

Descripcin
del cambio
de aceite del
automvil
Varchar(20) XXXX
idrevisin Cdigo de la
revisin del
automvil
Varchar(5) XXXX





Empleados
Nombre del
atributo
contenido tipo formato intervalo
nombre Nombre del
empleado
Varchar(30) XXXX
Direccin


Direccin del
empleado
Varchar(30) XXXX
cuidad Ciudad del
empleado
varchar(10) XXXX
rfc Clave
hacienda
Varchar(10) XXXX
email EMAIL del
empleado
Varchar(20) XXXX


Unidad II
2.- DICCIONARIO DE DATOS
Un diccionario de datos es un conjunto de metadatos que contiene las
caractersticas lgicas de los datos que se van a utilizar en el sistema que se
programa, incluyendo nombre, descripcin, alias, contenido y organizacin,
Estos diccionarios se desarrollan durante el anlisis de flujo de datos y ayuda a los
analistas que participan en la determinacin de los requerimientos del sistema, su
contenido tambin se emplea durante el diseo del proyecto.
En un diccionario de datos se encuentra la lista de todos los elementos que
forman parte del flujo de datos de todo el sistema. Los elementos ms importantes


son flujos de datos, almacenes de datos y procesos, El diccionario de datos
guarda los detalles y descripcin de todos estos elementos

2.1 USO DEL DICCIONARIO DE DATOS
Nombre de la
tabla
Nombre del atributo Contenido Tipo Formato Intervalo
CUESTOMER CUS_CODE
CONTENIDO
DE CUENTA
DEL CLIENTE
CHARS
(5)
99999 100-999
CUS_LNAME
APELLIDOS
DEL CLIENTE
VCHAR
(20)
Xxxxxx
CUS_FNAME
PRIMER
NOMBRE DEL
CLIENTE
VCHAR
(20)
Xxxxxx
CUS_INITIAL
INICIAL
INTERMEDIA
DEL CLIENTE
CHAR
(1)
X
CUS_RENEW_DATE
FECHA DE
RENOVACIN
DEL CLIENTE
DATE DD_MM_YYYY
AGENT_CODE
CDIGO DE
AGENTE DE
SEGUROS
CHAR
(3)
999

2.2.- ELABORACIN DE UN DICCIONARIO DE DATOS

2.3.- PRACTICAS




UNIDAD lll: Restricciones de las BD (unicidad,
Referencial, de dominio)

Qu es una restriccin?
Una restriccin es una limitacin que obliga el cumplimiento de ciertas condiciones en la
base de datos. Algunas no son determinadas por los usuarios, sino que son
inherentemente definidas por el simple hecho de que la base de datos sea relacional.
Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con
valores enteros entre 1 y 10.
Las restricciones proveen un mtodo de implementar reglas en la base de datos. Las
restricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente se
definen usando expresiones que dan como resultado un valor booleano, indicando si los
datos satisfacen la restriccin o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas porque
juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con
los conceptos relacionales.

Qu es un dominio?
Un dominio describe un conjunto de posibles valores para cierto atributo. Como un
dominio restringe los valores del atributo, puede ser considerado como una restriccin.
Matemticamente, atribuir un dominio a un atributo significa "cualquier valor de este
atributo debe ser elemento del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales, etc.
Cada tabla puede tener uno o ms campos cuyos valores identifican de forma nica cada
registro de dicha tabla, es decir, no pueden existir dos o ms registros diferentes cuyos
valores en dichos campos sean idnticos. Este conjunto de campos se llama clave nica.
Pueden existir varias claves nicas en una determinada tabla, y a cada una de stas
suele llamrsele candidata a clave primaria.

CLAVE UNICA:
Una clave nica debe identificar de forma nica todos los registros posibles que existen
en una mesa y no slo a las filas existentes en la actualidad. Ejemplos de claves nicas


son nmeros de Seguro Social o ISBN. Las guas telefnicas y los diccionarios no pueden
usar nombres, palabras o nmeros del sistema decimal de Dewey como claves
candidatas, ya que no identifican de forma exclusiva los nmeros de telfono o palabras.
Una tabla puede tener como mximo una clave primaria, pero ms de una clave nica.

CLAVE PRIMARIA:
Una clave primaria es una clave nica elegida entre todas las candidatas que define
unvocamente a todos los dems atributos de la tabla, para especificar los datos que
sern relacionados con las dems tablas. La forma de hacer esto es por medio de claves
forneas.

CLAVE FORANEA:
Una clave fornea es una referencia a una clave en otra tabla, determina la relacin
existente en dos tablas. Las claves forneas no necesitan ser claves nicas en la tabla
donde estn y s a donde estn referenciadas.
Por ejemplo, el cdigo de departamento puede ser una clave fornea en la tabla de
empleados. Se permite que haya varios empleados en un mismo departamento, pero
habr uno y slo un departamento por cada clave distinta de departamento en la tabla de
departamentos.

CLAVE INDICE:
Las claves ndice surgen con la necesidad de tener un acceso ms rpido a los datos. Los
ndices pueden ser creados con cualquier combinacin de campos de una tabla. Las
consultas que filtran registros por medio de estos campos, pueden encontrar los registros
de forma no secuencial usando la clave ndice.
Las bases de datos relacionales incluyen mltiples tcnicas de ordenamiento, cada una
de ellas es ptima para cierta distribucin de datos y tamao de la relacin.
Los ndices generalmente no se consideran parte de la base de datos, pues son un detalle
agregado. Sin embargo, las claves ndices son desarrolladas por el mismo grupo de
programadores que las otras partes de la base de datos.


Tipos de restricciones de integridad en SQL Server
1. tipo de dato. Cada columna solo puede aceptar valores de acuerdo al tipo de datos
definido. Por ejemplo si es un tipo doble no aceptara que se tengan valores de fecha o de
cadena para ese tipo de dato.

2. definiciones not null. Evita que existan campos con valor null cuando existe una
obligatoriedad para el mismo.

*definiciones default. Se usan cuando se desea indicar un valor por defecto en caso de
que no se especifique un valor para ello.
*identificacin nica. Atributos que identifican de manera nica a cada registro.
*restricciones (constraint). El motor obliga la implementacin de la integridad de la base
de datos, indica que valores son permitidos.
Reglas (rules). Permiten restringir valores para una columna, nicamente se puede usar
una regla por columna. Son creadas como objetos separados y luego vinculadas a una
columna.
Restricciones check son especificadas como parte del comando CREATE TABLE.
Desencadenadores (Disparadores/Tiggers). Procedimientos almacenados se definen
para ser ejecutados automticamente cuando es ejecutado un comando UPDATE,
INSERT o DELETE sobre una tabla o una vista.
Pueden ser utilizados para aplicar las reglas de negocios de manera automtica en el
momento en que los datos son modificados.
Es otra forma de implementar restricciones valores por defecto, y reglas; sin embargo es
ms recomendable usar restricciones que desencadenadores para estas situaciones.
ndices. Estructura que ordena los datos de una o ms columnas en una tabla de base de
datos. U ndice provee de puntos a los valores de los datos almacenados en columnas
especificadas de una tabla y luego ordena esos punteros de acuerdo al orden que se
especifique. Las bases de datos utilizan los ndices de un libro: se busca en el ndice para
encontrar un determinado valor y luego se sigue un puntero a la fila que contiene ese
valor. Un ndice con clave nica asegura la unicidad en la columna.


Tipos de integridad de datos en SQL server



Integridad de entidad
Integridad de dominio
Integridad referencial
Integridad definida por el usuario


Integridad de entidad:
Define una fila como una nica instancia de una entidad para una tabla en particular. La
integridad de entidad asegura la integridad de la columna de identificacin o la clave
primaria de una tabla a travs de ndices, restricciones UNIQUE, restricciones PRIMARY
KEY o propiedades IDENTITY

Integridad de dominio:
validacin de las entradas en una determinada columna, se puede asegurar la integridad
de dominio restringiendo el tipo a travs de tipos de datos, el formato a travs de
restricciones check y de las reglas o el rango de valores posibles a travs de
restricciones FOREING KEY, restricciones CHECK, definiciones NOT NULL reglas.

Integridad referencial:
Preserva las relaciones definidas entre tablas, cuando se insertan, actualizan o eliminan
registros. Se basa en la interrelacin de claves forneas y claves primarias o entre claves
forneas y claves nicas a travs de la restriccin FOREING KEY y CHECK. Esta
integridad garantiza que los valores de las claves son consistentes a travs de distintas
tablas.

Integridad definida por el usuario:
Permite definir reglas de negocios especficas que no caigan dentro de alguna de las
categoras anteriores.


Unidad IV. Consultas Avanzada

SQL
SQL (Structured Query Language / Lenguaje Estructurado de Consulta). Permite la
insercin, consulta, modicacin, eliminacin de los datos, as como la denicin de la
estructura de los datos y la especicacin de ligaduras de seguridad de una base de
datos.
Las instrucciones se clasican en 2: Instrucciones
DML (Data Manipulation Language/Lenguaje de
Manipulacin de Datos) e instrucciones DDL (Data
Denition Language/Lenguaje de Denicin de
Datos).

Antecedentes de SQL
Hay muchas versiones de SQL, la versin original fue desarrollada en el Laboratorio de
Investigacin de San Jos de IBM (actualmente Centro de Investigacin de Almadn).
Este lenguaje originalmente se llam "Sequel", se implement como parte del proyecto
System R, a comienzos de 1970. Ese lenguaje evolucion y su nombre ahora es SQL
(Lenguaje Estructurado de Consulta). En la actualidad hay diversos productos que son
compatibles con este lenguaje.

Lenguaje de Manipulacin de Datos
DML (Data Manipulation Language / Lenguaje de Manipulacin de Datos) los comandos
principales que contiene son:
INSERT. Permite agregar registros a las tablas
UPDATE. Permite actualizar un registro existente.
DELETE. Ayuda a eliminar registros de tablas
SELECT. Comando que sirve para consultar datos de las tablas ubicadas en la base de
datos



Sintaxis para trabajar con Insert
INSERT [INTO] TabIa|Vista [(Lista de Campos)] Values (Valores)

Ejemplo para Insert
Insert into empleados (id_empleado, nombre,
apaterno, amaterno, id_puest0, id_depto,
fecha_nac) values (1,AIejandr0', Arteaga, Medina,
1,2,#15/02/1973#)
//Inserta dentro de la tabla empleados un nuevo
registro con los valores proporcionados.
INSERT INTO EmpIeado_RespaId0 Select * from
empleados
//Inserta dentro de la tabla EmpIeado_RespaId0
todo lo que se encuentre dentro de la tabla
empleados

Sintaxis para trabajar con Delete
DELETE FROM Tabla | Vista WHERE condicin
ejemplo para Delete
*Delete from empleados where id_empleado=1 //Elimina de la tabla empledos al
empleado con id de empleado1
*Delete from empleados //Elimina todos los registros de la tabla empleados

Sintaxis para trabajar con Update
UPDATE Tabla SET
Campo1=VaIor1,Campo2=VaIor2...CampoN=VaIorN WHERE Condicin
ejemplo para Update
Update empleados set id_depto=3, id_puesto=2 where id_empleado=2 //Actualiza la
informacion del empleado 2 en sus campos id_depto y id_puesto

Sintaxis para trabajar con Select
SELECT [PREDICADO (AII, distinct, top n)]
[Lista de Campos]
[INTO Nueva Tabla]
[FROM Tabla Fuente]
[WHERE Condicin]
[GROUP BY Expresin]
[ HAVING Condicin]
[ORDER BY Campos [ASC | DESC]]

Clusula INTO
Permite crear una nueva tabla insertando en ella
las las resultantes de la consulta. El usuario que
ejecuta una instruccin SELECT con la clusula
INTO debe tener permiso CREATE TABLE en la
base de datos de destino.
Ejemplo:
Select empleados? INTO
EmpIeado_RespaIdo from empleados;

Clusula FROM
Permite establecer el nombre de las tablas y vistas
de las cuales se obtendrn los datos. Tambin puede
contener tablas derivadas, combinaciones y alias.


Esta clusula es necesaria en cada instruccin Select
a menos que la instruccin no tenga una lista de
campos sino solamente variables y expresiones
aritmticas.
Sintaxis
FROM{ Tabla Fuente } [ ,...n]

Tabla Fuente = Tabla [ [ AS ] alias]]
1 vista [ [ AS ] alias]
1 ( Consulta ) AS TablaDerivada [ AS ] alias
1 Reunin de Tablas
Reunin de Tablas = Tabla Fuente Tipo de Join Tabla Fuente ON Condicin
Tabla Fuente CROSS JOIN Tabla Fuente
Tipo de Join = [ INNER 1 { { LEFT 1 RIGHT 1 FULL } [OUTER ]}] JOIN

Clusula WHERE
Especica una condicin de bsqueda para restringir las las que se van a devolver.
Sintaxis
WHERE condicin de bsqueda
La condicin de bsqueda puede contener un nmero ilimitado de predicados
combinados mediante operadores: lgicos, relacionales,
in, like, Between.

Clusula GROUP BY
Combina los registros con valores idnticos, en Ia lista de campos especicados, en un
nico registro y, si se incluyen funciones de agregado en la clusula SELECT Lista de
Campos, calcula el valor de resumen de cada grupo. Cuando se especica GROUP BY,
cada columna que no est en una expresin de agregado de la lista de seleccin se debe
incluir en la lista de GROUP BY o Ia expresin GROUP BY debe coincidir exactamente
con Ia expresin de la lista de x7 seleccin.
Sintaxis
GROUP BY Expresin de agrupacin

Funciones de Agregado
funcion descripcion
sum devuelve la suma de todos los valores en uja expresion
avg devuleve el promedio de los valores en una expresion
count devuleve el recuento de los valores en una expresion
max devuleve el valor maximo de los valores en una expresion
min devuleve el valor minimo de los valores en una expresion
var devuleve la varianza de los valores en una expresion
stdev devuleve la desviacion estandar de los valores en una expresion
stdevp devuleve la desviacion estandra para la poblacion de los valores en una
expresion

Clusula HAVING
Especifica una condicin de bsqueda de un grupo o agregado. Normalmente, HAVING e
utiliza con Ia clusula GROUP BY. Cuando no se utiliza GROUP BY, HAVING se
comporta como Ia clusula WHERE.
Sintaxis
HAVING Condicin de Bsqueda Argumentos. Condicin de Bsqueda. Especifica Ia
condicin de bsqueda del grupo o del agregado que se debe cumplir.

Clusula ORDER BY
Especica el orden del conjunto de resultados. La clusula ORDER BY no es vlida en
vistas, funciones en lnea, tablas derivadas ni subconsultas, salvo que se especique
tambin TOP.
Sintaxis
ORDER BY Campo [ASC|DESC],


- ASC. Indica que los valores de la columna especicada se deben ordenar de la manera
ascendente, desde el valor ms bajo al ms alto.
- DESC. Indica que los valores de la columna especicada se deben ordenar de manera
descendente, desde el valor ms alto al valor ms bajo.

Ejemplos Select
Select empleados! INTO Empleado_Respaldo from
empleados
Select nombre + ' ' + apaterno + ' ' + amaterno as
empleado, fecha_nac from empleados where
id_empIeado=1;
Select nombre + ' ' + apaterno + ' ' + amaterno as
empleado, fecha_nac from empleados where
apaterno like Go%';
Select nombre + ' ' + apaterno + ' ' + amaterno as
empleado, fecha_nac from empleados order by
apaterno, amaterno desc

Continuacin ejemplos...
Select count(*) as tota|_emp|eados from empleados;
Select municipio, count(*) as tota|_emp|eados from empleados group by municipio;
Select * from empleados where fecha_nac beetween
#01/01/1970# and #01/01/1980#
Select * from empleados where fecha_nac:
#O1/O1/1970# and apaterno like 'G%


Consultas anidadas, avanzadas y subconsultas
subconsultas. Instruccin SQL que contiene una o ms instrucciones SQL normalmente
dentro de la clusula WHERE.
Ejemplo
Select * from empleados where id_empleado not in (Select id_empleado from empleados
where id_depto=2);

Operaciones con Conjuntos
- Unin. Este operador mezcla los resultados de dos o ms consultas en un solo
conjunto de resultados que contiene todas las las que pertenecen a las consultas
de la unin. Este procedimiento es distinto de la utilizacin de combinaciones de
columnas de dos tablas.
- Dos reglas bsicas para combinar los conjuntos de resultados de dos consultas con
UNION son:
- El nmero y el orden de las columnas debe ser idntico en todas las consultas.
Los tipos de datos deben ser compatibles.
- Sintaxis
{< query specication > | ( < query expression > ) }
UNION [ALL]
< uery specication | (< query expression >)
LNIOIH ALL] < query specication | ( < query expression >)
...n
Mery specicltlon > | (< query_expresson > ). Es una especicacin o rusia! deconsulta
que devuelve datos que se van a combinar con los datos de otra especicacin o
expresin de consulta.




Operaciones de Conjuntos
El algebra relacional maneja bsicamente 8 operadores de los cuales 5 de ellos son
fundamentales y el resto son complemento.
1. Restriccin o Seleccin.
2. Proyeccin
3. Producto cartesiano.
4. Unin.
5. Diferencia.

Implementacin con SQL de los operadores bsicos
Operadores Unarios
eleccin (B) - Restriccin. Utilizamos la clusula where dentro de una consulta para
indicar que condicin debemos utilizar.
Select * from municipio where id_estado='32'
Select * from alumnos where carrera='TlC'
N - royeccinln). Proyectar algunos campos o
atributos de la relacin
>> Select municipio.descripcin from municipios

- Operadores de Conjuntos
Producto Cartesiano (AxB)_.
Select * from municipios, estados
Select id_muncpio, municpio.descripcin,
estado.descripcion from municipio, estado
Unin 1A U B)
- USE alumnos
i SELECT * FROM alumnos a1 OPTION (MERGE
UNION) SELECT * FROM alumnos a2

Ejemplos de Unin
USE alumnos
SELECT * FROM alumno_zac a1 UNION SELECT
FROM alumno_pinos a2
SELECT * FROM alumno_zac a1 UNION all
SELECT * FROM alumno_pinos a2

- Diferencia (;). Si recordamos Ia diferencia contiene los elementos que pertenecen slo al
primero de los dos conjuntos. Las instrucciones EXISTS y NOT EXISTS usadas con
subconsultas puden usarse para implementar la diferencia.

Operadores Complemento
Interseccin. Las subconsultas presentadas con EXISTS y NOT EXISTS se pueden usar
en dos operaciones de Ia teora de conjuntos: Interseccin y diferencia.
La interseccin de dos conjuntos contiene los elementos que pertenecen a los dos
conjuntos originales.
Join. Combinacin de dos o ms tablas, normalmente
se habla de tres tipos :
- lnterno.- Con esta operacin se calcula el producto cruzado de todos los registros; as
cada registro en la tabla A es combinado con cada registro de la tabla B; pero slo
permanecen aquellos registros en Ia tabla combinada que satisfacen las condiciones que
se especiquen. Este es el tipo de JOIN ms utilizado por lo que es considerado el tipo de
combinacin predeterminado.
SELECT muncipio.descripcion, estado.descripcion FROM
municipio INNER JOIN estado ON municipio.estado =
estadoxodigo



Externo. Mediante esta operacin no se requiere que cada registro en Ias tablas a tratar
tenga un registro equivalente en Ia otra tabla. EI registro es mantenido en Ia tabla
combinada si no existe otro registro que le corresponda. EI resultado de esta operacin
siempre contiene todos los registros de Ia tabla de Ia izquierda (Ia primera tabla que se
menciona en Ia consulta), aun cuando no exista un registro correspondiente en Ia tabla de
Ia derecha, para uno de Ia izquierda. La sentencia LEFT OUTER JOIN retorna Ia pareja
de todos los valores de Ia tabla izquierda con los valores de Ia tabla de Ia derecha
correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.
SELECT * FROM alumno LEFT OUTER JOIN calicaciones
ON a|umno.matricuIa = ca|icaciones.matricula
- La sentencia RIGHT OUTER JOIN retorna Ia pareja de todos los valores de la tabla
derecha con los valores de la tabla de la izquierda correspondientes, o retorna un valor
nulo NULL en caso de no correspondencia
SELECT * FROM alumno _ RIGHT OUTER JOIN calicaciones
ON alumnomatricula = calicaciones.matricula

combinacin completa (FULL OUTER JOIN). Esta operacin presenta los resultados de
tabla izquierda y tabla derecha aunque no tengan correspondencia en la otra tabla. La
tabla combinada contendr, entonces, todos los registros de ambas tablas y presentar
valores nulos para registros sin pareja.
SELECT *FROM alumno FULL OUTER JOIN calificaciones
ON alumno.matricuIa = caIificaciones.matricuIa

Cruzado. Presenta el producto cartesiano de todos los registros de las dos tablas. El
cdigo SQL para realizar este producto cartesiano enuncia las tablas que sern
combinadas, pero no incluye algn predicado que ltre el resultado.
SELECT * FROM estados CROSS JOIN municipios.





Unidad V. Procedimientos Almacenados


Procedimiento almacenado
Es un conjunto de instrucciones T-SQL compiladas en un nico plan de
ejecucin. La primera vez que se ejecuta es compilado y para las siguientes
ejecuciones ya no es necesario recompilarlo.
Los procedimientos almacenados son parecidos a los procedimientos de otros
lenguajes de programacin en el aspecto de que pueden tener parmetros de
entrada y de salida, adems pueden devolver mensajes de xito o fracaso.
Los procedimientos almacenados se pueden crear, modicar y eliminar por medio
de instrucciones T-SQL y asistentes del administrador corporativo.
Se ejecutan muy rpidamente
Reciben y retornan parmetros
Es signicativamente mayor en la medida en que el procedimiento sea ms
grande y ms complejo.

Tipos de procedimientos almacenados
Procedimiento almacenado de sistema. Los proporcionados por SQL Server y
tienen como prejo sp_. Utilizados para mostrar informacin sobre las bases de
datos y los usuarios.
Procedimiento extendido. Son bibliotecas de vnculos dinmicos que se pueden
cargar y ejecutar de manera dinmica (DLL Dynamic Link Libraries).
Procedimiento denido por el usuario. Los creados por el usuario y
personalizados para realizar alguna tarea.

Comandos relacionados con los procedimientos almacenados
CREATE PROCEDURE. Permite la creacin de procedimientos almacenados.
ALTER PROCEDURE. Permite la modificacin de procedimientos almacenados.
DROP PROCEDURE. Permite la eliminacin de procedimientos almacenados.

Introduccin
Garantizar la calidad de los datos es un aspecto fundamental dentro de cualquier
base de datos, de ah que adems de los elementos vistos hasta el momento para


asegurar la integridad de datos se pueden utilizar los desencadenadores tambin
conocidos como triggers y los procedimientos almacenados.


Unidad V. Desencadenadores Disparadores Triggers


TRIGGERS (Desencadenadores o Disparadores)
Un desencadenador es un tipo especial de procedimiento que ejecuta de manera
automtica cuando alguna de estas tres instrucciones: UPDATE, INSERT,
DELETE modifica una tabla. Los desencadenadores se ejecutan de forma
automtica cuando se producen modificaciones en Ios datos. Cuando se ejecuta
un desencadenador se dice que se ha disparado. Las tablas que se definen Ios
desencadenadores se llaman tablas desencadenadores.

Tipos de desencadenadores
UPDATE. Se dispara cuando se realiza una modicacin.
INSERT. Se dispara cuando se realiza una insercin.
DELETE. Se dispara cuando se realiza una eliminacin.
INSTEAD OF. Se ejecutan en lugar de operaciones de aadido, modicacin o borrado.
AFTER. Se ejecutan despus de una accin de disparo y permiten controlar el orden de
ejecucin de los desencadenadores.

Uso de los desencadenadores
Los desencadenadores pueden emplearse para conservar la integridad de los
datos y las reglas de negocio. Tambin se pueden utilizar para aplicar
comprobaciones de datos ms complejas que permite eI uso de Ia restriccin
CHECK, ya que permite hacer referencia a campos de otra tabla. Adems es
conveniente utilizarlos para llevar a cabo varias acciones en respuesta a un mismo
evento de modicacin de los datos.

Diferencias entre un procedimiento almacenado y los disparadores
Los procedimientos almacenados una vez que son denidos deben ser llamados
cada vez que el usuario desea ejecutarlo mientras que un disparador una vez que
ya se cre, en automtico se ejecuta una vez que se realiza una de las
operaciones para Io cual se deni.


UNIDAD VI: NDICES

DEFINICION DE INDICES
Estructura de datos que permite acceder de una forma mucho ms rpida s
diferentes filas de una misma tabla a travs de un campo.
Un ndice provee de punteros a los valores de los datos almacenados en columnas
especficas de una tabla y luego ordena esos punteros de acuerdo al orden que se
especifique.
Es una pareja de elementos que guarda lo que se desea indexar y su ubicacin en
la base de datos.
Para buscar un elemento que este indexado, solo hay que buscar en el ndice
dicho elemento para, una vez encontrado, devuelva el registra que se encuentre
en la posicin marcada por el ndice.
En las bases de datos utilizan los ndices del mismo modo que se utilizan los
ndices de un libro: se busca en el ndice para encontrar un determinado valor y
luego se sigue puntero a la fila que contiene ese valor. Un ndice con clave nica
asegura la unicidad en la columna.
Los ndices generalmente contienen solamente los campos clave de acuerdo con
los que la tabla ser ordenada, y excluyen el resto de los detalles de la tabla.
Un ndice es una copia de parte una tabla.
Los ndices se actualizan automticamente cuando realizamos operaciones de
escritura en la base de datos. Este es un aspecto muy importante de cara al
rendimiento de las operaciones de escritura, ya que adems de escribir los datos
en la tabla se escribirn en el ndice.
Un nmero elevado de ndices har ms lentas estas operaciones. Sin embargo,
salvo casos excepcionales, el beneficio que aportan los ndices compensa (de
largo) esta personalizacin.

SENTENCIAS DE INDICES
Create index
Drop index



SINTAXIS DE CREACION DE INDICES
CREATE [UNIQUE] INDEX <nombre_indice>
ON <nombre_tabla>(
<nombre_campo> [ASC | DESC]
{,<nombre_campo> [ASC | DESC]

o La palabra UNIQUE especifica que pueden existir claves
duplicadas en el ndice.
ASC | DESC especifican el criterio de ordenacin elegido,
ascendente o descendente, por defecto es ascendente.
o Las claves primarias son ndices.
o Los nombres de los ndices deben ser nicos.
o Para eliminar un ndice debemos emplear la sentencia DROP
INDEX.
o DROP INDEX <nombre_tabla>. <nombre_indice>;


UNIDAD VII: VISTAS
*Una vista es una alternativa para mostrar datos de varias tablas. Una vista es como una
tabla virtual que almacena una consulta. Los datos accesibles a travs de la vista no
estn almacenados en la base de datos como un objeto.
Una vista almacenada una consulta como un objeto para utilizarse posteriormente. Las
tablas consultadas en una vista se llaman tablas base.
En general, se puede dar un nombre a cualquier consulta y almacenara como una vista.

-Simplificar la administracin de los permisos de usuario: se pueden dar al usuario
permisos para que solamente pueda acceder a los datos a travs de vistas, en lugar de
concederle permisos para acceder a ciertos campos, as se protegen las tablas base de
cambios en su estructura.
-Mejorar el rendimiento: se puede evitar tipear instrucciones repetidamente almacenando
en una vista el resultado de una consulta compleja que incluya informacin de varias
tablas.
*Podemos crear vistas con: un subconjunto de registros y campos de una tabla; una unin
de varias tablas; una combinacin de varias tablas; un resumen estadstico de una tabla;
un subconjunto de otra vista, combinacin de vistas y tablas.
*Una vista se define usando un select.
*La sintaxis bsica parcial para crear una vista es la siguiente:
Create view NOMBREVISTA as
SENTENCIASSELECT
From TABLA;
*El contenido de una vista se muestra con un select:
Select *from NOMBREVISTA;

*El siguiente ejemplo creamos la vista vista empleados, que es resultado de una
combinacin en la cual se muestran 4 campos.
Crate view vista empleados as
Select (apellido+ +e.nombre) as nombre.sexo,
s.nombre as seccin, cantidadhijos
from empleados as e
join secciones as s
on cdigo=seccin

*Para ver la informacin contenida en la vista creada anteriormente:
Select*from vista empleados;

*Podemos realizar consultas a una vista como si se tratara de una tabla:
Select seccin,count(*) as cantidad
From vista empleados;

*Otra sintaxis es la siguiente:
Create view NOMBREVISTA (NOMBRESDEEMCABEZADOS)
As
SENTENCIASSELECT
From TABLA;
*Creamos otra vista de empleados denominada vista
empleados ingreso que almacena la cantidad de


empleados por ao:
Crate view vista empleados ingreso (fecha.cantidad)
As
Select datepart(year.fechaingreso),count(*)
From empleados
Group by datepart(year,fechaingreso)
UNIDAD VIII: REPORTES
Los reportes son informes que organizan y exhiben la informacin contenida en una base
de datos. Su funcin es aplicar un formato determinado a los datos para mostrarlos por
medio de un diseo atractivo y que sea fcil de interpretar por los usuarios.
REPORTE AGENDA DE CONTACTOS
http://www.wikipedia.com/
NOMBRE TELEFONO E-MAIL
Gaudencio 7679130 pache_co@HOTMAIL.COM
29 febrero2011



ACTIVIDAD:
Elaborar un REPORTE de cualquier base de datos que tienen creadas (realizadas en
clases).
Lo primero que tendrn que realizar es descargar:
JasperReports y iReport.
iReport est basada en la plataforma de NetBeans, por lo tanto tambin deben contar con
dicha herramienta para poder realizar la actividad.
Una alternativa para la creacin de reportes: JasperReports, es un API de OpenSource
que permite generar reportes en formatos PDF, XML, CSV, XLS, RTF, y TXT con solo
programar pocas lneas de cdigo, as mismo guardar el reporte en un archivo. Adems
permite integrar a los reportes: graficas de todos tipos, tablas cruzadas y sub-reportes
para poder mostrar mejor nuestros datos.

Planteamiento del problema

La empresa requiere darse a conocer mediante distintos medios de comunicacin y as
mismo dar conocer sus trabajos y el costo que estos representan. DIHER es una
empresa de publicidad, necesita de un servicio en la Web, es por esto que se le
desarrollar un sitio web que tendr un enlace a una base de datos para conocer los
productos que manejan y tener el control de los mismos, como saber la totalidad de los
productos existentes, todo esto con el fin de facilitar y mantener un buen control de la
empresa y su vez tratar de mejorar en el aspecto de sus trabajos.

UNIDAD I MODELO E-R
Modelo E-R
















Clientes
Id_Cliente
Nombre
Telfono
Direccin
Apellidos
E-mail
Comentarios
Id_Cliente
nombr
e
No_comentario
oo
fecha
Realiza
realiza


Modelo Relacional
Cliente
Id_Cliente
Nombre
Apellidos
Domicilio
Telefono
Correo













Comentarios
No_Comentario
Id_Usuario
Fecha
Id_Cliente