Proyecto II Base de Datos Avanzadas

52
ISEÑO Y ADMINISTRACION DE BASE DE ATOS AVANZADAS Centro de Bachillerato Tecnológico, Industrial y de Servicios CBTIS 172 Cortázar, Guanajuato ASESOR(A) Esperanza Pescador Espitia ALUMNO(A) Mariana Ramírez Alva SEMESTRE Y GRUPO 3°”C” PROYECTO I Elaborar y prologar Base de Datos estructurados D

Transcript of Proyecto II Base de Datos Avanzadas

Page 1: Proyecto II Base de Datos Avanzadas

ISEÑO Y ADMINISTRACION DE BASE DE

ATOS AVANZADAS

Centro de Bachillerato Tecnológico, Industrial y de Servicios

CBTIS 172

Cortázar, Guanajuato

ASESOR(A)

Esperanza Pescador Espitia

ALUMNO(A)

Mariana Ramírez Alva

SEMESTRE Y GRUPO

3°”C”

PROYECTO I

Elaborar y prologar Base de Datos estructurados

D

Page 2: Proyecto II Base de Datos Avanzadas

INDICE…

1. Introducción Beta

2. Base de Datos

Historia y evolución de la Base de Datos.

Definición de una Base de Datos.

3. SQL (Structured Query Language)

Historia y evolución de SQL (Structured Query Language).

Definición de SQL

Comandos INSERT, UPDATE, DELETE y SELECT.

4. Modelo Entidad-Relación

Historia y evolución del modelo Entidad-Relación.

Definición de modelo Entidad-Relación.

Simbología y tipos de relación e integridad.

Diagramas Entidad-Relación

Ejercicio: Texto enviado por la empresa Beta.

5. Querys

Enunciado del problema y tablas

6. Fuentes de consulta

Page 3: Proyecto II Base de Datos Avanzadas

7. Introducción Iteso

8. Diagrama Entidad-Relación

Enunciado Iteso

Diagrama Entidad-Relación

9. Querys

Tablas Iteso

Enunciado de los problemas y tablas

Page 4: Proyecto II Base de Datos Avanzadas

INTRODUCCION BETA

Este proyecto tiene como finalidad expandir más nuestro conocimiento y

también del usuario, además de mejorar el desarrollo y evolución de nuestra

forma de pensar a nivel lógico matemático, así de esta manera dar como

resultado una forma de razonar lógica y coherente en la solución de problemas

de lógica matemática. Con este proyecto nos veremos beneficiados ya que

ampliaremos un poco más nuestro razonamiento y nos ayudara a pensar y

esforzarnos un poco más para nuestro rendimiento.

Este proyecto incluye temas como la historia y la evolución de Base de Datos,

mencionando como desde un principio comenzó a surgir la necesidad de

almacenar grandes cantidades de datos para su posterior consulta a partir de

que las nuevas empresas empezaron a producir enormes cantidades de

información la cual tenían la necesidad de almacenar para después darle un

determinado uso. Las grandes industrias que se dedicaban al manejo y

almacenamiento de datos comenzaron a tener la necesidad de tener una mayor

fuente de almacenamiento así dejando atrás las anticuadas formas de

almacenamiento de datos que en un entonces ya se tenían en uso. A partir de

esa necesidad comenzaron a surgir programas como SQL que cumplían y

satisfacían las necesidades adecuadas para almacenar datos. Con el

surgimiento de esta clase de Softwares, comenzaron a modificar y sobre todo a

mejorar su rendimiento y capacidad para almacenar datos de esos programas.

Con estos grandes avances tecnológicos ya no era necesario usar tarjetas

perforadas ni sobre todo estarlas sustituyendo cada cierto intervalo de tiempo,

esta revolución tecnológica ha mejorado los rendimientos, funciones y sobre

todo la manera de almacenar una gran cantidad de datos de diferentes clases.

Regresar

Page 5: Proyecto II Base de Datos Avanzadas

BASE DE DATOS

HISTORIA Y EVOLUCION DE LA BASE DE DATOS

El uso de sistemas de bases de datos automatizadas, se desarrolló a partir de la

necesidad de almacenar grandes cantidades de datos, para su posterior consulta,

producidas por las nuevas industrias que creaban gran cantidad de información.

Herman Hollerith (1860-1929) fue denominado el primer ingeniero estadístico de la

historia, ya que inventó una computadora llamada “Máquina Automática

Perforadora de Tarjetas”. Para hacer el censo de Estados Unidos en 1880 se

tardaron 7 años para obtener resultados, pero Herman Hollerith en 1884 creó la

máquina perforadora, con la cual, en el censo de 1890 dio resultados en 2 años y

medio, donde se podían obtener datos importantes como número de nacimientos,

población infantil y número de familias. La máquina uso sistemas mecánicos para

procesar la información de las tarjetas y para tabular los resultados.

A diferencia con la máquina de Babbage, que utilizaba unas tarjetas similares,

éstas se centraban en dar instrucciones a la máquina. En el invento de Herman

Hollerith, cada perforación en las tarjetas representaba un número y cada dos

perforaciones una letra, cada tarjeta tenía capacidad para 80 variables. La

máquina estaba compuesta por una perforadora automática y una lectora, la cual

por medio de un sistema eléctrico leía los orificios de las tarjetas, ésta tenía unas

agujas que buscaban los orificios y al tocar el plano inferior de mercurio enviaba

por medio del contacto eléctrico los datos a la unidad. Este invento disparó el

desarrollo de la tecnología, la industria de los computadores, abriendo así nuevas

perspectivas y posibilidades hacia el futuro.

Page 6: Proyecto II Base de Datos Avanzadas

DÉCADA DE 1950

Se desarrollaron las cintas magnéticas para el almacenamiento de datos, las

cuales sirvieron para suplir las necesidades de información de las nuevas

industrias. Con los datos almacenados en cintas las tareas de procesamiento de

datos tales como las nóminas fueron, aunque también se podía pasar desde las

tarjetas perforadas, simulando un sistema de Backup o Respaldo, que consiste en

hacer una copia de seguridad o copia de respaldo, para guardar en un medio

extraíble la información importante. La nueva cinta a la que se transfiere la

información pasa a ser una cinta maestra. Estas cintas (y los paquetes de tarjetas

perforadas) sólo se podían leer secuencial y ordenadamente, requiriendo grandes

cantidades de tiempo para las operaciones sobre ellas.

DÉCADA DE 1960

El amplio uso de los discos fijos cambió en gran medida el escenario del

procesamiento de datos, ya que los discos fijos permitieron el acceso directo a los

datos, lo que ayudó a ahorrar tiempo. La ubicación de los datos en disco no era

importante, ya que a cualquier posición del disco se podía acceder en sólo

milisegundos. A diferencia de las cintas magnéticas, ya no era necesaria la

secuencialidad. Los discos dieron inicio a las bases de datos, de red y jerárquicas,

pues los programadores con su habilidad de manipulación de estructuras junto con

las ventajas de los discos era posible guardar estructuras de datos como listas y

árboles. Esas bases de datos eran demasiado complejas e inflexibles y sólo

podían ser usadas por personal muy calificado. Aunque para escribir los

programas de aplicación se utilizaban lenguajes de alto nivel se disponía también

de instrucciones y de subrutinas especializadas para tratar las bases de datos que

requerían que el programador conociera muchos detalles del diseño físico, y que

hacían que la programación fuera muy compleja.

Page 7: Proyecto II Base de Datos Avanzadas

DÉCADA DE 1970

Edgar Frank Codd, en un artículo "Un modelo relacional de datos para grandes

bancos de datos compartidos" ("A Relational Model of Data for Large Shared Data

Banks") en 1970, definió el modelo relacional y publicó una serie de reglas para la

evaluación de administradores de sistemas de datos relacionales y así nacieron

las bases de datos relacionales. La simplicidad del modelo relacional y la

posibilidad de ocultar completamente los detalles de implementación al

programador fueron realmente atractivas. Codd obtuvo posteriormente el

prestigioso premio Turing de la ACM (Association of Cumputing Machinery,

asociación de la maquinaria informática) por su trabajo. A partir de los aportes de

Codd el multimillonario Larry Ellison desarrolló la base de datos Oracle, el cual es

un sistema de administración de base de datos, que se destaca por sus

transacciones, estabilidad, escalabilidad y multiplataforma.

DÉCADA DE 1980

Inicialmente no se usó el modelo relacional debido a que tenía inconvenientes por

el rendimiento, ya que no podían ser competitivas con las bases de datos

jerárquicas y de red. Esta tendencia cambió por un proyecto de IBM el cual

desarrolló técnicas para la construcción de un sistema de bases de datos

relacionales eficientes, llamado System R, un proyecto en IBM Research que

desarrolló técnicas para la construcción de un sistema de bases de datos

relacionales eficiente. Las bases de datos relacionales con su sistema de tablas,

filas y columnas, pudieron competir con las bases de datos jerárquicas y de red

incluso en área de rendimiento, ya que su nivel de programación era bajo y su uso

muy sencillo, reemplazando finalmente a las bases de datos jerárquicas y de red.

Page 8: Proyecto II Base de Datos Avanzadas

DÉCADA DE 1990

Al acabar la década de los 80’s, los sistemas de base de datos relacionales ya se

utilizaban prácticamente en todas las empresas.

Para la toma de decisiones se crea el lenguaje SQL (estandarizándose

posteriormente), que es un lenguaje programado para consultas. El programa de

alto nivel SQL es un lenguaje de consulta estructurado que analiza grandes

cantidades de información el cual permite especificar diversos tipos de

operaciones frente a la misma información, a diferencia de las bases de datos de

los 80’s que eran diseñadas para las aplicaciones de procesamiento de

transacciones, que eran intensivas en actualizaciones. Los grandes distribuidores

de bases de datos incursionaron con la venta de bases de datos orientada a

objetos.

El principal acontecimiento a finales de los 90’s fue el crecimiento explosivo de

World Wide Web. Las bases de datos se implantaron mucho más extensivamente

que nunca antes. Los sistemas de bases de datos tienen ahora soporte para tasas

de transacciones muy altas, así como muy alta fiabilidad y disponibilidad 24 horas

al día y 7 días a la semana, que significa que no hay tiempos de inactividad

debidos a actividades de mantenimiento planificadas. Los sistemas de bases de

datos también tuvieron interfaces Web a los datos, pues por este medio se

facilitaba su consulta.

Page 9: Proyecto II Base de Datos Avanzadas

TENDENCIAS ACTUALES

Hoy día, los sistemas de base de datos relacionales están en plena transformación

para adaptarse a tres tecnologías de éxito reciente, fuertemente relacionadas: la

multimedia, la de orientación a objetos e Internet y la Web.

La rápida adopción de la Web a los sistemas de información hace que los

sistemas de base de datos incorporen recursos para ser servidores de páginas

Web, como por ejemplo la inclusión de SQL en guiones HTML, SQL incorporado

en Java, etc. Notando que en el mundo de la Web son habituales los datos

multimedia y la orientación a objetos.

Durante estos últimos años se ha empezado a extender un tipo de aplicación de

las bases de datos denominado Data Warehouse, o almacén de datos, que

también produce algunos cambios en los sistemas de base de datos relacionales

del mercado. A lo largo de los años que han trabajado con bases de datos de

distintas aplicaciones, las empresas han ido acumulando gran cantidad de datos

de todo tipo. Si estos datos se analizan convenientemente pueden dar información

valiosa.

Por lo tanto, se trata de mantener una gran base de datos con información

proveniente de toda clase de aplicaciones de la empresa (e incluso de fuera). Los

datos de este gran almacén, el Data Warehouse, se obtienen por una replicación

más o menos elaborada de las que hay en las bases de datos que se utilizan en el

trabajo cotidiano de la empresa. Estos almacenes de datos se utilizan

exclusivamente para hacer consultas, de forma especial para que lleven a cabo

estudios los analistas financieros, los analistas de mercado, etc.

Actualmente, los sistemas de base de datos relacionales se adaptan a este tipo de

aplicación, incorporando, por ejemplo, herramientas como la creación y el

mantenimiento de réplicas con una cierta elaboración de los datos, la

consolidación de datos de orígenes diferentes, la creación de estructuras físicas

que soporten eficientemente el análisis multidimensional, etc.

Page 10: Proyecto II Base de Datos Avanzadas

DEFINICION DE UNA BASE DE DATOS

Una base de datos o banco de datos es un conjunto de datos pertenecientes a un

mismo contexto y almacenados sistemáticamente para su posterior uso. En este

sentido; una biblioteca puede considerarse una base de datos compuesta en su

mayoría por documentos y textos impresos en papel e indexados para su consulta.

Actualmente, y debido al desarrollo tecnológico de campos como la informática y

la electrónica, la mayoría de las bases de datos están en formato digital

(electrónico), y por ende se ha desarrollado y se ofrece un amplio rango de

soluciones al problema del almacenamiento de datos.

Existen programas denominados sistemas gestores de bases de datos, abreviado

DBMS, que permiten almacenar y posteriormente acceder a los datos de forma

rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y

administración, se estudian dentro del ámbito de la informática.

Las aplicaciones más usuales son para la gestión de empresas e instituciones

públicas. También son ampliamente utilizadas en entornos científicos con el objeto

de almacenar la información experimental.

Regresar

Page 11: Proyecto II Base de Datos Avanzadas

SQL (STRUCTURED QUERY LANGUAGE)

HISTORIA Y EVOLUCION DE SQL

Los orígenes del SQL están ligados a los de las bases de datos relacionales. En

1970 E. F. Codd propone el modelo relacional y asociado a este un sub lenguaje

de acceso a los datos basado en el cálculo de predicados. Basándose en estas

ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English

Query Language) que más tarde sería ampliamente implementado por el sistema

de gestión de bases de datos (SGBD) experimental System R, desarrollado en

1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez

en 1979 en un programa comercial.

El SEQUEL terminaría siendo el predecesor de SQL, siendo este una versión

evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los

diversos sistemas de gestión de bases de datos relacionales surgidos en los años

siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la

primera versión estándar de este lenguaje, el "SQL-86" o "SQL1". Al año siguiente

este estándar es también adoptado por la ISO.

Sin embargo, este primer estándar no cubre todas las necesidades de los

desarrolladores e incluye funcionalidades de definición de almacenamiento que se

consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y

revisado del SQL llamado "SQL-92" o "SQL2".

En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los

SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen

las distintas implementaciones comerciales del lenguaje es amplia, el soporte al

estándar SQL-92 es general y muy amplio.

Page 12: Proyecto II Base de Datos Avanzadas

Año Nombre Alias Comentarios

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

1989 SQL-89 Revisión menor.

1992 SQL-92 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ísticas de XML, cambios en las

funciones, estandarización del objeto sequence y de las columnas

auto numéricas.

2006 SQL:2006 ISO/IEC 9075-14: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 X Query, lenguaje de consulta XML publicado por el W3C

(World Wide Web Consortium) para acceso concurrente a datos

ordinarios SQL y documentos XML.

2008 SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones

de los cursores. Incluye los disparadores del tipo INSTEAD OF.

Añade la sentencia TRUNCATE.

Page 13: Proyecto II Base de Datos Avanzadas

DEFINICION DE SQL

El lenguaje de consulta estructurada o SQL (por sus siglas en inglés Structured

Query Language) es un lenguaje declarativo de acceso a bases de

datos relacionales que permite especificar diversos tipos de operaciones en ellas.

Una de sus características es el manejo del álgebra y el cálculo relacional que

permiten efectuar consultas con el fin de recuperar de forma

sencilla información de interés de bases de datos, así como hacer cambios en ella.

FUNCIONES DE MY SQL

SQL ESTA ESTRUCTURADO POR:

INSERT

UPDATE

DELETE

SELECT

SGBD

BD

Reportes

Tablas de datos (Manipular a través de vistas)

Querys

Comandos Clausulas y Parámetros

Page 14: Proyecto II Base de Datos Avanzadas

COMANDOS INSERT, UPDATE, DELETE, SELECT

INSERT

La instrucción INSERT permite crear o insertar nuevos registros en una tabla, una

sentencia en SQL agrega uno o más registros a una (y solo una) tabla en una

base de datos relacional.

Las cantidades de columnas y valores deben ser iguales. Si una columna no se

especifica le será asignado el valor por omisión, los valores especificados por la

sentencia deberán satisfacer todas las restricciones aplicables.

En general la sintaxis de la instrucción INSERT es la siguiente:

UPDATE

La instrucción UPDATE en SQL permite actualizar registros de una tabla. Se debe

por lo tanto indicar que registros se quieren actualizar mediante la cláusula

WHERE, y que campos mediante la cláusula SET, además se deberá indicar que

nuevo dato va a guardar cada campo. La sintaxis de UPDATE es:

Las cláusulas de UPDATE son las siguientes:

La cláusula SET establece los nuevos valores para las columnas indicadas.

La cláusula WHERE sirve para seleccionar las filas que se quieren modificar, si se

omite la cláusula WHERE por defecto modificara los valores en todas las filas de

la tabla.

INSERT INTO nombre_tabla (lista de campos separados por comas)

VALUES (lista de datos separados por comas)

UPDATE Nombre_Tabla

SET Columna1=Valor1, Columna2=Valor2

WHERE Columna3=Valor3

Page 15: Proyecto II Base de Datos Avanzadas

DELETE

La instrucción DELETE permite eliminar registros de una tabla, su sintaxis es

simple, puesto que solo se debe indicar que registros se desean eliminar mediante

la cláusula WHERE. En general la sintaxis de la instrucción es la siguiente:

WHERE filter condition1 (AND) or filter condition2, especifica que visual foxpro

solo marca algunos registros para eliminar.

Filter condition especifica los criterios que deben satisfacer los registros para

marcarlos para su eliminación. Puede incluir tantas condiciones como se desee, si

se conectan con el operador AND u OR. También se puede utilizar el operador

NOT para invertir el valor de una expresión lógica o utilizar EMPTY () para

comprobar si hay campos vacíos en la base de datos.

SELECT

La sentencia SELECT se utiliza para seleccionar datos de una tabla y copiarlos en

otra tabla diferente. Se suele utilizar para hacer una copia de seguridad (Backup)

de los datos de una tabla. La sintaxis de SELECT es la siguiente:

DELETE

FROM nombre_tabla

WHERE condiciones

SELECT*

INTO Nueva tabla (en nueva base de datos)

FROM Tabla actual

Page 16: Proyecto II Base de Datos Avanzadas

PARÁMETROS DE SELECT

SELECT Especifica los campos constantes y expresiones que se mostraran en

el resultado de la consulta.

ALL De forma predeterminada, se muestran todas las filas del resultado de la

consulta.

DISTINC Excluye duplicados de cualquier fila del resultado de la consulta.

FROM Indica las tablas que contienen los datos que ha obtenido la consulta.

LEFT (OUTER) Especifica que el resultado de la consulta contenga todas las

filas de la tabla a la izquierda de la palabra clave JOIN y solo las filas que

coincidan procedentes de la tabla de la derecha de la palabra clave JOIN.

RIGHT (OUTER) Especifica que el resultado contenga todas las filas de la

tabla a la derecha de la palabra clave JOIN y solo las filas de la tabla que

coincidan procedentes de la tabla de la izquierda de la palabra clave JOIN.

FULL (OUTER) Especifica que el resultado de la consulta contenga todas las

filas, coincidan o no de ambas tablas, la palabra OUTER es opcional.

Regresar

Page 17: Proyecto II Base de Datos Avanzadas

MODELO ENTIDAD-RELACION

HISTORIA Y EVOLUCION DEL MODELO ENTIDAD

RELACION

El modelo Entidad-Relación es el modelo de datos más ampliamente usado para

el diseño de Base de Datos.

Fue creado por Peter Chen en 1976 y desde entonces se ha vuelto muy popular.

En 1998 el ANSI selecciono el modelo Entidad-Relación como el modelo estándar

para los sistemas de diccionarios de recursos de información (IRDS).

Originalmente el modelo Entidad-Relación solo incluía conceptos básicos como

entidad, relación y atributos. Luego se agregaron otros conceptos como atributos

compuestos y las jerarquías de generalización.

DEFINICION DEL MODELO ENTIDAD-RELACION

(Modelo, Entidad-Vinculo, Modelo Entidad-Relación, Entity-Relationship, Modelo

relacional, Modelo Entidad-Relación) Es un tipo de modelo de datos conceptual de

alto nivel que se emplea en el diseño de las Bases de Datos relacionales. El

modelo Entidad-Relación muestra la estructura de la Base de Datos empleando

todo tipo de herramientas conceptuales.

SIMBOLOGIA

Relación

Entidad

Atributos

Page 18: Proyecto II Base de Datos Avanzadas

ATRIBUTO

Propiedad o característica de una entidad, una entidad particular es descrita por

los valores de sus atributos.

ENTIDAD

Define un conjunto de entidades que poseen los mismos atributos (Simples o

compuestos, almacenados derivados, mono valorados o multivalorados,

opcionales).

RELACION

Es una asociación entre entidades.

Relación Ternaria (Relacionan 3 entidades a la vez).

Relación Doble (Relacionan 2 entidades).

Relación Reflexiva (Tienen una entidad y una relación).

CARDINALIDAD

Es el número de relaciones en las que una entidad puede participar.

ROLES

Representa el papel que juega una determinada entidad.

IDENTIFICADORES

Son valores únicos en cada ejemplar de una entidad.

N:1 (Muchos a 1)

1:N (1 a muchos)

N:N N:N (Muchos a muchos)

0 a muchos

Muchos a 1

Page 19: Proyecto II Base de Datos Avanzadas

NORMAS DEL DISEÑO

Crear un diagrama de subconjunto: Esto hace más fácil de leer el diagrama.

Esmerado y Pulcro: Hay que dibujar el menor número de líneas cruzadas

posibles y que se debe usar un ángulo entre 13° y 60° grados, hay que tratar

de evitar muchas líneas paralelas juntas muy cerca para evitar congestión.

Etiquetado: Hay que añadir un título y una fecha e identificar el autor (autores)

de cada diagrama.

Reconocimiento de patrones: Cada diagrama tiene que tener una forma

diferente pues se hace más fácil para los usuarios recordar.

Grado de relación: Hay que situar la relación (terminación) de mucha

relaciones a la izquierda o a la parte superior de la línea de relación.

Calidad: Es muy útil utilizar estas normas de diseño pues a veces ayuda a

minimizar entidades y mejora las relaciones.

REGLA DE 1 A 1

Una tupla de A solo se puede relacionar con una tupla de B.

A1

A2

A3

B1

B2

B3

Page 20: Proyecto II Base de Datos Avanzadas

ENTIDAD-RELACION FUERTE

Es aquella que puede ser identificada unívocamente (Hay la presencia de una

llave primaria).

ENTIDAD-RELACION DEBIL

No puede existir sin participar en la relación, aquella que no puede ser

unívocamente identificada solamente por sus atributos.

DIAGRAMAS ENTIDAD-RELACION

Libro (ISBN, titulo, clasificación, año, número de página)

Autor (Curp, nombre, fecha de nacimiento, nacionalidad, perfil)

Editorial (Id, nombre de la editorial, dirección, país)

Usuario (Id, Curp, nombre, dirección, teléfono)

Libro-Autor (N:N)

Autor-Editorial (N:1)

Usuario-Libro (N:N)

Libro R1 Autor

R2

Usuario

R3

Editorial

Page 21: Proyecto II Base de Datos Avanzadas

TEXTO ENVIADO POR LA EMPRESA BETA

Venta de equipo de cómputo, con una matriz de Guanajuato que abarca los

estados de la república, negocio veta genera ventas por clientes, venta por correo,

teléfono, personal, a través de clientes Orden HRL y fecha, articulo o refacción

puede ser consumible, no consumible, atendido por el vendedor y proveedor.

ESTADO REFACCION

PROVEEDOR ARTICULO

TIPO DE REFACCION

VENDEDOR

1:

N

N:N

1:1

N:N

N:N

CLIENTE R5 R4

R6

R3

R2

R1

Id Estado,

población Id cliente,

nombre

Id Refacción

Consumible, no

consumible

Id Proveedor,

nombre,

dirección

Id artículo,

nombre

articulo,

precio

Id vendedor,

nombre,

dirección, email

Regresar

Page 22: Proyecto II Base de Datos Avanzadas

QUERYS

ENUNCIADO DE LOS PROBLEMAS Y TABLAS

1.- Obtener los estados de los clientes.

SELECT NomCliente, Estado

FROM cliente, estado

WHERE cliente.IdEdo=Estado.IdEdo

2.- Buscas nombre de cliente y cuales

son de Sinaloa.

SELECT NomCliente, Estado

FROM cliente, estado

WHERE cliente.IdEdo=Estado.IdEdo and Estado="Sinaloa"

3.- Obtener los nombres de los clientes y su id

de estado.

SELECT NomCliente, IdEdo

FROM cliente

Page 23: Proyecto II Base de Datos Avanzadas

4.-Obtener el id de articulo y la cantidad.

SELECT IdArt, Cant

From orden

6.- Enunciado Obtener los 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 id cliente que son de

Querétaro.

SELECT IdClie, Estado

From cliente, estado

Where cliente.IdEdo=Estado.IdEdo and Estado="Querétaro"

Page 24: Proyecto II Base de Datos Avanzadas

8.- Enunciado Obtener los id de artículos y de

id de clientes que ordenaron cantidades

mayores a cuatro.

SELECT IdArt, IdClie

From orden

Where Cant<"4"

9.- Obtener los nombre de los artículos que fueron ordenado por cuenca

bravo.

SELECT NomArt, NomClie

From articulo,orden,cliente

WHERE articulo.IdArt= orden. IdArt

And orden.IdClie=cliente.IdClie

AND NomClie='Cuenca Bravo José'

Page 25: Proyecto II Base de Datos Avanzadas

10.- Obtener los nombres de los artículos que fueron

ordenados en Veracruz.

SELECT NomArt

FROM orden, cliente,estado,articulo

WHERE orden. IdArt=articulo.IdArt and

orden.IdClie=cliente.IdClie AND estado='Veracruz'

11.- Obtener los datos de la taba cliente.

SELECT *

FROM cliente

12.- Obtener los nombres de los clientes que empiezan

con v.

SELECT NomClie

FROM cliente

WHERE NomClie LIKE'V%'

Page 26: Proyecto II Base de Datos Avanzadas

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 Cant>=8 and Cant<=13

14.- Obtener la cantidad máxima del producto ordenado.

SELECT MAX (Cant)

FROM orden

15.- Obtener las cantidades de los productos ordenadas de

mayor a menor.

SELECT Cant

FROM orden

ORDER BY Cant DESC

Page 27: Proyecto II Base de Datos Avanzadas

16.- Obtener los nombres de los clientes, la refacción y el precio de los que

el precio de la refacción que compro sea mayor de 500.

SELECT NomCliente, NomRef,Precio

FROM cliente, refaccion, orden

WHERE orden.IdClie=cliente.IdClie AND orden.IdRef=refaccion.IdRef AND

Precio>"500"

17.- Me muestre el nombre del cliente, el nombre del vendedor, el nombre del

artículo y la cantidad.

SELECT NomCliente, NomVen, NomArt, Cant

FROM orden, articulo, cliente, vendedor

WHERE cliente.IdClie=orden.IdClie AND vendedor.IdVend=orden.IdVend AND

Page 28: Proyecto II Base de Datos Avanzadas

18.- Obtener el nombre del cliente, el nombre del articulo la cantidad

ordenados de menor a mayor.

SELECT NomCliente, NomArt,Cant

FROM cliente, orden, articulo

WHERE cliente.IdClie=orden.IdClie AND articulo.IdArt=orden. IdArt

ORDER BY Cant ASC

Page 29: Proyecto II Base de Datos Avanzadas

19.- Obtener el nombre del cliente el nombre del vendedor el nombre del

artículo el precio y su cantidad.

SELECT NomCliente, NomVen, NomArt,Precio,Cant

FROM cliente, articulo, orden,vendedor

WHERE orden.IdClie=cliente.IdClie AND orden.IdVend=vendedor.IdVend AND

orden. IdArt=articulo.IdArt

ORDER BY Cant DESC

Page 30: Proyecto II Base de Datos Avanzadas

20.- Obtener el nombre del vendedor que empiecen con la letra r, el nombre

del cliente que empiece con v , el nombre del artículo que empiece con la

letra c la cantidad ordenandos de menor a mayor.

SELECT NomVen, NomCliente, NomArt, Cant

FROM vendedor, cliente, orden, articulo

WHERE NomVen LIKE'R%' AND orden. IdArt=articulo.IdArt AND NomCliente LIKE

"v%" AND NomArt LIKE"c%"

ORDER BY Cant ASC

21.-Obtener los nombres y la cantidad de

refacciones que estén entre las cantidades de

compras del 1 al 7.

SELECT CantRef, NomRef

FROM orden,refaccion

WHERE refaccion.IdRef=orden.IdRef AND CantRef

BETWEEN 1 AND 7

Page 31: Proyecto II Base de Datos Avanzadas

22.- Obtener la suma de la cantidad de refacciones que

fueron ordenados.

SELECT SUM (CantRef)

FROM orden

23.-Obtener los números telefónicos de los clientes que

su lada sea 411.

SELECT DISTINCT Tel

FROM cliente

WHERE cliente.Tel REGEXP BINARY 411

24.-Obtener el precio máximo de artículos.

SELECT MAX (Precio)

FROM articulo

25.-Obtener la cantidad de artículos y su nombre

que estén entre 6 y 9 y ordenar la cantidad de

artículos ascendente mente.

SELECT Cant, NomArt

FROM orden, articulo

WHERE articulo.IdArt=orden. IdArt AND Cant BETWEEN 6 AND 9

ORDER BY Cant ASC;

26.- Obtener los nombres de los estados donde hay

clientes.

SELECT DISTINCT Estado

FROM estado, cliente

WHERE cliente.IdEdo=Estado.IdEdo

Page 32: Proyecto II Base de Datos Avanzadas

27.- Obtener los nombres de los productos

que fueron ordenados en el estado de

Morelia.

SELECT NomArt, NomRef

FROM orden, articulo, estado, cliente, refaccion

WHERE orden. IdArt=articulo.IdArt AND orden.IdRef=refaccion.IdRef AND

orden.IdClie=cliente.IdClie AND cliente.IdEdo=Estado.IdEdo AND

estado="Morelia"

.

Regresar

Page 33: Proyecto II Base de Datos Avanzadas

FUENTES DE CONSULTA

Fundamentos de Bases de Datos [2002]- Abraham Silberschatz, et al.

Bases de Datos [2005] - Rafael Camps Paré, et al.

Sistemas de Bases de Datos [1994] – Ramez Elmasri, Shamkant B.

Navathe.

International Organization for Standardization (ISO) - "Database Language SQL", Document ISO/IEC 9075:1992

American National Standards Institute - "Database Language Embedded SQL", Document ANSI X3.168-1989.

R. Elmasri and S.B. Navathe - "Fundamentals of Database Systems", Second Edition, The Benjamin/Cummings publishing company, 1994.

F.D. Rolland - "The essence of databases", Prentice Hall, 1998.

E.F. Codd - "A Relational Model of Data for Large Shared Data Banks", Communications of the ACM 13, No. 6, June 1970.

C.J. Date with Hugh Darwen - "A Guide To The SQL Standard", Fourth Edition, Addison-Wesley, 1997.

Jan L. Harrington - "SQL Clearly Explained", AP Professional, 1998 Helmut Kopka and Patrick W. Daly - "A Guide to LaTeX 2e", Second Edition, Addison-Wesley, 1995.

Jason Hunter with William Crawford - "Java Servlet Programming", O'Reilly, 1998.

Regresar

Page 34: Proyecto II Base de Datos Avanzadas

INTRODUCCION ITESO

La finalidad de este proyecto es lograr obtener mucho más conocimientos de

los que ya habíamos adquirido antes, no solo aprender algo mas es un

propósito sino también reforzar todos los conocimientos adquiridos.

Un ejemplo seria como aprender a importar información que ya habíamos

introducido a Excel e importarlos a Navicat, esta manera nos sirve de mucho ya

que nos ahorra largo tiempo de elaboración, nos evita la molestia de crear las

tablas deseadas de nueva manera. En este proyecto se presentaran trabajos

como el enunciado de Iteso, con base en este enunciado se realizara un

diagrama Entidad-Relación con toda la información solicitada, además contiene

las tablas con toda la información necesaria acerca de Iteso, con esta

información proporcionada se realizaran Querys, en estas se solicitaran algunos

datos que quisiéramos obtener de dichas tablas solicitadas. Con la elaboración

de estas consultas también aprendimos nuevos comandos como pueden ser

Order by, Distinct, Having, Into, Values entre otras más. Otra finalidad más de

este proyecto es ayudar a todos aquellos que todavía se les dificulta un poco

realizar este tipo de ejercicios ya sean las consultas, el uso adecuado de los

comandos, clausulas y parámetros en cada problema solicitado, además de la

realización de consultas con los datos que uno quisiera saber pero talvez

todavía nos perdemos un poco al momento de ingresar los comandos

adecuados, el propósito es poder ayudar un poco a resolver algunas dudas

sobre Diseño y administración de Base de Datos avanzadas.

Regresar

Page 35: Proyecto II Base de Datos Avanzadas

DIAGRAMA-ENTIDAD RELACION

ENUNCIADO ITESO

En la web hay un dominio con el nombre de ITESO el cual ofrece a los usuarios

cursos en línea el cual se encuentra localizado en el catalogo de ofertas como

son diplomados, cursos, especialidades y posgrados. Los usuarios se les

asignan fechas programadas para los cursos así como los horarios, los

asesores y el aula habitual y el nombre del curso. Cada curso tiene un límite de

usuarios el periodo de realización y el número total de horas. Los usuarios para

hacer los pagos, lo pueden hacer de dos formas con tarjeta de crédito, con

cargo a 6 meses sin intereses y la opción 2 pago en efectivo en la cuenta de

banco para cada curso, los asesores registraran productos o evidencias al

termino de cada modulo, el número total de módulos para cada curso es de 4.

La planeación total de cursos depende del número de horas y los contenidos

temáticos para la extensión de la constancia final deberá de aprobar con una

calificación igual o mayor 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 3% a partir del 4 curso tomado.

DIAGRAMA ENTIDAD-RELACION

Alumno

Boleta

Materia

Docente

Especialidad R1 R2

R5 R4

1:N

N:1 N:1

Nombre

Especialidad

RFC

Cve

Materia Matricula

Regresar

Page 36: Proyecto II Base de Datos Avanzadas

QUERYS

TABLAS ITESO

TABLA ALUMNO

Page 37: Proyecto II Base de Datos Avanzadas

TABLA BOLETA

Page 38: Proyecto II Base de Datos Avanzadas
Page 39: Proyecto II Base de Datos Avanzadas

TABLA DOCENTE

Page 40: Proyecto II Base de Datos Avanzadas

TABLA ESPECIALIDAD

TABLA MATERIA

Page 41: Proyecto II Base de Datos Avanzadas

ENUNCIADO DE LOS PROBLEMAS Y TABLAS

Insertar en la tabla Materia “Lectura exprecion oral y escrita”

INSERT INTO Materia

VALUES ('LEOYE I','Lectura exprecion oral y escrita');

Page 42: Proyecto II Base de Datos Avanzadas

Insertar en la tabla Materia “GYT, Geometria y Trigonometría”

INSERT INTO Materia

VALUES ('GYT','Geometria y Trigonometría');

Page 43: Proyecto II Base de Datos Avanzadas

Insertar en la tabla Materia “TICS, Tec. de la Inform. y comunicación”

INSERT INTO Materia

VALUES ('TICS','Tec.de la Inform. y comunicación');

Page 44: Proyecto II Base de Datos Avanzadas

Insertar en la tabla Materia “ING III, Ingles III”

INSERT INTO Materia

VALUES ('ING III','Ingles III');

Insertar en la tabla Especialidad “B4, Biomedicas”

INSERT INTO Especialidad

VALUES ('B4','Biomédicas');

Page 45: Proyecto II Base de Datos Avanzadas

Insertar en la tabla Especialidad “E6 Economía”

INSERT INTO Especialidad

VALUES ('E6','Economìa');

Insertar en la tabla Especialidad “'ADMEMP, Administración de Empresas”

INSERT INTO Especialidad

VALUES ('ADMEMP','Administración de Empresas');

Page 46: Proyecto II Base de Datos Avanzadas

Insertar en la tabla alumno “'200114033, Hernández Cienega Carlos,

03/19/1997, C14, D, 6”

INSERT INTO alumno

VALUES ('200114033','Hernadez Cienega Carlos','03/19/1997','C14','D','6');

Insertar en la tabla alumno “200114034, Contreras Rivera Jorge, 04/26/1997,

C14, D, 6”

INSERT INTO alumno

VALUES ('200114034','Contreras Rivera Jorge','04/26/1997','C14','D','6');

Page 47: Proyecto II Base de Datos Avanzadas

Insertar en la tabla alumno “200114035, Padilla Salazar Jessica, 05/06/1997,

C14, D, 6”

INSERT INTO alumno

VALUES ('200114035','Padilla Salazar Jessica ','05/06/1997','C14','D','6');

Actualizar el alumno del grupo C con el número de control “200114033”

UPDATE alumno SET Grupo = 'C'

WHERE NoControl = '200114033';

Page 48: Proyecto II Base de Datos Avanzadas

Actualizar el alumno del grupo C con el número de control “200114034'”

UPDATE alumno SET Grupo = 'C'

WHERE NoControl = '200114034';

Actualizar el alumno del grupo C con el número de control “200114035”

UPDATE alumno SET Grupo = 'C'

WHERE NoControl = '200114035';

Page 49: Proyecto II Base de Datos Avanzadas

Eliminar de la tabla alumno, el alumno con el número de control “200114033”

DELETE FROM Alumno

WHERE NoControl = '200114033';

Eliminar de la tabla alumno, el alumno con el número de control “200114034”

DELETE FROM Alumno

WHERE NoControl = '200114034';

Page 50: Proyecto II Base de Datos Avanzadas

Eliminar de la tabla alumno, el alumno con el número de control “200114035”

DELETE FROM Alumno

WHERE NoControl = '200114035';

Eliminar de la tabla materia, la materia con la clave “GTY”

DELETE FROM Materia

WHERE CveMat = 'GYT';

Page 51: Proyecto II Base de Datos Avanzadas

Seleccionar de la tabla materia, la materia “Seminario de sistemas”

SELECT NomMat

FROM Materia

WHERE NomMat = 'Seminario de sistemas';

Seleccionar de la tabla materia, los nombres de todas las materias.

SELECT NomMat

FROM Materia

Seleccionar de la tabla Especialidad, la Especialidad “Administracion de

empresas”

SELECT NomEsp

FROM Especialidad

WHERE NomEsp = 'Administracion de Empresas';

Page 52: Proyecto II Base de Datos Avanzadas

Seleccionar de la tabla Especialidad, la especialidad “Electricidad”

SELECT NomEsp

FROM Especialidad

WHERE NomEsp = 'Electricidad';

Seleccionar de la tabla Docente, el nombre del docente “'Pescador Espitia

Esperanza”

SELECT RFC, CARRERA, NIVEL

FROM Docente

WHERE NOMDOC = 'Pescador Espitia Esperanza';

Regresar